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.