PyPDF2 弃用过程
PyPDF2 努力成为当前用户和新用户的优秀图书馆。我们谨慎地引入潜在的重大变化,但如果它们从长远来看能为社区提供价值,我们就会这样做。
我们希望并认为弃用不会很快再次发生。如果他们这样做,用户可以依赖以下过程。
语义版本控制
PyPDF2 使用语义版本控制。如果您想避免破坏性更改,请使用依赖固定(也称为版本固定)。在 Python 中,这是通过在文件中指定要使用的确切版本来完成的 requirements.txt
。可以支持您的工具pip-compile
来自 pip-tools
.
如果您使用的是Poetry,则文件已完成 poetry.lock
。
PyPDF2 如何弃用功能
假设 PyPDF2 的当前版本是x.y.z
. 经过讨论(例如通过 GitHub 问题),我们决定删除一个类/函数/方法。这是我们的做法:
x.y.(z+1)
: 添加弃用警告。如果有替换,也会引入替换,并且警告会告知更改及其发生的时间。这些文档让用户了解弃用、弃用的时间和新功能。CHANGELOG 通知它。(x+1).0.0
:通过将 DeprecationWarnings 替换为 DeprecationErrors,以破坏性方式删除/更改代码。我们这样做是为了帮助那些以前没有看过警告的人。CHANGELOG 通知它。(x+2).0.0
:删除了 DeprecationErrors。
这意味着用户在 CHANGELOG 中有 3 个警告,一个 DeprecationWarning 直到下一个主要版本,一个 DeprecationError 直到那个之后的主要版本。
请注意,添加警告对于某些用户来说可能是一项重大更改;很可能只是在 CI 中。这意味着需要对其进行适当记录。
更多建议: