)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8cdaa3320307c3c4cee274bfda4b76b2f9be0459","unresolved":true,"context_lines":[{"line_number":38,"context_line":"parameter value, ensuring explicit timezone information in the input"},{"line_number":39,"context_line":"is never ignored."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1638124"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Co-Authored-By: Herve Beraud \u003chberaud@redhat.com\u003e"},{"line_number":44,"context_line":"Assisted-By: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7e2c5f81_9c3df4bd","line":41,"updated":"2026-02-09 13:26:55.000000000","message":"This feels like more of a feature than a bug. Why are","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"623dc1b6c5ce056d8d1ae7c495e216e701e7bda7","unresolved":true,"context_lines":[{"line_number":38,"context_line":"parameter value, ensuring explicit timezone information in the input"},{"line_number":39,"context_line":"is never ignored."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1638124"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Co-Authored-By: Herve Beraud \u003chberaud@redhat.com\u003e"},{"line_number":44,"context_line":"Assisted-By: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ac52b60a_1f87346c","line":41,"in_reply_to":"7e2c5f81_9c3df4bd","updated":"2026-02-10 15:53:43.000000000","message":"That\u0027s fair. I can document its \"opt-in nature\" in the bug comments","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"de4989df45a1d7c34479284b80d11284b2ef6226","unresolved":false,"context_lines":[{"line_number":38,"context_line":"parameter value, ensuring explicit timezone information in the input"},{"line_number":39,"context_line":"is never ignored."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1638124"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Co-Authored-By: Herve Beraud \u003chberaud@redhat.com\u003e"},{"line_number":44,"context_line":"Assisted-By: Claude Sonnet 4.5 \u003cnoreply@anthropic.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"402b6336_c8224dc4","line":41,"in_reply_to":"ac52b60a_1f87346c","updated":"2026-02-16 14:26:36.000000000","message":"Instead of opt-in fix I will update the docstring to clarify this. This way it will be clearly bug fix.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"4feef733ec609f36f3461e2b9601be86bf5e38d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a5498796_822d99f8","updated":"2026-02-04 13:11:18.000000000","message":"I\u0027ve noticed there is another patch which is trying to get rid of ISO8601 [1].\n@kajinamit@oss.nttdata.com, @stephenfin@redhat.com could you provide more details/opinions about that?\n\n[1] https://review.opendev.org/c/openstack/oslo.utils/+/943099","commit_id":"3ae49ef978ef48763777519ee0e121922bf03840"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"77ecf297410da22c6bff880c70f5dbe6acf26601","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"df4b490f_89ea150a","in_reply_to":"a5498796_822d99f8","updated":"2026-02-06 16:03:33.000000000","message":"I was trying to reduce unnecessary external dependency that time and that\u0027s one of such works. However I eventually noticed that iso8601 does many things in parse and I noticed that gettig rid of it without breaking compatibility is too much complicated, so abandoned it.","commit_id":"3ae49ef978ef48763777519ee0e121922bf03840"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"77ecf297410da22c6bff880c70f5dbe6acf26601","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"49511448_e2b1b036","updated":"2026-02-06 16:03:33.000000000","message":"I wonder if there is any example of this causing a problem ?\n\nI know it\u0027s wired but this is the behavior which has been used for long time. I want to understand the use case so that we don\u0027t introduce \"probably correct but unused\" thing.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8cdaa3320307c3c4cee274bfda4b76b2f9be0459","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"23556821_9b53c9a9","updated":"2026-02-09 13:26:55.000000000","message":"The -1 is technically for the nits, but I have a bigger question here regarding whether this is actually going to fix the bug for a lot of users? As this is currently structured, it looks like users will need to \"opt-in\" to the fix by passing `default_timezone\u003dNone`. If they don\u0027t do this, things will continue to work as before (which apparently is a bug) and they will get no warning that anything is wrong.\n\nIMO if we consider this a serious issue (and I\u0027m not entirely sure that we should, since the bug doesn\u0027t indicate this having caused issues for anyone in production) then we likely want to raise a warning if the user provides a string without TZ info *and* doesn\u0027t supply an explicit `default_timezone` value, right?","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"623dc1b6c5ce056d8d1ae7c495e216e701e7bda7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"dad47582_a9690882","in_reply_to":"23556821_9b53c9a9","updated":"2026-02-10 15:53:43.000000000","message":"Fair point - given backward compat concerns, this is better framed as giving users the option to be ISO 8601 compliant when needed, rather than fixing a critical bug. A warning mechanism is a solid idea for a follow-up change to let users know about the possibility.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"eb62635fcb06b973c6c736acad46bbb84c3e700d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d636b186_11a230d2","in_reply_to":"36e9c89f_3b9a27c7","updated":"2026-02-06 17:10:15.000000000","message":"In other words, I would say it does not matter whether someone reported this problem or not, but it is important to give users an opportunity to make it work correctly as expected by ISO8601. The fix gives users the option to handle timestamps correctly per the spec, while maintaining full backward compatibility. There\u0027s no risk to existing code and it\u0027s clearly beneficial.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"18bd32eb87d0e8939c2b68f01e2b9db7fe8a6c55","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"36e9c89f_3b9a27c7","in_reply_to":"49511448_e2b1b036","updated":"2026-02-06 16:43:20.000000000","message":"Everything we have is Bug #1638124. The issue is that naive timestamps (without timezone info) should represent local time per ISO 8601, but they\u0027ve been treated as UTC. This could break apps that need to handle local times correctly. The new parameter defaults to the old behavior for backwards compatibility, but lets users opt into proper ISO 8601 handling if they need it.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fbb6037dbd60c67148bf084421c271b23d21f12f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"78762e23_005ce451","in_reply_to":"5aee014e_5d366c82","updated":"2026-02-11 05:09:33.000000000","message":"\u003e Given it\u0027s backward compatible and opt-in, I don\u0027t see it adding maintenance overhead.\n\n\nI don\u0027t understand this point. It adds more code to oslo.utils and definitely increase the amount of code we maintain. It may not affect consumers but definitely affects our own maintenance of oslo.utils.\n\nThe primary aim of oslo libraries are use in OpenStack projects. If the feature has no plan to be used in any of OpenStack projects then I honestly regard it as pointless.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c6171b2668879df149565515e0be5b1a4c56544c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9e32b5b3_515bb061","in_reply_to":"78762e23_005ce451","updated":"2026-02-12 15:26:43.000000000","message":"I\u0027m inclined to agree. @pkostian@redhat.com I know you\u0027re trying to fix and I appreciate your work here, but I think said bug could as easily be closed with a note in the docstring of the method. Perhaps we can just do that instead?","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"de4989df45a1d7c34479284b80d11284b2ef6226","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d6b80e3d_ef43fc81","in_reply_to":"9e32b5b3_515bb061","updated":"2026-02-16 14:26:36.000000000","message":"Now I understand better your points. Given there\u0027s no demonstrated user demand after 8 years, documenting the behavior makes more sense than spending months adding unused complexity. Thank you for the feedback and suggesting alternative solution. I\u0027ll update the docstring to clarify this and close the bug.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"8358aee01f33028d55c8480d7783e9995bce7bc6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f4b9f191_75a7a5fc","in_reply_to":"b54ec9b6_afaafafb","updated":"2026-02-09 14:28:46.000000000","message":"s/I don\u0027t think complicating .../I think complicating .../","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"4d4a4b4f1fd89a86fccf158a0886575863dca7e2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b54ec9b6_afaafafb","in_reply_to":"d636b186_11a230d2","updated":"2026-02-09 14:27:51.000000000","message":"Who is the \"users\" you are reffering to here ? What is the \"app\" which might be broken by this change ? Is there any plan in any OpenStack project fixing problems caused by missing timezone ?\n\nAgain I think this would be technically \"correct\" but I don\u0027t think complicating things for no use has no benefit than just maintenance overhead.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"de4989df45a1d7c34479284b80d11284b2ef6226","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"74176780_9d525ce4","in_reply_to":"dad47582_a9690882","updated":"2026-02-16 14:26:36.000000000","message":"Instead of the opt-in fix I will update the docstring to clarify this and close the bug.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"623dc1b6c5ce056d8d1ae7c495e216e701e7bda7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5aee014e_5d366c82","in_reply_to":"f4b9f191_75a7a5fc","updated":"2026-02-10 15:53:43.000000000","message":"As I said I don\u0027t have any specific examples of this causing a problem, but as you said this would be technically correct. Given it\u0027s backward compatible and opt-in, I don\u0027t see it adding maintenance overhead.","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"6e20075895b54d79e50c391f5fc5ba71a49d27ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5da15ec8_6f782bb1","updated":"2026-02-11 12:39:22.000000000","message":"recheck","commit_id":"3fd70a63cb11fb8ee97c104bf7a1e56891ed5841"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9650332a829dde8a9996bd913509d4f94f826da2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"928c447c_ef30ffd3","updated":"2026-02-17 09:54:48.000000000","message":"I don\u0027t know if really need a release note for this internal documentation update but that may not be a hard blocker.","commit_id":"dbba34eeb13381f16aadb7f1191cc201067534cb"}],"oslo_utils/timeutils.py":[{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"1f051e5d5e39e49dcbd5b79ce7d59a5d1c71d2ca","unresolved":true,"context_lines":[{"line_number":55,"context_line":"                            ``datetime.timezone.utc`` for backward"},{"line_number":56,"context_line":"                            compatibility."},{"line_number":57,"context_line":"    :returns: A datetime.datetime instance (timezone-aware if timezone"},{"line_number":58,"context_line":"             is present in the string or default_timezone is not None)"},{"line_number":59,"context_line":"    :raises ValueError: When the string cannot be parsed as ISO 8601"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    .. versionchanged:: X.Y"}],"source_content_type":"text/x-python","patch_set":2,"id":"607ca473_211ed9df","line":58,"updated":"2026-02-06 15:06:21.000000000","message":"Can we can change the formulation for: \n\n:returns: A datetime.datetime instance. If the input string contains an\nexplicit timezone, the result is always timezone-aware. Otherwise, the\nresult is timezone-aware only if ``default_timezone`` is not None.","commit_id":"07a894fe0581ac2398427a3ae355e9525ea49926"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"4b7f511dfb2822e42a60a540ff84d415d7ceb81f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                            ``datetime.timezone.utc`` for backward"},{"line_number":56,"context_line":"                            compatibility."},{"line_number":57,"context_line":"    :returns: A datetime.datetime instance (timezone-aware if timezone"},{"line_number":58,"context_line":"             is present in the string or default_timezone is not None)"},{"line_number":59,"context_line":"    :raises ValueError: When the string cannot be parsed as ISO 8601"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    .. versionchanged:: X.Y"}],"source_content_type":"text/x-python","patch_set":2,"id":"d170492c_79587a55","line":58,"in_reply_to":"607ca473_211ed9df","updated":"2026-02-06 15:40:03.000000000","message":"Thank you! Done","commit_id":"07a894fe0581ac2398427a3ae355e9525ea49926"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"1f051e5d5e39e49dcbd5b79ce7d59a5d1c71d2ca","unresolved":true,"context_lines":[{"line_number":58,"context_line":"             is present in the string or default_timezone is not None)"},{"line_number":59,"context_line":"    :raises ValueError: When the string cannot be parsed as ISO 8601"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    .. versionchanged:: X.Y"},{"line_number":62,"context_line":"       Added *default_timezone* parameter to control timezone handling"},{"line_number":63,"context_line":"       for strings without explicit timezone information. Pass ``None``"},{"line_number":64,"context_line":"       to get ISO 8601 compliant naive datetimes when the input string"}],"source_content_type":"text/x-python","patch_set":2,"id":"99417377_4dcc921c","line":61,"updated":"2026-02-06 15:06:21.000000000","message":"Could you please replace X.Y with the actual target version in the versionchanged directive?","commit_id":"07a894fe0581ac2398427a3ae355e9525ea49926"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"4b7f511dfb2822e42a60a540ff84d415d7ceb81f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"             is present in the string or default_timezone is not None)"},{"line_number":59,"context_line":"    :raises ValueError: When the string cannot be parsed as ISO 8601"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    .. versionchanged:: X.Y"},{"line_number":62,"context_line":"       Added *default_timezone* parameter to control timezone handling"},{"line_number":63,"context_line":"       for strings without explicit timezone information. Pass ``None``"},{"line_number":64,"context_line":"       to get ISO 8601 compliant naive datetimes when the input string"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab4467a4_403675a8","line":61,"in_reply_to":"99417377_4dcc921c","updated":"2026-02-06 15:40:03.000000000","message":"Thank you! Done","commit_id":"07a894fe0581ac2398427a3ae355e9525ea49926"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8cdaa3320307c3c4cee274bfda4b76b2f9be0459","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    :param timestr: ISO 8601 formatted time string"},{"line_number":50,"context_line":"    :param default_timezone: Timezone (datetime.timezone) to apply when"},{"line_number":51,"context_line":"                            no timezone is specified in the input string."},{"line_number":52,"context_line":"                            If ``None``, returns a naive datetime for"},{"line_number":53,"context_line":"                            strings without timezone information (ISO 8601"},{"line_number":54,"context_line":"                            compliant behavior). Defaults to"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a13fe90_180a65eb","line":51,"updated":"2026-02-09 13:26:55.000000000","message":"nit: indent off by 1. Can you fix this or simply indent by a consistent 4 spaces","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"623dc1b6c5ce056d8d1ae7c495e216e701e7bda7","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    :param timestr: ISO 8601 formatted time string"},{"line_number":50,"context_line":"    :param default_timezone: Timezone (datetime.timezone) to apply when"},{"line_number":51,"context_line":"                            no timezone is specified in the input string."},{"line_number":52,"context_line":"                            If ``None``, returns a naive datetime for"},{"line_number":53,"context_line":"                            strings without timezone information (ISO 8601"},{"line_number":54,"context_line":"                            compliant behavior). Defaults to"}],"source_content_type":"text/x-python","patch_set":3,"id":"6de7c25a_99a4dfe9","line":51,"in_reply_to":"5a13fe90_180a65eb","updated":"2026-02-10 15:53:43.000000000","message":"Done","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8cdaa3320307c3c4cee274bfda4b76b2f9be0459","unresolved":true,"context_lines":[{"line_number":55,"context_line":"                            ``datetime.timezone.utc`` for backward"},{"line_number":56,"context_line":"                            compatibility."},{"line_number":57,"context_line":"    :returns: A datetime.datetime instance. If the input string contains an"},{"line_number":58,"context_line":"             explicit timezone, the result is always timezone-aware."},{"line_number":59,"context_line":"             Otherwise, the result is timezone-aware only if"},{"line_number":60,"context_line":"             ``default_timezone`` is not None."},{"line_number":61,"context_line":"    :raises ValueError: When the string cannot be parsed as ISO 8601"}],"source_content_type":"text/x-python","patch_set":3,"id":"6da64a0d_2c3a21db","line":58,"updated":"2026-02-09 13:26:55.000000000","message":"as above","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"623dc1b6c5ce056d8d1ae7c495e216e701e7bda7","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                            ``datetime.timezone.utc`` for backward"},{"line_number":56,"context_line":"                            compatibility."},{"line_number":57,"context_line":"    :returns: A datetime.datetime instance. If the input string contains an"},{"line_number":58,"context_line":"             explicit timezone, the result is always timezone-aware."},{"line_number":59,"context_line":"             Otherwise, the result is timezone-aware only if"},{"line_number":60,"context_line":"             ``default_timezone`` is not None."},{"line_number":61,"context_line":"    :raises ValueError: When the string cannot be parsed as ISO 8601"}],"source_content_type":"text/x-python","patch_set":3,"id":"46c5ea9f_698c1fa5","line":58,"in_reply_to":"6da64a0d_2c3a21db","updated":"2026-02-10 15:53:43.000000000","message":"Done","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8cdaa3320307c3c4cee274bfda4b76b2f9be0459","unresolved":true,"context_lines":[{"line_number":65,"context_line":"       for strings without explicit timezone information. Pass ``None``"},{"line_number":66,"context_line":"       to get ISO 8601 compliant naive datetimes when the input string"},{"line_number":67,"context_line":"       does not specify a timezone."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    Examples::"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        \u003e\u003e\u003e # Default behavior (backward compatible) - adds UTC"},{"line_number":72,"context_line":"        \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07\u0027)"},{"line_number":73,"context_line":"        datetime.datetime(2012, 2, 14, 20, 53, 7, tzinfo\u003d\u003cUTC\u003e)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        \u003e\u003e\u003e # ISO 8601 compliant - naive when no timezone"},{"line_number":76,"context_line":"        \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07\u0027, default_timezone\u003dNone)"},{"line_number":77,"context_line":"        datetime.datetime(2012, 2, 14, 20, 53, 7)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        \u003e\u003e\u003e # Explicit timezone in string always wins"},{"line_number":80,"context_line":"        \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07Z\u0027, default_timezone\u003dNone)"},{"line_number":81,"context_line":"        datetime.datetime(2012, 2, 14, 20, 53, 7, tzinfo\u003d\u003cUTC\u003e)"},{"line_number":82,"context_line":"    \"\"\""},{"line_number":83,"context_line":"    try:"},{"line_number":84,"context_line":"        return iso8601.parse_date(timestr, default_timezone\u003ddefault_timezone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e6b8c52f_ff54e2d7","line":81,"range":{"start_line":68,"start_character":1,"end_line":81,"end_character":63},"updated":"2026-02-09 13:26:55.000000000","message":"these should render just fine without the indent\n\n```suggestion\n\n    Examples:\n\n    \u003e\u003e\u003e # Default behavior (backward compatible) - adds UTC\n    \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07\u0027)\n    datetime.datetime(2012, 2, 14, 20, 53, 7, tzinfo\u003d\u003cUTC\u003e)\n\n    \u003e\u003e\u003e # ISO 8601 compliant - naive when no timezone\n    \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07\u0027, default_timezone\u003dNone)\n    datetime.datetime(2012, 2, 14, 20, 53, 7)\n\n    \u003e\u003e\u003e # Explicit timezone in string always wins\n    \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07Z\u0027, default_timezone\u003dNone)\n    datetime.datetime(2012, 2, 14, 20, 53, 7, tzinfo\u003d\u003cUTC\u003e)\n```","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"623dc1b6c5ce056d8d1ae7c495e216e701e7bda7","unresolved":false,"context_lines":[{"line_number":65,"context_line":"       for strings without explicit timezone information. Pass ``None``"},{"line_number":66,"context_line":"       to get ISO 8601 compliant naive datetimes when the input string"},{"line_number":67,"context_line":"       does not specify a timezone."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    Examples::"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        \u003e\u003e\u003e # Default behavior (backward compatible) - adds UTC"},{"line_number":72,"context_line":"        \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07\u0027)"},{"line_number":73,"context_line":"        datetime.datetime(2012, 2, 14, 20, 53, 7, tzinfo\u003d\u003cUTC\u003e)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        \u003e\u003e\u003e # ISO 8601 compliant - naive when no timezone"},{"line_number":76,"context_line":"        \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07\u0027, default_timezone\u003dNone)"},{"line_number":77,"context_line":"        datetime.datetime(2012, 2, 14, 20, 53, 7)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        \u003e\u003e\u003e # Explicit timezone in string always wins"},{"line_number":80,"context_line":"        \u003e\u003e\u003e parse_isotime(\u00272012-02-14T20:53:07Z\u0027, default_timezone\u003dNone)"},{"line_number":81,"context_line":"        datetime.datetime(2012, 2, 14, 20, 53, 7, tzinfo\u003d\u003cUTC\u003e)"},{"line_number":82,"context_line":"    \"\"\""},{"line_number":83,"context_line":"    try:"},{"line_number":84,"context_line":"        return iso8601.parse_date(timestr, default_timezone\u003ddefault_timezone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3b832842_b1e8eef5","line":81,"range":{"start_line":68,"start_character":1,"end_line":81,"end_character":63},"in_reply_to":"e6b8c52f_ff54e2d7","updated":"2026-02-10 15:53:43.000000000","message":"Done","commit_id":"6aa667e5efbb15e3ba935071439e6583826026dc"}],"releasenotes/notes/fix-parse-isotime-timezone-bug-1638124-fe179663999f1263.yaml":[{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"1f051e5d5e39e49dcbd5b79ce7d59a5d1c71d2ca","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    compatibility."},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    Fixed bug #1638124: ``parse_isotime()`` now correctly handles ISO 8601"},{"line_number":13,"context_line":"    strings without timezone information. When ``default_timezone\u003dNone`` is"},{"line_number":14,"context_line":"    specified, the function returns naive datetimes as per the ISO 8601"},{"line_number":15,"context_line":"    standard, instead of incorrectly assuming UTC. Strings with explicit"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0d30943c_4f7aa06e","line":12,"updated":"2026-02-06 15:06:21.000000000","message":"Minor style nit: we usually use “Bug #1638124” instead of “Fixed bug #1638124” in release notes.","commit_id":"07a894fe0581ac2398427a3ae355e9525ea49926"},{"author":{"_account_id":38752,"name":"Pavlo Kostianov","email":"pkostian@redhat.com","username":"pkostian"},"change_message_id":"4b7f511dfb2822e42a60a540ff84d415d7ceb81f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    compatibility."},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    Fixed bug #1638124: ``parse_isotime()`` now correctly handles ISO 8601"},{"line_number":13,"context_line":"    strings without timezone information. When ``default_timezone\u003dNone`` is"},{"line_number":14,"context_line":"    specified, the function returns naive datetimes as per the ISO 8601"},{"line_number":15,"context_line":"    standard, instead of incorrectly assuming UTC. Strings with explicit"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e9611a50_ba5d9af0","line":12,"in_reply_to":"0d30943c_4f7aa06e","updated":"2026-02-06 15:40:03.000000000","message":"Thank you! Done","commit_id":"07a894fe0581ac2398427a3ae355e9525ea49926"}]}
