# 0.1 Changelog
Detailed patch notes for the `0.1.x` release line.
Root summary: [../../CHANGELOG.md](../../CHANGELOG.md)
## 0.1.49 - 2026-06-16
### Changed
- Removes the topology read runner trait and generated zero-sized runner
structs, replacing them with a direct shared read-command helper.
- Narrows topology read option/command import surfaces by using explicit module
aliases in the command tables.
- Deduplicates repeated topology read option parser tests behind shared
assertions and a local test macro.
- Splits NNS macro plumbing into focused modules under `src/nns/macros/`.
## 0.1.48 - 2026-06-16
### Changed
- Adds a shared CLI argument collector for first-argument help/version
handling helpers.
- Centralizes cached NNS leaf project-root lookup, cache-request construction,
and command timestamp setup for list, info, and refresh runtime paths.
- Centralizes shared format, network, and project-root setup for SNS neuron
cache list/status runtime paths.
- Adds an SNS command-option parser helper for mapping clap parse failures to
SNS usage errors across list, lookup, proposal, proposals, and neurons
option parsers.
- Adds shared NNS option-parser and required-subcommand wrappers for mapping
clap failures to NNS usage errors across subnet, node, registry, topology,
leaf, and cached-leaf command paths.
- Adds a shared SNS required-subcommand wrapper for top-level SNS and neuron
cache command dispatch.
## 0.1.47 - 2026-06-16
### Changed
- Adds a shared text/JSON writer for commands that choose between compact and
verbose text renderers.
- Migrates NNS subnet list, custom node list, and cached leaf list command
output onto the shared compact-vs-verbose writer.
- Adds a shared clap passthrough-argument extractor and uses it for both
required-subcommand parsing and top-level command dispatch.
- Centralizes project-root lookup plus cache-request construction for custom
NNS node commands and NNS subnet catalog commands.
## 0.1.46 - 2026-06-16
### Changed
- Adds shared SNS lookup command parts for common format, network,
source-endpoint, timestamp, and input fields.
- Migrates `sns info`, `sns token`, `sns params`, `sns proposal`,
`sns proposals`, `sns neurons`, and `sns neurons refresh` runtime request
construction onto the shared lookup command parts.
- Adds a shared SNS command argument prelude for collecting command args and
handling first-argument help/version output across SNS runtime commands.
- Adds shared NNS command argument helpers for regular and flag-only
help/version handling across NNS dispatch, subnet, node, registry,
topology, and cached leaf run paths.
- Moves command-argument collection plus first-argument help/version handling
into shared CLI helpers used by top-level, NNS, and SNS command adapters.
## 0.1.45 - 2026-06-16
### Changed
- Removes remaining production wildcard imports from SNS governance-parameter
text rendering while leaving test-local fixture imports unchanged.
- Adds shared clap helpers for returning pinned usage text from parse failures
and migrates top-level, NNS, SNS, subnet, registry, topology, and leaf option
parsers onto them.
- Adds a shared NNS command project-root helper and migrates subnet, node,
topology, and cached leaf run paths onto it.
- Deduplicates shared CLI first-argument help/version handling while preserving
the existing distinction between command `version` aliases and version flags.
## 0.1.44 - 2026-06-16
### Changed
- Replaces wildcard re-exports in SNS report/model/source roots, cached NNS
leaf report roots, subnet catalog report roots, and topology report fixtures
with explicit export lists.
- Keeps SNS nested governance helper model exports test-only at the report
root while preserving production report construction and text/JSON behavior.
## 0.1.43 - 2026-06-15
### Changed
- Adds shared NNS leaf request accessors for cache roots, networks, refresh
timing, dry-run state, and optional refresh output paths.
- Splits reusable NNS leaf cache/refresh request trait implementations into a
smaller macro that can be shared by custom node commands and macro-backed
cached leaf families.
- Adds a shared NNS leaf JSON refresh-cache writer for cache-path construction
and `RefreshCacheWriteRequest` setup.
- Re-exports `RefreshCacheWriteResult` through the cache-file module alongside
the existing refresh-cache writer.
- Migrates node, node-provider, node-operator, and data-center refresh paths
onto the shared NNS leaf refresh-cache writer while preserving their report
fields and cache behavior.
- Migrates topology NNS component cache-request adapters onto the shared leaf
cache constructor while keeping subnet catalog cache requests separate.
- Adds fixture coverage for the shared NNS leaf refresh writer's dry-run
output behavior and real cache replacement behavior.
## 0.1.42 - 2026-06-15
### Changed
- Adds a shared paged snapshot refresh runner for progress lifecycle,
max-page cutoff, fetch-failure reporting, attempt-progress callbacks, and
complete-scan detection.
- Adds a shared refresh-attempt lifecycle helper for writing a starting
attempt, running refresh work, and best-effort recording failed attempts
while preserving the original refresh error.
- Adds a shared locked snapshot refresh helper for parent directory creation,
refresh-lock acquisition, and existing-snapshot replacement detection.
- Migrates complete SNS neuron paging onto the shared runner while preserving
SNS-specific page fetching, attempt metadata, and error reporting.
- Migrates complete SNS neuron refresh start/failure attempt handling onto the
shared lifecycle helper.
- Migrates complete SNS neuron refresh setup onto the shared locked refresh
helper.
- Centralizes SNS neuron starting, running, complete, and failed attempt-file
writers behind status-specific helpers.
- Adds fixture coverage for successful generic paged refreshes and incomplete
scans stopped by `max_pages`, plus failed-attempt lifecycle and locked
refresh setup behavior.
## 0.1.41 - 2026-06-15
### Changed
- Adds shared snapshot JSON helpers for complete-snapshot loading and
snapshot-header loading through the standard schema/network validation path,
plus atomic JSON snapshot writes.
- Adds shared refresh-attempt envelope and JSON read/write helpers for
cache-refresh progress files.
- Adds shared full-collection snapshot path scanning for entity directories
that contain `<collection>/full.json` snapshots.
- Migrates SNS neuron complete-cache loading, publishing, id header lookup, and
cache list path scanning onto the shared snapshot helpers while preserving
cache behavior and errors.
- Migrates SNS neuron refresh-attempt files onto the shared attempt envelope
while preserving flattened `full.refresh-attempt.json` fields.
- Adds coverage for sorted full-collection snapshot path discovery and
flattened refresh-attempt metadata.
## 0.1.40 - 2026-06-15
### Changed
- Adds shared snapshot-cache key and JSON path helpers for complete collection
snapshots, refresh locks, and refresh-attempt files.
- Adds shared snapshot envelope, header, and completeness types for reusable
complete snapshot metadata.
- Adds shared paged-collection state helpers for page counting, cursor
tracking, row de-duplication, and collection exhaustion checks.
- Migrates complete SNS neuron cache files to the shared snapshot envelope
and paged-collection state while preserving the existing flattened
`full.json` schema.
- Adds coverage that serialized SNS neuron snapshots do not introduce nested
`metadata` or `data` fields.
## 0.1.39 - 2026-06-15
### Changed
- Splits SNS report source definitions into focused model and source-trait
modules while preserving report-internal imports.
- Splits SNS lookup handling into focused request, network, resolver, sort,
and lookup-result modules while preserving list, info, token, proposal, and
neuron report behavior.
- Splits live SNS proposal conversion into focused proposal, ballot, label,
and timestamp helpers while preserving proposal report output.
- Splits live SNS list, proposal, and neuron fetch handling into focused
metadata, single-proposal, proposal-list, and neuron-page helpers while
preserving live source behavior.
- Splits shared SNS text helpers into focused optional-value, token-metadata,
and text-truncation modules while preserving report output.
- Splits SNS neuron report models into focused live-report, refresh-report,
cache-report, attempt-status, and row modules while preserving public model
exports.
- Splits complete SNS neuron collection paging into focused loop, state, and
attempt-writing helpers while preserving refresh behavior.
## 0.1.38 - 2026-06-15
### Changed
- Splits NNS node, node-provider, node-operator, and data-center text
rendering into focused list, info, and refresh modules while preserving
compact and verbose text output.
- Splits topology summary and capacity text rendering into focused table
helper modules while preserving existing text output.
- Splits topology health and capacity report construction into focused metrics,
checks, row, sort, and summary helpers, with shared percentage formatting.
- Splits topology refresh and gap report construction into focused component,
row, and relation-index helpers, sharing the relation index with summary
join coverage.
## 0.1.37 - 2026-06-15
### Changed
- Splits NNS registry report construction into focused build, error, model,
source, and text modules while preserving registry version text and JSON
output.
- Splits NNS node, node-provider, node-operator, and data-center report roots
by moving list/info build orchestration and public refresh entry points into
focused modules while preserving cache refresh, filters, and fixture-source
behavior.
## 0.1.36 - 2026-06-15
### Changed
- Splits shared NNS leaf runtime helpers into focused generic dispatch and
cached list/info/refresh execution modules while preserving NNS leaf command
behavior.
- Splits shared NNS leaf option parsing into focused common, list, info, and
refresh modules while preserving existing parser types and tests.
- Splits shared NNS leaf command construction into focused argument, builder,
and usage-rendering modules while preserving existing command help output.
- Splits NNS node command construction into focused filter, list, spec, and
usage modules while preserving command help output.
- Splits NNS node runtime handling into focused list, info, refresh, and
cache-request modules while preserving report behavior.
- Splits NNS subnet command construction into focused argument, list, info,
refresh, root, and usage modules while preserving command help output.
- Splits NNS subnet runtime handling into focused list, info, refresh, and
cache-request modules while preserving report behavior.
- Splits NNS node-provider, node-operator, and data-center command-family
roots into focused spec, report-adapter, runtime, and test-helper modules
while preserving shared cached-leaf behavior.
- Splits NNS registry command plumbing into focused command construction,
option parsing, and runtime modules while preserving registry version output.
## 0.1.35 - 2026-06-15
### Changed
- Splits SNS governance-parameter text rendering into focused economic, delay,
limit, permission, reward, and shared row modules while preserving existing
`sns params` text output.
- Splits NNS topology provider accumulation into focused ingestion,
data-center association, and provider-row projection modules while
preserving provider report behavior.
- Splits SNS neuron command specification and runtime dispatch into focused
root, cache, refresh, and helper modules while preserving existing command
parsing and output behavior.
- Splits NNS topology read-command construction and topology option parsing
into focused read/help/refresh modules while preserving existing topology
command parsing and help output.
## 0.1.34 - 2026-06-15
### Changed
- Splits live SNS Candid wire types into focused deployed-SNS, token metadata,
proposal, and neuron API modules while preserving existing live fetch and
conversion behavior.
- Splits SNS proposal text rendering into focused single-proposal,
proposal-list, and shared detail-line modules while preserving existing text
output functions.
## 0.1.33 - 2026-06-15
### Changed
- Splits SNS text rendering into focused list, info, token, and neuron report
modules while preserving existing text output functions.
- Splits SNS report builders into focused list, info, params, token,
proposal/proposals, and neurons modules while preserving source-injected test
builders and public report builders.
- Splits NNS topology report build orchestration into focused summary, derived,
direct, and refresh modules while preserving topology report behavior.
- Splits NNS topology read-command runtime into focused generic runner and
concrete command-binding modules.
- Audits `src/nns/macros.rs` and leaves it as a single `#[macro_use]` macro
module to avoid adding macro plumbing without a clear behavioral or
maintainability gain.
## 0.1.32 - 2026-06-15
### Changed
- Splits SNS neuron-cache storage into focused cache-error mapping, lookup,
loading, directory scanning, sorting, and summary modules while preserving
existing cache-backed report behavior.
- Splits SNS neuron-cache refresh orchestration into focused context, run, and
publish modules while preserving refresh locking, attempt metadata, and
complete-cache publication behavior.
- Splits SNS neuron-cache report builders into focused cache-list,
cache-status, and cached-neuron report modules while preserving command
report behavior.
- Splits SNS neuron-cache refresh-attempt handling into focused model,
failure, read, write, and timestamp modules while preserving attempt metadata
behavior.
- Splits SNS neuron-cache complete-collection fetching from progress text
rendering while preserving refresh progress behavior.
## 0.1.31 - 2026-06-15
### Changed
- Splits shared cache-file JSON helpers into focused announcement, error
mapper, loader, and model modules while preserving existing cache-file
exports.
- Splits shared cache-file write helpers into focused atomic replacement,
output write, path/directory, refresh-cache orchestration, and test modules
while preserving existing cache-file exports.
- Splits shared cache-file refresh-lock helpers into focused acquisition,
guard, model, and wrapper modules while preserving existing cache-file
exports.
## 0.1.30 - 2026-06-15
### Changed
- Splits subnet catalog list text rendering into focused compact, verbose, and
range-line modules while preserving existing text output functions.
- Splits subnet catalog classification model enums into focused subnet-kind,
specialization, geographic-scope, and source modules while preserving
existing public model exports.
- Splits subnet catalog root error, JSON parse/render, and principal parsing
helpers into focused modules while preserving existing public root exports.
## 0.1.29 - 2026-06-15
### Changed
- Splits subnet catalog resolver behavior into focused model, subnet, prefix,
and canister-routing modules while preserving existing public resolver
methods and exports.
- Splits subnet catalog report model definitions into focused stale-status,
list, info, and refresh modules while preserving existing report model
exports.
## 0.1.28 - 2026-06-15
### Changed
- Splits IC registry live-source queries into focused agent/canister setup,
registry-version, subnet-catalog, governance node-provider, and node-relation
list modules while preserving existing internal source imports.
- Splits IC registry relation-inventory fetch orchestration into focused fetch,
data-center record, and registry-key helper modules.
- Splits IC registry public model definitions into focused request,
registry-version, node-provider, node-operator, node, and data-center
modules while preserving existing public `ic_registry` exports.
## 0.1.27 - 2026-06-15
### Changed
- Splits IC registry transport helpers into focused version, value, chunk, and
protobuf codec modules while preserving existing internal transport imports.
- Splits IC registry relation helpers into focused model, subnet assignment,
and count aggregation modules while preserving existing internal relation
imports.
- Splits IC registry relation inventory tests into focused node-provider,
node-operator, node, and data-center modules.
## 0.1.26 - 2026-06-15
### Changed
- Splits IC registry protobuf wire types into focused id, registry, routing,
subnet, and node/data-center modules while preserving existing internal
proto root imports.
- Splits IC registry domain projection mappers into focused node-provider,
node-operator, node, and data-center modules while preserving existing
internal projection root imports.
## 0.1.25 - 2026-06-15
### Changed
- Splits NNS node, node-provider, node-operator, and data-center report model
roots into focused request, report, and host-error modules while preserving
existing public report exports.
- Splits NNS topology runtime handling into focused dispatch, read-runner, and
refresh modules while preserving command behavior.
- Splits NNS topology report request wiring into focused model, cache, list,
and refresh request-builder modules.
## 0.1.24 - 2026-06-15
### Changed
- Splits subnet catalog core tests into focused schema, resolver, validation,
and shared fixture modules.
- Splits subnet catalog domain models into focused classification, type, and
validation modules.
- Splits subnet catalog text rendering into focused list, info, refresh, and
principal-compaction modules while preserving the existing text output API.
- Splits NNS topology clap command construction into focused root, read,
refresh, and usage modules.
## 0.1.23 - 2026-06-15
### Changed
- Splits NNS topology report models into focused summary, coverage, versions,
health, gaps, capacity, regions, providers, and refresh model modules.
- Splits NNS topology provider report assembly into focused report,
accumulator, and provider-status modules.
- Splits NNS topology summary report assembly into focused count,
join-coverage, and registry-version helper modules.
- Splits shared NNS topology report test fixtures into focused subnet, node,
node-provider, node-operator, and data-center fixture modules.
## 0.1.22 - 2026-06-15
### Changed
- Splits NNS node, node-provider, node-operator, and data-center report roots
into focused cache, refresh, resolve, source, and node-filter modules while
preserving the existing report API and cache behavior.
- Splits subnet catalog host support into focused cache, error, path, refresh,
and live-source modules while preserving refresh locking and cache behavior.
- Splits subnet catalog report support into focused model, list, info, and
rate/applicability modules while preserving list/info report behavior.
## 0.1.21 - 2026-06-15
### Changed
- Splits NNS topology report tests into focused summary, coverage, versions,
health, gaps, capacity, regions, providers, and refresh modules with shared
fixtures.
- Splits broad NNS CLI parsing, help, and local-network rejection tests into
focused subnet, node, node-provider, node-operator, data-center, registry,
and topology modules.
- Splits NNS node-provider report tests into focused list, info, text,
refresh, and fixture modules.
- Splits IC registry tests into focused catalog, wire, governance, inventory,
and fixture modules.
- Splits subnet catalog tests into focused cache, list, info, stale/time,
refresh, and fixture modules.
- Splits SNS command parsing and usage tests into focused list, lookup,
proposals, neurons, invalid-input, and usage modules.
- Splits SNS neuron-cache complete-collection paging and progress reporting
out of refresh orchestration while preserving refresh, attempt, and cache
behavior.
## 0.1.20 - 2026-06-15
### Changed
- Splits SNS report assembly into focused list/info, token, parameters,
proposal, proposals, and neurons modules while preserving the existing
report builder behavior.
- Splits SNS report builder orchestration out of the report module root,
keeping the root focused on module wiring, public exports, and constants.
- Splits the SNS report test suite into focused list/info, token, parameters,
proposal, and neuron test modules with decomposed shared request and source
fixtures.
- Further splits SNS neuron tests by live rendering, cache refresh, cache
status, and cache error behavior, and reuses the shared unique temp-directory
helper in cached NNS report tests.
## 0.1.19 - 2026-06-14
### Changed
- Splits live SNS fetch wiring into focused modules for deployed SNS listing,
ledger token metadata, governance parameters, proposals, and neuron paging
while preserving the existing live source API.
- Splits live SNS conversion helpers into focused modules for deployed SNS
canisters, token metadata, proposal rows, and neuron rows.
- Splits SNS report model structs into focused list, token, governance,
proposal, and neuron report model modules.
## 0.1.18 - 2026-06-14
### Changed
- Splits the custom filtered NNS node command into focused command
construction, option parsing, and runtime dispatch modules while preserving
existing node filters and help output.
- Splits SNS command runtime dispatch and command error definitions out of the
SNS command module root, leaving the root as a thin module boundary.
- Splits SNS runtime handlers and clap command construction into focused
submodules for lookup, proposals, neurons, shared args, and shared runtime
helpers.
- Splits SNS option parsing into focused list, lookup, proposals, and neurons
parser modules.
## 0.1.17 - 2026-06-14
### Changed
- Deduplicates standard NNS cached leaf report-adapter implementations for
node-provider, node-operator, and data-center commands behind a shared local
macro while keeping the filtered node command custom.
- Reuses the same NNS mainnet-only network guard implementation across
registry, topology, node, node-provider, node-operator, and data-center
reports.
- Renames the shared NNS macro module to reflect its broader command and
report helper scope.
## 0.1.16 - 2026-06-14
### Changed
- Centralizes NNS cached leaf cache and refresh-lock path construction across
node, node-provider, node-operator, and data-center reports.
- Deduplicates NNS JSON cache error mapper implementations across the same
cached leaf report families.
- Reuses shared NNS refresh text rendering across the same cached leaf report
families while preserving their current text output order.
- Removes per-family cached-report wrapper structs in favor of the shared JSON
cache report type.
- Removes now-unused internal refresh-lock path wrappers from cached NNS leaf
report modules.
## 0.1.15 - 2026-06-14
### Changed
- Tightens shared cache write and refresh helpers, including parent-directory
handling, parentless relative output paths, and distinct refresh-lock
read/parse/serialize errors.
- Centralizes SNS neuron cache, lock, and refresh-attempt path construction,
removing parent-directory panic paths from snapshot refresh and status code.
- Deduplicates NNS cache-file error mapping across node, node-provider,
node-operator, and data-center refresh paths.
- Simplifies internal command-output helpers to stdout-only writing while
preserving refresh export-path behavior.
- Hardens subnet catalog and UTC timestamp internals by replacing panic-prone
invariant paths with typed errors or direct formatting.
## 0.1.14 - 2026-06-14
### Changed
- Splits live SNS source wiring from blocking and async fetch implementations
so the live SNS module is organized by adapter, fetch, query, conversion, and
Candid type responsibilities.
- Splits NNS topology CLI support into focused command construction, option
parsing, and runtime dispatch modules.
- Splits NNS subnet CLI support into focused command construction, option
parsing, and runtime dispatch modules.
- Splits SNS command specifications into focused command construction, usage
rendering, and value-enum modules.
- Splits shared cache-file support into focused error, JSON loading, refresh
lock, and write modules while preserving existing call sites.
- Splits subnet catalog request/report types and report builders out of the
catalog root module.
- Splits SNS neuron-cache report assembly from complete snapshot refresh
orchestration.
- Deduplicates byte-to-hex formatting across IC registry and SNS report code
behind a shared crate helper.
- Removes an unnecessary panic-path conversion from token amount decimal
rounding.
## 0.1.13 - 2026-06-14
### Changed
- Splits shared NNS leaf command support into focused model, option parsing,
clap command construction, and runtime dispatch submodules.
- Collapses the shared NNS cached-leaf runner signature behind a report-provider
trait so callers no longer carry every request, report, cache, and host-error
type through the public helper boundary.
- Replaces generic callback bundles in shared JSON cache loading and NNS
topology read dispatch with named provider traits and concrete local mappers.
- Replaces the positional SNS lookup tuple with a named lookup result shared by
info, token, params, proposal, proposals, neurons, and neuron-cache refresh.
## 0.1.12 - 2026-06-14
### Changed
- Splits IC registry live relation inventory fetching into a focused
inventory module, keeping the registry root module limited to shared
constants, principal conversion, and registry key helpers.
- Splits IC registry async live-source querying out of the blocking client
wrapper module.
## 0.1.11 - 2026-06-14
### Changed
- Splits IC registry adapter models, errors, Candid wire types, transport
helpers, relation inventory helpers, catalog and domain projection helpers,
and mainnet annotations into focused submodules.
- Replaces the registry client wildcard parent import with explicit internal
imports.
## 0.1.10 - 2026-06-14
### Changed
- Splits NNS node, node-provider, node-operator, and data-center text
rendering into focused report text submodules.
- Splits NNS node, node-provider, node-operator, and data-center request,
report, cache, and error models into focused report model submodules.
- Splits NNS topology summary, coverage, versions, and host-error helpers out
of the topology report orchestration module.
- Splits NNS topology text rendering into focused per-report renderer
submodules.
## 0.1.9 - 2026-06-14
### Changed
- Splits SNS command clap specification, usage rendering, value parsers,
command value enums, and parsed option types into focused commands
submodules.
- Splits SNS report lookup/list ordering helpers and report-object assembly
into focused report submodules.
- Splits SNS report model types into focused request, report, sort/filter, and
error submodules.
- Splits SNS neuron cache loading, discovery, summaries, and cached sort
ordering into a focused cache storage submodule.
- Splits generic live SNS agent/query helpers out of the live SNS fetch
orchestration module.
- Renames the internal live SNS source to match its broader list, token,
governance, proposal, and neuron query role.
## 0.1.8 - 2026-06-14
### Changed
- Splits SNS neuron cache path, attempt, error, and cache model helpers into
focused submodules while preserving the existing cache behavior.
- Splits live SNS Candid request and response wire types into a focused live
source submodule.
- Splits live SNS response conversion and metadata/proposal formatting helpers
into a focused live source submodule.
## 0.1.7 - 2026-06-14
### Changed
- Corrects release Make targets so `make patch`, `make minor`, and `make major`
only gate and bump version files, while `make release-patch`,
`make release-minor`, and `make release-major` stage, commit, tag, and push.
- Requires a clean worktree for `make package` and `make publish`, and documents
publishing after the release commit/tag push.
- Splits NNS topology health, gap, capacity, region, provider, and refresh
aggregation into focused report submodules.
## 0.1.6 - 2026-06-14
### Changed
- Hardens SNS neuron snapshot cache coverage for unsupported schemas, stale
refresh locks, failed refresh preservation, and complete-cache sorting.
- Splits SNS neuron cache storage, refresh, status, and cached-sort mechanics
into a dedicated report submodule.
- Deduplicates SNS command request construction for timestamps and project
cache-root lookup.
- Normalizes Rust module layout to avoid `foo.rs` plus `foo/` collisions,
removes `#[path = "..."]` module shims, and records module/test layout rules
in `AGENTS.md`.
## 0.1.5 - 2026-06-14
### Changed
- Splits SNS command dispatch into its own module while keeping the public SNS
module focused on exports.
- Splits SNS text rendering into focused helper, neuron/cache, params, and
proposal modules.
- Deduplicates typed live SNS Candid query handling across SNS-W and governance
calls.
- Reuses shared help/version and SNS cache-path helpers in older NNS and SNS
call sites.
- Makes `make patch`, `make minor`, and `make major` push the release commit
and tag automatically after the release bump succeeds.
## 0.1.4 - 2026-06-14
### Added
- Adds `icq sns proposals <id|root-principal>` for bounded live SNS governance
proposal listings, with `--limit`, `--before`, `--status`, `--verbose`, and
JSON output support.
- Adds `icq sns proposal <id|root-principal> <proposal-id>` for direct SNS
governance proposal detail lookup.
## 0.1.3 - 2026-06-14
### Added
- Adds `icq sns neurons cache list` and `icq sns neurons cache status
<id|root-principal>` to inspect local complete neuron snapshots and latest
refresh-attempt metadata without live SNS-W or governance calls.
### Fixed
- Uses local complete neuron cache metadata for cache-backed `icq sns neurons
<id|root-principal> --sort ...` reports instead of re-fetching the live SNS
list before reading the cache.
## 0.1.2 - 2026-06-13
### Changed
- Deduplicates SNS lookup command dispatch, clap command construction, and
shared lookup option parsing.
- Moves shared duration display formatting into the duration helper module.
- Splits SNS model types, source contracts, text rendering, and live IC API
querying out of the main SNS report orchestration module.
### Fixed
- Preserves SNS neuron refresh attempt progress metadata when a refresh stops
before publishing a complete snapshot.
## 0.1.1 - 2026-06-13
### Added
- Adds `icq sns params <id|root-principal>` to query SNS governance nervous
system parameters, with readable text output and raw Candid fields in JSON.
### Changed
- Moves shared token/e8s text amount rendering into a reusable helper for SNS
token, neuron, and parameter reports.
## 0.1.0 - 2026-06-13
### Added
- Adds `icq sns neurons refresh <id|root-principal>` to materialize complete
SNS governance neuron snapshots under `.icq/sns/ic/<root>/neurons/full.json`.
- Adds cache-backed `icq sns neurons <id|root-principal> --sort
id|stake|maturity|created` over complete neuron snapshots.
- Adds a shared stderr progress-line helper and uses it to show SNS neuron
refresh page/row counters while long refreshes are running.
- Adds Canic-style `make release-patch`, `make release-minor`,
`make release-major`, and `make release-push` helpers.
### Changed
- Keeps default `icq sns neurons` output on the bounded live API path with
`--sort api`, while whole-collection sorts require the complete cache.
- Allows larger `--limit` values for cache-backed SNS neuron sorts while
keeping live API queries capped at 100 rows.
- Records SNS neuron refresh attempts separately from published complete
snapshots so failed or capped refreshes do not replace the last complete
cache.
- Shortens SNS neuron IDs to eight characters in text tables by default, with
`--verbose` preserving full neuron IDs.
- Renders current SNS token amounts, including token fee, total supply, stake,
maturity, and staked maturity, as two-decimal token amounts in text output
while keeping raw base-unit and e8s fields in JSON.