Skip to content

Hatchling 0.1.2

Choose a tag to compare

@undergroundrap undergroundrap released this 12 Oct 02:12
e51927c

Publishing, documentation and metadata. No change to the broker's or the agent's behavior, or to the wire protocol.

Added

  • The module map shows how the crates connect: hatchling-runtime at the front, the trusted side (broker, vault, egress, isolation) and the cell side (agent, loop, model), and which crates are published. Every crate's crates.io page links to it.
  • hatchling-dev audit fails the gate if a crate has no row in the module map, if the map names a crate that doesn't exist, or if hatchling-agent depends on the trusted side, directly or through another crate.
  • Releases publish to crates.io from CI when a GitHub release is published, through trusted publishing: no crates.io token is stored anywhere. The workflow refuses a release whose tag, workspace version and changelog disagree.
  • cargo semver-checks runs on every pull request against the crates on crates.io.
  • crates.io and docs.rs badges, and cargo install hatchling-runtime as an install option in the quickstart.
  • CONTRIBUTING says when new code earns its own crate, and what each published crate costs.
  • docs/releasing.md: how a version is cut and published, the trusted-publishing settings, and a new crate's first publish. scripts/publish-crates.sh publishes in dependency order for both CI and the maintainer, skips crates already on crates.io at the version (so a failed run is simply re-run), and in CI skips and names crates new to crates.io.
  • scripts/setup-trusted-publishing.sh makes every published crate trust the release workflow through crates.io's API, with a token scoped to trusted-publishing only, read without echoing; it skips crates already set up.
  • crates.io pages: hatchling-runtime gets a README written for crates.io (the logo, why Hatchling is different, install, the security model in brief, links), and every other crate's page links to it and to the repository.

Changed

  • Keywords and categories are per crate, each describing what that crate does: hatchling-runtime carries the headline terms, and every other crate its own (model providers, tool-calling, cron, signed skills, seccomp, FIDO2 and so on), so each reaches a different search and leads back to Hatchling.

Install

cargo install hatchling-runtime
hatchling --help

One hatchling binary is the broker (hatchling broker) and the agent (point HATCHLING_AGENT_BIN at it). The quickstart takes you to an agent answering from inside a cell. How the crates fit together: the module map.

This is the first release published by CI through trusted publishing: no crates.io token was involved. The known limitations from 0.1.0 still apply; v0.2.0 starts closing them.