Skip to content

v1.33.0

Choose a tag to compare

@ytspar ytspar released this 01 Jul 09:25
6ab39ed

1.33.0 (2026-07-01)

Features

  • accept --parent as alias for --parent-ticket (#97) (d26233c)
  • auth: add OAuth 2.0 (PKCE) authentication (#18) (4e3b59f)
  • auth: migrate command call sites to OAuth-aware getActiveAuth (#19) (76c7e8d)
  • auth: wire OAuth into FileService (last unmigrated auth path) (#20) (57a3d59)
  • branch: add branch validate subcommand (team-validity gate) (#194) (477c732)
  • cli: add cli-introspect + validate-flag for SKILL.md flag-name linting (#76) (5e97d5d)
  • comments: add 'comments delete' + lock multi-element update parity (DEV-4306) (#127) (4dafdef)
  • comments: enforce --body/--body-file mutual exclusivity + document body-file (DEV-4450) (#143) (262e017)
  • comments: rename --file to --body-file on create and update (#110) (61caf88)
  • comments: report mention resolution + warn on unresolved @names (DEV-4987) (#186) (64a3988)
  • config: add 'config migrate-from-personal' to slim against team (DEV-4458) (#141) (c93a096)
  • config: add config team subcommand for wiring shared team config (DEV-4104) (#114) (371e7b7)
  • config: add team/local config split with local.json (DEV-4172) (#108) (95bebab)
  • config: auto-discover team config from ~/.config/el-tools-root marker (DEV-4258) (#116) (414aba9)
  • config: support shared team config file layer (ea3f282)
  • defaults (assignee, priority), disk cache, wizard prompts, team OAuth config (#22) (0525c2f)
  • discovery: URL/slug project resolution + truncation warning + CLI-first rule (#100) (29ea130)
  • enrich issues create validation errors with team-scoped suggestions (#98) (763a495)
  • enrich: route project resolver failures through team-scoped enrichment (DEV-4135) (#101) (db6c81d)
  • filters: add --name to users/labels/projects list, --state/--exclude-state/--active to projects list (#36) (a52f005)
  • format: add --format summary for human-readable output (#28) (2bdf3d2)
  • init: interactive setup wizard (linctl init) (#7) (23c62f8)
  • issue-id: accept bug/ and spike/ branch prefixes (DEV-4777) (#167) (00c500f)
  • issue-id: accept codex/ branch prefix (DEV-4660) (#160) (800418c)
  • issues read: add --sections for multi-section extraction (DEV-4479) (#145) (eeb9a0f)
  • issues: accept relation flags on issues update (DEV-4201) (#111) (afa05c5)
  • issues: add --field flag to issues read for markdown section extraction (ALL-940) (#71) (404002f)
  • issues: add --quiet and summary output to issues relate (DEV-5081) (#191) (8aaa102)
  • issues: add issues tree <ID> for depth-N parent→children walks (DEV-4480) (#149) (19ebdbb)
  • issues: add duplicate-detection gate to issues create (DEV-4823) (#171) (bb830f5)
  • issues: auto-claim on branch creation (DEV-4500) (#155) (530ffa1)
  • issues: default --include-closed off on list/search (DEV-4478) (#146) (5edf798)
  • issues: emit dup-gate blocked/overridden telemetry events (DEV-4834) (#174) (18afcd3)
  • issues: record branch.<branch>.linearIssue marker on branch creation (DEV-4293) (#128) (be59c1d)
  • output: add WindowedMeta type to the shared output envelope (DEV-4668) (#163) (ed9e448)
  • output: expose @enrichlayer/el-linear/output secondary entry point (DEV-3799) (#125) (fb989b0)
  • profiles: legacy config detection + migrate-legacy command [ALL-922,ALL-923] (#17) (4536396)
  • profiles: switch between multiple Linear workspaces (#15) (0bd6c37)
  • projects: add --team filter to projects list (DEV-4165) (#104) (e7c5e0e)
  • projects: add projects read subcommand (DEV-4610) (#158) (cd33b33)
  • read,writes: add --body raw-description output and --quiet one-line write confirmation (DEV-4650) (#157) (b6baf62)
  • read: add --with relations opt-in include (DEV-4476) (#148) (86d4268)
  • read: batch issues read <id...> into a single GraphQL call (DEV-4477) (#147) (d0fc818)
  • refs wrap: auto-detect positional file argument (DEV-4077) (#94) (1dc2155)
  • refs: add wrap subcommand with markdown + slack emitters [ALL-917] (#10) (16ceea9)
  • resolver: registry resolution for --delegate + batch assignee (DEV-4872) (#178) (988430d)
  • resolver: route --subscriber through the identity registry (DEV-4880) (#182) (f33d238)
  • search: emit relation_candidates confirmation prompt (DEV-4494) (#168) (69e5415)
  • summary: --format summary honors --fields projection (DEV-4750) (#166) (3b46ac9)
  • validation: per-team type-label set; DEV uses research not spike (DEV-4084) (#124) (dcaf178)
  • workspace: --workspace-url-key flag + EL_LINEAR_WORKSPACE_URL_KEY env (ALL-920) (#67) (9ced5d4)

Bug Fixes

  • append/insert '--' separator on git checkout/branch invocations (DEV-4064) (#83) (3b74370)
  • auth: serialize OAuth refresh against concurrent CLIs (ALL-931) (#32) (f569221)
  • bump CLI version string to 1.4.0 (matching package.json + tag) (#16) (77e7c16)
  • comments: add bodyData fallback to update (parity with create) (DEV-4261) (#119) (c54cd8e)
  • comments: emit Linear-native prosemirror schema names (DEV-3785) (#117) (4d267e6)
  • dup-detection: stopword tool-name boilerplate to cut false positives (DEV-4830) (#173) (3b195b6)
  • introspect: add --check-flag option + explicit return after process.exit (#79) (ebba3f8)
  • issues: batch-resolve null-filter no-op breaks --project & label resolution (#106) (d9cbe5c)
  • issues: exclude duplicate-typed states from default list/search (DEV-4879) (#179) (5cf6852)
  • issues: make gate telemetry opt-in for open-source installs (DEV-4839) (#176) (760b313)
  • issues: reject a nonexistent UUID --project with a clear error (#107) (dddcdcf)
  • issues: resolve full-name --assignee in list/search (DEV-4312) (#129) (a95cd6a)
  • network: prefer IPv4 for API calls to survive broken-IPv6 networks (DEV-4415) (#136) (1ff9290)
  • profile: atomic writes for migrate-legacy (ALL-932) (#30) (01131d1)
  • projects: scope --project name resolver by --team (DEV-4103) (#123) (3c72a23)
  • projects: surface active projects, support --all, warn on truncation (DEV-4175) (#113) (c03ffd3)
  • refs: share protected-range scanner between wrap + extract (ALL-933) (#33) (9405eca)
  • sanitize OAuth refresh error body at source (DEV-4065) (#87) (1e11ac0)
  • security: close 4 adversarial findings + read --version from package.json (#75) (2c429f1)
  • security: OAuth callback + headless paste + data-file allowlist + rate limit (ALL-935 batch 2) (#37) (403a38a)
  • security: redaction + scheme allowlist + unicode mentions (ALL-935) (#35) (5c344e9)
  • security: snapshot oauthStatePath + profile-keyed loadConfig cache (ALL-935 deferred) (#46) (e614bff)
  • serialize init wizard config writes with file lock (DEV-4066) (#88) (b32ebe1)
  • summary: capture kind before --fields/--raw strip signature fields (ALL-933) (#66) (d7a404f)
  • summary: sanitize terminal output + harden numeric edges (ALL-934) (#31) (3d1535a)
  • validate EL_LINEAR_WORKSPACE_URL_KEY env + config urlKey shape (DEV-4067) (#85) (52307c7)