Skip to content

Release 0.1.0 - #8

Merged
paulyhedral merged 4 commits into
masterfrom
release/0.1.0
Jul 20, 2026
Merged

paulyhedral merged 4 commits into
masterfrom
release/0.1.0

Conversation

@psw-ci

@psw-ci psw-ci Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Automated release PR. Review the changelog and version bump before merging.

paulyhedral and others added 4 commits July 19, 2026 21:24
…ontract (#5)

* docs: add badges, CONTRIBUTING, CODE_OF_CONDUCT, and RELEASING

Adds crates.io/docs.rs/CI/license badges to README, a CONTRIBUTING.md
covering dev setup, branching, commit conventions, and the WIT-contract
change process, the org's standard Citizen Code of Conduct, and a
RELEASING.md documenting the prepare-release/tag-release/release pipeline
built earlier (including the CRATES_API_KEY-to-trusted-publishing follow-up).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn

* chore: switch to crates.io trusted publishing

Trusted publishing is now configured for fulltime-plugin-api on crates.io
(bootstrapped by the v0.1.0 token-based publish). Flips release.yaml to
trusted-publishing: true and updates RELEASING.md; CRATES_API_KEY is no
longer used by the workflow. Marks task 5.2 complete - v0.1.0 is published.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn

* chore: archive define-league-data-contract, sync baseline specs

All 16 tasks complete: canonical schema, WIT interface, manifest format
implemented and v0.1.0 published to crates.io. Archives the change to
openspec/changes/archive/2026-07-19-define-league-data-contract and syncs
its three delta specs into openspec/specs/ as the initial baseline.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn

* fix: drop static CHANGELOG title to match git-cliff --prepend behavior

git-cliff --prepend inserts at byte offset 0, ahead of any static content
already in the file — with a hand-written "# Changelog" title at the top,
the v0.1.0 release landed above that title instead of under it, and the
release also lacked a version heading since cliff.toml's body template
didn't render one. Adds the version heading to the body template and drops
the static title (README's CHANGELOG link doesn't need one), matching
dtrpg-sdk.rs's title-less convention, which doesn't hit this because it
never had competing static content at the top to displace.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…/.claude/

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn
* feat!: add host fetch capability and public plugin export bindings

Implements the add-host-fetch-capability OpenSpec change.

Adds a `host` WIT interface (`fetch`, reusing errors.network-failure)
and wires it into `world plugin` as an import alongside the existing
`export data-provider`, so a plugin component can no longer
instantiate without a host that supplies network access. Bumps
INTERFACE_VERSION to 2.0 accordingly.

Re-exports the generated `Guest` trait and `export!` macro for the
data-provider interface (via wit-bindgen's pub_export_macro option),
and adds a `host_fetch` wrapper around the generated fetch import, so
a downstream plugin can implement and export the world using this
crate's own canonical types instead of regenerating an incompatible
copy from a vendored WIT file.

BREAKING CHANGE: world plugin now imports `host.fetch`; any component
built against the previous world requires rebuilding, and
INTERFACE_VERSION 1.x manifests are no longer accepted.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn

* fix: re-export the exports module so export! works from downstream crates

wit-bindgen's single-arg export!($ty) expands to self::export!($ty
with_types_in self), which only resolves inside this crate. Verified
by cross-compiling a scratch crate against this one for
wasm32-wasip2: the with_types_in form is required downstream, and it
in turn needs the generated exports::fulltime::plugin_api module tree
reachable at the crate root, not just the Guest trait alias pulled
out of it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117XhibDRjfkbNdmmxzqhHn

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@psw-ci psw-ci Bot added the release Release preparation PR label Jul 20, 2026
@psw-ci
psw-ci Bot requested a review from paulyhedral July 20, 2026 12:54
@paulyhedral
paulyhedral merged commit f3165bd into master Jul 20, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Release preparation PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant