博客
返回博客文章
12 4 月 2024
2024 年 3 月 RubyGems 更新
由 Gift Egwuenu
欢迎来到 RubyGems 月度更新!作为我们在 Ruby Central 做出的努力的一部分,我们发布了上月所做工作的摘要。继续阅读以了解 3 月份对 RubyGems 和 RubyGems.org 所做的更新。
RubyGems 新闻
本月,RubyGems 发布了 RubyGems 3.5.7 和 Bundler 2.5.7。这些更新引入了一系列增强和错误修复,所有这些都旨在增强开发者体验。它们包括:在 Gem::SafeYAML.safe_load
中引入一个属性 以控制是否启用 YAML 别名 用于 required_ruby_version
规范属性为空时的警告机制,以及 删除由 bundle gem
生成的 RuboCop 设置中的不必要配置。
本月团队的其他一些重要成就包括
- 此更改的目标是解决 RubyGems 可能安装权限比所需权限更宽的文件的问题,向除当前用户之外的其他用户授予写入权限。当文件的原始打包包含这些广泛权限时会出现此问题,这可能是由于宝石的作者设置了不安全的 umask。
- @deivid-rodriguez 实施的解决方案采用了一种比以前尝试更直接的方法(由于
ruby core
中的测试失败而被还原),即在设置权限之前对普通文件(不包括目录)应用目标系统的 umask。
- 此更新解决了 Bundler 如何使用其缓存的问题,导致出现奇怪的行为。用户看到不寻常的更新,例如 Bundler 声称它正在更新到实际不存在的版本(例如,“更新到 3.0.9”)。
- 该问题根植于 Bundler 管理缓存的 gem 的方式。这些 gem 被错误地考虑在不应该考虑的地方,这不仅会导致奇怪的消息,而且也会导致锁定文件中的错误,例如 gem 出现于错误的源中。
- 实施的解决方案确保将缓存的 gem 与在线可用的 gem 分开,防止造成这些问题的混淆。这种方法有助于保持 Bundler 操作的清晰度和准确性。
3 月,RubyGems 获得 67 个新提交,由 13 位作者提交。在 92 个文件中有 934 次添加和 194 次删除。
RubyGems.org 新闻
3 月的 RubyGems.org 更新反映了我们对改善用户体验、增强安全性以及平台现代化的坚定承诺。
以下是团队本月开展工作的重点
- 执行此重大更新是为了确保应用程序依赖项保持最新。值得注意的是,这是第二次升级工作,从 PostgreSQL 12 版升级到 13 版,此前已升级到 12 版,以响应 PostgreSQL 11 在 Amazon RDS 中终止服务公告 (EOL)。
- 升级过程利用
pgbouncer
和手动管理的蓝绿环境来实现零宕机。有关详细脚本和过程说明,请访问 项目的 GitHub 页面。 - 我们很快会发布包含更多详细信息的详细博文。
3 月,RubyGems.org 获得 69 个新提交,由 12 位作者提交。在 75 个文件中有 466 次添加和 1,263 次删除。
感谢
感谢本月 RubyGems 和 RubyGems.org 的所有贡献者!我们非常感谢您的贡献,也感谢您一直以来的支持。
RubyGems 贡献者
- @nobu Nobuyoshi Nakada
- @martinemde Martin Emde
- @deivid-rodriguez David Rodríguez
- @kateinoigakukun Yuta Saito
- @hsbt Hiroshi Shibata
- @simi Josef Šimánek
- @cuishuang Cui Fliter
- @jez Jake Zimmerman
- @duckinator Ellen Marie Dash
- @agrobbin Alex Robbin
- @ccutrer Cody Cutrer
- @JaneScarlet Amanda JC
- @doodzik Frederik Dudzik
- @marcandre Marc-André Lafortune
- @dduugg Douglas Eichelberger
RubyGems.org 贡献者
- @segiddins 塞缪尔·吉丁斯
- @jgarber623 杰森·加伯
- @hsbt Hiroshi Shibata
- @simi Josef Šimánek
- @martinemde Martin Emde
- @deivid-rodriguez David Rodríguez
- @indirect 安德烈·阿尔科
- @spk 劳伦特·阿尔诺
- @bradly 布拉德利·菲利
- @joeldrapper 乔尔·德拉珀
- @ytjmt 幸津本裕树
访问 RubyGems 贡献指南,了解有关如何向 RubyGems 贡献的更多信息。我们欢迎所有类型的贡献,包括修复错误、实现功能、编写和更新文档,以及错误分类。