chore(release): 0.4.0 (#83) - #84
Merged
Merged
Conversation
attrs passthrough on the interactive set — Button, Select, Textarea, FormField, Icon, Badge, Box, CheckboxGroup (#70, #72, #73, #76, #77, #82) — plus the two coverage-gap fixes found along the way (#78/#81 JinjaX docs, #79/#80 cotton integration compiler). Fully additive: attrs defaults to {} everywhere, so every existing call site renders byte-identically. #70 stays open for the remaining components. Verified before tagging: 3186 passed / 13 skipped (unit), 40 passed (integration), 236 passed / 33 skipped (E2E chromium, both js modes), ruff check/format clean, djlint clean on both template trees (126 cotton + 105 jinja, 0 errors), mkdocs build --strict clean, and the release workflow's own wheel guard run locally against `uv build` — 237 shipped templates and assets, all present, twine check passed on both sdist and wheel.
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
pyproject.tomlandsrc/cf_ui/_version.pyto 0.4.0 (kept in agreement —tests/unit/test_version.pywould fail the build otherwise).[0.4.0]CHANGELOG entry:attrspassthrough on the interactive set (Button, Select, Textarea, FormField, Icon, Badge, Box, CheckboxGroup — Components drop every attribute they do not declare, in both engines #70, Spike: design an attribute-passthrough mechanism for primitives #72, spike(button): resolve attribute-passthrough design, land on Button (#72) #73, Roll out attrs passthrough to Select, Textarea, FormField #76, feat(select,textarea,form-field): roll out attrs passthrough (#76) #77, feat(primitives): attrs passthrough on Icon, Badge, Box, CheckboxGroup #82), plus the two coverage-gap fixes found along the way (attrs passthrough: explicit attrs={...} dict is silently discarded by JinjaX's real Catalog #78/fix(docs): document JinjaX _attrs= for attrs passthrough (#78) #81 JinjaX_attrsdocs bug, tests/integration/cotton_app doesn't register django_cotton — cotton integration tests pass on uncompiled markup #79/fix(tests): cotton integration tier exercises real compilation (#79) #80 cotton integration compiler gap).attrsdefaults to{}everywhere, so every existing call site renders byte-identically. No migration.Table,Pagination,Breadcrumb,Progress) and the rest are a follow-up phase.Verification
All gates re-run locally before this PR, matching the depth of the 0.3.1 release verification:
ruff check/ruff format --checkclean (scoped tosrc/tests; unrelated pre-existing markdown code-block formatting indocs//prompts/is untouched by this PR)mkdocs build --strictcleanuv build --wheel: 237/237 shipped templates and assets presenttwine checkpassed on both sdist and wheelTest plan
v0.4.0on the merge commit and push the tag to triggerrelease.yml(build → validate → publish to PyPI, gated by thepypienvironment)cf_ui.__version__ == "0.4.0"🤖 Generated with Claude Code