Skip to content

chore: release 1.2.0 - #62

Merged
imakecodes merged 1 commit into
mainfrom
chore/release-1.2.0
Sep 11, 2026
Merged

imakecodes merged 1 commit into
mainfrom
chore/release-1.2.0

Conversation

@imakecodes

Copy link
Copy Markdown
Member

Version bump for the 1.2.0 release. Merge this, then push the 1.2.0 tag to publish.

Why minor and not patch

#60 changes the generated output for every user: a relation column is now typed by the column it points at, so a foreign key to a BigAutoField primary key renders as big_auto where it used to render as foreign_key. No API or CLI break, but anyone versioning a .dbml file will see a diff, and a patch would under-signal that.

Shipping since 1.1.2

PR What
#57 CLAUDE.md and shared .claude configuration
#58 CI covers the full declared support matrix, Django 4.2 to 6.1 on Python 3.11 to 3.14, plus Framework :: Django classifiers so the tested range is visible on PyPI
#59 Command surface and relation invariants under test, 89% to 99% coverage (closes #12)
#60 Relation columns typed by their target (closes #38)

The lockfile is part of the bump

uv.lock is regenerated here, not as an afterthought. The package is a member of its own workspace, so the lockfile records project.version, and uv sync --locked fails the moment they disagree:

The lockfile at `uv.lock` needs to be updated, but `--locked` was provided.

That would have failed the release workflow at its make sync step, before it built anything. Worth knowing for the next bump.

Also drops the hardcoded version from the release example in CONTRIBUTING.md, which went stale on every release, in favor of the X.Y.Z placeholder the rest of that document already uses.

Verification

Ruff clean and 53 tests passing locally on 1.2.0. The local wheel build could not be completed: this machine is sitting at 99.5% of kern.maxfiles with the descriptors held by unrelated system processes, so setuptools could not open its own dependencies. That is an environment condition, not a package one, and the Package Check job on this PR builds on a clean runner, as does the release workflow that produces the published artifacts.

🤖 Generated with Claude Code

Minor rather than patch: #60 changes the generated output for every user.
A relation column is now typed by the column it points at, so a foreign
key to a BigAutoField primary key renders as `big_auto` where it used to
render as `foreign_key`. No API or CLI break, but anyone versioning a
.dbml file will see a diff.

Shipping since 1.1.2:

- #57 CLAUDE.md and shared .claude configuration
- #58 CI covers the full declared support matrix, Django 4.2 to 6.1 on
      Python 3.11 to 3.14, plus Framework :: Django classifiers so the
      tested range is visible on PyPI
- #59 command surface and relation invariants under test, 89% to 99%
- #60 relation columns typed by their target (closes #38)

Regenerate uv.lock alongside the version. The package is a member of its
own workspace, so uv.lock records project.version and `uv sync --locked`
fails without it. That would have broken the release workflow at the
sync step, before it built anything.

Drop the hardcoded version from the release example in CONTRIBUTING.md;
it went stale on every release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@imakecodes
imakecodes merged commit 547b92c into main Sep 11, 2026
21 checks passed
@imakecodes
imakecodes deleted the chore/release-1.2.0 branch September 11, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The ForeignKey field was not generated correctly Testing

1 participant