All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Update fh-sync library to 2.1.0 (Minor bugfixes)
- Revert unifiedpush-node-sender dependency to 0.12.1 to address breaking change introduced
- Upgrade fh-mbaas-express to 6.1.2 ( Patch version ). console.debug is not available in nodejs 6.x
- Upgrade fh-db to 3.3.2 ( Patch version ). Adds funtionality to fix JavaScript Dates getting overwritten as Strings when saved in the databrowser. Dates need to be saved as
{ $fhdate: "2018-10-10T11:54:12.366Z" }
. The SERIALISE_FH_DATES env var can be set on the studio to return JavaScript Dates from fh-db in this format now.
- Upgrade the redis lib to 2.8.0 ( Minor version )
- Upgrade unifiedpush-node-sender dependency to 0.16.0
- Upgrade request dependency to 2.88.0
- Upgrade fh-mbaas-express to 6.1.1
- Upgraded
fh-mbaas-express
to6.1.0
for updated caching of service calls.
- Removed support for Node4
- Added support for Node8 and Node10
- Upgrade fh-sync version from
1.0.14
to1.0.15
to resolve an issue where the message was not being returned to the client from the collision handler
- Upgrade fh-db version from
3.3.0
to3.3.1
- Update CI process to use supported versions
- Add eslint configuration and fix files
- updated fh-sync dependency to remove a direct link to github in its dependencies prior to v1.0.14 (RHMAP-19582)
- "fh-sync": "^1.0.5",
+ "fh-sync": "^1.0.14",
- fix: update fh-mbaas-client to 1.1.1, to include bug fixes (FH-4374, RHMAP-18299)
- fix: remove sonar-project.properties, as its no longer used (FH-4374)
- fix: update npm-shrinkwrap file (FH-4374)
- fix: bump minor version based on dependency updates (FH-4374)
- fix: update request version to 2.83.0 (FH-4374)
- fix: update fh-mbaas-express (FH-4374)
- fix: package.json to reduce vulnerabilities (FH-4374)
- adds note to README to include JIRA/ issue reference in to commit messages
- adds changelog to repo
- updates fh-mbaas-express to 5.9.2 to return actual millicore error
- "fh-mbaas-express": "~5.9.1",
+ "fh-mbaas-express": "~5.9.2",
- Updates fh-mbaas-express to 5.9.1 to resolve issue with service api key not being sent in requests
- "fh-mbaas-express": "~5.9.0",
+ "fh-mbaas-express": "~5.9.1",
- Updates fh-mbaas-express to 5.9.0 for mbaas service app api key authorised project check
- "fh-mbaas-express": "5.7.1",
+ "fh-mbaas-express": "~5.9.0",
- Fixed blocker bug in fh.db list call which caused Databrowser filtering to return no results
- "fh-db": "3.1.0",
+ "fh-db": "3.3.0",
- Jenkinsfile for building on Wendy
- updates dependencies:
- "fh-mbaas-express": "5.7.0",
+ "fh-mbaas-express": "5.7.1",
- "grunt": "^0.4.5",
+ "grunt": "^1.0.1",
- "grunt-fh-build": "^0.5.0",
+ "grunt-fh-build": "^2.0.0",
- Support for node 6 (6.9.1)
- Bumped minor version of fh.db due to update to node engines.
- "fh-db": "3.0.0",
+ "fh-db": "3.1.0",
- upgrades support from node 4.3 to 4.4
- Support for node 0.10
Breaking API changes were introduced in the fh.db list call. Bumped major version:
- "fh-db": "2.0.0",
+ "fh-db": "3.0.0",
- updates dependencies:
- "fh-sync": "^1.0.4",
+ "fh-sync": "^1.0.5",
- Reverted to 2.0.0 due to breaking API changes in the minor version bump to 2.1.0
- "fh-db": "2.1.0",
+ "fh-db": "2.0.0",
- updates dependencies:
- "fh-security": "0.2.0",
+ "fh-security": "0.2.1",
- This updates the version of the fh-sync module to include a fix for the ttl of queue messages. See feedhenry/fh-sync#22 for more info.
- updates dependencies:
- "fh-sync": "1.0.3",
+ "fh-sync": "^1.0.4",
- removed dependencies no longer needed:
- "backoff": "^2.5.0",
- "colors": "0.6.2",
- "cycle": "1.0.3",
- "eyes": "0.1.8",
- "fh-component-metrics": "2.7.0",
- "moment": "2.15.2",
- "mongodb": "2.1.18",
- "mongodb-lock": "0.4.0",
- "mongodb-queue": "2.2.0",
- "parse-duration": "0.1.1",
- "pkginfo": "0.2.3",
- "stack-trace": "0.0.9",
- Breaking API changes were introduced in the fh.db list call. Should have been a major version bump on fh.db
- "fh-db": "2.0.0",
+ "fh-db": "2.1.0",
- removes sync api prefix
- updates dependencies:
- "fh-sync": "~1.0.0",
+ "fh-sync": "~1.0.1",
- Added MONGODB_VERSION env vars for MongoDB 2.4 & 3.2 to the travis build matrix
- Update to ensure an update object is passed in for tests
- updates dependencies:
- "fh-sync": "^1.0.0-RC1",
+ "fh-sync": "~1.0.0",
- Removed sync source code & refactored fh-mbaas-api to now use decoupled fh-sync library instead
- Fixed background typo
- Uses stringify for error messages
- Returns sync error to conect() requests by sync clients if sync not ready to start; 'crashed' notification sent to client and client will retry later.
- Corrects null error (FH-3591)
- Change the default sync worker interval & backoff settings to take full advantage of CPU when the sync queue is busy and to allow the CPU to be used for other things when the sync queue is not busy.
- Removes 'stop' test
- Uses mongodb ttl to remove queue messages
- Makes sure only one cleaner job will remove the data when there are multiple workers
- updates fh-component-metrics dependency to use version from tag
- updates fh-component-metricsdependencies to add support for base tags:
- "fh-component-metrics": "~2.6.1",
+ "fh-component-metrics": "2.7.0",
- Avoids race conditions when creating the indexes on the mongodb queue collections
- removes unneeded syncUtils dependencies:
-var syncUtil = require('./util');
-var debug = syncUtil.debug;
-var debugError = syncUtil.debugError;
-var parseDuration = require('parse-duration');
- Added error event listener for Redis client
- updates dependencies:
- "fh-component-metrics": "~2.6.0",
+ "fh-component-metrics": "2.6.1",
- Added error-debugging
- Added
fh-mbaas-api:sync:error
debug level - Added error debug level for cache
- Added error debug level for db
- Added error debug level for call
- Added error debug level for init
- Added error debug level for stats
- Added
- Added an integration test for datasetClientsCleaner
- Added a new index on the fhsync_datasetClients collection to improve performance
- Prefixed all metrics with a metricsKey
- Improved the performance & memory usage when deleting datasetClients
- If FH_USE_LOCAL_DB is set, also set the FH_MONGODB_CONN_URL env var to a localhost string so sync can start.
- Improved performance and memory usage when list dataset clients
- Removes Object.freeze
- Removes unused underscore library
- Adds failing tests for setting handlers/interceptors before init
- Fixes bug around SyntaxError when doing a JSON.parse in the cache.js tests
- Removes real mongodb client connection from unit tests
- Removes test_sync.js
- Change default dataset sync frequency (from 30 to 10) to match clients
- Adds metrics client report concurrency
- Prevents
start
getting called multiple times (sync)
- Adds cache layer to improve the performance when read records for a given datasetclient (sync)
- Adds sync metric for queue size
- Adds backoff strategy to workers so that they will not consume too much resources when there are no jobs to process
- Updates sync configuration options for queues and workers
- Update log statement to use debug
- Change to ensure sync backoff strategy value is case insensitive
- Changes to ensure clients update when there is a collision (Some cases where a client will not update its records from a collision when coming online from an offline state. This can result in a record not being updated on a client until they update another record, which could take a while.)
- Updated tests
- Change to allow configuration of the worker concurrencies (sync)
- Change to add api to allow override the hash functions (sync)
- Fixes bug where sync-server will crash if
clientRecs
is not provided in the body of a syncRecords request - Changes log to be more description when dataset clients are inactive
- removes winston dependency
- Removes setLoglevel from test_sync_apis.js
note: fh-mbaas-api v7 sees the implementation of v2 of the sync library. This major update to the sync library focused on making the sync server library horizontally scale to improve performance while making it easy to debug, and retaining current performance. While sync v2 was designed to be backwardly compatible with v1, some code changes may be required to upgrade codebases from v1 of the sync library to v2.
-
Added sync tests
- for new functionality
- new integration tests for sync & syncRecords APIs
- integrates sync-acceptance-testing into Travis build
- integration test for redis & mongodb
- tests for overriding the collision handlers and the default collision handlers.
-
Added code implementations for new sync functionality
- Adds worker implementation in sync
- Added sync processor implementation
- Adds sync scheduler
- Adds ack processor
- Adds pending change processor
- Added hash provider for sync
- Adds implementation for sync http handler
- Adds syncRecords implementation
- Adds default implementation of the dataHandler for cases where a user does not provide an override.
- Adds function for collision collection names
- Adds syncRecords implementation
- Adds implementation for the interceptors (sync)
- Implement the lock interface. Adds a wrapper around a modified version of mongodb-lock which supports 2.x of the mongodb client. The wrapper stores all locks created and will create a lock if it doesn't exist during an acquisition request.
- Adds implementation for stop & stopAll (sync)
-
Metrics additions
- Added metrics client to collect metrics data
- Adds metrics gauge for the queue size
-
Other changes
- Adds JenkinsFile
- Adds global data handler overrides
- Adds support to automatically delete the messages from the queue (sync)
- Adds missing indexes to improve mongodb query performance
- Adds a background task that will cleanup inactive dataset clients periodically
- Adds sync_ready event to the fh api. This change included:
- adding a new
events
EventEmitter object to the fh API i.e.fh.events
- passing this into the sync server
- emitting a
sync:ready
event when sync is connected OK to mongo & redis - removing an uneccessary 'bootstrap' call for db string (& fix fhdb test)
- adding a new
-
Code changes related to new sync functionality
- Refactors sync-server out of index.js into sync-server.js
- Add start function with wiring up of workers/scheduler
- Adds & implements mongodbQueue implementation
- ack the sync job if they finished successfully
- Implements the sync datahandlers so that each dataset can have it's own datahandler for list/create/read/update/delete/collision.
- Changes doCreate(), doList() in sync to return data in correct format
- Adds sync implementation using MongoDB
- Adds sync implementation for storage.js
- Fixes sync.connect arity call from mbaas api (No metrics conf means metrics disabled; This is OK by default)
- Change to ensure only 1 sync request is put on the queue when a dataset client is due to a sync call
- Split storage.js into dataset-clients and sync-updates
-
Sync tests
- Tweaks travis tests to only run unit & integration tests for node 0.10, & unit, integration & acceptance for node 4
- Updates tests for default datahandlers
-
Other sync changes
- Renames cache to storage in sync
- Changes function names for consistency
- Changes to logging within sync framework to ensure consistency of logging
- Marks pending updates as failed where a datasetclient has been removed from the db (via a cleanup task for inactive clients) yet there are still pending items in the queue for that datasetclient, as we don't have enough info to process it correctly.
- Formats comments as proper jsdoc
- Change to not lock the datasetclient collection on sync api call
- Adds new config option (sync)
- Change to use debug module for logging (sync)
- Changed to use updateOne instead of deprecated update
- Removes the start API from the sync server
- updates dependencies to mitigate qs and moment vulnerabilities
- "fh-mbaas-client": "0.15.0",
- "fh-mbaas-express": "5.6.9",
+ "fh-mbaas-client": "0.16.5",
+ "fh-mbaas-express": "5.6.10",
- "moment": "2.14.1",
+ "moment": "2.15.2",
- "request": "2.74.0",
+ "request": "2.81.0",
- "unifiedpush-node-sender": "0.12.0",
+ "unifiedpush-node-sender": "0.12.1",
- Fixes travis CI build dependency on docker by adding to 'services'
- updated fh-db as couldn't import a previously exported empty json collection within the Studio's Data Browser:
- "fh-db": "1.2.5",
+ "fh-db": "1.4.4",
- Added support for custom hashing rules for sync records
- Integrated sync-acceptance-testing into Travis build
- Fixed bug where databrowser export doesn't work if database not upgraded
- Added support for response handler (sync)
- Added test for responseInterceptor
- updated dependency:
- "fh-mbaas-express": "5.6.8",
+ "fh-mbaas-express": "5.6.9",
- Adds extra sync tests to 'unit' test run
- Adds note to readme re multiple sync loop caveat
- Change in logging level (from
error
toinfo
)
- version number of fhm-mbaas-api from 6.1.2 to 6.1.3 to republish to NPM
- update of fh-mbaas-express dependency to include Insecure Entropy Source fix
- "fh-mbaas-express": "5.6.4",
+ "fh-mbaas-express": "5.6.6",
- Adds new auth endpoint
- updated dependency:
- "fh-db": "1.2.3",
+ "fh-db": "1.2.5",
- version number of fhm-mbaas-api from 6.0.0 to 6.0.1 to republish to NPM
note: v6.0 of the fh-mbaas-api saw the removal of the .feed API. This was the reason for the major version bump to 6.0.0
- Adds fail fast behaviour for custom sync handlers, and tests
- updated dependency:
- "fh-mbaas-express": "5.6.2",
+ "fh-mbaas-express": "5.6.3",
- Removed .feed API
- Update to fix npm-shrinkwrap.json
- fh-db bumped to use new version:
- "fh-db": "1.2.2",
+ "fh-db": "1.2.3",
- bump to version 5.14.0 to update shrinkwrap
- Adds grunt-cli dependency: #ADD note about any other Grunt functionality added
+ "grunt-cli": "^1.2.0",
- Updated .push to support creation of custom instances
- Updated Windows script
- Update to make permission map accessible
- Bump fh-db
- "fh-mbaas-express": "5.6.1",
+ "fh-mbaas-express": "5.6.2",
- version number of fhm-mbaas-api from 5.13.10 to 5.13.11 to republish to NPM
- fh-db bumped to use new version as was no way to delete collections or bulk delete data in Data Browser:
- "fh-db": "1.1.2",
+ "fh-db": "1.2.0",
- Update to lazy load aerogear (
"unifiedpush-node-sender"
)
- Changed log levels so they are configurable
note: includes & merges all changes from the unmerged v5.13.6 below
- Added community info links to README.md
- updates fh-db version:
- "fh-db": "1.1.0",
+ "fh-db": "1.1.2",
note: never merged to master
- Added community info links to README.md
- updates fh-db version:
- "fh-db": "1.1.0",
+ "fh-db": "1.1.2",
- Removes log statements that cannot be disabled
- updates fh-db version:
- "fh-db": "1.0.4",
+ "fh-db": "1.1.0",
- updates request and moment dependencies:
- "moment": "2.0.0",
+ "moment": "2.14.1",
- "request": "2.12.0",
+ "request": "2.74.0",
- Updates to dependency version, travis, info icons and version bumps
- Moved fh-mbaas-api to open source feedhenry/fh-mbaas-api repo
- Bumped version from 5.5.4 to 5.13.1
- RHMAP-2841 - Fix path.join on windows
- RHMAP-2264 - Increase maxSockets count by default for Cloud Apps
- RHMAP-2841 - Add windows test scripts
- RHMAP-2693 - Update fh-mbaas-express to v5.2.1
- RHMAP-2693 - Update fh-mbaas-express to v5.2.0
- Added check for list property of fhdb response in doList function
- FH-1067 - Disconnect MBaaS and Core
- RHMAP-796 service url caching
- Force sync list when syncRecords is invoked
- FH-2213 - Fixed Incorrect Params For Submission Complete Event
- FH-2103 - Stop sync on error
- Fix $fh.service URL formatting issue
- Bump version of grunt-fh-build, so that archive with dependencies will get built
- FH-1760 - Adding $fh.host API for Cloud Apps to fetch their own host
- FH-1517 - Add support for Redis from within OpenShift 3 applications
- FH-250 - Add support for MongoDB from within OpenShift 3 applications
- FH-748 - fix $fh.cache to work with non-default port
- FH-1435 - Bump fh-mbaas-client version
- FHCLOUDSDK-14 - Fixed File Parameters For MbaaS File Upload.
- FH-42 - Appforms Lifecycle Management Changes. Replaced fh-forms with fh-mbaas-client. Apps no longer access the domain database directly.
- FHMAP-605 - Call core periodically to validate App API Keys (bumps fh-mbaas-express)
- FH-164 - Build using Grunt instead of Make
- FHCLOUDSDK-13 - $fh.service params only being sent for GET and POST
- FHCLOUDSDK-10 - Bump fh-mbaas-express version
- Add a shrinkwrap file for npm
- FHCLOUDSDK-7 - New API for auth token verification
- FHMOBSDK-56 - Fix an issue with the sync framework
- FHCLOUDSDK-6 - Updated to [email protected] for AES 256 keygen
- Fixed Incorrect Forms Get Submission Parameters
- FHCLOUDSDK-4 - add response object to $fh.service callback
- 8668 - Add OpenShift stats support
- 8612 - Add OpenShift DB & Cache support
- 8748 - Update fh-form dependency version
- 8742 - Added submission events to forms.
- 8467 - Update fh-db version
- 8178 - Add support for local development against local services & lifecycle for services
- 7890 - Bumped forms version related to adding a barcode scanner field.
- 8212 - Update fh-forms and fh-mbaas-express version
- 8018 - Added additional cloud functionality.
- Fix an issue with the sync framework
- 7986 - Bump forms version for field codes.
- 7992 - Fix error when handling sync collison
- 7822 - Added admin fields to forms. Bumped forms version.
- 7821 Bumped forms version to allow multiple rule targets.
- 7414 Bumped forms version related to adding new bootstrap forms template app.
- 7744 - Expose a shutdown API to allow fh-mbaas-api to cleanly exit
- 7637 - Updated fh-forms version related to ticket 7637
- Make sure the same data format will be used when sync records endpoint is called
- Use cuid from updates instead of the request when listing acknowledgements
- 7470 - Small change around how to list the sync data
- 7470 - Fix an bug in sync framework which could cause client data lost
- 7363 - Sync should do global Init automatically
- 7364 - Make fh-mbaas-express a dependency of this module.
- Bump fh-db version
- 7256 - Fix app API key getting sent on outbound requests to ditch
- Various IR228 form version bumps
- bump forms 0.5.16
- 7122 - 'grunt accept' not exiting cleanly if fh.db() is used
- bump fh-db 0.4.12
- bump forms 0.5.16
- bump forms 0.5.9
- 6706 - Add get submission to client api
-
6679 - Renaming and versioning for fh-webapp & fh-api
NOTES:
-
6679:
fh-webapp is now called fh-mbaas-express. fh-api is now called fh-mbaas-api. Both have been changed to v3.0.0
- 6263 - Complete refactor of $fh.sync
- 6515 expose submissions api
- 6516 expose getPopulatedFormList
- 6393 - Refactored forms to use FH_WIDGET as appId.
- 6059 - Send Project ID with $fh.service() calls. Thanks NPM.
- 6018 - Add $fh.service() call to fh-api
- 5455 - Explicitly set character encoding to utf-8
CHANGES
- 6393 - Refactored forms to use FH_WIDGET as appId.
CHANGES
- 5258 - Resolving an issue with defaulting to the wrong port if none specified
CHANGES
- Initialise logger earlier in cache.js
CHANGES
- pass db per app when app is using its own db
CHANGES
- add fh-db as dependency bump vers
CHANGES
- Ticket 4470 Split fh-nodeapp into fh-webapp and fh-apis
NOTES