)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"99cebfd453a79f2abfa5f93e1c4b58fc78c7437a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3d4be1bd_89f23d0f","updated":"2025-12-18 09:36:31.000000000","message":"recheck","commit_id":"e5b1b000a9ed330b843d1e668585de34668c8de5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"32de7afa1cdeadb2e08cdba499459f4a7d72a51b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7367b98a_81b9331e","updated":"2026-02-17 17:04:29.000000000","message":"Applied the suggestion by Stephen. I think we are ready to merge this.","commit_id":"d0f0bf3ee5d5676b99b4ad7656089808c2aeb35b"}],"oslo_log/versionutils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"298adce44827fa2b7ccaa8bf721205112becc993","unresolved":true,"context_lines":[{"line_number":65,"context_line":")"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"_RELEASES \u003d OrderedDict("},{"line_number":69,"context_line":"    ["},{"line_number":70,"context_line":"        (\u0027A\u0027, \u0027Austin\u0027),"},{"line_number":71,"context_line":"        (\u0027B\u0027, \u0027Bexar\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7dd5092c_145dc6ed","line":68,"updated":"2026-01-05 10:49:14.000000000","message":"dicts are insertion ordered as of Python 3.6: we should be able to keep this as-is","commit_id":"e5b1b000a9ed330b843d1e668585de34668c8de5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2146d2a5a8f253202c0643c4b813710cfaa7e770","unresolved":false,"context_lines":[{"line_number":65,"context_line":")"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"_RELEASES \u003d OrderedDict("},{"line_number":69,"context_line":"    ["},{"line_number":70,"context_line":"        (\u0027A\u0027, \u0027Austin\u0027),"},{"line_number":71,"context_line":"        (\u0027B\u0027, \u0027Bexar\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"d593353d_f2332642","line":68,"in_reply_to":"7dd5092c_145dc6ed","updated":"2026-01-05 12:08:45.000000000","message":"I thought the order is kept only in C-python but it seems orders should be kept regardless of interpreter implementations since Python 3.7 . So I switched this back to normal dict.","commit_id":"e5b1b000a9ed330b843d1e668585de34668c8de5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"298adce44827fa2b7ccaa8bf721205112becc993","unresolved":true,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    \"\"\""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    ANTELOPE \u003d \u0027A\u0027"},{"line_number":177,"context_line":"    BEXAR \u003d \u0027B\u0027"},{"line_number":178,"context_line":"    CACTUS \u003d \u0027C\u0027"},{"line_number":179,"context_line":"    DIABLO \u003d \u0027D\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3560a040_cc23c6f0","line":176,"updated":"2026-01-05 10:49:14.000000000","message":"Is this intentional? Or necessary?","commit_id":"e5b1b000a9ed330b843d1e668585de34668c8de5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"2146d2a5a8f253202c0643c4b813710cfaa7e770","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    \"\"\""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    ANTELOPE \u003d \u0027A\u0027"},{"line_number":177,"context_line":"    BEXAR \u003d \u0027B\u0027"},{"line_number":178,"context_line":"    CACTUS \u003d \u0027C\u0027"},{"line_number":179,"context_line":"    DIABLO \u003d \u0027D\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"f88039ad_b01abba0","line":176,"in_reply_to":"3560a040_cc23c6f0","updated":"2026-01-05 12:08:45.000000000","message":"Oops. this is unintentional.","commit_id":"e5b1b000a9ed330b843d1e668585de34668c8de5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ffb2398787ef6955855f5775099dab74b1fb1d","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"_RELEASES \u003d {"},{"line_number":68,"context_line":"    \u0027A\u0027: \u0027Austin\u0027,"},{"line_number":69,"context_line":"    \u0027B\u0027: \u0027Bexar\u0027,"},{"line_number":70,"context_line":"    \u0027C\u0027: \u0027Cactus\u0027,"},{"line_number":71,"context_line":"    \u0027D\u0027: \u0027Diablo\u0027,"},{"line_number":72,"context_line":"    \u0027E\u0027: \u0027Essex\u0027,"},{"line_number":73,"context_line":"    \u0027F\u0027: \u0027Folsom\u0027,"},{"line_number":74,"context_line":"    \u0027G\u0027: \u0027Grizzly\u0027,"},{"line_number":75,"context_line":"    \u0027H\u0027: \u0027Havana\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"d1834da4_7fc669e7","line":72,"range":{"start_line":68,"start_character":0,"end_line":72,"end_character":17},"updated":"2026-01-05 13:42:22.000000000","message":"I\u0027m still not sure why we are changing this. Does the note from `morganfainberg` note make sense anymore? I also don\u0027t imagine anyone is creating logs that warn about things deprecated since e.g. Essex so if anything, this is likely to only cause confusion for people trying to deprecate epoxy stuff.\n\nCan we undo this also?","commit_id":"9f00aecc01ab5c7a1f0629661416247988c9005c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b933b1918e8768dbe1837e5ca922800c8683712b","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"_RELEASES \u003d {"},{"line_number":68,"context_line":"    \u0027A\u0027: \u0027Austin\u0027,"},{"line_number":69,"context_line":"    \u0027B\u0027: \u0027Bexar\u0027,"},{"line_number":70,"context_line":"    \u0027C\u0027: \u0027Cactus\u0027,"},{"line_number":71,"context_line":"    \u0027D\u0027: \u0027Diablo\u0027,"},{"line_number":72,"context_line":"    \u0027E\u0027: \u0027Essex\u0027,"},{"line_number":73,"context_line":"    \u0027F\u0027: \u0027Folsom\u0027,"},{"line_number":74,"context_line":"    \u0027G\u0027: \u0027Grizzly\u0027,"},{"line_number":75,"context_line":"    \u0027H\u0027: \u0027Havana\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dc6d5d1c_ff65e5c5","line":72,"range":{"start_line":68,"start_character":0,"end_line":72,"end_character":17},"in_reply_to":"0c2de7ab_6559ca77","updated":"2026-01-05 14:46:10.000000000","message":"Acknowledged","commit_id":"9f00aecc01ab5c7a1f0629661416247988c9005c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f351f2b2aff6f462c0f33ffb169e09531febb819","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"_RELEASES \u003d {"},{"line_number":68,"context_line":"    \u0027A\u0027: \u0027Austin\u0027,"},{"line_number":69,"context_line":"    \u0027B\u0027: \u0027Bexar\u0027,"},{"line_number":70,"context_line":"    \u0027C\u0027: \u0027Cactus\u0027,"},{"line_number":71,"context_line":"    \u0027D\u0027: \u0027Diablo\u0027,"},{"line_number":72,"context_line":"    \u0027E\u0027: \u0027Essex\u0027,"},{"line_number":73,"context_line":"    \u0027F\u0027: \u0027Folsom\u0027,"},{"line_number":74,"context_line":"    \u0027G\u0027: \u0027Grizzly\u0027,"},{"line_number":75,"context_line":"    \u0027H\u0027: \u0027Havana\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"0c2de7ab_6559ca77","line":72,"range":{"start_line":68,"start_character":0,"end_line":72,"end_character":17},"in_reply_to":"8671de6a_6e820193","updated":"2026-01-05 14:29:13.000000000","message":"I\u0027ve updated the change so that we remove that old B release, because it was kept for testing. We could even remove some more releases such as Folsom but I\u0027ll leave these now for future work.","commit_id":"9f00aecc01ab5c7a1f0629661416247988c9005c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ea21cbe49d69adf1d7047cbe3a57b9775ac05363","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"_RELEASES \u003d {"},{"line_number":68,"context_line":"    \u0027A\u0027: \u0027Austin\u0027,"},{"line_number":69,"context_line":"    \u0027B\u0027: \u0027Bexar\u0027,"},{"line_number":70,"context_line":"    \u0027C\u0027: \u0027Cactus\u0027,"},{"line_number":71,"context_line":"    \u0027D\u0027: \u0027Diablo\u0027,"},{"line_number":72,"context_line":"    \u0027E\u0027: \u0027Essex\u0027,"},{"line_number":73,"context_line":"    \u0027F\u0027: \u0027Folsom\u0027,"},{"line_number":74,"context_line":"    \u0027G\u0027: \u0027Grizzly\u0027,"},{"line_number":75,"context_line":"    \u0027H\u0027: \u0027Havana\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"8671de6a_6e820193","line":72,"range":{"start_line":68,"start_character":0,"end_line":72,"end_character":17},"in_reply_to":"d1834da4_7fc669e7","updated":"2026-01-05 14:26:12.000000000","message":"The note from morganfainberg is no longer valid because we now raise exception in case an unknown release is pointed, instead of using the bare code name. (In the past when Z release is unknown then the character \u0027Z\u0027 was used instead of the release name, without any error.","commit_id":"9f00aecc01ab5c7a1f0629661416247988c9005c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b933b1918e8768dbe1837e5ca922800c8683712b","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    \u00272028.2\u0027: \u00272028.2\u0027,"},{"line_number":101,"context_line":"}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"_RELEASE_KEYS \u003d list(_RELEASES.keys())"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def register_options() -\u003e None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9e36cece_3e8c27cf","line":103,"updated":"2026-01-05 14:46:10.000000000","message":"nit:\n\n```suggestion\n_RELEASE_KEYS \u003d list(_RELEASES)\n```","commit_id":"3498e144a80caa2f26ceae9a8b67f52c636a94ef"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c42827c92616996beb4ff68796759e57eb80321f","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    \u00272028.2\u0027: \u00272028.2\u0027,"},{"line_number":101,"context_line":"}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"_RELEASE_KEYS \u003d list(_RELEASES.keys())"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def register_options() -\u003e None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"363588a1_b10c7918","line":103,"in_reply_to":"78d06002_68adea1f","updated":"2026-02-17 05:33:13.000000000","message":"Fix applied.","commit_id":"3498e144a80caa2f26ceae9a8b67f52c636a94ef"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bc191e8d7b99d46a82f541d42e0ca46c7414bc95","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    \u00272028.2\u0027: \u00272028.2\u0027,"},{"line_number":101,"context_line":"}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"_RELEASE_KEYS \u003d list(_RELEASES.keys())"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def register_options() -\u003e None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"78d06002_68adea1f","line":103,"in_reply_to":"7a65ac32_e6eccd0c","updated":"2026-01-05 18:54:00.000000000","message":"You will always get keys since `dict.__iter__` is an alias for `.keys` (or vice versa, I don\u0027t remember which)\n\n```\n\u003e\u003e\u003e x \u003d {\u0027foo\u0027: \u0027bar\u0027}\n\u003e\u003e\u003e list(x)\n[\u0027foo\u0027]\n```","commit_id":"3498e144a80caa2f26ceae9a8b67f52c636a94ef"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f3e4a0b6e6b8ddb9cf4f9ea2635258fc2f475dd1","unresolved":true,"context_lines":[{"line_number":100,"context_line":"    \u00272028.2\u0027: \u00272028.2\u0027,"},{"line_number":101,"context_line":"}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"_RELEASE_KEYS \u003d list(_RELEASES.keys())"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def register_options() -\u003e None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a65ac32_e6eccd0c","line":103,"in_reply_to":"9e36cece_3e8c27cf","updated":"2026-01-05 15:23:49.000000000","message":"yeah that should be equivalent though I personally prefer explicit keys call to make sure we expect keys here (instead of items).","commit_id":"3498e144a80caa2f26ceae9a8b67f52c636a94ef"}]}
