chore: bump openapi-generator version to v7.23.0 - #28916
Merged
Merged
Conversation
|
📱 Android release APK (universal) — Download: https://github.com/immich-app/immich/actions/runs/29742097339/artifacts/8460997215 Installs as a separate app (applicationId |
Member
|
Can I get an eye on this from a mobile dev and can we get this merged then? |
…PITools/openapi-generator#23930) partially revert "chore(mobile): make openapi requests abortable (#28692)"
timonrieger
force-pushed
the
chore/v7.23.0-openapi-generator
branch
from
July 20, 2026 12:09
131b5f1 to
fa9760f
Compare
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 20, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 21, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 22, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 22, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 23, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 23, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 24, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Jul 25, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
ya4ept
pushed a commit
to ya4ept/Noodle_gallery
that referenced
this pull request
Jul 30, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (open-noodle#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of open-noodle#584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
Deeds67
added a commit
to open-noodle/gallery
that referenced
this pull request
Aug 10, 2026
…or v7.23.0 Upstream immich-app#28916 bumped openapi-generator v7.22.0 -> v7.23.0 and gutted native_class.mustache.patch, because the generator now handles three-state Optional fields natively. That correctly removed ~152 lines of the three-state scaffolding the fork had been carrying, but it also removed the fork's civil-date fix (#584 and its follow-up), whose hunks lived in the same patch file. Re-derive that fix against the v7.23.0 template: every {{#isDate}} branch must serialize with _dateFormatter.format(value), not _dateFormatter.format(value.toUtc()). Civil dates are not instants, so UTC-shifting them moves a birthday by a day for anyone west or east of UTC. Both the plain and the x-is-optional date branches need it; the {{#isDateTime}} branches keep .toUtc() because those really are instants. Verified: zero _dateFormatter.format(...toUtc()) remain in the generated client, the 144 datetime fields still UTC-normalise, and person_update_dto_test passes under TZ=America/New_York. That timezone matters - CI runners are UTC, so this regression is structurally invisible to CI and only reproduces off-UTC. Also realigns null serialization with upstream: the generated client now emits json[key] = null instead of omitting the key. The omission was an incidental artifact of #584 rewriting the whole patch file, never a deliberate fork behaviour, and upstream emits the explicit null.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
we added two patches in #27231 and one in #28692
I submitted PRs upstream for those and they all have been released in the today released v7.23.0.
this PR bumps to that release and drops all those patches 😄
Fixes # (issue)
How Has This Been Tested?
Screenshots (if appropriate)
Checklist:
src/services/uses repositories implementations for database calls, filesystem operations, etc.src/repositories/is pretty basic/simple and does not have any immich specific logic (that belongs insrc/services/)Please describe to which degree, if any, an LLM was used in creating this pull request.
...