Skip to content

Noisegate v0.1.1

Choose a tag to compare

@github-actions github-actions released this 07 Jul 19:44
50243cf

Noisegate v0.1.1

Noisegate v0.1.1 is a release-hardening and distribution release. It makes Noisegate easier to install as a real Hermes plugin/CLI, tightens release automation, and keeps the core compaction safety model intact: deterministic, fail-open, and exact-output-safe.

Highlights

  • Adds noisegate install-hermes for installing and enabling Noisegate in the same Python environment that runs Hermes.
  • Establishes PyPI-first distribution through noisegate-hermes, with an npm installer wrapper as a convenience path.
  • Hardens CI, release automation, contributor checks, workflow validation, action pinning, and package publishing.
  • Fixes tiny-budget compaction behavior and concurrent artifact-write edge cases without turning Noisegate into a raw-output archive.

How to update

For an existing Hermes Agent installation, run:

uvx --from noisegate-hermes noisegate install-hermes

To preview the exact commands first:

uvx --from noisegate-hermes noisegate install-hermes --dry-run

npm users can use the wrapper instead:

npx -p noisegate-hermes noisegate install-hermes

The installer finds the hermes executable on PATH, resolves the Python environment that runs Hermes, installs noisegate-hermes there, enables the noisegate plugin, and runs noisegate doctor.

If Hermes is running as a long-lived gateway/service, restart or reload that Hermes process through your normal maintenance flow after installing so the plugin/config change is picked up. Avoid interrupting in-flight agent work.

Included pull requests

Range: v0.1.0...v0.1.1

Release / Packaging

  • #3 Add distribution installer foundations — @Tosko4
  • #4 Align npm wrapper with noisegate-hermes package — @Tosko4
  • #5 Prepare Noisegate 0.1.1 release — @Tosko4

Security / Safety

  • #1 Harden compaction and release automation — @Tosko4

Internal / CI

  • #2 Improve integration diagnostics and workflow checks — @Tosko4

New contributors

No new external contributors in this release range. The merged PRs in v0.1.1 were authored by @Tosko4.

Added

  • noisegate doctor now reports invalid Noisegate environment values instead of silently falling back.
  • CI now validates GitHub Actions workflow syntax and uses explicit job timeouts.
  • noisegate install-hermes installs and enables Noisegate inside the same Python environment as Hermes, with a dry-run mode for safe operator review.
  • PyPI trusted-publishing workflow foundation for noisegate-hermes.
  • npm installer-wrapper package foundation for delegating to the Python package without postinstall scripts.
  • npm trusted-publishing/provenance workflow foundation for the installer wrapper.

Changed

  • Contributor checks now ignore merge commits, normalize GitHub noreply author emails, resolve the git executable before release contributor checks, and wrap git log failures with clearer troubleshooting messages.
  • README now presents PyPI as the canonical distribution path and documents the npm wrapper as installer-only.
  • Release metadata is aligned across Python package metadata, plugin metadata, lockfile, and npm wrapper metadata.

Security

  • GitHub Actions dependencies are pinned to reviewed commit SHAs to reduce mutable-tag supply-chain risk.
  • npm wrapper uses no postinstall script.
  • Exact-output protections and fail-open compaction behavior remain intact.

Fixed

  • Fail open for unusably tiny compaction budgets instead of emitting marker-only output that can obscure the original command result.
  • Handle concurrent same-content artifact writes without false collision errors.

Published artifacts

  • GitHub Release assets: wheel, sdist, and release-notes.md.
  • PyPI: noisegate-hermes==0.1.1.
  • npm: noisegate-hermes@0.1.1.

Post-tag publishing follow-up

#6 fixed future npm trusted-publishing retries on main by moving npm publish jobs to Node 24 and making PyPI publish retry-safe with skip-existing. It is not part of the v0.1.1 source tag, but it protects future release reruns.