Today we're rolling out the new search experience which features a more accurate search that searches over issue titles and descriptions as well as expanded functionality.
This new search experience replaces, improves, and consolidates all of our previous search options. It's your new go-to place to quickly find an issue with keywords or by typing its ID, for example,
LIN-123. Search terms are highlighted in the list of results to make relevant issues easier to find. Search now also surfaces archived and recently deleted issues. Your recent searches will show up on the search start page, too.
Search is designed to be quickly accessed using the / keyboard shortcut. You can use the new button in the main sidebar which replaces the previous search input box. You can also type
search in the command line to launch it.
Another addition is that we show recently viewed issues on the search start page, which are a convenient shortcut to open an issue. This new feature also comes with a new key binding OI. Try it out!
idis being deprecated, but will return the first attachment with a matching URL for a transition period.
This week we've been focusing on larger upcoming functionality, so we only have minor fixes and improvements.
Working with your customers is key to high-performing product teams. As companies scale, much of the customer requests are piped into customer success tools such as Zendesk. This is why we're excited to add Zendesk to Linear's growing set of integrations.
Your customer success teams can now quickly file bug reports into Linear from within Zendesk and link feature requests to existing issues. We also added automation which re-opens and updates Zendesk tickets after the issue has been resolved (or canceled), so your customer success team can get back to the customer to update them on the progress. The integration makes it easier for your product team to prioritize their work based on customer needs and build a tighter feedback loop with your customers.
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
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.
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.
We have changed Linear's command menu (Cmdk) 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.
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!
Last year we announced auto-closing and auto-archiving of issues. Now we are extending the auto-archive feature to projects and cycles.
One of the core principles behind the Linear Method is to "keep a manageable backlog." This applies to issues as well as cycles and projects, and adding sensible automation to help you achieve this lets you focus on the things that really matter.
If a project or cycle has been completed more than X months ago (this time period is configurable) and all the issues inside it have been archived, the project or cycle will also be archived. The feature is automatically enabled for all teams that have auto-archiving for issues set up. If you want to enable it for your team or change auto-archiving settings, navigate to Settings > Team > Workflow.
We made it possible to delete issues. Sometimes issues are created by mistake, and it makes no sense to keep them in the system. You can now delete them by pressing ⌘⌫ (or ⌦ for Windows and Linux users). Deleted issues will be available in the "Recently deleted" view which you can find through the command menu. Issues are permanently deleted after 14 days.
As part of this change, we removed the option to manually archive issues. We found that most users used the archive as a trash can for issues that they wanted to delete. At the same time, auto-archiving puts older completed issues inside the archive, which meant the archive served two disparate purposes.
We wanted to make the concepts around archiving and deleting issues more straightforward. We think that the archive is something that Linear should manage for you while deleting issues is your own choice.
As your company grows, you'll likely need to restrict access to a portion of your issues. For example, one team might be working on something that is supposed to be a surprise to the rest of the company, or the team might be forced to sign NDAs with an integration partner and keep details of their work hidden even from the rest of the company.
Whatever your reason to hide some issues from the rest of the workspace, you can now create private teams and have more fine-grained control over who can join the team.
When you create a private team or make an existing team private, you become the owner of the team. Only the team owner and workspace admins can invite users to private teams, and only active team members can see issues in a private team. To control access, we have a new members section under team settings.
A couple of months ago, we launched importers in preview, allowing you to quickly import your issues, labels, projects, epics, and more from Jira, GitHub, Asana, and Clubhouse directly into your Linear workspace. Since then, we have continued to improve the importing experience. You can now customize how you would like to import issues and team members, as well as see a preview of what data will be imported with the new migration assistant.
If you are an admin, visit your workspace's import settings to get started.
Speed is a feature. While we try to pay attention to performance when adding new functionality, regressions and unoptimized codepaths do happen. Now and then, we look at critical aspects of the application and refactor, or re-architect portions of our tech stack to become more performant.
This time around, we took a look at startup performance for pre-warmed clients. With pre-warmed, we mean clients that spin up for a subsequent time and thus already have all the workspace data stored in the local database. Pre-warmed startups account for most sessions, making it a great candidate for us to sink our teeth into.
We concentrated our efforts around the following:
This resulted in a big improvement in startup performance and memory consumption, especially on Safari and other browsers and our desktop applications. On our own workspace, which has around 4000 issues and hundreds of projects, we saw the following improvements:
We have improved code bundling by targeting only modern browsers, better dead code elimination, and code splitting. We've also made sure to preload code before it's needed. This means we load around 50% less code (30% when compressed). This results in ~10-30% faster page load times from a cold cache, depending on network speed.
Keyboard shortcuts are frequently used and loved by our power users. They let you control all of the common (and much of the less common) functionality of Linear and make the application a lot faster to use. To get more users using keyboard shortcuts, we've redesigned our keyboard shortcuts help screen and made it searchable. You can press?to bring up the help window, or you can press the Help & Feedback section at the bottom of your sidebar and then select Keyboard shortcuts.
We've updated our desktop applications to support both Apple's latest M1 chips and Windows. Downloading the M1 binary will let you run Linear's macOS desktop application without emulation, making the app run faster. To update your existing macOS application, or to download for Windows, head over to linear.app/download.
We've added a new section to the workspace settings to give you an overview of what features and integrations you've enabled for your workspace. The overview page also contains links to documentation for each of these features and integrations.
Two weeks ago we introduced a new UI for creating issues as a Linear Preview feature. Since then we have made a whole bunch of improvements and bug fixes and today we enabled the new UI for everyone.
To recap, we wanted to make it faster and more effortless to create issues from anywhere in the app. With the new UI, you stay in the view you are in so that you don't lose context. You can easily create multiple issues by toggling the Create more option. When you do, any issue fields applied such as labels or projects will carry over to the newly created issues. If you need to look something up while creating your issue, you can navigate away from it and the issue will be saved as a draft automatically. We've moved the "New issue" button to the sidebar and made it easier to apply issue templates. We also made it possible to choose which team to assign the issue while editing it.
If you prefer the old UI, use the keyboard shortcut V instead of C to open the issue editor in full screen mode. The new UI has updated keyboard shortcuts that you can take while in the editor:
Ctrl⇧T Set team
Ctrl⇧S Set status
Ctrl⌥⇧P Set priority
Ctrl⇧A Set assignee
Ctrl⇧A Add labels
Ctrl⇧P Add to project
Ctrl⇧P Add to cycle
Ctrl⌥⇧T Apply issue template
Ctrl⇧T Open full view
⌘Enter to save issue
⌘⌥Enter to save then open issue
⌘⇧Enter to save issue then create a new one
Click on ··· to set parent issue or add due date
We have also updated our developer documentation:
We have updated our Zapier integration to include better support for issue comments. With the latest Linear application in Zapier, you'll be able to trigger zaps from newly created comments, and you'll also be able to create comments for issues. We also simplified the payloads for create actions.
comments:create, for adding comments
We have added a new interface for creating issues.
Adding issues in Linear has so far required you to navigate to a separate "New issue" page. This can become frustrating if you want to quickly add multiple issues or if you need to look around to find other things inside Linear to reference while writing your issue description.
This is why we built a new interface for creating issues that makes it super simple and fast to add issues from any screen in the app without losing context. The new issue creation UI also has automatic issue drafts, so you can easily pick up where you left off if you get sidetracked or need to look something up in the middle of writing your issue.
We also moved the "New issue" button to the sidebar. You can more easily add a template when writing issues by clicking on the icon in the new issue editor. Toggle the Create More button so that when you press Save, we open up a new draft issue.
While we iron out the last kinks, this is a Linear Preview feature. You can enable "New issue create UI" for your organization by pressing Cmd/Ctrl+K in Linear and searching for "preview". If you have any feedback on this or any other feature, don't hesitate to reach out to us.
If you're new to Linear and are coming from a different issue tracking application, we're working on making it easier to import your existing data into Linear.
You can now quickly import your issues, labels, projects, epics, and more from Jira, GitHub, and Clubhouse directly into your Linear workspace. If you are an admin, visit your workspace's import settings to get started.
We are continuing to work on this feature to make it more robust. We're also considering adding support to import issues from other applications. If you have feedback or a feature request, please share it with us in Slack or via the Help + Feedback modal. In the meantime, you can still import issues from Asana, Trello, and Pivotal Tracker with our command-line tool.
We want to allow you to view your issues in a way that fits your workflow, which is why we added View options and Views. To further improve this, we have added the option to group issues by status (default), project, priority, estimate, assignee, cycle, or no grouping.
Grouping is available on single-team list views, for both default views and custom ones.
Linear's Google Sheets integration is now available for all customers. Previously limited to Standard and Plus plans, we decided to make it available for everyone as we want even smaller teams have access to all integrations. Sheets integration syncs your issue data into a Google Sheet document periodically which allows for easy creation of custom analytics in the most common programming language out there–the spreadsheet.
This week we're adding more options to our webhooks which can be used to build realtime updating applications on top of Linear's API. Previously we sent updates for all of a team's issues and comments to registered webhooks. This was wasteful if the developer only cared about issues and not about comments. Now you can select which resource type change notifications you want to receive. But wait, there's more! We have added more update types: issue labels, comment reactions, cycles and projects. Webhooks can now also be named to make them easier to identify.
We're working on more API-related updates and would love to hear your feedback in the
#api channel in our community Slack.
users) to make it easier to get lists of teams and their users