Skip to content

Releases: selftune-dev/selftune

v0.2.32

15 Apr 14:41

Choose a tag to compare

selftune 0.2.32

Curated docs release notes were not found for this version, so this release falls back to the package changelog's Unreleased section.

Changelog

Added

  • Real-time improvement signal detectionprompt-log hook detects user corrections ("why didn't you use X?") and explicit skill requests via pure regex patterns. Signals are logged to ~/.claude/improvement_signals.jsonl with skill name extraction from installed skills.
  • Signal-reactive orchestrationsession-stop hook checks for pending improvement signals and spawns a focused selftune orchestrate --max-skills 2 run in the background. Respects a 30-minute lockfile to prevent concurrent runs.
  • Signal-aware candidate selection — Orchestrator reads pending signals and boosts priority for mentioned skills (+150 per signal, capped at +450). Signaled skills bypass the minimum evidence gate and the "UNGRADED with 0 missed queries" gate.
  • Orchestrate lockfileacquireLock()/releaseLock() with PID+timestamp in ~/.claude/.orchestrate.lock. 30-minute stale threshold prevents deadlocks from crashed runs.
  • Signal consumption — After an orchestrate run completes, consumed signals are marked with consumed: true, consumed_at, and consumed_by_run so they don't affect subsequent runs.

Changed

  • Publish version ceiling now respects live npm — export no longer reuses a stale repository package.json version when npm already has a newer release, so shipped OSS changes publish the next real patch version instead of colliding with the latest package on npm.
  • GitHub releases use curated changelog entries — OSS publish now renders release bodies from the Mintlify changelog when a matching entry exists, with CHANGELOG.md used as the fallback body for unmatched versions.
  • Dedicated creator-loop workflow — the shipped selftune skill now exposes "create, test, and deploy" as a first-class routed workflow while keeping Evals, UnitTest, Baseline, Evolve, and Watch as atomic workflow docs instead of demoting them to references.

Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.31...v0.2.32

v0.2.31

14 Apr 18:38

Choose a tag to compare

selftune 0.2.31

Curated docs release notes were not found for this version, so this release falls back to the package changelog's Unreleased section.

Changelog

Added

  • Real-time improvement signal detectionprompt-log hook detects user corrections ("why didn't you use X?") and explicit skill requests via pure regex patterns. Signals are logged to ~/.claude/improvement_signals.jsonl with skill name extraction from installed skills.
  • Signal-reactive orchestrationsession-stop hook checks for pending improvement signals and spawns a focused selftune orchestrate --max-skills 2 run in the background. Respects a 30-minute lockfile to prevent concurrent runs.
  • Signal-aware candidate selection — Orchestrator reads pending signals and boosts priority for mentioned skills (+150 per signal, capped at +450). Signaled skills bypass the minimum evidence gate and the "UNGRADED with 0 missed queries" gate.
  • Orchestrate lockfileacquireLock()/releaseLock() with PID+timestamp in ~/.claude/.orchestrate.lock. 30-minute stale threshold prevents deadlocks from crashed runs.
  • Signal consumption — After an orchestrate run completes, consumed signals are marked with consumed: true, consumed_at, and consumed_by_run so they don't affect subsequent runs.

Changed

  • Publish version ceiling now respects live npm — export no longer reuses a stale repository package.json version when npm already has a newer release, so shipped OSS changes publish the next real patch version instead of colliding with the latest package on npm.
  • GitHub releases use curated changelog entries — OSS publish now renders release bodies from the Mintlify changelog when a matching entry exists, with CHANGELOG.md used as the fallback body for unmatched versions.
  • Dedicated creator-loop workflow — the shipped selftune skill now exposes "create, test, and deploy" as a first-class routed workflow while keeping Evals, UnitTest, Baseline, Evolve, and Watch as atomic workflow docs instead of demoting them to references.

Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.30...v0.2.31

v0.2.30

14 Apr 09:45

Choose a tag to compare

selftune 0.2.30

Curated docs release notes were not found for this version, so this release falls back to the package changelog's Unreleased section.

Changelog

Added

  • Real-time improvement signal detectionprompt-log hook detects user corrections ("why didn't you use X?") and explicit skill requests via pure regex patterns. Signals are logged to ~/.claude/improvement_signals.jsonl with skill name extraction from installed skills.
  • Signal-reactive orchestrationsession-stop hook checks for pending improvement signals and spawns a focused selftune orchestrate --max-skills 2 run in the background. Respects a 30-minute lockfile to prevent concurrent runs.
  • Signal-aware candidate selection — Orchestrator reads pending signals and boosts priority for mentioned skills (+150 per signal, capped at +450). Signaled skills bypass the minimum evidence gate and the "UNGRADED with 0 missed queries" gate.
  • Orchestrate lockfileacquireLock()/releaseLock() with PID+timestamp in ~/.claude/.orchestrate.lock. 30-minute stale threshold prevents deadlocks from crashed runs.
  • Signal consumption — After an orchestrate run completes, consumed signals are marked with consumed: true, consumed_at, and consumed_by_run so they don't affect subsequent runs.

Changed

  • Publish version ceiling now respects live npm — export no longer reuses a stale repository package.json version when npm already has a newer release, so shipped OSS changes publish the next real patch version instead of colliding with the latest package on npm.
  • GitHub releases use curated changelog entries — OSS publish now renders release bodies from the Mintlify changelog when a matching entry exists, with CHANGELOG.md used as the fallback body for unmatched versions.
  • Dedicated creator-loop workflow — the shipped selftune skill now exposes "create, test, and deploy" as a first-class routed workflow while keeping Evals, UnitTest, Baseline, Evolve, and Watch as atomic workflow docs instead of demoting them to references.

Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.29...v0.2.30

v0.2.29

14 Apr 09:17

Choose a tag to compare

selftune 0.2.29

Curated docs release notes were not found for this version, so this release falls back to the package changelog's Unreleased section.

Changelog

Added

  • Real-time improvement signal detectionprompt-log hook detects user corrections ("why didn't you use X?") and explicit skill requests via pure regex patterns. Signals are logged to ~/.claude/improvement_signals.jsonl with skill name extraction from installed skills.
  • Signal-reactive orchestrationsession-stop hook checks for pending improvement signals and spawns a focused selftune orchestrate --max-skills 2 run in the background. Respects a 30-minute lockfile to prevent concurrent runs.
  • Signal-aware candidate selection — Orchestrator reads pending signals and boosts priority for mentioned skills (+150 per signal, capped at +450). Signaled skills bypass the minimum evidence gate and the "UNGRADED with 0 missed queries" gate.
  • Orchestrate lockfileacquireLock()/releaseLock() with PID+timestamp in ~/.claude/.orchestrate.lock. 30-minute stale threshold prevents deadlocks from crashed runs.
  • Signal consumption — After an orchestrate run completes, consumed signals are marked with consumed: true, consumed_at, and consumed_by_run so they don't affect subsequent runs.

Changed

  • Publish version ceiling now respects live npm — export no longer reuses a stale repository package.json version when npm already has a newer release, so shipped OSS changes publish the next real patch version instead of colliding with the latest package on npm.
  • GitHub releases use curated changelog entries — OSS publish now renders release bodies from the Mintlify changelog when a matching entry exists, with CHANGELOG.md used as the fallback body for unmatched versions.
  • Dedicated creator-loop workflow — the shipped selftune skill now exposes "create, test, and deploy" as a first-class routed workflow while keeping Evals, UnitTest, Baseline, Evolve, and Watch as atomic workflow docs instead of demoting them to references.

Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.28...v0.2.29

v0.2.28

13 Apr 16:59

Choose a tag to compare

selftune 0.2.28

Curated docs release notes were not found for this version, so this release falls back to the package changelog's Unreleased section.

Changelog

Added

  • Real-time improvement signal detectionprompt-log hook detects user corrections ("why didn't you use X?") and explicit skill requests via pure regex patterns. Signals are logged to ~/.claude/improvement_signals.jsonl with skill name extraction from installed skills.
  • Signal-reactive orchestrationsession-stop hook checks for pending improvement signals and spawns a focused selftune orchestrate --max-skills 2 run in the background. Respects a 30-minute lockfile to prevent concurrent runs.
  • Signal-aware candidate selection — Orchestrator reads pending signals and boosts priority for mentioned skills (+150 per signal, capped at +450). Signaled skills bypass the minimum evidence gate and the "UNGRADED with 0 missed queries" gate.
  • Orchestrate lockfileacquireLock()/releaseLock() with PID+timestamp in ~/.claude/.orchestrate.lock. 30-minute stale threshold prevents deadlocks from crashed runs.
  • Signal consumption — After an orchestrate run completes, consumed signals are marked with consumed: true, consumed_at, and consumed_by_run so they don't affect subsequent runs.

Changed

  • Publish version ceiling now respects live npm — export no longer reuses a stale repository package.json version when npm already has a newer release, so shipped OSS changes publish the next real patch version instead of colliding with the latest package on npm.
  • GitHub releases use curated changelog entries — OSS publish now renders release bodies from the Mintlify changelog when a matching entry exists, with CHANGELOG.md used as the fallback body for unmatched versions.
  • Dedicated creator-loop workflow — the shipped selftune skill now exposes "create, test, and deploy" as a first-class routed workflow while keeping Evals, UnitTest, Baseline, Evolve, and Watch as atomic workflow docs instead of demoting them to references.

Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.27...v0.2.28

v0.2.27

13 Apr 13:14

Choose a tag to compare

April 2026 — release automation repair and cleaner local dashboard flows

selftune repaired OSS release automation, blocked unintended dashboard indexing, and tightened the proposal review experience in the local dashboard.

Highlights

  • Repaired the OSS publish pipeline so npm releases can still generate SBOMs, GitHub tags, and enriched release notes even when a publish partially succeeds.
  • Blocked cloud dashboard indexing and added changelog coverage enforcement so shipped product changes are documented before they merge.
  • Tightened the local dashboard skill report around proposal deep links, kept proposal-focused layouts stable while report data loads, prevented raw ENOENT errors during SPA reloads, and restored full-width creator loop layout on overview.

Docs changelog window: v0.2.24 to v0.2.27
Tags: OSS, Dashboard, Cloud
Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.26...v0.2.27

v0.2.26

13 Apr 12:02

Choose a tag to compare

selftune 0.2.26

Curated docs release notes were not found for this version, so this release falls back to the package changelog's Unreleased section.

Changelog

Added

  • Real-time improvement signal detectionprompt-log hook detects user corrections ("why didn't you use X?") and explicit skill requests via pure regex patterns. Signals are logged to ~/.claude/improvement_signals.jsonl with skill name extraction from installed skills.
  • Signal-reactive orchestrationsession-stop hook checks for pending improvement signals and spawns a focused selftune orchestrate --max-skills 2 run in the background. Respects a 30-minute lockfile to prevent concurrent runs.
  • Signal-aware candidate selection — Orchestrator reads pending signals and boosts priority for mentioned skills (+150 per signal, capped at +450). Signaled skills bypass the minimum evidence gate and the "UNGRADED with 0 missed queries" gate.
  • Orchestrate lockfileacquireLock()/releaseLock() with PID+timestamp in ~/.claude/.orchestrate.lock. 30-minute stale threshold prevents deadlocks from crashed runs.
  • Signal consumption — After an orchestrate run completes, consumed signals are marked with consumed: true, consumed_at, and consumed_by_run so they don't affect subsequent runs.

Changed

  • Publish version ceiling now respects live npm — export no longer reuses a stale repository package.json version when npm already has a newer release, so shipped OSS changes publish the next real patch version instead of colliding with the latest package on npm.
  • GitHub releases use curated changelog entries — OSS publish now renders release bodies from the Mintlify changelog when a matching entry exists, with CHANGELOG.md used as the fallback body for unmatched versions.
  • Dedicated creator-loop workflow — the shipped selftune skill now exposes "create, test, and deploy" as a first-class routed workflow while keeping Evals, UnitTest, Baseline, Evolve, and Watch as atomic workflow docs instead of demoting them to references.

Full docs changelog: https://docs.selftune.dev/changelog
Full Changelog: v0.2.23...v0.2.26

v0.2.23

08 Apr 19:01

Choose a tag to compare

Full Changelog: v0.2.22...v0.2.23

v0.2.22

06 Apr 08:37
6bba0d6

Choose a tag to compare

What's Changed

  • feat: universal hooks for Codex, OpenCode, and Cline by @WellDunDun in #94

Full Changelog: v0.2.21...v0.2.22

v0.2.21

02 Apr 14:27
8afecc2

Choose a tag to compare

What's Changed

Full Changelog: v0.2.20...v0.2.21