Merge branch 'release-3.0' into release-3.0-observe-sync-iife

This commit is contained in:
Gabriel Grubba
2023-03-28 14:26:07 -03:00

View File

@@ -1,87 +1,103 @@
## v3.0, TBD
### Highlights
#### Breaking Changes
* `webapp`:
- These methods are now async:
- `WebAppInternals.reloadClientPrograms()`
- `WebAppInternals.pauseClient()`
- `WebAppInternals.generateClientProgram()`
- `WebAppInternals.generateBoilerplate()`
- `WebAppInternals.setInlineScriptsAllowed()`
- `WebAppInternals.enableSubresourceIntegrity()`
- `WebAppInternals.setBundledJsCssUrlRewriteHook()`
- `WebAppInternals.setBundledJsCssPrefix()`
- `webapp`:
* `email`:
- `Email.send` is no longer available. Use `Email.sendAsync` instead.
- These methods are now async:
- `WebAppInternals.reloadClientPrograms()`
- `WebAppInternals.pauseClient()`
- `WebAppInternals.generateClientProgram()`
- `WebAppInternals.generateBoilerplate()`
- `WebAppInternals.setInlineScriptsAllowed()`
- `WebAppInternals.enableSubresourceIntegrity()`
- `WebAppInternals.setBundledJsCssUrlRewriteHook()`
- `WebAppInternals.setBundledJsCssPrefix()`
* `accounts-2fa`:
- Some methods are now async. See below:
- `Accounts._is2faEnabledForUser`
- `(Meteor Method) - generate2faActivationQrCode`
- `(Meteor Method) - enableUser2fa`
- `(Meteor Method) - disableUser2fa`
- `(Meteor Method) - has2faEnabled`
- `email`:
* `accounts-base`:
**TODO**
- `methods.removeOtherTokens` is now async
- `Accounts.destroyToken` is now async
- `Email.send` is no longer available. Use `Email.sendAsync` instead.
* `accounts-password`:
- Some server methods are now async:
- `Accounts.sendResetPasswordEmail`
- `Accounts.sendEnrollmentEmail`
- `Accounts.sendVerificationEmail`
- `Accounts.addEmail`
- `Accounts.removeEmail`
- `Accounts.verifyEmail`
- `Accounts.createUserVerifyingEmail`
- `Accounts.createUser`
- `Accounts.generateVerificationToken`
- `Accounts.generateResetToken`
- `Accounts.forgotPassword`
- `Accounts.setPassword`
- `Accounts.changePassword`
- `Accounts.setUsername`
- `Accounts.findUserByEmail`
- `Accounts.findUserByUsername`
- `accounts-2fa`:
* `accounts-passwordless`:
- `Accounts.sendLoginTokenEmail` is now async
- Some methods are now async. See below:
- `Accounts._is2faEnabledForUser`
- `(Meteor Method) - generate2faActivationQrCode`
- `(Meteor Method) - enableUser2fa`
- `(Meteor Method) - disableUser2fa`
- `(Meteor Method) - has2faEnabled`
* `boilerplate-generator`:
- `toHTML` is no longer available (it was already deprecated). Use `toHTMLStream` instead.
- `accounts-base`:
* `ddp`:
- Added method `Meteor.isAsyncCall` that can be used to check if the current method call is async or not.
- `methods.removeOtherTokens` is now async
- `Accounts.destroyToken` is now async
* `oauth`:
- `_endOfPopupResponseTemplate` and `_endOfRedirectResponseTemplate` are no longer a property but now a function that returns a promise of the same value as before
- the following server methods are now async:
- `OAuth._renderOauthResults`
- `OAuth._endOfLoginResponse`
- `OAuth.renderEndOfLoginResponse`
- `OAuth._storePendingCredential`
- `OAuth._retrievePendingCredential`
- `ensureConfigured`
- `_cleanStaleResults`
- `accounts-password`:
* `oauth1`:
- the following server methods are now async:
- `OAuth._storeRequestToken`
- `OAuth._retrieveRequestToken`
- Some server methods are now async:
- `Accounts.sendResetPasswordEmail`
- `Accounts.sendEnrollmentEmail`
- `Accounts.sendVerificationEmail`
- `Accounts.addEmail`
- `Accounts.removeEmail`
- `Accounts.verifyEmail`
- `Accounts.createUserVerifyingEmail`
- `Accounts.createUser`
- `Accounts.generateVerificationToken`
- `Accounts.generateResetToken`
- `Accounts.forgotPassword`
- `Accounts.setPassword`
- `Accounts.changePassword`
- `Accounts.setUsername`
- `Accounts.findUserByEmail`
- `Accounts.findUserByUsername`
* `oauth2`:
- `OAuth._requestHandlers['2']` is now async.
- `accounts-passwordless`:
* `minifier-css`:
- `minifyCss` is now async.
- `Accounts.sendLoginTokenEmail` is now async
- `boilerplate-generator`:
- `toHTML` is no longer available (it was already deprecated). Use `toHTMLStream` instead.
- `ddp`:
- Added method `Meteor.isAsyncCall` that can be used to check if the current method call is async or not.
- `oauth`:
- `_endOfPopupResponseTemplate` and `_endOfRedirectResponseTemplate` are no longer a property but now a function that returns a promise of the same value as before
- the following server methods are now async:
- `OAuth._renderOauthResults`
- `OAuth._endOfLoginResponse`
- `OAuth.renderEndOfLoginResponse`
- `OAuth._storePendingCredential`
- `OAuth._retrievePendingCredential`
- `ensureConfigured`
- `_cleanStaleResults`
- `oauth1`:
- the following server methods are now async:
- `OAuth._storeRequestToken`
- `OAuth._retrieveRequestToken`
- `oauth2`:
- `OAuth._requestHandlers['2']` is now async.
- `minifier-css`:
- `minifyCss` is now async.
- `webapp`:
- `WebAppInternals.getBoilerplate` is now async.
- Changed engine from connect to express and changed api naming to match express. See below:
- `WebApp.connectHandlers.use(middleware)` is now `WebApp.expressHandlers.use(middleware)`
- `WebApp.rawConnectHandlers.use(middleware)` is now `WebApp.rawExpressHandlers.use(middleware)`
- `WebApp.connectApp` is now `WebApp.expressApp`
* `minimongo@get-version`:
TODO: add this aswell to the minimongo docs
@@ -91,43 +107,52 @@
changed.
* `webapp`:
- `WebAppInternals.getBoilerplate` is now async.
- Changed engine from connect to express and changed api naming to match express. See below:
- `WebApp.connectHandlers.use(middleware)` is now `WebApp.expressHandlers.use(middleware)`
- `WebApp.rawConnectHandlers.use(middleware)` is now `WebApp.rawExpressHandlers.use(middleware)`
- `WebApp.connectApp` is now `WebApp.expressApp`
#### New Public API
#### Internal API changes
- `accounts-base`: (2.9+)
- `Meteor.userAsync()`
- `callback-hook`:forEachAsync
- `forEachAsync`
#### Migration Steps
- `ddp-server`: (2.8+)
- `Meteor.callAsync()`
You can follow in [here](https://guide.meteor.com/3.0-migration.html).
- `minifier-css`: (2.9+)
- `CssTools.minifyCssAsync()`
#### Meteor Version Release
- `mongo`:
#### Special thanks to
- `Mongo.Collection`: (2.8+)
- `createCappedCollectionAsync`
- `createIndexAsync`
- `dropCollectionAsync`
- `dropIndexAsync`
- `findOneAsync`
- `insertAsync`
- `removeAsync`
- `updateAsync`
- `upsertAsync`
- `Collection.Cursor`: (2.8+)
- `countAsync`
- `fetchAsync`
- `forEachAsync`
- `mapAsync`
- `[Symbol.asyncIterator]` so this code should work:
```js
for await (const document of collection.find(query, options)) /* ... */
```
For making this great framework even better!ifier-css`:
- `minifyCss` is now async.
#### Internal API changes
* `webapp`:
- `WebAppInternals.getBoilerplate` is now async.
- Changed engine from connect to express and changed api naming to match express. See below:
- `WebApp.connectHandlers.use(middleware)` is now `WebApp.expressHandlers.use(middleware)`
- `WebApp.rawConnectHandlers.use(middleware)` is now `WebApp.rawExpressHandlers.use(middleware)`
- `WebApp.connectApp` is now `WebApp.expressApp`
`accounts-base`:
#### Internal API changes
- `_attemptLogin`
- `_loginMethod`
- `_runLoginHandlers`
#### New Internal API
#### Migration Steps
`accounts-password`:
You can follow in [here](https://guide.meteor.com/3.0-migration.html).
#### Meteor Version Release
#### Special thanks to
For making this great framework even better!
- `Accounts._checkPasswordAsync`