Repository navigation
Releases
v0.9.0
Highlights
- Jira issue creation, targeted native-wiki description edits, labels, and
links now use preview → review → hash-confirmed apply. Proposals bind fresh
qualified evidence and immutable identities, allow at most one write attempt,
and reconcile through bounded readback without automatic replay. - Existing guarded comment and custom-field workflows now qualify stricter
evidence, reject lossy JSON and invalid Unicode, and report closed outcomes
without exposing backend responses. Comment output and custom-field text stay
value-free; custom-field JSON intentionally carries the proposed review
value. - The legacy Jira CSV executor is replaced by read-only
jira issue plan previewand execution-onlyplan apply. Schema-v2 plans qualify every row
behind one aggregate authorization/hash barrier and stop immediately if a
write outcome becomes ambiguous. - New qualified read surfaces include
jira issue create-metadataand JSON-only
jira issue field batch, which returns an ordered matrix for up to 25 issues
and eight fields while distinguishing absent, null, empty, populated, and
clipped cells. - Shipped Jira skills and the offline capability catalog now route field batch,
guarded create/link, and batch-plan work through their dedicated surfaces. - Evaluator process-output bounds now have deterministic stderr overflow and
accurateio.Writeraccounting.
Upgrade notes
-
Jira plan CSV schema v1 is no longer accepted or migrated. Use the exact
header:schema_version,operation,source,target,type,field,value
Run
atl jira issue plan preview --csv plan.csvwith the required allow
inputs and review its aggregateproposal_hash. Repeat the same CSV and allow
inputs for apply, adding
--confirm APPLY --expected-proposal-hash '<reviewed hash>'. -
Scripts that expected Jira create, edit, label, or link commands to mutate
immediately must adopt preview and hash-confirmed apply. Generate fresh
v0.9.0 proposals; older proposal hashes are not reusable. -
Guarded links require exact
kind:linkauthorization for both endpoints.
Existing issue-only grants do not authorize those mutations. -
Exact capability-catalog/task-filter bytes change intentionally: field batch
becomes the primaryjira/batch-analysisroute, and plan capabilities move
fromjira/edittojira/batch-edit. -
No configuration, durable mirror, or MCP tool-schema migration is required.
Existing read/list surfaces remain available, and no new MCP write tool is
introduced.
Verification and supply chain
The release was qualified by the complete root build, test, race, lint, vet,
documentation, generated-plugin, privacy, and standalone evaluator contours,
plus hosted Linux, macOS, Windows, CodeQL, and vulnerability checks.
Assets are built from the tagged commit for Linux and macOS on amd64 and arm64.
Publication includes per-asset SHA-256 files, a signed update manifest, SLSA
provenance, the installer, and a generated Homebrew formula.
Full changelog: v0.8.0...v0.9.0
v0.8.0 — qualified corpus capture, resilient complete pulls, and pre-release agent evaluation
Highlights
- Strengthened complete Jira and Confluence pulls with qualification, resumable recovery, and opt-in bounded comments and attachment evidence.
- Added bounded Confluence attachment discovery and space-tree reads, qualified Jira complete-project pulls, inverse reference search, and compact Jira issue-graph output.
- Added qualified local corpus workflows for build, export, comparison, handoff, and cache management.
- Introduced the standalone, source-built agent-eval coordinator as a pre-release capability, with deterministic provider-free reference execution and reporting.
- Improved agent and MCP integration with runtime safety metadata, protocol compatibility handling, offline capability/effect discovery, and service-scoped health reporting.
- Added explicit JSON-valued Jira fields while preserving legacy scalar string fields, normalized Jira create type resolution to immutable IDs with outcome diagnostics, and qualified Jira graph self-reference handling.
- Hardened Confluence completeness handling and treats unambiguous schemeless backend hostnames as HTTPS.
Upgrade notes
- No configuration migration is required. Explicit HTTP remains refused under the existing transport policy; a bare unambiguous hostname now defaults to HTTPS.
- Complete-pull and search workflows may now report incomplete evidence instead of accepting an ambiguous result. Callers that need optional artifact retention should use the documented partial-artifact policy.
- agent-eval is pre-release only: it does not yet claim stable external-consumer support or publication authority.
- Modern MCP protocol support may require the documented client-side feature gate; legacy invocation remains supported.
Full Changelog: v0.7.1...v0.8.0
v0.7.1
What's Changed
- Fix config persistence and recover v0.7.1 release by @isukharev in #1269
Full Changelog: v0.7.0...v0.7.1
v0.6.0
What's Changed
- fix: bound CSF structural depth by @isukharev in #970
- fix: isolate evaluation transport guard by @isukharev in #972
- fix: reject oversized update responses by @isukharev in #974
- fix: share write retry cooldown by @isukharev in #976
- fix: bound self-update startup work by @isukharev in #978
- fix: unify CSF validation failures by @isukharev in #980
- infra: align maintainer toolchain contracts by @isukharev in #982
- infra: isolate agent evaluation verification by @isukharev in #984
- docs: simplify first-use workflows by @isukharev in #987
- feat: add privacy-safe setup doctor by @isukharev in #989
- feat: add direct Jira work-artifact graph by @isukharev in #992
- fix: qualify omitted Jira hierarchy fields by @isukharev in #994
- feat: add bounded Jira graph traversal by @isukharev in #996
- refactor: make bounded Jira graph the default by @isukharev in #998
- fix: recognize legacy Confluence reachability by @isukharev in #1000
- fix: preserve and qualify Jira graph evidence by @isukharev in #1002
- feat: expose Jira artifact graph through MCP by @isukharev in #1005
- feat: qualify Confluence comment threads by @isukharev in #1008
- feat: version Confluence comment sidecars by @isukharev in #1011
- feat: render qualified Confluence comment threads by @isukharev in #1012
- docs: record Confluence mutation provider gate by @isukharev in #1018
- feat: guard Confluence footer comments by @isukharev in #1014
- feat: route qualified Confluence comments through MCP by @isukharev in #1016
- fix: prevent Confluence delete redirect replay by @isukharev in #1020
- fix: bind Confluence comment evidence by @isukharev in #1022
- feat: add exact compatibility provider pins by @isukharev in #1025
- feat: add guarded inline comment mutations by @isukharev in #1027
- feat: create guarded inline comments by @isukharev in #1029
- fix: reconcile inline create version semantics by @isukharev in #1033
- fix: qualify inline reply anchors by @isukharev in #1035
- fix: qualify resolved comment evidence by @isukharev in #1037
- fix: interpret reopened comment state by @isukharev in #1039
- fix: refuse redirects for mutating requests by @isukharev in #1041
- feat: add Jira Development graph identities by @isukharev in #1045
- feat: add typed Jira Development routing by @isukharev in #1046
- fix: bound server-derived expansion by @isukharev in #1055
- fix: close Confluence Markdown round trips by @isukharev in #1056
- fix: preserve local edits during pull by @isukharev in #1061
- fix: preserve staged apply lineage by @isukharev in #1062
- feat: add bounded three-way reconcile staging by @isukharev in #1063
- feat: register created objects in mirrors by @isukharev in #1064
- fix: bind mirrors to backend identity by @isukharev in #1065
- fix: enforce exhaustive CLI command traits by @isukharev in #1072
- fix: normalize mirror roots and limits by @isukharev in #1073
- fix: guard Confluence page trash by @isukharev in #1074
- fix: guard Confluence page copy by @isukharev in #1075
- fix: guard Confluence attachment deletion by @isukharev in #1076
- fix: guard Jira issue deletion by @isukharev in #1077
- perf: stream mirror reads from one snapshot by @isukharev in #1082
- perf: schedule ordinary multi-page pulls by @isukharev in #1083
- perf: batch durable complete-pull commits by @isukharev in #1084
- perf: batch Confluence mirror metadata by @isukharev in #1085
- perf: batch Jira mirror metadata by @isukharev in #1089
- infra: enforce platform package boundaries by @isukharev in #1090
- ci: require release integrity gates by @isukharev in #1091
- fix: retry transient binding lock opens by @isukharev in #1094
- docs: reconcile maintained references by @isukharev in #1092
- release: prepare v0.6.0 by @isukharev in #1096
Full Changelog: v0.5.1...v0.6.0
v0.5.1
What's Changed
- docs: repair Codex plugin refresh workflow by @isukharev in #962
- fix: keep local mirror status config-free by @isukharev in #963
- fix: redact MCP SDK validation errors by @isukharev in #965
- release: prepare v0.5.1 by @isukharev in #967
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
- test: add agent evaluation contracts by @isukharev in #394
- test: add safe headless agent runners by @isukharev in #396
- fix: pin supported Codex benchmark model by @isukharev in #399
- fix: fail closed on unsupported agent runners by @isukharev in #401
- test: benchmark bounded agent delegation by @isukharev in #402
- feat: add offline agent capability catalog by @isukharev in #404
- test: benchmark quarterly portfolio evidence by @isukharev in #406
- feat: add typed read-only MCP evidence tools by @isukharev in #408
- test: compare Claude CLI and MCP evidence routes by @isukharev in #411
- feat: add resumable complete Confluence pulls by @isukharev in #413
- feat: define package update ownership and egress by @isukharev in #415
- feat: bound Confluence pull scheduling by @isukharev in #417
- feat: add qualitative agent answer review by @isukharev in #421
- test: expand Confluence agent evaluations by @isukharev in #422
- feat: add guarded private-live agent evaluation by @isukharev in #424
- feat: add private evaluation credential gateway by @isukharev in #432
- feat: enforce exact private CLI evaluation policies by @isukharev in #433
- feat: isolate private CLI agent evaluations by @isukharev in #434
- feat: compare private CLI and MCP evaluations by @isukharev in #439
- docs: stop redundant Jira evidence reads by @isukharev in #440
- feat: attribute agent context by capability family by @isukharev in #442
- fix: allow bounded multi-file skill reads by @isukharev in #445
- feat: add bounded Jira field evidence by @isukharev in #446
- feat: confine Codex CLI benchmark egress by @isukharev in #447
- feat: qualify Jira field catalog completeness by @isukharev in #448
- feat: qualify cross-service topic discovery by @isukharev in #450
- feat: add qualified Confluence MCP search by @isukharev in #452
- test: benchmark offline Confluence mirror review by @isukharev in #455
- feat: compact Confluence diff review output by @isukharev in #457
- refactor: compact Confluence skill context by @isukharev in #459
- refactor: compact Jira skill context by @isukharev in #461
- feat: benchmark guarded Jira field mutation by @isukharev in #463
- test: benchmark guarded Confluence plans by @isukharev in #466
- test: add multi-surface agent evaluation contracts by @isukharev in #471
- feat: isolate external MCP benchmark credentials by @isukharev in #472
- fix: stabilize external MCP catalog identity by @isukharev in #474
- feat: add realistic multi-surface agent evaluations by @isukharev in #475
- feat: add private agent benchmark lifecycle by @isukharev in #477
- fix: keep private Codex on reviewed CLI shim by @isukharev in #480
- fix: validate private agent snapshots before consent by @isukharev in #481
- fix: require evidence retrieval in private CLI runs by @isukharev in #483
- fix: isolate Codex benchmark runtime state by @isukharev in #485
- fix: isolate reviewed Codex benchmark tools by @isukharev in #487
- fix: expose reviewed shell route in private cli evals by @isukharev in #489
- fix: route private cli evals through codex skills by @isukharev in #491
- fix: route private cli skills by capability by @isukharev in #493
- feat: add blinded qualitative review panels by @isukharev in #495
- fix: isolate qualitative assessment violations by @isukharev in #497
- feat: benchmark installed Codex plugin skills by @isukharev in #499
- fix: anchor private skill reads to workspace by @isukharev in #501
- fix: bind private Codex hook policy by @isukharev in #503
- feat: distinguish benchmark skill activation by @isukharev in #505
- feat: model complete skill activation treatments by @isukharev in #510
- docs: define context-efficient agent orchestration by @isukharev in #512
- feat: add review-bound activation studies by @isukharev in #513
- feat: make agent skill discovery deterministic by @isukharev in #514
- fix: bind Codex skill inventory to installed root by @isukharev in #516
- feat: calibrate private skill activation studies by @isukharev in #518
- fix: bound activation calibration timeout by @isukharev in #520
- fix: type calibration response schema by @isukharev in #522
- fix: ground activation calibration output by @isukharev in #524
- docs: tighten private evaluation workflow guidance by @isukharev in #527
- feat: qualify Codex CLI tool availability by @isukharev in #528
- fix: preserve Codex sandbox helper in private runtime by @isukharev in #530
- fix: initialize activation output before calibration by @isukharev in #532
- fix: qualify Codex code-mode tool inventory by @isukharev in #535
- feat: automate no-tools panel reviewers by @isukharev in #537
- test: move Claude corpus to Opus 4.8 high by @isukharev in #539
- feat: add reviewed private workspace migration by @isukharev in #541
- feat: add paginated Confluence benchmark by @isukharev in #543
- feat: add deep Structure value benchmark by @isukharev in #545
- feat: add replay-safe worklog benchmark by @isukharev in #547
- fix: bound Claude benchmark result reads by @isukharev in #549
- fix: guide Claude staged result paging by @isukharev in #551
- feat: add content-free table summaries by @isukharev in #553
- fix: classify Jira reference capability metrics by @isukharev in #559
- fix: pin confined CLI working directory by @isukharev in #562
- feat: support Codex synthetic mutation benchmarks by @isukharev in #564
- feat: add refusal and amplification benchmarks by @isukharev in #566
- fix: preserve legacy calibration inspection by @isukharev in #568
- feat: validate generated workspace artifacts by @isukharev in #570
- fix: project provider response schemas safely by @isukharev in #572
- fix: classify Jira planning telemetry by @isukharev in #574
- fix: infer Codex scalar const types by @isukharev in #576
- fix: classify Jira board discovery by @isukharev in #578
- fix: classify Structure read capabilities by @isukharev in #580
- fix: classify evidence read capabilities by @isukharev in #582
- fix: classify remaining live read routes by @isukharev in #584
- fix: avoid duplicate Jira image metadata fetch by @isukharev in #586
- fix: classify Jira board read telemetry by @isukharev in #588
- fix: classify mirror read telemetry by @isukharev in #590
- fix: skip mirror state during Jira render by @isukharev in #592
- feat: add reviewed private live writes by @isukharev in #594
- fix: preserve legacy activation workspace health by @isukharev in #596
- fix: allow quoted structured write arguments by @isukharev in https://github.com...
v0.4.0
atl v0.4.0
v0.4.0 turns atl into a substantially more complete agent-facing Jira and
Confluence workspace: compact evidence reads, normalized planning views,
review-bound write workflows, and an incremental Confluence mirror loop now
share the same explicit completeness and safety contracts.
Important upgrade notice
This release starts a new built-in update-signing trust chain. Clients running
v0.3.0 or earlier cannot authenticate this one release through atl's own
self-updater. Upgrade once through one of these independently verified paths:
brew update && brew upgrade isukharev/tap/atl
# or install the published binary after reviewing the installer
curl -fsSL https://github.com/isukharev/atl/releases/latest/download/install.sh | shManual downloads and checksums are also attached below. After v0.4.0 is
installed, normal signed automatic updates resume for subsequent releases.
Homebrew is not affected by the signing-key reset: its formula pins release
assets by SHA-256.
Existing mirrors remain safe, but their derived Markdown format has advanced to
Confluence v4 and Jira v3. Before applying edits from older pristine .md
views, run atl conf render / atl jira render, or pull into a fresh mirror.
Incremental Confluence pull migrates an old view only after proving it pristine;
edited or unknown future views continue to fail closed.
Highlights
Evidence-first Jira analysis
jira epic digestassembles status/DoD fields, field history, child status
distribution, comments, blockers, references, staleness and bounded linked
Confluence sections into one deterministic result.jira issue fieldsreturns compact non-empty named fields by default and
offers value-free--metadata-onlydiscovery for low-token/private workflows.jira issue historyandjira issue refsnow qualify pagination,
truncation and source completeness instead of silently treating partial data
as complete.- Exact Confluence URLs and short links can be resolved safely; page outlines
and bounded sections avoid downloading long pages into agent context. - Date-only history and quarter analysis use the observed Jira user's IANA
timezone, while exact timestamps remain exact.atl environment inspect
reports the time semantics used by each backend without exposing identity or
backend URLs.
One planning contract across Jira
- Search, epic children, boards, backlogs, sprints and Structure snapshots now
share named views, ordered columns, normalized rows, explicit pagination and
safe Markdown tables. - Board snapshots expose workflow columns and ranked issues. Structure views add
hierarchy, folder navigation, subtree selection and compact issue joins, with
incomplete permissions kept visible. - Named list views live in config: use the built-in
default/fullviews or
define focused projections for a team or recurring agent workflow. - Jira-query macros embedded in Confluence can reuse the same issue-table
renderer and preserve an identity-bound offline snapshot.
A complete Confluence mirror workflow
The main loop is now:
export ATL_READ_ONLY=1
atl conf pull --incremental --cql 'space = DOCS and type = page' \
--since '2026-01-01T00:00:00Z' --into mirror
atl conf diff --into mirror
atl conf plan create --into mirror --out change-plan.json
atl conf plan preview change-plan.jsonAfter human review, remove the process-wide read-only guard only for the apply
step and provide the exact proposal hash and confirmation required by the
command.
- Incremental pull uses absolute UTC watermarks, a bounded safety overlap and
local filtering; it advances state only after a complete local commit. conf diffcompares native CSF semantically and offline, separating
meaningful block changes from byte-only differences.conf plan create/preview/applyprovides deterministic, review-bound,
version-gated multi-page updates with reconciliation and non-replayable
unknown outcomes.- Transient page views, typed page fields, guarded title/move/label operations,
native blog-post creation, and reliable mirror relocation fill out common
day-to-day page workflows.
Safer automation and writeback
ATL_READ_ONLY=1(or global--read-only) protects an entire shell process:
mutating commands are rejected before credentials, stdin or network access.- Machine-readable errors now include stable
kindandremediationfields. - Jira field files, plans, worklogs, watchers and Confluence titles, moves,
labels and plans use proposal hashes, fresh-state gates and reconciliation;
ambiguous writes are never automatically replayed. - HTTP authentication is origin-scoped, HTTPS downgrade and userinfo URLs are
rejected, sensitive query values are redacted, and unsafe write retries were
removed. - Mirror I/O is root-contained across path segments, shared state updates are
serialized, pagination anomalies fail closed, and spreadsheet formulas are
neutralized in CSV output by default.
Agent onboarding and documentation
- Private local profiles can retain consent-gated workflow and render
preferences without observing user history automatically. - Jira and Confluence skills now teach an evidence-first workflow, compact
discovery, inherited read-only guards and guarded apply cycles. - Context7 follows the release-only
stablebranch and exposes versioned
documentation for this tag. - Release binaries report their exact commit and clean/dirty build provenance;
signed checksums and GitHub build attestations remain the trust boundary.
Notable beta contract changes
- List commands use
--columnsand the shared IssueList projection instead of
the former duplicated--fields/TSV surfaces. - Structure export now emits the normalized snapshot contract. Use
jira structure pull-issueswhen raw Jira snapshots or an issue limit are
required. - Explicit
-o textnow returns exit 2 when a command has no documented text
projection instead of silently falling back to JSON. - Formula-safe CSV is now the default; use
--raw-csvonly for a trusted
machine consumer that requires untouched leading=,+,-or@. - Derived Jira and Confluence Markdown views are versioned and validated. They
are staging views, not the native write substrate; native.wiki/.csf
remains the recovery and synchronization boundary.
Verification
The release is built for Linux and macOS on amd64/arm64. CI runs unit, race,
lint, vet, vulnerability, CodeQL, plugin synchronization and Context7 corpus
checks. The release workflow signs the update manifest, publishes SHA-256 files
and SLSA build attestations, then updates the Homebrew tap and release-bound
Context7 documentation.
Full details: CHANGELOG.md
All merged changes: v0.3.0...v0.4.0
v0.3.0
What's Changed
- fix: Data Center-compatible endpoints for conf page history & jira field-options by @isukharev in #11
- feat: richer, better-tested CSF→Markdown rendering by @isukharev in #12
- feat: Cloud-CLI parity — agent-friendly output, Jira & Confluence commands, hygiene by @isukharev in #13
- docs: keep the shipped plugin (skills) in sync with the CLI by @isukharev in #14
- chore: add GitHub issue-first agent workflow and Codex devcontainer by @isukharev in #22
- feat: improve Jira analytical snapshots by @isukharev in #24
- fix: preserve Confluence table semantics by @isukharev in #31
- docs: add setup and mirror hints by @isukharev in #32
- feat: add jira structure read-only commands by @isukharev in #33
- feat: add jira compact exports by @isukharev in #34
- feat: add jira planning quality report by @isukharev in #35
- docs: design guarded jira writeback by @isukharev in #36
- fix: tolerate structure owner variants by @isukharev in #38
- test: add CLI live smoke target by @isukharev in #40
- feat: extract Confluence tables by @isukharev in #42
- feat: add Structure issue export by @isukharev in #49
- feat: add Jira refs and epic tree by @isukharev in #50
- feat: add Jira link suggestions by @isukharev in #51
- feat: add guarded Jira plan apply by @isukharev in #52
- feat: add Jira compatibility filters by @isukharev in #53
- feat: add sanitized mirror manifests by @isukharev in #54
- test: remove synthetic email addresses by @isukharev in #55
- fix: exit 2 and no panic on unresolvable conf push target by @isukharev in #57
- docs: fix stale comment syntax and complete exit-code tables by @isukharev in #61
- fix: match existing issue links by canonical type name for idempotent plan apply by @isukharev in #59
- fix: reject oversized stdin bodies instead of silently truncating by @isukharev in #70
- fix: surface the 2000-page space cap in conf pull --space and space tree by @isukharev in #72
- fix: paginate jira comment list and conf page history; reject corrupt cursors by @isukharev in #74
- docs: skill reference drift — exit code 8, loud CQL cap by @isukharev in #82
- feat: jira issue assign — first-class assign/unassign by @isukharev in #83
- docs: teach agents the body syntax — wiki-markup + CSF authoring references by @isukharev in #84
- docs: dev-loop recipe — driving a ticket from a coding agent by @isukharev in #85
- docs: token-hygiene guidance for Jira reads by @isukharev in #87
- docs: editing-existing-CSF tips — kill the exact-match flail by @isukharev in #90
- feat: conf edit — whitespace/invisible-tolerant replacement for CSF by @isukharev in #92
- feat: conf validate — advisory invisible-chars warnings by @isukharev in #94
- docs: situational technique selection for CSF editing by @isukharev in #96
- feat: csf element byte offsets + block-segmented markdown render by @isukharev in #102
- feat: markdown-to-CSF converter for the supported block subset by @isukharev in #103
- feat: conf apply — block-level three-way merge from .md into .csf by @isukharev in #104
- docs: md-first editing loop + apply fixes (closes the md edit surface initiative) by @isukharev in #105
- feat: merge styled-table edits row/cell-wise in conf apply by @isukharev in #107
- docs: document the headless-agent benchmarking methodology by @isukharev in #110
- feat(skills): consent-based friction reports by @isukharev in #111
- build(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #15
- build(deps): bump actions/setup-go from 5.5.0 to 6.5.0 by @dependabot[bot] in #16
- feat: add conf page create --from-md by @isukharev in #113
- feat: add jira --from-md via fail-closed md-to-wiki converter by @isukharev in #115
- fix: report jira 409 as generic conflict, not version conflict by @isukharev in #116
- fix: reject stray positional args on flag-only commands (exit 2) by @isukharev in #117
- docs: pipe short markdown bodies via stdin in the jira skill by @isukharev in #120
- fix: refuse body-from-stdin on an interactive terminal instead of hanging by @isukharev in #118
- feat: add jira issue edit for one-command targeted description edits by @isukharev in #122
- fix: divert colliding page slugs to id-suffixed dirs instead of overwriting by @isukharev in #123
- fix: make mirror sidecar atomic, loud on corruption, and single-load per pull by @isukharev in #124
- fix: replace stale md read-view with a stub when a body fails to parse by @isukharev in #125
- fix: drop redundant per-issue refetch in jira pull and surface snapshot write errors by @isukharev in #126
- fix: stream attachment downloads to disk with inactivity-bound transfers by @isukharev in #127
- test: pin insecure-URL ErrUsage exit code through the wire constructors by @isukharev in #128
- feat: ship workflow recipe skills in the plugin by @isukharev in #130
- feat: add Codex plugin packaging by @isukharev in #132
- feat: lock plugin versions to CLI releases + version-skew guard by @isukharev in #135
- docs: expand AGENTS.md with mirrored project invariants by @isukharev in #136
- chore: prepare v0.3.0 release by @isukharev in #137
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Security & robustness hardening from full code review by @isukharev in #6
- feat: add Claude Code plugin (marketplace + atl/setup/confluence/jira skills) by @isukharev in #7
- test: harden the test suite (fuzzing, contracts, security boundaries, CI coverage) by @isukharev in #8
- feat: interactive 'atl auth login' setup wizard by @isukharev in #9
- feat: smoother onboarding & scripting DX (exit-7 config, JSON errors, mirror-root, CQL-cap, Homebrew, docs) by @isukharev in #10
New Contributors
- @isukharev made their first contribution in #6
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
- Bump golangci/golangci-lint-action from 8.0.0 to 9.2.1 by @dependabot[bot] in #1
- Bump github/codeql-action from 3.29.4 to 4.36.2 by @dependabot[bot] in #2
- Bump actions/attest-build-provenance from 2.4.0 to 4.1.0 by @dependabot[bot] in #3
- Bump actions/checkout from 4.2.2 to 7.0.0 by @dependabot[bot] in #4
New Contributors
- @dependabot[bot] made their first contribution in #1
Full Changelog: https://github.com/isukharev/atl/commits/v0.1.0