Skip to content

Releases: smorinlabs/agent2linear

agent2linear v1.0.0

Choose a tag to compare

@smorin smorin released this 15 Aug 05:13
56f15fe

agent2linear v1.0.0

This is the coordinated v1 release of the M33-M36 work: label and project lifecycle management, raw-cursor pagination, issue and project comments, and the publishable CLI automation contract.

Highlights

  • Workspace-aware configuration now has explicit --config selection, project-local routing, debug/verbose/quiet controls, and a no-input path for noninteractive automation.
  • Issue and project comments support add/list, reply targets, body files or stdin, dry-run planning, stable JSON results, raw cursor continuation, and cursor history.
  • Issue-label and project-label lifecycle management includes bounded and exhaustive raw-cursor listing, lifecycle state controls, guarded writes, and JSON or human output.
  • Project trash/untrash uses Linear's supported archive lifecycle.
  • The named M36 command inventory separates stdout result data from stderr diagnostics and provides classified exits for scripting.

Breaking changes

  • Node: v1 supports Node.js 22 and 24 and declares >=22; Node 18 and 20 are no longer part of the supported contract.
  • Version: package, lockfile, CLI, CI, tag, and registry are aligned at 1.0.0; a2l --version and a2l -V print exactly agent2linear 1.0.0 to stdout and exit 0.
  • Credentials: literal --api-key argv input is removed. Use --api-key-file <path|->, named workspace environment variables, profile env files, or the local secrets registry. Raw config apiKey argv input is rejected.
  • Comments: replace issue comment <identifier> with issue comment add <identifier>.
  • Result selection: changed issue/project/comment/label commands use -o, --output and --json; changed list JSON results are resource envelopes rather than bare arrays. Consult command help before replacing selectors on a legacy command.
  • Labels: use issue-labels and project-labels; the old labels|lbl listing form is only a migration shim. --all exhausts pages, while --include-retired explicitly widens label lifecycle scope.
  • Alias clear: -y, --yes is the explicit consent flag. Use --dry-run to inspect before a real deletion.

Safety and automation

Pagination uses opaque raw cursors: place pageInfo.endCursor in --after for the next page, or use --all for remaining pages. cursor-history stores local continuation context; use --no-cursor-history where retention is not wanted.

For the named M36 mutation inventory, --dry-run performs neither remote Linear writes nor local state/config writes and does not prompt. Successful result data belongs on stdout, diagnostics on stderr. Scripts should use JSON envelopes and classified exit status rather than parsing human text.

Security

  • Literal API keys are no longer accepted through argv or config mutation argv; file, stdin, named environment, profile env-file, and local secrets sources replace them.
  • Credential stdin cannot be shared with another input consumer, and diagnostics/debug context redact key-like values before rendering.
  • The tag workflow is the sole npm publisher. Its GitHub-hosted npm environment job used OIDC trusted publishing and provenance without a long-lived npm publish token; no local publish was performed.
  • The release workflow's production dependency audit reported zero vulnerabilities.

Compatibility boundaries

This release has explicit accepted exceptions and waivers, including retained legacy selectors outside the named command inventory, existing config/auth layering, environment naming, JSON config, and other compatibility surfaces. See CONFORMANCE.md for the complete list and ownership.

Verification

For old-to-new command replacements and migration detail, see the v1.0.0 migration guide.

v0.24.1

Choose a tag to compare

@smorin smorin released this 04 Nov 06:44
  • chore: Update to README and publish 0.24.1 8434f97
  • chore: Rename package to agent2linear with a2l alias for v0.24.0 171ec3e
  • fix: Resolve IT-003 and IT-005 by updating workspace aliases 4a789ad
  • fix: Implement bug fixes from BUGS_TEST_ANALYSIS.md 8dc6699
  • docs: Mark M15.6 git release tasks as completed 28d49da

v0.24.0...v0.24.1