跳至内容

更改日志

这是 Meteor 版本更改的完整历史记录。

v3.0.3,2024-09-11

亮点

  • 修复了 Meteor.userId 仅使用 bindEnvironment 调用。
  • 更新到 Node 20.17.x
  • 修复了 meteor --open 在应用程序启动前打开浏览器的问题。
  • 调查并解决了安装 jam:method 包时的错误。
  • 改进了运行应用程序时显示的新可用版本的提示消息。
  • 更新了 install.sh 中的文档链接。
  • 解决了参数更改后订阅停止的问题。
  • 添加了 MongoDB 连接遥测。
  • email 包升级到防止更新错误。
  • Cordova 包更新

重大更改

N/A

内部 API 更改

  • 对异步上下文处理方式进行了一些内部更改,以确保更好的性能和垃圾回收。

迁移步骤

请运行以下命令更新您的项目

bash

meteor update --release 3.0.3

如果您已经安装 Meteor 超过一年,我们建议您重新安装它以避免任何包安装问题。您可以通过运行几个快速命令来做到这一点

bash
npx meteor uninstall // or rm -rf ~/.meteor
npx meteor

Meteor 版本发布

特别感谢

v3.0.2,2024-08-14

亮点

  • 将一些包的补丁版本升级,以便我们使用 Meteor 3 工具发布它们。 PR
  • 修复订阅仍然重置文档的问题 PR
  • 修复 auth 子在加载时发送两次 ready 的问题 PR
  • 删除 accounts-twitter 中 http 包的版本约束 PR
  • 弃用服务器端 Meteor.user() 的用法 PR

重大更改

N/A

内部 API 更改

N/A

迁移步骤

请运行以下命令更新您的项目

bash

meteor update --release 3.0.2

Meteor 版本发布

特别感谢

让这个伟大的框架变得更好!

v3.0.1,2024-07-16

亮点

  • 将一些包的补丁版本升级,以便我们使用 Meteor 3 工具发布它们。 PR

重大更改

N/A

内部 API 更改

N/A

迁移步骤

请运行以下命令更新您的项目

bash

meteor update --release 3.0.1

Meteor 版本发布

特别感谢

让这个伟大的框架变得更好!

v3.0,2024-07-15

亮点

重大更改

  • Meteor 工具

    • 'meteor reset' 命令仅影响本地项目缓存。使用 --db 选项还可以删除本地数据库。
  • [email protected]:

    • 一些方法现在是异步的。请参见下文
    • Accounts._is2faEnabledForUser
    • (Meteor 方法) - generate2faActivationQrCode
    • (Meteor 方法) - enableUser2fa
    • (Meteor 方法) - disableUser2fa
    • (Meteor 方法) - has2faEnabled
  • [email protected]:

    • methods.removeOtherTokens 现在是异步的
    • Accounts.destroyToken 现在是异步的
    • Accounts.insertUserDoc 现在是异步的
    • Accounts.updateOrCreateUserFromExternalService 现在是异步的
    • Accounts.expirePasswordToken 现在是异步的
    • Accounts.setupUsersCollection 现在是异步的
    • Meteor.user 现在在服务器端是异步的
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 一些服务器方法现在是异步的
    • 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.setPasswordAsync PR
    • Accounts.changePassword
    • Accounts.setUsername
    • Accounts.findUserByEmail
    • Accounts.findUserByUsername
  • [email protected]:

    • Accounts.sendLoginTokenEmail 现在是异步的。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新为接受异步函数。
  • [email protected]:

    • 更新内部 api 以使用 handlers
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新 api 为异步,并使用异步队列。
  • [email protected]:

    • 删除了 Promise.await 默认转换。
    • 将顶级 await 添加到包中。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • 构建系统

    • 删除了 Assets.getText
    • 删除了 Assets.getBinary
  • [email protected]:

    • 待办事项
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • toHTML 不再可用(它已被弃用)。请改用 toHTMLStream
    • 更新为使用 handlers
  • [email protected]:

    • 更新为使用 handlers
  • [email protected]:

    • 一些方法现在是异步的。请参见下文
      • BrowserPolicy.content.setPolicy
      • BrowserPolicy.content.allowInlineScripts
      • BrowserPolicy.content.disallowInlineScripts
      • BrowserPolicy.content.disallowAll
      • BrowserPolicy.setDefaultPolicy
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]: 更新为使用来自 browser-policy-commonbrowser-policy-content 的异步方法。

  • [email protected]:

    • afterLink 现在是异步的。
    • 更新为使用现在的异步 API。
  • [email protected]:

    • 添加了 forEachAsync 方法。
  • [email protected]:

    • 删除了与 fibers 相关的测试。
  • [email protected]:

    • 一些方法现在是异步的。请参见下文

      • ConstraintSolver.getVersionCostSteps
      • ConstraintSolver.analyze
      • ConstraintSolver.resolve
    • 更新测试为异步。

    • 删除了一些 underscore 用法。

    • 添加了更新以使用异步方法

  • [email protected]:

    • 从包中删除了 fibers
  • [email protected]:

    • 创建包以加载包和应用程序。
    • 这是设置运行时的包。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 添加了 isAsyncCall 方法以了解调用是否由异步方法发出。
    • 从包中删除了 fibers
    • 更新测试以使用异步方法。
  • [email protected]:

    • 添加了 .fence 选项。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新为使用异步方法。
    • 从包中删除了 fibers
    • 更新测试以使用异步方法。
    • 将服务器实现转换为异步。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 添加了对 @babel/runtime 的依赖关系。
  • [email protected]:

    • 添加了对 @babel/runtime 的依赖关系。
    • 移动了运行时测试。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • Email.send 不再可用。请改用 Email.sendAsync
    • 更新类型以反映异步方法和 Email.send 弃用。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • ddp 上的无序依赖项设置为 false。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • http@:

    • 更新了处理程序以使用handlers
  • [email protected]:

    • 添加了 forEachAsync 方法。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 添加了对 @babel/runtime 的依赖关系。
  • [email protected]: Logic.disablingAssertions 现在是异步的。minMaxWS 现在是异步的。

  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更改了 Meteor 应用创建方式 PR
  • [email protected]:

    • 添加了异步本地存储以帮助处理异步方法。
    • 添加了promiseEmmiter以帮助处理异步方法。
    • 从包中删除了 fibers
    • 在 localhost 中,Meteor.absoluteUrl 默认使用127.0.1
  • [email protected]:

    • minifyCss 现在是异步的。
    • 从包中删除了 fibers
  • [email protected]:

    • minifyJs 现在是异步的。
    • terserMinify 不再接收回调函数
    • 从包中删除了 fibers
  • [email protected]:
    • cursor.observe 现在返回isReadyisReadyPromise,它们指示游标是否已准备好以及回调函数是否已被调用。如果您仅在Client或作为LocalCollection使用它,则情况没有改变。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新了reify版本。
  • mongo-decimal@:

    • 更新为使用async方法。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新为统一方法,updateinsertremovefetch 现在是异步的,它们与它们的*Async对应方法相同。
    • ensureIndexcreateIndex 现在是异步的。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • oauth@:

    • _endOfPopupResponseTemplate_endOfRedirectResponseTemplate 不再是属性,而是现在返回与之前相同值的 Promise 的函数
    • 以下服务器方法现在是异步的
    • OAuth._renderOauthResults
    • OAuth._endOfLoginResponse
    • OAuth.renderEndOfLoginResponse
    • OAuth._storePendingCredential
    • OAuth._retrievePendingCredential
    • ensureConfigured
    • _cleanStaleResults
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • oauth1@:

    • 以下服务器方法现在是异步的
    • OAuth._storeRequestToken
    • OAuth._retrieveRequestToken
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • oauth2@:

    • OAuth._requestHandlers['2'] 现在是异步的。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 添加了 forEachAsync 方法。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 删除了fibers的使用
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • package.js中添加了ecmascript
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新了使用getBoilerplate,它现在是async
  • [email protected]:

    • 更新为使用createIndexAsync
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新为处理 Promise 结果。
  • [email protected]:

    • 更新测试以处理async代码。
  • spiderable@:

    • 更新了处理程序以使用handlers,它现在使用 express
    • 如果标志设置为true,则删除fibers的使用
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • processFilesForBundle 现在是async
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 更新为使用async方法。
    • 删除了fibers的使用。
    • 添加了使用async测试的可能性。
  • [email protected]:

    • 更新 CSS 以使用深色模式。
  • [email protected]:

    • 更新了日志缩进。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 在日志中添加了测试名称
    • 删除了fibers的使用。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 删除了 Meteor 包中的依赖项。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 这些方法现在是异步的

      • WebAppInternals.reloadClientPrograms()
      • WebAppInternals.pauseClient()
      • WebAppInternals.generateClientProgram()
      • WebAppInternals.generateBoilerplate()
      • WebAppInternals.setInlineScriptsAllowed()
      • WebAppInternals.enableSubresourceIntegrity()
      • WebAppInternals.setBundledJsCssUrlRewriteHook()
      • WebAppInternals.setBundledJsCssPrefix()
      • WebAppInternals.getBoilerplate
    • 将引擎从 connect 更改为 express,并将 API 名称更改为与 express 匹配。请参见下文

    • WebApp.connectHandlers.use(middleware) 现在是 WebApp.handlers.use(middleware)

    • WebApp.rawConnectHandlers.use(middleware) 现在是 WebApp.rawHandlers.use(middleware)

    • WebApp.connectApp 现在是 WebApp.expressApp

    • WebApp.addRuntimeConfigHook 接受异步回调函数

  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • [email protected]:

    • 由于依赖项更新,包已升级。未进行代码更改。

新的公共 API

  • 构建系统 PR

    • Assets.getTextAsync
    • Assets.getBinaryAsync
  • accounts-base: (2.9+)

    • Meteor.userAsync()
  • callback-hook:forEachAsync

    • forEachAsync
  • ddp-server: (2.8+)

    • Meteor.callAsync()
  • minifier-css: (2.9+)

    • CssTools.minifyCssAsync()
  • mongo:

    • Mongo.Collection: (2.8+)
      • createCappedCollectionAsync
      • createIndexAsync
      • dropCollectionAsync
      • dropIndexAsync
      • findOneAsync
      • insertAsync
      • removeAsync
      • updateAsync
      • upsertAsync
    • Collection.Cursor: (2.8+)
      • countAsync
      • fetchAsync
      • forEachAsync
      • mapAsync
      • [Symbol.asyncIterator],因此此代码应该可以工作
        js
        for await (const document of collection.find(query, options)) /* ... */

内部 API 更改

accounts-base:

  • _attemptLogin
  • _loginMethod
  • _runLoginHandlers
  • node-gyp升级到 v9.4.0
  • node-pre-gyp升级到@mapbox/node-pre-gyp v1.0.11

新的内部 API

accounts-password:

  • Accounts._checkPasswordAsync

特别感谢

让这个伟大的框架变得更好!