Releases: zerosixty/samurai
Release list
v0.9.1
What's Changed
- Drop gRPC reference from naming.md HTTP heuristic by @stepan-romankov in #25
Full Changelog: v0.9.0...v0.9.1
v0.9.0
What's Changed
- Add business-level naming guidance to samurai skill by @stepan-romankov in #24
Full Changelog: v0.8.5...v0.9.0
v0.8.5
What's Changed
- docs(CLAUDE.md): release via Release workflow_dispatch, not manual gh release create by @stepan-romankov in #22
- docs(skill): add "keep related scenarios in one tree" guidance by @stepan-romankov in #23
Full Changelog: v0.8.4...v0.8.5
v0.8.4
What's Changed
- ci: trigger workflow on master instead of main by @stepan-romankov in #20
- docs: add CI and Go Report Card badges by @stepan-romankov in #19
- feat(claude-setup): derive skill version from release tag; port SKILL.md lazy-load guidance by @stepan-romankov in #21
Full Changelog: v0.8.3...v0.8.4
v0.8.3 — Skill v3 cleanup
Skill tooling cleanup for the Claude Code samurai skill (no framework code changes).
Changes
claude-setupversion sync: bumped the version constant from"2"to"3"soclaude-setupcorrectly upgrades v2 installs to the v3 SKILL.md already shipped in v0.8.2- Dropped false-positive rule #5 ("Existing isolation: test already uses Ginkgo
BeforeEachor similar") — too broad, the other four rules already cover the real cases
Full Changelog: v0.8.2...v0.8.3
v0.8.2 — Factory: extract when shared across Tests
Skill documentation refinement for the Claude Code samurai skill (no framework code changes).
Change
Relaxed the strict "always inline the factory closure" rule:
- Prefer inlining the factory inside `RunWith`
- Extract to a private helper (below the Tests) when 2+ Test functions in the same file need identical factory logic — duplication outweighs locality once there is no single caller
Why
Multi-Test files (e.g. 5 `TestXxx` sharing one factory) turned strict inlining into mandatory 5× duplication. The locality rationale only applies when there is a single caller.
Full Changelog: v0.8.1...v0.8.2
v0.8.1 — Skill detection protocol
Skill documentation refinements for the Claude Code samurai skill (no framework code changes).
Changes
- File layout guide: context type + Test on top, helpers below
- Detection protocol: read bodies not names, swap-order test, find the writes
- Refined false-positive rules: read-only chains and shared setup helpers are not samurai candidates
Full Changelog: v0.8.0...v0.8.1
v0.8.0 — Auto-parallel top-level tests
Breaking: top-level `TestXxx` is now parallel by default
`samurai.Run` / `samurai.RunWith` now call `t.Parallel()` on the top-level `*testing.T`, not just on samurai-emitted sub-tests. Tests in the same Go package run concurrently without a manual `t.Parallel()` at the top of every `TestXxx`.
Migration
- Remove any manual `t.Parallel()` from the first line of a `TestXxx` that uses `samurai.Run` / `samurai.RunWith`. Go panics with `t.Parallel called multiple times` if the same `*testing.T` is marked parallel twice.
- Pass `samurai.Sequential()` for any test that uses `t.Setenv`, binds a fixed port, or otherwise cannot tolerate sibling tests running alongside it.
Why
Previously only sub-tests within a single `TestXxx` ran in parallel; different `TestXxx` functions in the same package ran serially unless each one wrote `t.Parallel()` manually. Real-world adoption (20 samurai tests in one package, ~140 leaves) dropped from ~30s to ~19s wall-clock once top-level parallelism was enabled — this release makes that the default.
🤖 Generated with Claude Code
v0.7.2
Skill improvements
- Split Claude Code skill into 3 files:
SKILL.md(rules + when to use),api.md(examples),pitfalls.md(validation + wrong patterns) - Added "When to Use" decision guide with clear criteria for when samurai is/isn't appropriate
- Bumped skill version to v2 — run
go run github.com/zerosixty/samurai/cmd/claude-setup@latestto update
v0.7.1
Documentation
- Add best practice: one action + its assertions = one
Test()— don't split assertions into child Tests - Add Wrong Pattern #6 to Claude Code skill showing the antipattern with fix
- Update all examples across skill, CLAUDE.md, and README.md to follow the pattern