Release 0.0.17 - #38
Merged
Merged
Conversation
Bump version.py, which the publish workflow reads, and date the [Unreleased] block as 0.0.17. Also restores the [0.0.16] heading. My changelog edit in cb22d19 anchored on that heading and did not put it back, so 0.0.16's entries silently collapsed into [Unreleased] -- main has been describing a released version as unreleased since #37 merged. The 0.0.16 section here is byte-identical to its state at 3bed558; only the heading was missing. Patch rather than minor: one Fixed entry, no new API. The behavior change is that DatabaseConfig values passed by field name now take effect, which is the documented contract rather than a new one.
Benchmark comparisonThreshold: ±25% (informational, does not block merge)
|
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.
Summary
Release PR for 0.0.17, per RELEASING.md: bumps
jvspatial/version.py(what the publish workflow reads) and dates the[Unreleased]block.Ships the
DatabaseConfigfield-name fix from #37 — worth releasing promptly, since it meansapp.yaml-supplied DynamoDB settings have never taken effect and Postgres inherited the same problem in 0.0.16.Version choice: patch
One
### Fixedentry, no new API — RELEASING.md §3 routes that to a patch. The behavior change is that values passed by field name now take effect, which restores the documented contract rather than adding to it.Also in this PR: a changelog repair
mainhas been describing a released version as unreleased. My changelog edit in cb22d19 (merged via #37) anchored on the## [0.0.16]heading and failed to put it back, so 0.0.16's entries silently collapsed into[Unreleased]. My mistake, caught while cutting this release.Restored here. The
[0.0.16]section is byte-identical to its state at 3bed558 (verified by diffing the extracted block) — only the heading was missing, no entries were lost or reworded.Structure is now:
Worth noting the failure mode: nothing catches a missing release heading. A CI check asserting
version.pyhas a matching dated## [X.Y.Z]heading would have caught it at PR time — happy to add that separately if useful.Release notes
[0.0.17] - 2026-08-05
Fixed
DatabaseConfigignored values passed by field name (jvspatial/api/config_groups.py).Its aliased fields (
dynamodb_*,postgres_*) carry avalidation_alias, and apydantic v2 model accepts an aliased field only by its alias unless it opts into
populate_by_name— whichAuthConfigdoes andDatabaseConfigdid not. So everysuch value passed by field name was silently discarded: both
server_config_overrides_from_env(), which keys its database group by field name,and embedding hosts constructing a
DatabaseConfigdirectly. Nothing raised,because the adapters then read the same settings from env themselves — the
configuration object was simply never the source of truth it appeared to be.
DynamoDB was affected the whole time; Postgres inherited it in 0.0.16. Coverage:
tests/api/test_database_config_population.py.Pre-merge checklist (RELEASING.md §2)
pre-commit run --all-files— all 8 hooks pass.git log origin/main..HEADreviewed — the only change since v0.0.16 is Accept DatabaseConfig values by field name, not only by env alias #37, represented above.pytest— the fix's own suite plus the config/configurator/env-adapter suites are green; Accept DatabaseConfig values by field name, not only by env alias #37 passed full CI on 3.10/3.11/3.12 with this exact code. CI re-runs it here.mypy jvspatial/— unchanged 86 pre-existing errors, identical onmain(see Release 0.0.16 #36 for detail; that checklist step cannot currently pass).After merge
The publish workflow tags
v0.0.17and uploads to PyPI via Trusted Publishing; §8 (cut the GitHub release from the tag) is still manual.Downstream, jvagent has a branch waiting on this to thread its Postgres settings through
ServerConfig— that work is written and tested but inert until this ships.