ic-query 0.2.21

Internet Computer query CLI for NNS, SNS, and related public network metadata
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
# 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.