|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to `@_all_docs` are documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.5.0](https://github.com/indexzero/_all_docs/compare/@_all_docs/cli@0.1.0...HEAD) (2026-02-01) |
| 9 | + |
| 10 | +Major feature release with Views system, enhanced CLI, and multi-runtime support. |
| 11 | + |
| 12 | +### Highlights |
| 13 | + |
| 14 | +- New **Views** system for dataset analysis and querying |
| 15 | +- **Checkpoint support** for resumable batch operations |
| 16 | +- **Custom remotes** via npmrc or CLI for enterprise registries |
| 17 | +- **Local directory storage driver** for virtual cache mounts |
| 18 | +- **Multi-runtime support** including CloudRun, Cloudflare Workers, and Fastly |
| 19 | + |
| 20 | +### New Features |
| 21 | + |
| 22 | +#### Views System |
| 23 | + |
| 24 | +- `view query` command with `--format` option for flexible output ([#24](https://github.com/indexzero/_all_docs/pull/24)) |
| 25 | +- `view enrich` command for NDJSON enrichment pipelines ([#25](https://github.com/indexzero/_all_docs/pull/25)) |
| 26 | +- Materialized views for analyzing cached metadata ([#21](https://github.com/indexzero/_all_docs/pull/21)) |
| 27 | + |
| 28 | +#### CLI Commands |
| 29 | + |
| 30 | +- `packument show` with field projection support ([#22](https://github.com/indexzero/_all_docs/pull/22)) |
| 31 | +- `cache clear` for cache management ([#18](https://github.com/indexzero/_all_docs/pull/18)) |
| 32 | +- `packument fetch-list` now supports checkpoints for resumable fetches ([#16](https://github.com/indexzero/_all_docs/pull/16)) |
| 33 | + |
| 34 | +#### Cache |
| 35 | + |
| 36 | +- Local directory storage driver for virtual cache mounts ([#23](https://github.com/indexzero/_all_docs/pull/23)) |
| 37 | +- Readable origin keys replacing truncated base64 ([#17](https://github.com/indexzero/_all_docs/pull/17)) |
| 38 | +- Cross-platform cache key support |
| 39 | + |
| 40 | +#### Configuration |
| 41 | + |
| 42 | +- Custom remotes via `.npmrc` files or CLI arguments ([#15](https://github.com/indexzero/_all_docs/pull/15)) |
| 43 | + |
| 44 | +### Bug Fixes |
| 45 | + |
| 46 | +- Prevent bloom filter from rejecting reads on existing caches ([#20](https://github.com/indexzero/_all_docs/pull/20)) |
| 47 | +- Preserve URL path segments when constructing packument request URLs ([#19](https://github.com/indexzero/_all_docs/pull/19)) |
| 48 | +- Skip unscoped packages in analysis summary |
| 49 | +- Exclude deleted packages from final name lists |
| 50 | +- Fix circular dependencies between packages |
| 51 | + |
| 52 | +### Infrastructure |
| 53 | + |
| 54 | +- Node.js 24 support (ahead of LTS) |
| 55 | +- Google CloudRun worker support |
| 56 | +- Cloudflare Workers test improvements with mock processor |
| 57 | +- Post-August 2025 benchmarking baseline ([#13](https://github.com/indexzero/_all_docs/pull/13)) |
| 58 | + |
| 59 | +### Internal |
| 60 | + |
| 61 | +- Major refactoring across Phases 0-4 following ADR specifications |
| 62 | +- Improved separation of concerns |
| 63 | +- Enhanced test coverage and fixtures |
| 64 | + |
| 65 | +--- |
| 66 | + |
| 67 | +## [0.1.0](https://github.com/indexzero/_all_docs/compare/0.0.3...@_all_docs/cli@0.1.0) (2025-08-05) |
| 68 | + |
| 69 | +Complete architectural restructure transforming the project into a pnpm monorepo. |
| 70 | + |
| 71 | +### Breaking Changes |
| 72 | + |
| 73 | +- Migrated from single package to pnpm workspace monorepo |
| 74 | +- Import paths changed to scoped packages (e.g., `@_all_docs/cache`, `@_all_docs/partition`) |
| 75 | +- Individual bin scripts removed in favor of unified CLI |
| 76 | + |
| 77 | +### Package Architecture |
| 78 | + |
| 79 | +New dedicated packages with clear separation of concerns: |
| 80 | + |
| 81 | +- `@_all_docs/cache` - Core cache management functionality |
| 82 | +- `@_all_docs/config` - Centralized configuration management |
| 83 | +- `@_all_docs/partition` - B-tree partition logic and client |
| 84 | +- `@_all_docs/packument` - Package document handling |
| 85 | +- `@_all_docs/exec` - Execution utilities (map/reduce operations) |
| 86 | +- `@_all_docs/frame` - Frame utilities for data processing |
| 87 | +- `@_all_docs/cli` - Unified command-line interface |
| 88 | + |
| 89 | +### Developer Experience |
| 90 | + |
| 91 | +- Unified CLI via `npx _all_docs` with structured command hierarchy |
| 92 | +- Changesets integration for automated version management |
| 93 | +- GitHub Actions CI/CD pipeline for testing and releases |
| 94 | +- Package-level test suites for improved testability |
| 95 | + |
| 96 | +### Co-authored by |
| 97 | + |
| 98 | +Claude (claude@anthropic.com) |
| 99 | + |
| 100 | +--- |
| 101 | + |
| 102 | +## [0.0.3](https://github.com/indexzero/_all_docs/compare/0.0.2...0.0.3) (2025-04-03) |
| 103 | + |
| 104 | +Critical fix release responding to npm registry API changes. |
| 105 | + |
| 106 | +### Breaking Changes (External) |
| 107 | + |
| 108 | +- npm announced deprecation of replication APIs ([changelog](https://github.blog/changelog/2025-02-27-changes-and-deprecation-notice-for-npm-replication-apis)) |
| 109 | + |
| 110 | +### Bug Fixes |
| 111 | + |
| 112 | +- Switched all packument requests to use `registry.npmjs.com` to comply with npm's updated API requirements |
| 113 | + |
| 114 | +### Infrastructure |
| 115 | + |
| 116 | +- Added benchmarking for end_key range query technique to measure partition fetch performance |
| 117 | + |
| 118 | +--- |
| 119 | + |
| 120 | +## [0.0.2](https://github.com/indexzero/_all_docs/compare/0.0.1...0.0.2) (2025-03-24) |
| 121 | + |
| 122 | +Stabilization release with critical bug fixes and improved observability. |
| 123 | + |
| 124 | +### Bug Fixes |
| 125 | + |
| 126 | +- Fixed URL encoding for scoped npm packages (e.g., `@scope/package`) using `encodeURIComponent` |
| 127 | +- Removed errant console.log statements |
| 128 | + |
| 129 | +### Features |
| 130 | + |
| 131 | +- Short operation IDs for tracking concurrent requests |
| 132 | +- Map-reduce function implementation following CouchDB/Erlang patterns |
| 133 | +- Added `npm-high-impact-json` helper script for package analysis |
| 134 | + |
| 135 | +### Improvements |
| 136 | + |
| 137 | +- Refactored imports to use undici utilities |
| 138 | +- Aligned documentation with API structure |
| 139 | +- Added test fixtures scaffolding |
| 140 | +- Updated dependencies |
| 141 | + |
| 142 | +--- |
| 143 | + |
| 144 | +## [0.0.1](https://github.com/indexzero/_all_docs/releases/tag/0.0.1) (2025-03-02) |
| 145 | + |
| 146 | +Initial release establishing the core architecture for fetching and caching CouchDB's `_all_docs` endpoint. |
| 147 | + |
| 148 | +### Features |
| 149 | + |
| 150 | +- B-tree partitioning system using lexographically sorted key ranges |
| 151 | +- Partition client for fetching from npm registry |
| 152 | +- JSON file caching with `{start_key}__{end_key}.json` naming |
| 153 | +- `getPartition`/`writePartition` core primitives |
| 154 | +- Packument fetching capability |
| 155 | +- Map-reduce infrastructure scaffolding |
| 156 | + |
| 157 | +### Infrastructure |
| 158 | + |
| 159 | +- TypeScript foundation |
| 160 | +- Node.js native test runner integration |
| 161 | +- p-retry for resilient HTTP requests with automatic retries |
| 162 | +- CLI tooling via bin scripts |
0 commit comments