Smaller improvements and April 22 outage resolution
Linear addresses an April 22nd outage caused by a Postgres autovacuum process that lasted approximately 3 hours, and simultaneously ships smaller quality-of-life improvements across the application including private OAuth applications, improved command menu with issue ID support, and sub-issue status visibility.
April 22nd outage
On this Thursday, April 22nd we experienced a prolonged outage. The outage started at 7:25am UTC and lasted for roughly 3 hours during which time Linear was unavailable completely, or in offline mode which caused change syncing to be delayed.
The outage started due to an automatic vacuum process in one of the key tables in our Postgres database. We were getting close to running out of transaction IDs and Postgres forced an autovacuum on us even though the functionality was disabled for the table. Because we are running a managed Postgres instance on GCP, we weren't able to stop the autovacuum process and were forced to wait for it to complete. Once that issue was resolved, we encountered additional issues when trying to bring services online, due to the large number of clients trying to connect at the same time.
We are still investigating the exact details around this and plan to write a longer and more detailed post mortem once our investigation is ready. If you're interested in learning more, follow our Twitter for updates.
UPDATE: Post-mortem is now available
Smaller product improvements
We love launching big new features, but we also love making smaller quality-of-life improvements. This week we focused on smaller improvements across the application. Here are a few highlights.
Private OAuth applications
You can now restrict your OAuth applications to your own workspace by making them private. This is helpful if you have internal applications which rely on Linear as the data source and you need to support authentication for different users. Many services, like Retool, also support OAuth as an API authentication method out of the box as our implementation follows the standard patterns.
Open issue with ID in Linear command menu
We have changed Linear's command menu (Cmd+k) to now support opening a specific issue if you write, or paste, its ID to the menu. It even works with our git branch names so you can copy branch names from your terminal and quickly open the issue in Linear. This new implementation replaces issue search inside the command menu which we decided to remove as it was clunky to use and regular search (/) works better for that use case.
Sub-issue status in issue list
Inspired by a user suggestion on Twitter we replaced a sub-issues icon with the status of sub-issue completion in the sub-issues list. This should make it easier to scan and visualize progress. Thanks @maximmart!
Other fixes and improvements
Better performance when updating action on a large number of issues
We added a view option to hide completed issues from previous cycles
Fixed a few timezone options that didn't work (sorry about that, Indianapolis)
Board columns now scroll items into view when navigating with keyboard
Fixed roadmap editing using IME inputs
Fixed an issue where the new issue modal would open with old data
Fixed the display of the next billing date in billing settings
Improved the issue modal when used with on-screen keyboards
Fixed bug where GitHub automation didn't wait for all the open PRs to be merged until closing the issue
Fixed a bug that could cause Asana imports to result in an error
Fixed error when non-admins create a new team and copy properties from an existing team
Fixed the display of cycles in Inbox
The Linear bot will now post a comment with a linkback to the URL of the issue linked with a GitHub pull request even if you add the URL in the description
Fixed a bug that made it impossible to undo deleting an issue
Added more icons to choose from for Views and Projects
Added the team name to the title in the Recently Deleted page
Added a hint on how to enable manual sorting if you try dragging items in non-sortable lists
Fixed a bug where the status of default templates would not be applied for new issues
Linear Agent now offers adaptive routing to optimize model selection by task complexity, environment secrets support for secure dependency access, and open-weight model options including GLM. Teams can define custom project labels and statuses, assign project leads, use durable IDs for projects and initiatives, and automate workflows with new team-based triggers for onboarding and reassignment.
Loops, Linear's recurring agent workflows, now respond to more workspace activity including project, initiative, and cycle changes, can edit Linear documents and post updates to Slack. This helps teams automate coordination tasks like updating docs and keeping stakeholders informed when plans change.
Linear now offers a Priority tab that intelligently separates urgent notifications from less critical ones, preventing important items like release-blocking reviews from getting lost. Additionally, document editing is now available on iOS and Android, rich previews render in diffs, draft projects with Linear Agent for planning, and admins can approve third-party app access on paid plans.