gpt4 book ai didi

semantic-versioning - 究竟什么被认为是对 PureScript 库的重大更改?

转载 作者:行者123 更新时间:2023-12-05 00:52:30 26 4
gpt4 key购买 nike

Rust 社区有一个 fairly detailed description他们对语义版本控制的解释。

PureScript 社区有 this , 包括:

We should write a semver tutorial for beginners, specifically its use in PureScript and the way we rely on ~-versions.



奇怪的是,查看 65 个随机纯脚本库的分类,它们都使用 ^-versions 而不是 ~-versions,但我找不到任何更新的文档,而且我们最近由于预期不匹配而破坏了我们的构建.

PureScript 社区是否对 semver 有合理一致的解释,特别是关于什么是或不被视为重大更改?如果是这样,它是什么?

最佳答案

我们在任何地方都没有详尽的 list ,没有。现在是开始的好时机!

  • 利用需要比当前版本发布时更新的编译器的功能。
  • 添加依赖项。
  • 删除依赖项。
  • 碰撞依赖项的主要版本。
  • 删除或重命名模块。
  • 从模块中删除一个成员(这意味着任何东西 - 类型、值、类、种类、运算符)(通过隐藏导出或删除它)。
  • 以某种方式更改现有函数或值的类型签名,这意味着它不会与以前的版本统一(因此可以使类型更通用,但不能更少)。
  • 添加、删除或更改类型的类型变量。
  • 添加、删除或更改类型的数据构造函数(除非该类型不导出其构造函数)。
  • 添加或删除类型类声明的成员。
  • 更改类的预期类型参数。
  • 添加或更改类的功能依赖项。
  • 改变类(Class)的法律。
  • 删除类的实例。

  • 除了向模块添加新成员(或重新导出)之外,几乎所有其他操作都被视为重大更改!

    有时我们会做出技术上破坏性的更改(由于类型签名更改),但这样做是为了修复在没有修复的情况下完全无法使用的东西。在这些情况下,它们会以补丁的形式出现,但这种情况非常罕见。它们往往仅在涉及 FFI 时发生。

    回复: ~对比 ^ ...我认为在创建链接页面时没有使用 ^ 的选项在 Bower 中(或者至少它没有默认)。 ^是现在用于库的首选/推荐范围。

    关于semantic-versioning - 究竟什么被认为是对 PureScript 库的重大更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42633079/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com