跳至内容

更改日志

这是 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 版本发布

  • 升级的包:
    • accounts-base@3.0.2
    • accounts-password@3.0.2
    • email@3.1.0
    • mongo@2.0.2

特别感谢

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 版本发布

  • 升级的包:
    • accounts-2fa@3.0.1
    • accounts-base@3.0.1
    • accounts-password@3.0.1
    • accounts-twitter@1.5.2
    • ddp-client@3.0.1
    • ddp-common@1.4.4
    • ddp-server@3.0.1
    • email@3.0.1
    • meteor@2.0.1
    • minimongo@2.0.1
    • mongo@2.0.1
    • npm-mongo@4.17.4
    • test-helpers@2.0.1
    • webapp@2.0.1

特别感谢

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

v3.0.1,2024-07-16

亮点

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

重大更改

N/A

内部 API 更改

N/A

迁移步骤

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

bash

meteor update --release 3.0.1

Meteor 版本发布

  • 升级的包:
    • accounts-ui-unstyled@1.7.2
    • crosswalk@1.7.3
    • facebook-oauth@1.11.4
    • npm-mongo@4.17.3
    • package-version-parser@3.2.3
    • twitter-config-ui@1.0.2

特别感谢

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

v3.0,2024-07-15

亮点

重大更改

  • Meteor 工具

    • 'meteor reset' 命令仅影响本地项目缓存。使用 --db 选项还可以删除本地数据库。
  • accounts-2fa@3.0.0:

    • 一些方法现在是异步的。请参见下文
    • Accounts._is2faEnabledForUser
    • (Meteor 方法) - generate2faActivationQrCode
    • (Meteor 方法) - enableUser2fa
    • (Meteor 方法) - disableUser2fa
    • (Meteor 方法) - has2faEnabled
  • accounts-base@3.0.0:

    • methods.removeOtherTokens 现在是异步的
    • Accounts.destroyToken 现在是异步的
    • Accounts.insertUserDoc 现在是异步的
    • Accounts.updateOrCreateUserFromExternalService 现在是异步的
    • Accounts.expirePasswordToken 现在是异步的
    • Accounts.setupUsersCollection 现在是异步的
    • Meteor.user 现在在服务器端是异步的
  • accounts-facebook@2.0.0:

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

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

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • accounts-meteor-developer@2.0.0:

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

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

    • 一些服务器方法现在是异步的
    • 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
  • accounts-passwordless@3.0.0:

    • Accounts.sendLoginTokenEmail 现在是异步的。
  • accounts-twitter@2.0.0:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • accounts-ui-unstyled@2.0.0:

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

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

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

    • 更新为接受异步函数。
  • appcache@2.0.0:

    • 更新内部 api 以使用 handlers
  • audit-argument-checks@2.0.0:

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

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

    • 更新 api 为异步,并使用异步队列。
  • babel-compiler@8.0.0:

    • 删除了 Promise.await 默认转换。
    • 将顶级 await 添加到包中。
  • babel-runtime@2.0.0:

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

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

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

    • 删除了 Assets.getText
    • 删除了 Assets.getBinary
  • blaze@3.0.0:

    • 待办事项
  • boilerplate-generator-tests@2.0.0:

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

    • toHTML 不再可用(它已被弃用)。请改用 toHTMLStream
    • 更新为使用 handlers
  • browser-policy-common@2.0.0:

    • 更新为使用 handlers
  • browser-policy-content@2.0.0:

    • 一些方法现在是异步的。请参见下文
      • BrowserPolicy.content.setPolicy
      • BrowserPolicy.content.allowInlineScripts
      • BrowserPolicy.content.disallowInlineScripts
      • BrowserPolicy.content.disallowAll
      • BrowserPolicy.setDefaultPolicy
  • browser-policy-framing@2.0.0:

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

  • caching-compiler@2.0.0:

    • afterLink 现在是异步的。
    • 更新为使用现在的异步 API。
  • callback-hook@2.0.0:

    • 添加了 forEachAsync 方法。
  • check@2.0.0:

    • 删除了与 fibers 相关的测试。
  • constraint-solver@2.0.0:

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

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

    • 删除了一些 underscore 用法。

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

  • context@1.0.0:

    • 从包中删除了 fibers
  • core-runtime@2.0.0:

    • 创建包以加载包和应用程序。
    • 这是设置运行时的包。
  • crosswalk@2.0.0:

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

    • 添加了 isAsyncCall 方法以了解调用是否由异步方法发出。
    • 从包中删除了 fibers
    • 更新测试以使用异步方法。
  • ddp-common@2.0.0:

    • 添加了 .fence 选项。
  • ddp-rate-limiter@2.0.0:

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

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

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

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • ecmascript-runtime-client@1.0.0:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • ecmascript-runtime-server@1.0.0:

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

    • 添加了对 @babel/runtime 的依赖关系。
  • ecmascript@1.0.0:

    • 添加了对 @babel/runtime 的依赖关系。
    • 移动了运行时测试。
  • ejson@2.0.0:

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

    • Email.send 不再可用。请改用 Email.sendAsync
    • 更新类型以反映异步方法和 Email.send 弃用。
  • es5-shim@5.0.0:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • facebook-config-ui@2.0.0:

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

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

    • ddp 上的无序依赖项设置为 false。
  • facts-ui@2.0.0:

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • force-ssl-common@2.0.0:

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

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • github-config-ui@2.0.0:

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • google-config-ui@2.0.0:

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • hot-code-push@2.0.0:

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

    • 更新了处理程序以使用handlers
  • id-map@2.0.0:

    • 添加了 forEachAsync 方法。
  • insecure@2.0.0:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • inter-process-messaging@1.0.0:

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

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

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

    • 添加了对 @babel/runtime 的依赖关系。
  • logic-solver@3.0.0: Logic.disablingAssertions 现在是异步的。minMaxWS 现在是异步的。

  • meetup-config-ui@2.0.0:

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

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • meteor-developer-config-ui@2.0.0:

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

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

    • 更改了 Meteor 应用创建方式 PR
  • meteor@2.0.0:

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

    • minifyCss 现在是异步的。
    • 从包中删除了 fibers
  • minifier-js@3.0.0:

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

    • 由于依赖项更新,包已升级。未进行代码更改。
  • mobile-status-bar@2.0.0:

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

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

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

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

    • 更新为使用async方法。
  • mongo-dev-server@2.0.0:

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

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

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

    • 更新为统一方法,updateinsertremovefetch 现在是异步的,它们与它们的*Async对应方法相同。
    • ensureIndexcreateIndex 现在是异步的。
  • npm-mongo@5.0.0:

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

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

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

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

    • 以下服务器方法现在是异步的
    • OAuth._storeRequestToken
    • OAuth._retrieveRequestToken
  • oauth1@2.0.0:

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

    • OAuth._requestHandlers['2'] 现在是异步的。
  • oauth2@2.0.0:

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

    • 添加了 forEachAsync 方法。
  • package-stats-opt-out@2.0.0:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • package-version-parser@4.0.0:

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

    • 删除了fibers的使用
  • random@2.0.0:

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

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

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

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

    • package.js中添加了ecmascript
  • reload@2.0.0:

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

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

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

    • 更新了使用getBoilerplate,它现在是async
  • service-configuration@2.0.0:

    • 更新为使用createIndexAsync
  • session@2.0.0:

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

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

    • 更新为处理 Promise 结果。
  • socket-stream-client@1.0.0:

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

    • 更新了处理程序以使用handlers,它现在使用 express
    • 如果标志设置为true,则删除fibers的使用
  • standard-minifier-css@2.0.0:

    • 由于依赖项更新,包已升级。未进行代码更改。
  • standard-minifier-js@3.0.0:

    • processFilesForBundle 现在是async
  • standard-minifiers@2.0.0:

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

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

    • 更新为使用async方法。
    • 删除了fibers的使用。
    • 添加了使用async测试的可能性。
  • test-in-browser@2.0.0:

    • 更新 CSS 以使用深色模式。
  • test-in-console@2.0.0:

    • 更新了日志缩进。
  • test-server-tests-in-console-once@2.0.0:

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

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

    • 在日志中添加了测试名称
    • 删除了fibers的使用。
  • twitter-config-ui@2.0.0:

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

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

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

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

    • 删除了 Meteor 包中的依赖项。
  • url@2.0.0:

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

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

    • 这些方法现在是异步的

      • 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 接受异步回调函数

  • weibo-config-ui@2.0.0:

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

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

新的公共 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

特别感谢

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