Releases: anegg0/linear-emacs
Release list
v1.2.0
Summary
This release introduces a major architectural improvement with async-first API operations, along with bug fixes for org-mode integration and configurable issue states.
Major Changes
Async-First Architecture
- Refactored API layer to use non-blocking async operations by default
- Added
linear-emacs--graphql-request-asyncas the primary API method - Implemented progress reporting for long-running operations with
linear-emacs--progress - Added request tracking system with
linear-emacs--active-requestscounter - Refactored core functions to async:
get-teams,get-issues,get-states - Implemented recursive pagination with callbacks for efficient issue fetching
- Maintained backward compatibility with synchronous wrapper functions
- Added customization variables:
linear-emacs-async-default,linear-emacs-progress-messages
This resolves UI blocking issues, preventing Emacs from freezing during network operations.
Bug Fixes
- Fixed issues with
org-todo-listintegration - Fixed configurable issue states handling
Documentation
- Updated README to document async-first architecture
- Added comprehensive async development guidelines
- Added testing checklist for async functionality
Configuration
New customization variables available:
;; Enable async operations by default (default: t)
(setq linear-emacs-async-default t)
;; Show progress messages during operations (default: t)
(setq linear-emacs-progress-messages t)Credits
Thanks to @loispostula for contributions to this release.
v1.1.0 - Project Management Support
Release v1.1.0 - Project Management Support
New Features
Project Management Integration
- Full Linear Project Support: View, create, and manage Linear projects directly from Emacs
- Project-Issue Association: Link issues to projects and navigate between them
- Org-mode Integration: Projects are displayed with proper org-mode formatting for better readability
- Interactive Project Selection: When creating issues, you can now select from available projects in your workspace
Bug Fixes
- Fixed remaining Elisp compilation warnings for cleaner package installation
- Resolved function naming inconsistencies
Other Changes
- Added Codeberg as an alternative repository mirror
- Minor code cleanup and improvements
Installation
For new users:
(use-package linear-emacs
:straight (:host github :repo "anegg0/linear-emacs")
:config
(setq linear-api-key "your-api-key-here"))Full Changelog: v1.0.1...v1.1.0
Version 1.0.1
Changelog for linear-emacs v1.0.1
[1.0.1] - 2025-01-20
Changed
- Renamed package from
linear.eltolinear-emacs.elto follow Emacs package naming conventions - Updated all function and variable prefixes from
linear-tolinear-emacs-for package consistency - Changed package summary to remove redundant "Emacs" reference
- Fixed lambda variable naming to avoid reserved symbol
t
Fixed
- Resolved all package-lint errors and warnings
- Corrected license references in README.md from MIT to GPL-3.0
- Fixed LICENSE file reference in README.md (was incorrectly referencing LICENSE.txt)
- Updated defgroup prefix to match package name
Documentation
- Updated all function names in README.md to use new
linear-emacs-prefix - Updated all function names in CLAUDE.md to use new
linear-emacs-prefix - Synchronized version number across all files (1.0.0 → 1.0.1)
MELPA Preparation
- Created MELPA-compatible recipe file
- Ensured all dependencies (request, dash, s) are available in MELPA
- Package now meets all MELPA submission requirements
Version 1.0.0
Changelog
All notable changes to linear-emacs will be documented in this file.
[1.0.0] - 2025-01-20
Initial Release
Linear-emacs is an Emacs/Linear.app integration package to manage Linear issues without leaving Emacs (or close).
Features
Core Functionality
- Full Linear API Integration: Interact with Linear's GraphQL API directly from Emacs
- Issue Management: List, view, and create Linear issues without leaving Emacs
- Team Support: Select teams, view team members, and manage team-specific workflows
- Rich Issue Creation: Create issues with titles, descriptions, priorities, assignees, estimates, and labels
- Workflow State Management: Support for all Linear workflow states (Todo, In Progress, In Review, Backlog, Blocked, Done)
Org-Mode Integration
- Bidirectional Synchronization: Sync between Linear.app and org-mode
- TODO State Mapping: Automatic mapping between Linear workflow states and org-mode TODO states
- Live Updates: Changes in org-mode automatically propagate to Linear (and vice versa)
- Filtering: Only syncs active issues (excludes completed issues for better focus)
- Asynchronous Updates: Background synchronization for improved performance
User Experience
- Secure API Key Management: Support for environment variables and auth-source integration
- Customizable Output: Configure where Linear issues are stored in your org directory
- Debug Mode: Built-in debugging for troubleshooting API interactions
- Pagination Support: Handles large numbers of issues
- Priority Mapping: Maps Linear priorities to org-mode priorities (Urgent→A, High→B, Medium→C, Low→D)
Technical Details
Commands
linear-list-issues- Fetch and display assigned issues in org formatlinear-new-issue- Create new issues with full attribute supportlinear-test-connection- Verify API connectivitylinear-toggle-debug- Enable/disable debug logginglinear-check-setup- Validate configurationlinear-enable-org-sync- Enable automatic synchronizationlinear-disable-org-sync- Disable automatic synchronizationlinear-load-api-key-from-env- Load API key from environment
Dependencies
- Emacs 27.1+
- request.el 0.3.0+
- dash.el 2.17.0+
- s.el 1.12.0+
📝 Configuration
Basic setup:
(require 'linear)
(setq linear-api-key "your-api-key") ; Or use auth-source/env variable
(setq linear-org-file-path (expand-file-name "gtd/linear.org" org-directory))Getting Started
- Install the package and its dependencies
- Set up your Linear API key (via customization, environment variable, or auth-source)
- Run
M-x linear-test-connectionto verify setup - Use
M-x linear-list-issuesto fetch your assigned issues - Enable
linear-enable-org-syncin your linear.org buffer for bidirectional sync
Acknowledgments
Created by Gael Blanchemain who'd rather stay in Emacs than deal with other sleazy-corporate "Apps".
📄 License
Released under the GNU General Public License v3.0 or later.
For more information, bug reports, and contributions, visit: