Release

具有释放系统具有许多益处。首先,它使尝试Theano容易。你可以安装一个稳定版本的Theano,而不必担心存储库的当前状态。虽然我们通常不试图打破树干,错误可能发生。这也大大简化了安装过程:不再需要mercurial和某些python依赖可以自动处理(numpy现在,也许pycuda,cython以后)。

Theano发行计划详述如下。欢迎在邮件列表上提供意见和/或建议。

  1. 我们的目标是每年更新Theano几次。这些版本将在实现新功能时生成。

  2. 只有在发现并修复了生成错误输出的错误时,才会发出紧急版本。

  3. 每个版本必须满足以下条件。不合规将导致我们延迟或跳过有问题的版本。

    1. 无回归误差。

    2. 没有已知的,无声的错误。

    3. 没有错误提供不正确的结果。

    4. 没有测试错误/故障,除了已知错误。

      1. 已知的错误不应该被用于编码“特征愿望列表”,如目前的情况。
      2. 不正确的结果应该会引起错误,而不是已知的错误(这一直是这样)
      3. 所有已知错误都应在故障消息中包含故障单和对故障单的引用。
    5. 所有提交都应该进行审核,以确保不会出现上述任何问题。

  4. 版本号将遵循X.Y.Z方案:

    1. 我们更新Z的小紧急bug或支持新版本的依赖。
    2. 我们更新Y用于界面更改和/或我们希望宣传的重要功能。
    3. Theano v1.0.0版本将在界面被认为足够稳定并覆盖numpy的大部分界面时进行。
  5. 中继将在每个版本上标记。

  6. 每个版本都将上传到pypi.python.org,mloss.org和freshmeat.net

  7. Release emails will be sent to theano-users, theano-announce, numpy-discussion@scipy.org and scipy-user@scipy.org .

可选的:

  1. 在发布之前可能会发生1周的Scrum,以修复可能会阻止发布的错误。

    1. 偶尔的截止日期可能会导致我们跳过发布。
    2. 每个人都可以(也应该)参与,甚至是邮件列表上的人。
    3. Scrum应鼓励人们完成他们已经开始的工作(缺少文档,缺少测试,...)。这应该有助于推出新的功能,并保持文档更新。
    4. 如果可能,旨在包括一个新的有趣的功能。
    5. 参与Scrum将使所有相关人员受益,因为您将会更多地了解我们的工具,并帮助他们在过程中培养他们。你应该参与的一个好的迹象是,如果你需要一个尚未实现的功能。