v3.0.0 Release Wishlist
# 2.0.0 Release Wishlist

## Features

- [x] `mandarin` should automatically wrap placeholder tokens with `<span class="notranslate">%s</span>`
- [x] Remove `auto-bind` from any dependencies
- [x] Drop `strength` in favor of https://github.com/dropbox/zxcvbn (ref: https://github.com/forwardemail/forwardemail.net/issues/13)
- [x] Replace mongoose-json-select with better approach (current is not clean enough)
- [ ] last ip isn't stored when user registers
- [x] HTTP/2 issue <https://bugs.chromium.org/p/chromium/issues/detail?id=1045328> and then upgrade @ladjs/api and @ladjs/web to use http2 again
- [x] Fix core bug with `koa-redirect-loop` (https://github.com/niftylettuce/koa-redirect-loop/issues/1)
- [x] Mongoose plugin that iterates over schema types using pre('validate') and post('save') hook to store an `_original` using `rfdc(this)` and does a deep diff comparison with human-friendly readable strings (e.g. versus manually comparing changes upon document updates - this would allow us to easily send emails to admins/users of changes to certain things) https://mongoosejs.com/docs/schematypes.html
- [x] Mongoose v5.6 is currently locked and needs upgraded to Mongoose v5.7, however Mongoose v5.7 has the new unified topology setup, which will require a rewrite to `@ladjs/mongoose` in order to handle reconnectTries and reconnection interval.  I am not certain how to rewrite this now and would love support from the community.
- [x] Switch livereload to `browser-sync` and document it
- [x] Implement `factor-bundle` to reduce client-side bundle build sizes (see <https://github.com/browserify/browserify#multiple-bundles>, https://github.com/browserify/factor-bundle/issues/35#issuecomment-55052225)
- [ ] Nested + prefixed loggers for everything (e.g. `@ladjs/bull`, `@ladjs/mongoose`, etc. are prefixed with `$appName:mongoose`)
- [ ] Add Docker compose (PR #358, #357)
- [ ] Improve remark parsing for Markdown (https://github.com/niftylettuce/mandarin/issues/1)
- [ ] Add `cache-pug-templates` to cache Pug files (#343)
- [x] Port `express-redirect-loop` to Koa once (#363)
- [ ] Add `mongoose-paranoid-plugin` once <https://github.com/euqen/mongoose-paranoid-plugin/issues/6> is resolved (#347)
- [ ] Add host validation (#346)
- [x] Fix installation warnings for `custom-fonts-in-emails`, `font-awesome-assets`, `gulp-cloudfront`, `postcss-preset-env`
- [ ] Switch off SweetAlert2 to use native Bootstrap modals and toast notifications
- [x] OTP tests need added

## Thoughts

### Swagger

Automatic code introspection and Swagger YAML file generation (parses routes, allows inline annotations for overriding/enhancing YAML file, parses mocks/tests for parameters and request body params, parses response for object and its properties, parses available status codes based off complete code coverage, uses widdershins -> shins and swagger-ui for "try it out" code blocks, postman integration, open api v3 spec testing)