Skip to content

Releases: utilarium/offrecord

0.0.4 — Standardized CI workflows and improved npm publish automation

Choose a tag to compare

@tobrien tobrien released this 01 Feb 02:28
6fbc0e2

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.json contains a production version (no -... prerelease suffix), the workflow publishes only when triggered by a release: created event.
    • Pushes to the working branch will not publish production versions, preventing accidental “latest” publishes.
  • Pre-release publishing supports uniquely-versioned dev builds

    • If package.json contains a prerelease version (contains -), the workflow publishes under the dev npm 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>
    • This makes dev publishes traceable and avoids version collisions.
  • 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 targeting main).
  • 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_modules and package-lock.json and runs npm install --force.
    • The intent is to avoid CI flakiness around optional/platform-specific dependencies (notably Rollup native bindings) given that package-lock.json is gitignored.

Version bump

  • package.json version 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

Choose a tag to compare

@tobrien tobrien released this 30 Jan 22:29
d261516

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.tsx implements a sidebar-based docs navigator with section loading via fetch() from static markdown files.
    • docs/src/components/MarkdownRenderer.tsx renders Markdown with:
      • GitHub Flavored Markdown support (remark-gfm)
      • Syntax highlighting via Prism (react-syntax-highlighter)
      • A small normalization that removes a top-level # offrecord header to avoid duplicate page headings.
    • 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.ts sets base: '/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 main and working
    • Executes: install → lint → build → test (Node 24)
  • 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/dist to GitHub Pages

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 homepage to https://utilarium.github.io/offrecord/
    • Maintains Node engine requirement: >=24.0.0
  • docs/package.json added (separate dependency set for the docs app).

  • .gitignore updated 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 TEST line.

Breaking changes

No explicit breaking API changes were identified between main and HEAD for this release.

Notes/caveats:

  • Workflows and package.json reinforce 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)

Choose a tag to compare

@tobrien tobrien released this 14 Jan 04:56
c9f5dc3

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.md had 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.