# 0.1 Changelog

Detailed patch notes for the `0.1.x` release line.

Root summary: [../../CHANGELOG.md](../../CHANGELOG.md)

## 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.
