博客
2024 年 1 月 17 日
2023 年 12 月 RubyGems 更新
欢迎访问 RubyGems 月度更新!作为我们在 Ruby Central 工作的一部分,我们发布了上个月所做工作的回顾。继续阅读,了解 12 月份对 RubyGems 和 RubyGems.org 所做的更新。
RubyGems 新闻
12 月份,我们发布了以下 RubyGems 版本 3.5.0、3.5.1、3.5.2、3.5.3,以及 Bundler 2.5.0、2.5.1、2.5.2、2.5.3。这些更新标志着我们在持续努力增强 Rubygems 开发体验方面的一个重大里程碑。
随着 RubyGems 3.5 和 Bundler 2.5 的年度次要版本发布,我们已经不再支持低于 3.0.0 的 Ruby 版本。这使得可以使用 Ruby 语言的更多现代功能;提高了效率、性能和内存使用率。它还减少了我们的测试运行时间,并去掉了更多容易出错的 Ruby 2.6 和 2.7 测试。本月我们花时间对代码库进行了现代化,以利用这一变化。
对 generate_index 命令
进行了重大增强。它现在能够创建紧凑的索引文件。此功能已集成到可外部获取的 rubygems-generate_index
宝石 (#7085) 中。这一进步不仅提高了效率,而且扩展了该命令的实用性。
gem install 命令
还看到了一个重要的更新。为了更好地适应可能受到限制的权限的环境,现在,当默认 gem home
不可写时,它会自动使用用户的安装目录 (#5327)。
此外,Bundler 引入了 bundle config set version
功能。这让用户可以明确选择他们希望使用的 Bundler 版本,添加一层自定义。它还提供了通过将其设置为 system
(#6817) 来覆盖锁定文件版本的选择。
本月加载到我们资料库中但未包含在上述版本中的其他一些改进包括
- 现在使用 nronn 进行生成来升级文档流程 (#7227)。
- 使用
Minitest::TestTask
在用于简化 minitest 测试流程的模板文件中 (#7234). - 评估
ruby
Gemfile DSL 时避免一些分配 (#7251). - 无法找到某些 gem 时提供更好的安装建议 (#7265).
- 实现针对 Ruby 包上的
bundler test
的修复 (#7298). - 调用 make
bundle lock
始终触及 lockfile(即使没有任何更改)以提高 Make 风格兼容性 (#7220). - 改进 RubyGems 和 Bundler CI 检测 (#7205).
- 使用
--verbose
时流式处理 ext 构建的输出 (#7240). - 允许
bundle pristine
并行运行,从而显著提高速度 (#6927). - 确保 gem install 遵守系统 umask (#7300).
12 月份,RubyGems 新获得了 17 位作者提交的 280 次全新提交。在 761 个文件中,共有 28,544 处添加和 8,338 处删除。
RubyGems.org 新闻
RubyGems.org 12 月份的更新反映了我们对改善用户体验、增强安全性和更新平台的坚定承诺。
进行的一项重大升级是完全过渡到 Ruby 3.3,[#4320]. 此更新表示了让平台与最新的 Ruby 进展保持同步的重要一步。
我们还对 可信发布 功能进行了改进。值得注意的是,挂起的发布者链接现在在设置编辑部分对所有人可见 (#4290)。此外,我们增加了作为单一身份验证因素的密钥集成,这标志着平台安全性的重大改进 (#4271)。
本月加载到我们资料库中但未包含在上述版本中的其他一些改进包括
- 实现
Deletion#version_id
以实现更好的版本关联 (#4273)。 - 在存在 GitHub 动作时解决创建 Rubygem 可信发布者的难题 (#4282)。
- 添加了一个
/profile/me
动作,该动作将登录用户重定向到其个人资料 (#4291)。 - Bundler 2.5.1 更新,增加了 CHECKSUMS(#4296)。
- 增加
ruby/setup-ruby
用于切换 RubyGems 版本(#4298)。
12 月,RubyGems.org 获得了 54 次新提交,由 7 位作者贡献。139 个文件中有 4,096 次新增和 510 次删除。
谢谢
谢谢所有在这个月内对 RubyGems 和 RubyGems.org 作出贡献的人!我们非常感谢你们的贡献,也非常感谢你们提供的支持。
RubyGems 贡献者
- @nevinera Eric Mueller
- @deivid-rodriguez David Rodríguez
- @segiddins Samuel Giddins
- @franzliedke Franz Liedke
- @martinemde Martin Emde
- @hsbt Hiroshi Shibata
- @junaruga Jun Aruga
- @duckinator Ellen Marie Dash
- @simi Josef Šimánek
- @y-yagi y-yagi
- @eregon Benoit Daloze
- @voxik Vít Ondruch
- @osyoyu Daisuke Aritomo
- @etherbob Andrew Stevenson
- @AndrewSwerlick Andrew Swerlick
- @amomchilov Alexander Momchilov
- @hogelog hogelog
- @takmar Takuma Yoshida
- @ekohl Ewoud Kohl van Wijngaarden
- @iuriguilherme Iuri Guilherme
- @MSP-Greg MSP-Greg
- @kenyon Kenyon Ralph
RubyGems.org 贡献者
- @segiddins Samuel Giddins
- @hsbt Hiroshi Shibata
- @simi Josef Šimánek
- @indirect André Arko
- @ntkme なつき
- @martinemde Martin Emde
- @jenshenny Jenny Shen
- @paracycle Ufuk Kayserilioglu
访问 RubyGems 贡献指南,了解有关如何为 RubyGems 做出贡献的更多信息。我们欢迎所有类型的贡献,包括错误修复、功能实现、编写和更新文档以及错误分类。