Skip to content

Commit e4ba60d

Browse files
nataneliaNatan
andauthored
Prepare v0.1.1 npm release (#3)
* chore: prepare v0.1.1 release * docs: align release playground checks --------- Co-authored-by: Natan <natan@example.com>
1 parent 0776a9d commit e4ba60d

6 files changed

Lines changed: 52 additions & 34 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
# Changelog
22

3+
## 0.1.1
4+
5+
First public npm release.
6+
7+
- Publishes six verified ESM entry points with declarations and provenance.
8+
- Ships the all-green 294/294 compatibility catalog against
9+
`@tanstack/db@0.6.16`.
10+
- Adds columnar incremental live queries, spatial indexing, GeoArrow IPC,
11+
persistence, cross-tab sync, and React bindings.
12+
- Adds the hosted City Ops playground and correctness-gated benchmark suite.
13+
- Hardens release automation, package contents, contribution guidance, and
14+
private vulnerability reporting.
15+
316
## 0.1.0
417

5-
Initial managed release for the @tanstack/db parity milestone.
18+
GitHub-only managed release for the @tanstack/db parity milestone.
619

720
- Ships the all-green 294/294 export compatibility catalog against
821
`@tanstack/db@0.6.16`.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ buffers. It keeps the TanStack DB mental model—collections, transactions,
1212
live queries, persistence, and React hooks—while adding vectorized filters,
1313
spatial indexes, Arrow IPC, snapshots, and cross-tab sync.
1414

15-
**v0.1.0 release candidate:** the compatibility catalog is 294/294 green
15+
**v0.1.1:** the compatibility catalog is 294/294 green
1616
against `@tanstack/db@0.6.16`. Exact public-export and operator-manifest tests
1717
guard that surface. Pre-1.0 means the API can still evolve between minor
1818
versions; documented tolerances cover fixed capacity, safe-integer key

RELEASE_NOTES.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release notes — @tanstack/db parity
22

3-
Version: **v0.1.0**
3+
Version: **v0.1.1**
44

55
Compatibility: 294/294 exports ✅
66

@@ -13,13 +13,15 @@ now show side-by-side replacements for common TanStack DB usage.
1313

1414
## Highlights
1515

16-
- `README.md` now states the release positioning and links the parity docs.
17-
- `MIGRATING.md` covers local-only collections, transactions, query builders,
18-
local storage, and tolerance notes.
19-
- `COMPATIBILITY.md` is regenerated as the source of truth for the 289-export
20-
audit.
21-
- `bench/vs-tanstack.ts` adds a published head-to-head benchmark entry point.
22-
- `GOAL.md` contains the final acceptance ritual for release validation.
16+
- Publishes six verified ESM entry points with TypeScript declarations and npm
17+
provenance: `arrowbase`, `tanstack`, `react`, `arrow`, `idb`, and `broadcast`.
18+
- Ships the 294/294 compatibility catalog against `@tanstack/db@0.6.16`, plus
19+
exact public-export, operator-manifest, differential, and golden tests.
20+
- Adds columnar incremental live-query backends, spatial indexes, GeoArrow IPC,
21+
optimistic transactions, persistence, and cross-tab synchronization.
22+
- Hosts the correctness-gated City Ops playground on GitHub Pages, with desktop
23+
and mobile end-to-end coverage.
24+
- Keeps the published tarball focused on runtime output and consumer docs.
2325

2426
## Migration
2527

@@ -54,13 +56,12 @@ for ArrowBase, with ArrowBase at 0.15× the measured memory footprint.
5456
Before tagging:
5557

5658
```sh
57-
pnpm typecheck
58-
pnpm test
59-
pnpm test:differential
60-
pnpm test:golden
61-
pnpm bench
62-
pnpm bench:vs-tanstack
59+
pnpm release:verify
60+
pnpm check
61+
pnpm playground:check
62+
pnpm playground:e2e
6363
pnpm build
64+
pnpm verify:package-exports
6465
```
6566

6667
If any gate fails, do not tag. Fix the gap, regenerate `COMPATIBILITY.md` if the

docs/RELEASING.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Releasing ArrowBase
22

33
ArrowBase uses a tag-driven GitHub release workflow plus an optional npm publish
4-
step. The first managed release is **v0.1.0**.
4+
step. The existing **v0.1.0** tag is GitHub-only; the first npm release is
5+
**v0.1.1**.
56

67
## One-time setup
78

@@ -42,6 +43,8 @@ Run from a clean `master` worktree:
4243
```sh
4344
pnpm release:verify
4445
pnpm check
46+
pnpm playground:check
47+
pnpm playground:e2e
4548
pnpm build
4649
pnpm verify:package-exports
4750
rm -rf .release
@@ -51,19 +54,19 @@ pnpm release:pack
5154
Inspect the generated tarball if needed:
5255

5356
```sh
54-
tar -tf .release/arrowbase-0.1.0.tgz | sort | less
57+
tar -tf .release/arrowbase-0.1.1.tgz | sort | less
5558
```
5659

57-
## Create v0.1.0
60+
## Create v0.1.1
5861

5962
```sh
6063
git status --short
6164
pnpm release:verify
62-
git tag v0.1.0
63-
git push origin v0.1.0
65+
git tag v0.1.1
66+
git push origin v0.1.1
6467
```
6568

66-
Pushing `v0.1.0` triggers `.github/workflows/release.yml`, which validates the
69+
Pushing `v0.1.1` triggers `.github/workflows/release.yml`, which validates the
6770
release metadata, runs `pnpm check`, builds, verifies every published entry
6871
point, packs, uploads the tarball artifact, and creates the GitHub release from
6972
`RELEASE_NOTES.md`.
@@ -73,7 +76,7 @@ point, packs, uploads the tarball artifact, and creates the GitHub release from
7376
After `NPM_TOKEN` exists for the bootstrap—or after trusted publishing is
7477
configured—run the `Release` workflow manually:
7578

76-
- `version`: `0.1.0`
79+
- `version`: `0.1.1`
7780
- `publish_npm`: `true`
7881

7982
The workflow runs the same validation and then executes:
@@ -86,8 +89,9 @@ npm publish --provenance --access public
8689

8790
- Do not move an existing release tag silently. If a release tag points at the
8891
wrong commit, delete the GitHub release and tag explicitly, then recreate.
89-
- If `pnpm release:verify`, `pnpm check`, `pnpm build`, or
90-
`pnpm verify:package-exports` fails, fix the repo and commit before tagging.
92+
- If `pnpm release:verify`, `pnpm check`, `pnpm playground:check`,
93+
`pnpm playground:e2e`, `pnpm build`, or `pnpm verify:package-exports` fails,
94+
fix the repo and commit before tagging.
9195
- If npm publish cannot authenticate, verify the trusted-publisher workflow and
9296
environment names; use `NPM_TOKEN` only for the first publish or emergency
9397
fallback. Do not publish from a laptop unless GitHub Actions is unavailable.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "arrowbase",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"private": false,
55
"description": "Columnar Arrow store with an @tanstack/db-compatible API.",
66
"keywords": [

tests/release-readiness.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ describe('Layer I release readiness docs', () => {
7777
});
7878
});
7979

80-
describe('v0.1.0 release management', () => {
81-
it('marks the package publishable as version 0.1.0', () => {
80+
describe('v0.1.1 release management', () => {
81+
it('marks the package publishable as version 0.1.1', () => {
8282
const pkg = JSON.parse(readProjectFile('package.json')) as {
8383
version: string;
8484
private?: boolean;
@@ -90,7 +90,7 @@ describe('v0.1.0 release management', () => {
9090
scripts: Record<string, string>;
9191
};
9292

93-
expect(pkg.version).toBe('0.1.0');
93+
expect(pkg.version).toBe('0.1.1');
9494
expect(pkg.private).toBe(false);
9595
expect(pkg.license).toBe('MIT');
9696
expect(pkg.repository).toEqual({
@@ -127,18 +127,18 @@ describe('v0.1.0 release management', () => {
127127
expect(existsSync(guideUrl)).toBe(true);
128128

129129
const guide = readFileSync(guideUrl, 'utf8');
130-
expect(guide).toContain('v0.1.0');
130+
expect(guide).toContain('v0.1.1');
131131
expect(guide).toContain('pnpm release:verify');
132-
expect(guide).toContain('git tag v0.1.0');
132+
expect(guide).toContain('git tag v0.1.1');
133133
expect(guide).toContain('NPM_TOKEN');
134134
});
135135

136-
it('pins 0.1.0 in release notes and changelog', () => {
136+
it('pins 0.1.1 in release notes and changelog', () => {
137137
const notes = readProjectFile('RELEASE_NOTES.md');
138-
expect(notes).toContain('v0.1.0');
138+
expect(notes).toContain('v0.1.1');
139139

140140
const changelogUrl = new URL('../CHANGELOG.md', import.meta.url);
141141
expect(existsSync(changelogUrl)).toBe(true);
142-
expect(readFileSync(changelogUrl, 'utf8')).toContain('## 0.1.0');
142+
expect(readFileSync(changelogUrl, 'utf8')).toContain('## 0.1.1');
143143
});
144144
});

0 commit comments

Comments
 (0)