diff --git a/docs/generators/changelog/versions/3.0.md b/docs/generators/changelog/versions/3.0.md index aa9e0275f3..afc3d42e82 100644 --- a/docs/generators/changelog/versions/3.0.md +++ b/docs/generators/changelog/versions/3.0.md @@ -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`