Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 08:17
· 607 commits to main since this release
19b36e2

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 | sh

Manual 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 digest assembles status/DoD fields, field history, child status
    distribution, comments, blockers, references, staleness and bounded linked
    Confluence sections into one deterministic result.
  • jira issue fields returns compact non-empty named fields by default and
    offers value-free --metadata-only discovery for low-token/private workflows.
  • jira issue history and jira issue refs now 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/full views 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.json

After 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 diff compares native CSF semantically and offline, separating
    meaningful block changes from byte-only differences.
  • conf plan create/preview/apply provides 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 kind and remediation fields.
  • 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 stable branch 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 --columns and the shared IssueList projection instead of
    the former duplicated --fields/TSV surfaces.
  • Structure export now emits the normalized snapshot contract. Use
    jira structure pull-issues when raw Jira snapshots or an issue limit are
    required.
  • Explicit -o text now 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-csv only 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