更改日志
这是 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 更改
- 对异步上下文处理方式进行了一些内部更改,以确保更好的性能和垃圾回收。
迁移步骤
请运行以下命令更新您的项目
meteor update --release 3.0.3
如果您已经安装 Meteor 超过一年,我们建议您重新安装它以避免任何包安装问题。您可以通过运行几个快速命令来做到这一点
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
迁移步骤
请运行以下命令更新您的项目
meteor update --release 3.0.2
Meteor 版本发布
升级的包
:
特别感谢
让这个伟大的框架变得更好!
v3.0.1,2024-07-16
亮点
- 将一些包的补丁版本升级,以便我们使用 Meteor 3 工具发布它们。 PR
重大更改
N/A
内部 API 更改
N/A
迁移步骤
请运行以下命令更新您的项目
meteor update --release 3.0.1
Meteor 版本发布
升级的包
:
特别感谢
让这个伟大的框架变得更好!
v3.0,2024-07-15
亮点
重大更改
Meteor 工具
- 'meteor reset' 命令仅影响本地项目缓存。使用
--db
选项还可以删除本地数据库。
- 'meteor reset' 命令仅影响本地项目缓存。使用
- 一些方法现在是异步的。请参见下文
Accounts._is2faEnabledForUser
(Meteor 方法) - generate2faActivationQrCode
(Meteor 方法) - enableUser2fa
(Meteor 方法) - disableUser2fa
(Meteor 方法) - has2faEnabled
methods.removeOtherTokens
现在是异步的Accounts.destroyToken
现在是异步的Accounts.insertUserDoc
现在是异步的Accounts.updateOrCreateUserFromExternalService
现在是异步的Accounts.expirePasswordToken
现在是异步的Accounts.setupUsersCollection
现在是异步的Meteor.user
现在在服务器端是异步的
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 一些服务器方法现在是异步的
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 PRAccounts.changePassword
Accounts.setUsername
Accounts.findUserByEmail
Accounts.findUserByUsername
Accounts.sendLoginTokenEmail
现在是异步的。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新为接受异步函数。
- 更新内部 api 以使用
handlers
- 更新内部 api 以使用
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新 api 为异步,并使用异步队列。
- 删除了
Promise.await
默认转换。 - 将顶级 await 添加到包中。
- 删除了
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
构建系统
- 删除了
Assets.getText
- 删除了
Assets.getBinary
- 删除了
- 待办事项
- 由于依赖项更新,包已升级。未进行代码更改。
toHTML
不再可用(它已被弃用)。请改用toHTMLStream
。- 更新为使用
handlers
- 更新为使用
handlers
- 更新为使用
- 一些方法现在是异步的。请参见下文
BrowserPolicy.content.setPolicy
BrowserPolicy.content.allowInlineScripts
BrowserPolicy.content.disallowInlineScripts
BrowserPolicy.content.disallowAll
BrowserPolicy.setDefaultPolicy
- 一些方法现在是异步的。请参见下文
- 由于依赖项更新,包已升级。未进行代码更改。
[email protected]
: 更新为使用来自browser-policy-common
和browser-policy-content
的异步方法。afterLink
现在是异步的。- 更新为使用现在的异步 API。
- 添加了
forEachAsync
方法。
- 添加了
- 删除了与
fibers
相关的测试。
- 删除了与
一些方法现在是异步的。请参见下文
ConstraintSolver.getVersionCostSteps
ConstraintSolver.analyze
ConstraintSolver.resolve
更新测试为异步。
删除了一些 underscore 用法。
添加了更新以使用异步方法
- 从包中删除了
fibers
。
- 从包中删除了
- 创建包以加载包和应用程序。
- 这是设置运行时的包。
- 由于依赖项更新,包已升级。未进行代码更改。
- 添加了
isAsyncCall
方法以了解调用是否由异步方法发出。 - 从包中删除了
fibers
。 - 更新测试以使用异步方法。
- 添加了
- 添加了
.fence
选项。
- 添加了
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新为使用异步方法。
- 从包中删除了
fibers
。 - 更新测试以使用异步方法。
- 将服务器实现转换为异步。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 添加了对
@babel/runtime
的依赖关系。
- 添加了对
- 添加了对
@babel/runtime
的依赖关系。 - 移动了运行时测试。
- 添加了对
- 由于依赖项更新,包已升级。未进行代码更改。
Email.send
不再可用。请改用Email.sendAsync
。- 更新类型以反映异步方法和
Email.send
弃用。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 将
ddp
上的无序依赖项设置为 false。
- 将
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
http@
:- 更新了处理程序以使用
handlers
- 更新了处理程序以使用
- 添加了
forEachAsync
方法。
- 添加了
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 添加了对
@babel/runtime
的依赖关系。
- 添加了对
[email protected]
:Logic.disablingAssertions
现在是异步的。minMaxWS
现在是异步的。- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更改了 Meteor 应用创建方式 PR
- 添加了异步本地存储以帮助处理异步方法。
- 添加了
promiseEmmiter
以帮助处理异步方法。 - 从包中删除了
fibers
。 - 在 localhost 中,
Meteor.absoluteUrl
默认使用127.0.1
。
minifyCss
现在是异步的。- 从包中删除了
fibers
。
minifyJs
现在是异步的。terserMinify
不再接收回调函数- 从包中删除了
fibers
。
[email protected]
:cursor.observe
现在返回isReady
和isReadyPromise
,它们指示游标是否已准备好以及回调函数是否已被调用。如果您仅在Client
或作为LocalCollection
使用它,则情况没有改变。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新了
reify
版本。
- 更新了
mongo-decimal@
:- 更新为使用
async
方法。
- 更新为使用
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新为统一方法,
update
、insert
、remove
、fetch
现在是异步的,它们与它们的*Async
对应方法相同。 ensureIndex
和createIndex
现在是异步的。
- 更新为统一方法,
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
oauth@
:_endOfPopupResponseTemplate
和_endOfRedirectResponseTemplate
不再是属性,而是现在返回与之前相同值的 Promise 的函数- 以下服务器方法现在是异步的
OAuth._renderOauthResults
OAuth._endOfLoginResponse
OAuth.renderEndOfLoginResponse
OAuth._storePendingCredential
OAuth._retrievePendingCredential
ensureConfigured
_cleanStaleResults
- 由于依赖项更新,包已升级。未进行代码更改。
oauth1@
:- 以下服务器方法现在是异步的
OAuth._storeRequestToken
OAuth._retrieveRequestToken
- 由于依赖项更新,包已升级。未进行代码更改。
oauth2@
:OAuth._requestHandlers['2']
现在是异步的。
- 由于依赖项更新,包已升级。未进行代码更改。
- 添加了
forEachAsync
方法。
- 添加了
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 删除了
fibers
的使用
- 删除了
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 在
package.js
中添加了ecmascript
包
- 在
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新了使用
getBoilerplate
,它现在是async
。
- 更新了使用
- 更新为使用
createIndexAsync
。
- 更新为使用
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新为处理 Promise 结果。
- 更新测试以处理
async
代码。
- 更新测试以处理
spiderable@
:- 更新了处理程序以使用
handlers
,它现在使用 express - 如果标志设置为
true
,则删除fibers
的使用
- 更新了处理程序以使用
- 由于依赖项更新,包已升级。未进行代码更改。
processFilesForBundle
现在是async
。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 更新为使用
async
方法。 - 删除了
fibers
的使用。 - 添加了使用
async
测试的可能性。
- 更新为使用
- 更新 CSS 以使用深色模式。
- 更新了日志缩进。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 在日志中添加了
测试名称
。 - 删除了
fibers
的使用。
- 在日志中添加了
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
- 删除了 Meteor 包中的依赖项。
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
这些方法现在是异步的
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
接受异步回调函数
- 由于依赖项更新,包已升级。未进行代码更改。
- 由于依赖项更新,包已升级。未进行代码更改。
新的公共 API
构建系统
PR- Assets.getTextAsync
- Assets.getBinaryAsync
accounts-base
: (2.9+)Meteor.userAsync()
callback-hook
:forEachAsyncforEachAsync
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]
,因此此代码应该可以工作jsfor 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
特别感谢
让这个伟大的框架变得更好!