Releases: linearis-oss/linearis
Releases · linearis-oss/linearis
v2026.4.6
Full Changelog: v2026.4.5...v2026.4.6
Fixed
- enforce strict team-scale estimate validation for
issues create --estimateandissues update --estimate, including hard fail when team estimates are disabled (notUsed)
v2026.4.5
Full Changelog: v2026.4.4...v2026.4.5
Added
- Initiatives domain support — new
initiativescommand group with typed GraphQL operations, service layer CRUD/relation/project-link flows, resolver ID translation, and CLI usage metadata wiring - Issue attachments management — new
attachmentscommand group (list,create,delete) andissues read --with-attachmentsfor embedded issue attachment expansion #55 - Reusable numeric option parsing — shared integer parsers for issue CLI flags to standardize validation and option handling
- Retry backoff for transient API failures — exponential retry delays for retryable HTTP/GraphQL failures
Fixed
- Initiatives GraphQL operations now align with current schema shape and pagination behavior for relation/link lookups
- Initiative command surface corrected for sorting and update/create signatures to match implementation constraints
- Issue create/update now validate
--priorityand--estimatevalues early before resolver/service calls - Retry middleware now wraps only raw HTTP transport so retry classification inspects original status codes
- Auth error handling now discriminates empty catch paths explicitly for safer failure reporting
CI & Build
- Added CI guard preventing accidental
docs/plans/*.mdhistory in PR branches - Updated runtime dependency
@linear/sdkto v81 and refreshed non-major dev dependencies
Testing
- Expanded issue numeric validation test coverage and retry backoff timer coverage
- Added failing/coverage tests for multi-relation and initiative service/update flows
v2026.4.4
Full Changelog: v2026.4.3...v2026.4.4
Changed
- Restored the dedicated
issues search <query>subcommand while keepingissues list --query <query>as a deprecated compatibility path for one release window; both commands now share the same filter flags #121, PR#124
CI & Build
- Switched the publish workflow from
npm installtonpm cifor reproducible clean installs in CI PR#122
v2026.4.3
Full Changelog: v2026.4.2...v2026.4.3
Added
- Estimate support —
--estimateonissues create, and--estimate/--clear-estimateonissues updatewith scale-neutral descriptions and--estimate 0support PR#94
Fixed
- Replaced
postinstallwithprepareto fix broken consumer installs vianpm install -g linearis#120, PR#123
CI & Build
- Added
clean-publishto strip dev artifacts from published tarball PR#123 - Added smoke test for consumer package install PR#123
Documentation
- Updated contributing guide with publishing section and lifecycle hook policy PR#123
v2026.4.2
Full Changelog: v2026.4.1...v2026.4.2
Added
- Due date support —
--due-dateoption onissues create, and--due-date/--clear-due-dateonissues updatePR#119 - Project CRUD commands — new
project read,project create, andproject updatecommands with label and status ID resolution PR#118 - Comment management — new
comments list,comments reply,comments edit, andcomments deletesubcommands PR#81 - XDG_CONFIG_HOME support — token storage now respects
XDG_CONFIG_HOMEon Linux #73 - GitHub release automation — publish workflow now creates GitHub releases automatically PR#77
Fixed
- Migrated
moduleResolutionfromNodetoBundlerfor TypeScript 6 compatibility PR#107 - Added
prepackscript for git-based installs PR#80 - Updated
@linear/sdkto v80 PR#109 - Updated
commanderto v14.0.3 PR#103
Changed
- Standardized delete return types to
{id, success}across all delete operations PR#86
CI & Build
- Expanded CI matrix to test Node.js 22 and 24 PR#112
- Pinned publish workflow to minimum supported Node version PR#113
- Aligned action versions to v6 across CI and publish workflows PR#92
- Added content permission to CI workflow PR#99
- Added CODEOWNERS file for security review gates
Maintenance
- Updated TypeScript to v6, Vitest to v4,
@types/nodeto v24 - Updated dev dependencies (non-major)
- Disabled Renovate dependency dashboard
- Updated
.gitignoreto exclude generated files - Removed obsolete mise config and tasks
Documentation
- Replaced manual contributor list with contrib.rocks PR#102
v2026.4.1
Full Changelog: v2025.12.3...v2026.4.1
Breaking Changes
- Complete architecture rewrite to a strict five-layer architecture: CLI Input → Command → Resolver → Service → JSON Output. #45, #27, #43, #47, PR#49
embedscommands renamed tofiles—embeds download→files download,embeds upload→files uploadproject-milestonescommands renamed tomilestonessearchsubcommands merged intolist— useissues list --status ...instead ofissues search --status ...
Added
- Encrypted token authentication —
linearis auth loginopens Linear in the browser and stores the token encrypted in~/.linearis/token. New subcommands:auth login,auth status,auth logout - Issue relation flags —
--blocks,--blocked-by,--relates-toon issue update - Cursor pagination —
--afterand--limitflags on all list commands - Assignee resolution —
--assigneeflag resolves by name or email usagesubcommand on every command group for self-documenting CLI help- Request timeouts — GraphQL API requests time out after 30 seconds, file download/upload after 60 seconds. Prevents indefinite hangs, especially important for LLM agent tool timeouts
- GraphQL Code Generator pipeline — queries and mutations defined in
.graphqlfiles undergraphql/, codegen produces typed DocumentNodes - Biome for formatting and linting (replaces previous setup)
- Lefthook git hooks with commitlint for conventional commit enforcement
- Security policy (
SECURITY.md) with responsible disclosure process - GitHub community templates — bug report form, feature request form, PR template
Fixed
- File download and upload commands now use proper error exit codes (exit 1) on failure instead of returning exit code 0 with a success envelope
Documentation
- Complete documentation rewrite for v2 architecture
- New docs:
architecture.md,development.md,testing.md,build-system.mdwith layer invariants, mock patterns, and service/resolver/command templates AGENTS.mdrestructured for machine-first readability with decision trees and anti-patternsREADME.mdrewritten for current CLI commands and agent optimizationCONTRIBUTING.mdexpanded with dev setup, testing, and architecture pointer- Removed obsolete 26k-line GraphQL schema dump and completed implementation plans
v2025.12.3
Full Changelog: v2025.12.2...v2025.12.3
Mini hotfix for v2025.12.2 🤷🏻♂️
Fixed
- Version string now read from
package.jsoninstead of being hardcoded
v2025.12.2
Full Changelog: v2025.11.3...v2025.12.2
Added
- New
embeds uploadcommand to upload files to Linear storage – thanks, @chadrwalters! PR#23 - New
documentscommands for Linear document management – thanks, @ralfschimmel! PR#21 issuescommands now include thebranchNamefield (the git branch name associated with the issue). #14- Diagnostic output for issue transform errors, showing raw API response and stack trace to help debug null field issues. #6
Breaking Changes
- Issue "status" flag renamed:
--state/--statesoptions renamed to--statusfor consistency with Linear's UI terminology. Thanks for the (appreciated but ultimately unused) PR, @ralfschimmel!issues search --states→--status(still accepts comma-separated values)issues update --state→--status(short flag-sunchanged)
Tooling
- Prepublish validation to ensure
dist/main.jsexists and is executable before publishing to npm - Cleaned up the tiny
pnpmvsnpmmess, it's nownpmall the things
2025.11.3
Full Changelog: 2025.11.2...v2025.11.3
Added
- New
teamscommand withlistsubcommand 🎉 – thanks, Chad! PR#13- Lists all teams in workspace with id, key, name, and description
- Results sorted alphabetically by name
- New
userscommand withlistsubcommand PR#13- Lists all users with id, name, displayName, email, and active status
- Supports
--activeflag to filter for active users only - Results sorted alphabetically by name
- Integration tests for teams and users commands PR#13
Fixed
- GraphQL orderBy error resolved by implementing client-side sorting for teams and users list commands PR#13
- Project name matching is now case-insensitive (using
eqIgnoreCase) for better UX PR#13
Documentation
- Added "Teams & Users" section to README.md with usage examples
- Updated docs/architecture.md, docs/development.md, and docs/files.md to reference new commands
2025.11.2
Full Changelog: 2025.11.1...2025.11.2
Now also available @ https://www.npmjs.com/package/linearis, like a big boi.
Added
- New
cyclesandproject-milestonescommands 🎉 – thanks, Ryan! PR#7 - The
issuescommands now include parent and child issue relationshipsparentIssuefield with{ id, identifier, title }for parent issue (if exists)subIssuesarray with{ id, identifier, title }for immediate child issues- Available in all issue commands:
read,list, andsearch
Fixed
issuescommands' embed parser now correctly ignores markdown URLs inside code blocks and inline code- Previously extracted URLs from code examples and documentation
- Ensures only actual embedded files are detected, not code examples
- All date/time fields now output in ISO 8601 format (
2025-11-09T23:00:00.000Z) instead of verbose JavaScript date strings - Under-the-hood stability bug fixes.