Releases: utilarium/offrecord
Release list
0.0.4 — Standardized CI workflows and improved npm publish automation
Overview
0.0.4 focuses on release/CI hygiene: more consistent GitHub Actions behavior, faster/safer npm publishing, and clearer separation between production releases and development publishes.
Changes
npm publishing workflow: safer production releases, better dev publishes
Updates to .github/workflows/npm-publish.yml change how and when packages are published:
-
Production publishes only happen on GitHub Release creation
- If
package.jsoncontains a production version (no-...prerelease suffix), the workflow publishes only when triggered by arelease: createdevent. - Pushes to the
workingbranch will not publish production versions, preventing accidental “latest” publishes.
- If
-
Pre-release publishing supports uniquely-versioned dev builds
- If
package.jsoncontains a prerelease version (contains-), the workflow publishes under thedevnpm dist-tag. - The version is rewritten at publish-time to include a timestamp and short SHA:
- Example:
0.0.4-dev.0→0.0.4-dev.<timestamp>.<sha>
- Example:
- This makes dev publishes traceable and avoids version collisions.
- If
-
Publishing setup streamlined
- Node is set to Node 24 in the workflow.
- Publish steps run only when the workflow determines
should_publish=true.
Test workflow: more consistent installs and less wasted CI time
Updates to .github/workflows/test.yml:
-
Expanded branch coverage for CI
- Tests now run on pushes to:
main,working,release/**,feature/**,dependabot/**(and PRs targetingmain).
- Tests now run on pushes to:
-
Concurrency control
- Adds workflow concurrency with cancellation of in-progress runs for the same branch/ref, reducing redundant CI runs.
-
Clean install approach (package-lock is ignored)
- The workflow explicitly removes
node_modulesandpackage-lock.jsonand runsnpm install --force. - The intent is to avoid CI flakiness around optional/platform-specific dependencies (notably Rollup native bindings) given that
package-lock.jsonis gitignored.
- The workflow explicitly removes
Version bump
package.jsonversion is now 0.0.4.
Impact
For users
- No runtime/library feature changes in this release; it primarily affects how builds/tests/releases are produced and published.
For maintainers / contributors
-
Expect different publishing behavior:
- “latest” is only published from GitHub Releases, not from branch pushes.
- Dev builds (prerelease versions) can still be published from
working, and will be uniquely versioned.
-
CI runs may behave differently due to:
- New branch triggers
- Concurrency cancellation
- Forced clean installs in the test workflow
Breaking changes
- No API-breaking changes detected in this release range.
- Operational note: the npm publish workflow behavior is materially different (production publishes gated on GitHub Release creation). If you relied on production publishes from branch pushes, adjust your release process accordingly.
offrecord 0.0.3 — Documentation site + GitHub Actions automation
Main story
0.0.3 is primarily an “operational + documentation” release: it adds a Vite/React-powered documentation site (published to GitHub Pages) and introduces GitHub Actions workflows for testing and npm publishing. The library package version is bumped to 0.0.3.
There are no meaningful runtime/library feature changes in this range (changes are concentrated in docs/, workflows, and README/package metadata).
What changed
Documentation site (new)
A new documentation site lives under docs/ and is built with Vite + React:
-
New docs app and UI:
docs/src/App.tsximplements a sidebar-based docs navigator with section loading viafetch()from static markdown files.docs/src/components/MarkdownRenderer.tsxrenders Markdown with:- GitHub Flavored Markdown support (
remark-gfm) - Syntax highlighting via Prism (
react-syntax-highlighter) - A small normalization that removes a top-level
# offrecordheader to avoid duplicate page headings.
- GitHub Flavored Markdown support (
- Additional UI components and styling (
LoadingSpinner,ErrorMessage,App.css,index.css, etc.)
-
New markdown content under
docs/public/:getting-started.md,redaction.md,secure-string.md,safe-errors.md,secure-buffers.md,api-reference.md
-
GitHub Pages support:
docs/vite.config.tssetsbase: '/offrecord/'for correct asset paths on GitHub Pages.
Impact
- Users get browsable docs at the project GitHub Pages URL.
- Contributors can run docs locally using the new npm scripts (see below).
CI/CD automation (new workflows)
Three workflows were added under .github/workflows/:
-
Run Tests (
test.yml)- Runs on pull requests to
mainandworking - Executes: install → lint → build → test (Node 24)
- Runs on pull requests to
-
Publish to npm (
npm-publish.yml)- Runs when a GitHub Release is created
- Publishes the package to npm using
NPM_TOKEN
-
Deploy docs to GitHub Pages (
deploy-docs.yml)- Runs on pushes to
main, and on release creation - Builds the library, builds the docs site, then deploys
docs/distto GitHub Pages
- Runs on pushes to
Impact
- More consistent validation on PRs.
- Release creation becomes the trigger for both npm publishing and docs deployment.
Package metadata and developer experience
-
Root
package.json:- Version bumped to 0.0.3
- Adds documentation scripts:
docs:dev,docs:build,docs:preview,docs:test,docs:coverage
- Sets
homepagetohttps://utilarium.github.io/offrecord/ - Maintains Node engine requirement:
>=24.0.0
-
docs/package.jsonadded (separate dependency set for the docs app). -
.gitignoreupdated to ignore docs build artifacts and a few local/dev files (docs/dist/,docs/node_modules/,docs/public/README.md,*~,.kodrdriv*, etc.)
README updates
- README content was expanded/updated to better document the existing public API surface (redaction, SecureString, safe errors, secure buffers) and link to API reference sections.
- Note: the README currently ends with a stray
TESTline.
Breaking changes
No explicit breaking API changes were identified between main and HEAD for this release.
Notes/caveats:
- Workflows and
package.jsonreinforce Node >= 24 (already present in package metadata). If you run CI or local development on older Node versions, you may need to upgrade. - The docs site is new and does not affect library consumers at runtime.
Summary for users vs. contributors
- Library consumers: No behavior changes expected; this release is mainly docs + release automation.
- Contributors/maintainers: New PR test workflow, release-driven npm publish, and automated GitHub Pages deployment; plus a full docs site under
docs/.
v0.0.2 — metadata-only release (version bump + README change)
Summary
This release does not include any functional code changes. It is primarily a package version bump to 0.0.2 plus a small documentation update.
Changes
- Package version: bumped from
0.0.1→0.0.2. - Documentation:
README.mdhad a single line added (TEST).
Impact
- Users: No behavior changes, bug fixes, or new features in the library itself.
- Developers/Maintainers: New published version number; otherwise no changes to build/test behavior.
Breaking changes
- None detected. No APIs or runtime code were changed in this range.