Skip to content

chore: release 0.3.0#44

Merged
lostmygithubaccount merged 1 commit into
mainfrom
agent3/release-0.3.0
Apr 13, 2026
Merged

chore: release 0.3.0#44
lostmygithubaccount merged 1 commit into
mainfrom
agent3/release-0.3.0

Conversation

@lostmygithubaccount
Copy link
Copy Markdown
Member

Summary

Releases 0.3.0 — accumulates this cycle's work into a coherent minor bump. Minor (not patch) because of one breaking change in `dkdc-draw-core`'s public API surface.

Contents

PR Kind Summary
#35 feat Arrow snap-to-shape connection points
#36 docs CONTRIBUTING.md + README badges
#37 test Integration tests for draw-core public API
#38 docs Rust + Python hello-world examples
#39 docs CHANGELOG.md scaffolding
#40 chore Surgical clippy opt-ins workspace-wide
#41 docs Sample gallery (5 drawings × json/svg/png)
#42 refactor Breaking: pub → pub(crate) demotions
#43 test Python test coverage 5 → 27

Breaking changes (from #42)

These items moved from `pub` to `pub(crate)` in `dkdc-draw-core` — any external caller referring to them by name will fail to compile against 0.3.0:

  • `geometry::ARROWHEAD_LENGTH`, `ARROWHEAD_ANGLE`, `HACHURE_LINE_WIDTH`
  • `geometry::normalize_bounds`, `compute_arrowhead`, `generate_hachure_lines`
  • `geometry::ArrowheadPoints`, `HachureLine` (structs + fields)
  • `point::Bounds::from_points`

Migration guide

  • `Point::distance_to` and `Bounds::intersects` remain public — recommended as the geometry vocabulary for external callers.
  • `geometry::normalize_bounds` → inline two-line reduction: `let (nx, ny) = (x1.min(x2), y1.min(y2)); let (w, h) = ((x1 - x2).abs(), (y1 - y2).abs());`
  • `Bounds::from_points` → construct with `Bounds::new(x, y, w, h)` from your own min/max reduction over the points.
  • Arrowhead / hachure helpers: no public alternative is shipping yet. Open an issue if you need these and we'll carve out a stable API.

Full details in `CHANGELOG.md`.

Files changed

  • Version bump across all 7 packages: `pyproject.toml` + 6 `Cargo.toml` + 3 lockfiles (via `bin/bump-version --minor`).
  • `CHANGELOG.md`: [Unreleased] → [0.3.0] with breaking-change callout + migration notes; compare-link anchors updated.

Test plan

  • `bin/bump-version --minor` applied cleanly (guards pass)
  • `bin/check` green (rust + python + clippy + wasm-pack all pass against 0.3.0)
  • `bin/test` green (rust + 27 python tests all pass)
  • Package metadata audit: all 7 packages at 0.3.0, all have name/description/authors/license/repository/homepage

Publish gating

This PR lands the release state but does not publish to crates.io or PyPI. Cody decides publish timing — tagging `v0.3.0` triggers the existing release workflows (`.github/workflows/release-{rust,python,github}.yml`).

🤖 Generated with Claude Code

Bumps all Rust crates and the Python package from 0.2.1 to 0.3.0. This
minor bump reflects one breaking change in the dkdc-draw-core public API
surface (pub -> pub(crate) demotions in #42), accumulated with the
non-breaking work from this cycle:

  - #35: arrow snap-to-shape connection points
  - #36: CONTRIBUTING.md + README badges
  - #37: integration tests for draw-core public API
  - #38: Rust + Python hello-world examples
  - #39: CHANGELOG.md scaffolding
  - #40: surgical clippy opt-ins workspace-wide
  - #41: sample gallery (5 drawings × json/svg/png)
  - #42: pub -> pub(crate) demotions (BREAKING)
  - #43: Python test coverage 5 -> 27

See CHANGELOG.md for the 0.3.0 section and migration notes for the
demoted symbols.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@lostmygithubaccount lostmygithubaccount merged commit 3481579 into main Apr 13, 2026
1 check passed
@lostmygithubaccount lostmygithubaccount deleted the agent3/release-0.3.0 branch April 13, 2026 05:31
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.

1 participant