diff --git a/docs/docs/getting-started/what's-new.md b/docs/docs/getting-started/what's-new.md index 14e2bfc26..494be367c 100644 --- a/docs/docs/getting-started/what's-new.md +++ b/docs/docs/getting-started/what's-new.md @@ -7,6 +7,27 @@ next: /docs/config-overview/ _NotifyBC_ uses [semantic versioning](https://semver.org/). +## v5.0.0 + +See [Upgrade Guide](../upgrade/#v4-to-v5) for more information. + +- Runs on _Nest_ + +::: tip Why v5? +_NotifyBC_ was built on Node.js [LoopBack](https://loopback.io/) in the beginning. While _Loopback_ is an awesome framework, it is evident by 2022 _Loopback_ is no longer actively maintained + +1. features such as GraphQL have been in experimental state for years +2. recent commits are mostly chores rather than enhancements +3. core developers have ceased to contribute + +To pave the way for future growth, switching platform becomes necessary. Nest was chosen because + +1. both _Nest_ and _Loopback_ are server-side Node.js frameworks +2. _Nest_ has the closest feature set as _Loopback_. To a large extent _Nest_ is a superset of _Loopback_. +3. _Nest_ incorporates more technologies + +::: + ## v4.1.0 - Issue [#50](https://github.com/bcgov/NotifyBC/issues/50): Email message throttle @@ -84,15 +105,15 @@ See [v2 to v3 upgrade guide](../upgrade/#v2-to-v3) for more information. - misc web console adjustments - docs updates -::: tip Why v2? -_NotifyBC_ has been built on Node.js [LoopBack](https://loopback.io/) framework since 2017. LoopBack v4, which was released in 2019, is backward incompatible. To keep software stack up-to-date, unless rewriting from scratch, it is necessary to port _NotifyBC_ to LoopBack v4. Great care has been taken to minimize upgrade effort. -::: - ## v2.0.0 -See [Upgrade Guide](../upgrade/) for more information. +See [Upgrade Guide](../upgrade/#v1-to-v2) for more information. - Runs on LoopBack v4 - All code is converted to TypeScript - Upgraded [OAS](https://swagger.io/specification/) from v2 to v3 - Docs is converted from Jekyll to VuePress + +::: tip Why v2? +_NotifyBC_ has been built on Node.js [LoopBack](https://loopback.io/) framework since 2016. LoopBack v4, which was released in 2019, is backward incompatible. To keep software stack up-to-date, unless rewriting from scratch, it is necessary to port _NotifyBC_ to LoopBack v4. Great care has been taken to minimize upgrade effort. +::: diff --git a/docs/docs/meta/acknowledgments.md b/docs/docs/meta/acknowledgments.md index b5652021b..b16c33ff9 100644 --- a/docs/docs/meta/acknowledgments.md +++ b/docs/docs/meta/acknowledgments.md @@ -8,7 +8,7 @@ _NotifyBC_ is built on a myriad of open source software. At runtime it also depe few services. Credit goes to their contributors. Notably - [Node.js](https://nodejs.org/) -- [Loopback](https://loopback.io/) +- [Nest](https://nestjs.com/) - [MongoDB](https://www.mongodb.com/) - [NodeMailer](https://nodemailer.com/) - [JMESPath](https://jmespath.org/) diff --git a/docs/docs/miscellaneous/upgrade.md b/docs/docs/miscellaneous/upgrade.md index 26d32912b..9acd1fede 100644 --- a/docs/docs/miscellaneous/upgrade.md +++ b/docs/docs/miscellaneous/upgrade.md @@ -267,7 +267,7 @@ Replace _v4.x.x_ with a v4 release, preferably latest, found in GitHub such as _ ## v4 to v5 -v5 introduced following backward incompatible changes that need to be addressed in this order +v5 introduced following backward incompatible changes 1. If you use default in-memory database, data in _server/database/data.json_ will not be migrated automatically. Manually migrate if necessary. 2. Update file _src/datasources/db.datasource.local.json_ @@ -293,6 +293,23 @@ v5 introduced following backward incompatible changes that need to be addressed } ``` +3. API querying operators have changed. Replace following [Loopback operators](https://loopback.io/doc/en/lb4/Where-filter.html#operators) with corresponding [MongoDB operators](https://www.mongodb.com/docs/manual/reference/operator/query/) at client-side API call. + +| Loopback operators | MongoDB operators | +| ----------------------- | ----------------------------------------------- | +| eq | $eq | +| and | $and | +| or | $or | +| gt, gte | $gt, $gte | +| lt, lte | $lt, $lte | +| between | (no equivalent, replace with $gt, $and and $lt) | +| inq, nin | $in, $nin | +| near | $near | +| neq | $ne | +| like, nlike | (replace with $regexp) | +| like, nlike, options: i | (replace with $regexp) | +| regexp | $regexp | + After above changes are addressed, upgrading to v5 is as simple as ```sh