博客
返回博客文章
2020 年 12 月 10 日
发布 3.2.0
RubyGems 3.2.0 包含错误修复、弃用、性能改进、轻微增强、错误修复、性能改进、重大增强、轻微增强、错误修复和弃用。
若要更新到最新版本 RubyGems,您可以运行
gem update --system
如果需要升级或降级,请遵循 如何升级/降级 RubyGems 的说明。要手动安装 RubyGems,请参阅 下载 RubyGems 页面。
增强
- 没有必要时不要覆盖 Kernel#warn。eregon 的拉取请求 #4075
- 更新 gem 签到命令的端点。sonalkr132 的拉取请求 #3840
- 从命令帮助输出中省略弃用的命令。landongrindheim 的拉取请求 #4023
- 在
gem query
弃用中建议替代方法。landongrindheim 的拉取请求 #4021 - 延迟加载
time
、cgi
和zlib
。deivid-rodriguez 的拉取请求 #4010 - 在安装无依赖本地的 gemspec 时不要访问网络。deivid-rodriguez 的拉取请求 #3968
- 将
--force
选项添加到gem sources
命令。andy-smith-msm 的拉取请求 #3956 - 延迟加载
openssl
。deivid-rodriguez 的拉取请求 #3850 - 在比较平台时传递更多信息。eregon 的拉取请求 #3817
错误修复
- 更好地使用 rubygems 包中文件的 owner 和 group。deivid-rodriguez 的拉取请求 #4065
- 改进 gem 构建 -C 标志。bronzdoc 的拉取请求 #3983
- 处理 URI#merge 和缺少结尾斜杠子路径的意外行为。drcapulet 的拉取请求 #3123
- 在 rubygems 安装程序中添加缺失的
fileutils
。deivid-rodriguez 的拉取请求 #4036 - 修复
gem specification
的--platform
选项被忽略。deivid-rodriguez 的拉取请求 #4043 - 公开
--no-minimal-deps
标志以安装最新版本的依赖项。deivid-rodriguez 的拉取请求 #4030 - 覆盖
Warning.warn
时修复“栈级太深”错误。eregon 的拉取请求 #3987 - 仅在不存在时才附加 ‘.gemspec’ 扩展。voxik 的拉取请求 #3988
- 使用
--build-root
时安装到正确的插件目录。deivid-rodriguez 的拉取请求 #3972 - 修复 Windows 中的
--build-root
标识。PR #3975 由 deivid-rodriguez 提交 - 修复
typo_squatting?
为rubygems.org
自身产生的误报。PR #3951 由 andy-smith-msm 提交 - 使
--default
和--install-dir
选项与gem install
协同良好。PR #3906 由 deivid-rodriguez 提交
已弃用
- 弃用服务器命令。PR #3868 由 bronzdoc 提交
性能
- 构建扩展时不更改 Ruby 进程 CWD。PR #3498 由 deivid-rodriguez 提交
=== 3.2.0.rc.2 / 2020-10-8
次要增强
- 使 Rubygems 命令中 --dry-run 标识保持一致。PR #3867 由 bronzdoc 提交
- 不允许降级到过旧版本。PR #3566 由 deivid-rodriguez 提交
- 向
build
命令中添加--platform
选项。PR #3079 由 nobu 提交 - 让 “gem update –system” 传递
--silent
标识。PR #3789 由 duckinator 提交 - 添加缓存目录的可写性检查。PR #3876 由 xndcn 提交
- 警告规范中的重复依赖项。PR #3864 由 bronzdoc 提交
- 修复
gem env
中的缩进。PR #3861 由 colby-swandale 提交 - 让更多的异常流动。PR #3819 由 deivid-rodriguez 提交
- 在 RubyGems 的 Kernel#warn 中忽略内部框架。PR #3810 由 eregon 提交
错误修复
- 添加缺少的 fileutils require。PR #3911 由 deivid-rodriguez 提交
- 修复当 PATH 具有
File::ALT_SEPARATOR
时在 Windows 上发生的误报。PR #3829 由 deivid-rodriguez 提交 - 修复 Kernel#warn 覆盖以处理带有 nil 路径的回溯位置。PR #3852 由 jeremyevans 提交
- 不要在
gem update --system
上设置可执行文件的格式。PR #3811 由 deivid-rodriguez 提交 gem install --user
在系统插件目录中,Gem::FilePermissionError
失败。PR #3804 由 nobu 提交
性能
- 避免重复生成 APISpecification 对象。PR #3940 由 mame 提交
- 使用 frozen_string_literal: true 对默认值执行 eval。PR #3847 由 casperisfine 提交
- 对内存中的需求运算符进行重复数据删除。PR #3846 由 casperisfine 提交
- 优化 Gem.already_loaded?。PR #3793 由 casperisfine 提交
=== 3.2.0.rc.1 / 2020-07-04
主要增强
- 在 CI 中测试 TruffleRuby。PR #2797 由 Benoit Daloze 提交。
- 重新设计插件系统并加速 rubygems。PR #3108 由 David Rodríguez 提交。
次要增强
- 指定明确的分隔符,不受 $; 影响。PR #3424 由 Nobuyoshi Nakada 提交。
- 启用
Layout/ExtraSpacing
cop。PR #3449 由 David Rodríguez 提交。 - 回滚 gem 弃用。PR #3530 由 Luis Sagastume 提交。
- 对 heredoc 分界符进行标准化。David Rodríguez 提交的请求 #3533。
- 在
rake package
中将日志消息记录到 stdout。David Rodríguez 提交的请求 #3632。 - 移除显式激活的
psych
。David Rodríguez 提交的请求 #3636。 - 延迟加载
fileutils
以修复一些警告。David Rodríguez 提交的请求 #3637。 - 确保可以可靠地直接要求使用 rubygems/package。Luis Sagastume 提交的请求 #3670。
- 确保在调用
Dir.tmpdir
之前tmp
文件夹存在。David Rodríguez 提交的请求 #3711。 - 添加 Gem.disable_system_update_message 以禁用 gem update –system(如果需要)。Josef Šimánek 提交的请求 #3720。
- 调整以完美配合 ruby-core 设置。David Rodríguez 提交的请求 #3733。
- 移除对自动加载常数的显式要求。Karol Bucek 提交的请求 #3751。
- 测试文件不应包含在 spec.files 中。Marc-André Lafortune 提交的请求 #3758。
- 移除关于以设置而不是推送来警告的 TODO 注释。Luis Sagastume 提交的请求 #2823。
- 添加废弃命令方法。Luis Sagastume 提交的请求 #2935。
- 简化废弃命令方法。Luis Sagastume 提交的请求 #2974。
- 修复 Gem::LOADED_SPECS_MUTEX 对递归锁定的处理。MSP-Greg 提交的请求 #2985。
- 向 gemspec 添加
funding_uri
元数据字段。Colby Swandale 提交的请求 #3060。 - 更新一些旧的 gem 签名文档。Tieg Zaharia 提交的请求 #3063。
- 更新 Gem::Installer 的 gem 方法。Daniel Berger 提交的请求 #3137。
- 简化初始 gem 帮助输出。Olivier Lacan 提交的请求 #3148。
- 通过
gem contents
解析最新版本。Dan Rice 提交的请求 #3149。 - 安装建议。Sophia Castellarin 提交的请求 #3151。
- 仅抢救我们实际想要抢救的错误。David Rodríguez 提交的请求 #3156。
错误修复
- 在某些测试中接受不只 /usr/bin/env,还接受 /bin/env。Yusuke Endoh 提交的请求 #3422。
- 跳过在 Solaris 上尝试删除当前目录的测试。Yusuke Endoh 提交的请求 #3423。
- 修复捆绑器的并行安装程序中的竞争条件。David Rodríguez 提交的请求 #3440。
- 修复 #contains_requirable_file? 中的平台比较检查。Benoit Daloze 提交的请求 #3495。
- 改善缺失规范错误。Luis Sagastume 提交的请求 #3559。
- 修复从 rubygems 更新器隐藏捆绑器模板安装。David Rodríguez 提交的请求 #3674。
- 修复 gem update –user-install。Luis Sagastume 提交的请求 #2901。
- 在阻止卸载时更正冲突列表。David Rodríguez 提交的请求 #2973。
- 修复在尝试查找带有已删除“工作目录...”的捆绑器时发生的错误。路易斯·萨加斯特梅拉取请求 #3090。
- 修复 -I 要求优先级。大卫·罗德里格斯拉取请求 #3124。
- 修复
ruby setup.rb
以适用于新插件布局。大卫·罗德里格斯拉取请求 #3144。
已弃用
- 在查询命令中设置弃用警告。路易斯·萨加斯特梅拉取请求 #2967。
重大变更
- 移除 ruby 1.8 残留物。大卫·罗德里格斯拉取请求 #3442。
- Minitest 清理。大卫·罗德里格斯拉取请求 #3445。
- 移除
builder
宝石对于gem regenerate_index
的要求。大卫·罗德里格斯拉取请求 #3552。 - 为一致性移除模线。大卫·罗德里格斯拉取请求 #3714。
- 停止使用弃用 OpenSSL::Digest 常量。巴特·德·沃特拉取请求 #3763。
- 移除 Gem 模块弃用方法。路易斯·萨加斯特梅拉取请求 #3101。
- 移除 ubygems.rb。路易斯·萨加斯特梅拉取请求 #3102。
- 移除 Gem::Commands::QueryCommand。路易斯·萨加斯特梅拉取请求 #3104。
- 移除依赖项安装程序弃用方法。路易斯·萨加斯特梅拉取请求 #3106。
- 移除 Gem::UserInteraction#debug 方法。路易斯·萨加斯特梅拉取请求 #3107。
- 从 Gem::GemRunner.new 移除选项。路易斯·萨加斯特梅拉取请求 #3110。
- 移除弃用 Gem::RemoteFetcher#fetch_size。路易斯·萨加斯特梅拉取请求 #3111。
- 从 Gem::Exception 移除 source_exception。路易斯·萨加斯特梅拉取请求 #3112。
- 需要 rubygems/source_specific_file 已弃用,请将其移除。路易斯·萨加斯特梅拉取请求 #3114。
SHA256 校验和
- rubygems-3.2.0.tgz
c3df079addbdae63f201d64aa000f5ebe84c981584322d0f28049d664418b317 - rubygems-3.2.0.zip
57b4a745c3e9c0c4d18d5fcb30a11d7c5403369850d290b8f7561edcefda6b93 - rubygems-update-3.2.0.gem
478977e54a114b7b02f178d5080b841bbaba364aa27957a890ae39f4e3577e4c