)]}'
{"oslo_config/cfg.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"53c713ebc4526c67b56c89a1fe6ff5d6ca34a10c","unresolved":false,"context_lines":[{"line_number":725,"context_line":""},{"line_number":726,"context_line":"    .. versionchanged:: 3.5"},{"line_number":727,"context_line":"       Added *mutable* parameter."},{"line_number":728,"context_line":"    \"\"\""},{"line_number":729,"context_line":"    multi \u003d False"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"    def __init__(self, name, type\u003dNone, dest\u003dNone, short\u003dNone,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_85b62dda","line":728,"updated":"2016-06-11 00:21:28.000000000","message":"Please add a versionchanged (3.12 as of now) here for deprecated_since","commit_id":"73f752ba9c67d418399e09e52bd0258ece54687d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e39979172f230469bb0c9373903809c09003fb3","unresolved":false,"context_lines":[{"line_number":725,"context_line":""},{"line_number":726,"context_line":"    .. versionchanged:: 3.5"},{"line_number":727,"context_line":"       Added *mutable* parameter."},{"line_number":728,"context_line":"    \"\"\""},{"line_number":729,"context_line":"    multi \u003d False"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"    def __init__(self, name, type\u003dNone, dest\u003dNone, short\u003dNone,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_6745a26d","line":728,"in_reply_to":"7aa08908_85b62dda","updated":"2016-06-14 12:31:01.000000000","message":"Done","commit_id":"73f752ba9c67d418399e09e52bd0258ece54687d"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"fdac9ca51f498f08afee2891baf19d54a4ee89c2","unresolved":false,"context_lines":[{"line_number":662,"context_line":"    :param deprecated_reason: indicates why this opt is planned for removal in"},{"line_number":663,"context_line":"                              a future release. Silently ignored if"},{"line_number":664,"context_line":"                              deprecated_for_removal is False"},{"line_number":665,"context_line":"    :param deprecated_since: indicates which release this opt was deprecated"},{"line_number":666,"context_line":"                             in. Silently ignored if deprecated_for_removal"},{"line_number":667,"context_line":"                             is False"},{"line_number":668,"context_line":"    :param mutable: True if this option may be reloaded"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_c38c38d9","line":665,"range":{"start_line":665,"start_character":11,"end_line":665,"end_character":27},"updated":"2016-06-14 16:46:17.000000000","message":"I think we should probably note that the expected input is a integer and not a float.  I can see exploiters entering 5.1.0 and expecting to get that in the output. But they\u0027ll actually get 5.0.\n\nMaybe mention, they should give the major version of the released project.","commit_id":"b848aa9127bc6c86b87e85eabe6128ecaa889857"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"388852d68a99a21450590278fdc887d869d8b235","unresolved":false,"context_lines":[{"line_number":662,"context_line":"    :param deprecated_reason: indicates why this opt is planned for removal in"},{"line_number":663,"context_line":"                              a future release. Silently ignored if"},{"line_number":664,"context_line":"                              deprecated_for_removal is False"},{"line_number":665,"context_line":"    :param deprecated_since: indicates which release this opt was deprecated"},{"line_number":666,"context_line":"                             in. Silently ignored if deprecated_for_removal"},{"line_number":667,"context_line":"                             is False"},{"line_number":668,"context_line":"    :param mutable: True if this option may be reloaded"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_c3e6d449","line":665,"range":{"start_line":665,"start_character":11,"end_line":665,"end_character":27},"in_reply_to":"7aa08908_c38c38d9","updated":"2016-06-15 09:47:49.000000000","message":"I went with a better approach (IMO, anyway :)) and made use of versionutils to validate any form of semantic versioning.","commit_id":"b848aa9127bc6c86b87e85eabe6128ecaa889857"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"267e00586a5679db807487701421b454b02a34c3","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        self.deprecated_for_removal \u003d deprecated_for_removal"},{"line_number":770,"context_line":"        self.deprecated_reason \u003d deprecated_reason"},{"line_number":771,"context_line":"        if deprecated_since is not None:"},{"line_number":772,"context_line":"            deprecated_since \u003d version.StrictVersion(deprecated_since)"},{"line_number":773,"context_line":"        self.deprecated_since \u003d deprecated_since"},{"line_number":774,"context_line":"        self._logged_deprecation \u003d False"},{"line_number":775,"context_line":"        if deprecated_name is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_a17a8475","line":772,"updated":"2016-06-15 18:23:37.000000000","message":"I\u0027m not sure we want oslo.config to be doing any version syntax enforcement. We should document that deprecated_since is expected to be a string, and just take what we\u0027re given. In particular, distutils\u0027 definition of versions is not necessarily compatible with some of our versions (I don\u0027t know if it\u0027s fully compliant with PEP-440 for all versions of distutils, since most modern packaging work is happening in setuptools instead).","commit_id":"898b8d8c4ad7bd4b66cc93941705e4f79336e401"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e00bb68da0b3a371fe0f56d8cce93724cc14897d","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        self.deprecated_for_removal \u003d deprecated_for_removal"},{"line_number":770,"context_line":"        self.deprecated_reason \u003d deprecated_reason"},{"line_number":771,"context_line":"        if deprecated_since is not None:"},{"line_number":772,"context_line":"            deprecated_since \u003d version.StrictVersion(deprecated_since)"},{"line_number":773,"context_line":"        self.deprecated_since \u003d deprecated_since"},{"line_number":774,"context_line":"        self._logged_deprecation \u003d False"},{"line_number":775,"context_line":"        if deprecated_name is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_fcbb6ee2","line":772,"in_reply_to":"7aa08908_a17a8475","updated":"2016-06-16 12:50:51.000000000","message":"I\u0027ve removed this enforcement in PS5. However, I was sure that there was clear consensus around semantic versioning for recent releases of projects in the OpenStack tent [1][2]. If this is the case, perhaps this approach remains the most valid one?\n\n[1] https://github.com/openstack/releases#reviewing-a-release-request\n[2] http://ttx.re/new-versioning.html","commit_id":"898b8d8c4ad7bd4b66cc93941705e4f79336e401"}]}
