# Changelog
All notable, and occasionally less notable changes to this project will be
documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## Unreleased
## [0.0.6] - 2026-05-24 - Genericity audit cleanup
- Neutralizes remaining example/test specifics from the extracted harness by
using generic fake principals in README examples instead of a real ledger
principal.
- Changes `.icp` artifact tests to use a generic `counter` canister path instead
of a root-canister path.
- Clarifies `.icp` artifact readiness docs so they describe freshness and
nonempty artifact checks, not removed build-environment stamp behavior.
## [0.0.5] - 2026-05-24 - Generic artifact profiles
- Removes the hardcoded `WasmBuildProfile` enum so `ic-testkit` no longer owns
project-specific build profile names such as `fast`.
- Changes wasm artifact helpers to accept caller-provided Cargo profile
arguments and target profile directory names.
- Updates README examples and artifact-helper tests to show explicit caller
profile choices instead of crate-owned profile variants.
## [0.0.4] - 2026-05-24 - README presentation cleanup
- Reworks the README header so the title remains Markdown while the tagline,
banner image, and badges are cleanly centered with GitHub-supported HTML.
- Replaces the mixed Markdown/HTML image block with a single centered
`images/cave.png` banner.
- Reflows README prose to remove unnecessary hard line breaks while preserving
code blocks, lists, and badge markup.
## [0.0.3] - 2026-05-24 - Documentation and release helpers
- Clarifies that `ic-testkit` is a wrapper/helper layer around `pocket-ic` and
links directly to the upstream `pocket-ic` crate.
- Adds the README audit warning banner while the crate surface is still being
reviewed.
- Adds a centered README image banner and keeps the badge block at the top of
the project page.
- Expands the Makefile with formatting, checking, Clippy, MSRV, packaging,
publish dry-run, and aggregate release-check targets.
## [0.0.2] - 2026-05-24 - Release polish
- Removes crate-specific publishing blockers and sets the publishable MSRV to
Rust 1.88, which is the minimum supported by the current resolved dependency
graph without downgrading transitive dependencies.
- Reworks the README into a more readable release page with badges, install
instructions, focused examples, feature summaries, toolchain notes, and
application-neutral boundaries.
- Adds a small `Makefile` with `make test` as the quick local test entrypoint.
- Adds this changelog in the same Keep a Changelog/SemVer style used by related
projects.
## [0.0.1] - 2026-05-24 - Initial release
- Adds the initial generic PocketIC test helper surface: `Pic`, `PicBuilder`,
typed startup errors, cross-process `PicSerialGuard`, and a narrow wrapper
around the PocketIC calls used by this crate.
- Adds Candid-aware `update_call`, `update_call_as`, `query_call`, and
`query_call_as` helpers with contextual call errors.
- Adds generic canister install helpers, install-code rate-limit retry helpers,
standalone prebuilt-wasm fixtures, and canister status/log diagnostics.
- Adds cached baseline primitives for snapshot/restore-heavy tests, including
rebuild-on-dead-instance handling for stale PocketIC transports.
- Adds controller snapshot capture/restore helpers with sender fallbacks.
- Adds deterministic fake principals and account-like values for reproducible
tests.
- Adds generic wasm artifact helpers for path resolution, readiness checks,
package builds, artifact reads, workspace target directories, and generated
`.icp` artifact freshness checks.
- Defines the first crate metadata and baseline README for downstream adoption.