New updates and improvements to Linear.
Subscribe to updates   ·   Follow us on Twitter.


The team has been enjoying the summer by taking some well-deserved time off, and our skeleton crew has mainly been focusing on performance improvements, bug fixes, and other small improvements over the past weeks.

Fixes and improvements

  • Improved startup performance for large workspaces
  • Allowing attachments created from URLs to be added if we can't download an icon for them
  • Issue badges are now wider on large screens
  • Inviting multiple people to a workspace is now easier as the field accepts multiple email addresses at a time
  • Canceling an issue edit will only show a confirm prompt if there were changes
  • Allow Shift+ mouse wheel to scroll horizontally on the timeline
  • Added two settings to the Intercom integration to control when an internal note should be posted to an Intercom conversation based on the action that occurred to a linked issue
  • Filtering is now available in the Triage view
  • Triage issues are now shown in board view
  • You can now specify a title for attachments added from a generic URL
  • Improved error messaging for the Intercom integration if your organization only has private teams
  • Notifications can now be snoozed until any date or time by typing the date and/or time into the command menu once the snooze action has been selected
  • When deleting or snoozing a notification on the notification view using the shortcuts for the actions (D and H, respectively), you will now automatically move to the next notification in your inbox
  • The macOS desktop client will now properly display navigation controls in the issue list in smaller window widths
  • Suspended users can now be removed from projects
  • Closed GitHub issues are being correctly fetched to be imported with the migration assistant
  • Board issue widgets now show sub-issue counts
  • The tooltip for the "Triage" section in the sidebar now shows the correct navigation shortcut
  • Notifications can now be snoozed until any date or time by typing the date and/or time into the command menu once the snooze action has been selected
  • Issue history will now have an entry for issues that were imported. In addition, the original creator of the imported issue will also now be properly displayed.
  • Usage limit notifications will no longer be shown for files uploaded in the "Contact support" modal
  • Avatars from Clubhouse will now be properly displayed and imported during an issue migration
  • The sidebar section for teams you are not a member of has been renamed "Other teams" rather than "All teams"
  • API: Dates within attachment subtitles can now be formatted if the date is provided as a variable. Please see the docs for more details.
  • Attachments can now be dragged ontop of the fast issue create modal even when one of the property drop-downs is active
  • Improved history management
  • The issue editor will no longer think an issue has been updated when it has not been updated and the user is navigating away from the editor
  • Fixed a problem where under certain circumstances, child issues would not immediately be visible on an issue
  • Fixed an issue that caused the local cache to be deleted unnecessarily
  • Fixed a bug causing some shortcuts to not work in the new notification view
  • Fixed URL encoding for searches including characters
  • Fixed an issue where multiple triage states might have been created for certain organizations
  • Fixed Figma preview showing below the "New issue" modal
  • Fixed issue description not updating in the issue view when another user updates it
  • Fixed a bug causing errors when accepting a triage issue
  • Fixed internal GraphQL error when querying empty connections
  • Fixed a bug preventing issues from being reopened when linked pull requests were reverted
  • Fixed a bug preventing Intercom integrations from being deleted

Linear Release 2021.06 - "Grow with Linear"

This release brings new features to help fast-growing teams manage added complexity without losing efficiency.

Linear Release 2021.06 ->

"Fast growing startups are built on Linear" - Medium ->

Issue Triage

We build in public at Linear and put care into talking to users and getting feedback. We talk to hundreds of customers each week through our Slack community, Twitter followers, and to users who send in bug reports, requests, and questions through our in-app help modal which routes to our Front Inbox which we use for customer support.

We like to link to customer conversations in Linear issues so that we can keep track of requests and get back to customers when issues resolve. As we grew, we found it harder to do that. We weren’t alone as we learned a lot of our customers faced this same problem: they had Linear issues filled with links to customer conversations. Some also had started building separate Triage “teams” where they would file all new issues, then clean up, prioritize, and move them to the appropriate team.

So we built this user experience into Linear: Triage. All new issues from integrations, or members outside of your team, now go to a special team inbox called Triage. These issues have linked attachments back to the customer support tools where they were created.

The product team can choose how they triage issues but we’ve built in a simple workflow you can follow, too. Use keyboard shortcuts or the menu to accept an issue to the backlog, escalate it to the current cycle, merge, decline, or even snooze the issue for later. Declining an issue prompts you to leave a comment explaining why and you can keep an issue in the Triage inbox while you wait for more information.

To enable Triage, visit Triage section under your team's settings.

Fixes and Improvements

  • Fixed selecting labels with space in command menus
  • Fixed a bug that would take the user to a different issue when making changes to it, in some cases.
  • Email login links should now work even with aggressive email scanners that would before invalidate the authentication code.
  • We now correctly detect and migrate epics in more situations when using the migration assistant.
  • Improve wording for the control to share views.
  • Fixed tooltip on the sidebar search button.
  • Checkboxes for selectable actions will now correctly reflect their selected state
  • All personal GitHub repos will now be fetched when using the Migration Assistant for GitHub
  • Fixed a bug with issue attachment actions sometimes not working

Intercom integration

Working with your customers is a critical part of building a high-quality product. As companies scale, many customer requests are piped into customer success tools such as Intercom. This is why we're excited to add Intercom to Linear's growing set of integrations for customer support.

With the Intercom integration, your customer success teams can now quickly file bug reports into Linear from within Intercom and link feature requests to existing issues. New issues can be created directly from the Intercom interface and then triaged by your product team. We create links between the Intercom and Linear issue and show the issue's status and assignee in the Intercom sidebar. This makes it easy for your support team to view and comment on the Linear issue or share status updates with customers, and for the product team to reach out with follow up questions to the support agent or customer.

We also added an automation which re-opens and updates Intercom conversations 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.

To enable the Intercom integration, install our app from the Intercom App Store and enable the integration in Linear settings.

Fixes and improvements

  • Fixed a bug where incorrect issues would be listed when having selected "Show only completed from current cycle"
  • It's now always possible to add issues with templates. Previously this would not be possible if there was no one specific team on screen
  • Fixed a bug where quickly selecting, then deselecting a label would make the label to go into an incorrect state
  • Make actions taken when copying branch name undoable
  • Fixed the capitalization of GitHub in a few places
  • Fixed a visual bug in the cycle details pane
  • Fixed command menu overflowing the screen when its content was too wide
  • Fixed a visual bug in issue history
  • Fixed a rendering bug in the issue create modal
  • Released roadmap timeline to all users
  • We now correctly detect and migrate epics in more situations when using the Migration Assistant
  • Snoozed notifications are no longer included as part of the inbox badge count
  • Improved the behaviour when selecting items using space in the command menus

Snoozing Inbox notifications

Inspired by many of the new email tools, we've added snoozing of issue notifications to Linear's Inbox. Not all notifications require immediate action, or you might want to wait for more information, so now it's easier to get to Inbox Zero by snoozing notifications. Just hit h to snooze the notification for an hour, until tomorrow or until one of the other predefined options. You can also snooze notifications until the next cycle starts. Notifications are automatically un-snoozed if there are new comments or other activity in the issue.

Improved issue merge

We improved and simplified merging of duplicate issues. Now when you merge an issue into another issue, the duplicate issue's source attachments (e.g. Zendesk ticket) are moved to the canonical issue. This means that as you merge new duplicate issues into the canonical issue, all user reports are tracked in one place. If you have enabled customer support automation with Zendesk, all the relevant discussions will be reopened when the issue has been resolved. To keep things simple, we removed the ability to mark issues as duplicate from the canonical issue: you can only take the action to merge an issue from the duplicate issue, not the other way around.

New setting for team priority ordering

Linear offers multiple ways to order issues in lists through view options, from manual to automatic. Historically we have defaulted to priority ordering and pushed issues without priorities to the top of the list to encourage you to set the prioirity. This week we added a new team level setting which lets you decide if the issues without a set priority are shown first or last. To change the setting, find the Priorities section under your team's General settings

Fixes and improvements

  • Linear's GitHub App now works with GitHub Enterprise Cloud if you have IP allow list enabled. Just enable the "Enable IP allow list configuration for installed GitHub Apps" setting.
  • Use the new "Add attachment from URL..." action to add any external links to your issues as attachments
  • You can now drag and drop all projects in the timeline
  • Fixed an issue where keyboard shortcuts didn't work on sub-issues on the issue page
  • Fixed an issue with duplicate date picker on mobile devices
  • Fix for some email providers that aggressively click on links, making email login codes invalid before the user can use them
  • We're now guarding against accidentally starting an import processing twice, resulting in problems
  • You can now select whether you want to import stale issues and/or completed issues separately in the migration assistant
  • An issue's file attachments are now downloaded using the original filename
  • Slack integrations are removed when users get suspended or leave a workspace
  • Fixed an issue where the R shortcut in a cycle view would rename the cycle instead of the selected issue
  • Fix submit button behavior in contact support modal
  • Fixed downloading of images from issue descriptions
  • Fixed a tricky bug causing logouts when using multiple user accounts in multiple tabs/windows
  • API: You can now specify an icon url (jpg or png) when creating or updating an issue attachment
  • API: You can now link any url to an issue as an attachment using the `attachmentLinkURL` mutation

New setting for team priority ordering

Linear offers multiple ways to order issues in lists through view options, from manual to automatic. Historically we have defaulted to priority ordering and pushed issues without priorities to the top of the list to encourage you to set the prioirity. This week we added a new team level setting which lets you decide if the issues without a set priority are shown first or last. To change the setting, find the Priorities section under your team's General settings

Fixes and improvements

  • Use the new "Add attachment from URL..." action to add any external links to your issues as attachments
  • Slack integrations are removed when users get suspended or leave a workspace
  • Fix submit button behavior in contact support modal
  • You can now drag and drop all projects in the timeline
  • Fixed an issue where the R shortcut in a cycle view would rename the cycle instead of the selected issue
  • API: You can now specify an icon url (jpg or png) when creating or updating an issue attachment
  • API: You can now link any url to an issue as an attachment using the `attachmentLinkURL` mutation

Issue view layout

There's one aspect of the layout of the application that we haven't been too fond of since the beginning: The way the issue page renders on larger screens. We didn't want to make the issue content column too broad to keep the issue content readable, so we extended the issue details pane to the side of the screen. But this never looked quite right on on larger window sizes. We've been putting off fixing this as we have bigger changes planned for the issue page, but this week we finally decided to fix it and not wait for a bigger redesign.

We're now centering the issue content when your window size grows beyond a certain size. The issue details panel will also grow proportionally with your screen size, giving you more room for all the labels your issue might have.

Fixes and improvements

  • Updated design of the project bars in timeline
  • It is now possible to resize the width of the left aside on the timeline page
  • Fixed a bug causing the upgrade notification not to be clickable if it was triggered by the fast issue creation modal
  • Zendesk integration now supports linking tickets from Zendesk installations with a custom domain
  • Imported issues will now have their completed or canceled dates properly set if that can be determined, or set as the time of import if not
  • API: Fixed a bug that was causing attachmentCreate to fail when passing the short format issue id rather than a UUID
  • Improved contextual menu rendering performance
  • Fixed side-scrolling issues with contextual menus
  • Fixed some smaller corner roundness issues on the comment menu
  • Workspace member settings have an upgraded design
  • Fixed the workspace member settings not to show actions that the user can't undertake if they are not an admin.
  • The keyboard shortcut for setting an issue due date has been changed from Cmdd to Shiftd
  • The cycles page now contains better instructions on how to find the estimates settings, should it not be enabled
  • Fixing an overflow problem when editing milestones
  • Fixed problems editing the name of a project
  • Deleting a team will now force you to type out the name of the team to make sure that users are deleting the intended team
  • Alert dialogs with an input prompt now display input errors animated
  • Fixed regression with command menu checkboxes

Linear Preview: Roadmap Timeline

Today we’re launching a timeline visualization of your project roadmap in Linear. You can now plan, manage and track what needs to get done this month, quarter, and year, visually. With the roadmap timeline, see a high-level view of not just the projects in your organization but also the progress teams are making toward them and estimates for when projects will complete. It's a smart timeline synced to actual issue data that helps you avoid flying blind.

Planning with timeline

Viewing projects in the context of time gives you a better understanding of what’s going on and when projects will complete. It’s also easier to plan for dependencies, such as when someone will free up to work on a new project, and spot projects that are falling behind or where teams may need more time or to adjust the scope.

Draggable project bars let you quickly make changes to your roadmap. Move the project to adjust the start date, extend or shorten the project length, and move the project up or down on the roadmap to reprioritize the work compared to other projects. Any updates made on the timeline will sync across the workspace. Especially early on in the planning phases, you'll have a lot of back-and-forth discussions on projects. The timeline view makes it easier to collaborate live since everyone can see the same view, understand the visual design intuitively, and any changes update near instantaneously on everyone else's screen.

Live predictions

While a project is active, we'll generate an estimated completion date and show the projected date range on the timeline. These are the same estimates you see on project graphs and we calculate them using remaining issues and historical project velocity. A purple estimate shows up if the project has no set target date to give you a hint of when the project might complete, and a red estimate means the project is or is projected to take longer than the defined target date. The predictions take some time to generate after the project begins since they require recent project data, so you may need to wait a few days before it shows up. This live forecast gives you realistic and up-to-date information that you can use when making decisions on scope and planning.

ProTip: To see a specific project's graph without leaving the roadmap, press the Space to launch peek while hovering over the project on the list or timeline.

Roadmap Timeline is available as a Linear Preview feature while we polish the last details. To enable it for your organization, press K and search for Timeline.

Fixes and improvements

  • Fixed a bug in template selection menus in team settings
  • Fixed git branch names for issues containing
  • Fix a bug when dragging list items in Firefox
  • Fixed a bug so that you can now switch to another workspace after scheduling your current workspace for deletion and logging in again
  • Improved discovery for editor related keyboard shortcuts
  • Improved the assignee selector in board issue cards
  • Parent issue is now maintained when creating multiple issues
  • Images will no longer be duplicated when dragged from one position to another within the editor in Safari
  • Images can now be dragged and reordered within the editor
  • Added the option to order lists by issue due date
  • Added more options for auto-archiving for teams using the Linear free plan
  • Fixed a bug that prevented file uploads on iOS
  • Long workspace names are now properly truncated in the sidebar workspace menu
  • Fixed a layout glitch when first rendering the search results.

Improving performance at scale

Over the past two months we received reports of slow performance affecting some of the larger Linear workspaces. We looked into the issues, and even made some changes to speed up the app, but determined that fixing the problem would require deeper work. Over the last couple of weeks, we have been heads down implementing fixes and planning larger changes to Linear's architecture to support the long term scalability of the service.

Unfortunately what makes Linear extremely fast for most users can also make it slow for others if we scale faster than expected, which we did. This stems from technical architecture choices we made to build Linear and their trade-offs. This didn't come as a surprise to us and we anticipated having to make changes sometime in the future, but not so soon and especially not after customers hit performance issues. We do our best to work on these issues before they can become a problem for an end-user.

This week we shared a pre-mortem that explains Linear's architecture, the performance issues these customers were hitting, and the steps we're taking in the near and short term to address them. While your workspace might not be affected, we wanted to share the document with all of you as we work through these challenges. If you hit performance issues, now or in the future, we'd like you to reach out so that we can fix them. The good news is that thanks to this work, Linear has gotten significantly faster for all users in the past two weeks. We consider speed a core feature of the product and will continue to treat it as a top priority as we scale.

Linear performance pre-mortem ->

Fixes and improvements

  • [API] attachmentsForURL query now returns a paginated list of results instead of an array
  • [API] attachmentIssue query has been deprecated. Please use attachmentsForURL with issue sub-query instead.
  • Zendesk integration now supports linking multiple issues into a customer ticket
  • There's a new "Open issue" action, also accessible through the global OI key shortcut, that lists all the recently accessed issues and enables a quick search through issue titles, similar to how it used to work in the global command menu.
  • Notifications for actions that have been changed or undone will no longer show up in your Inbox
  • Fixed a bug where codeblocks would cause a CSS bug in issue description & comments
  • The "Open projects" list now includes projects from all teams you're part of
  • Removed duplicate fullscreen options from the desktop app menu
  • Several style fixes for search input fields
  • You can now filter issue states in the dropdown in issue create
  • You can now unsubscribe from notifications for multiple issues
  • Fixed a long-standing bug where lists would render incorrectly
  • When creating a new team, we will now use your timezone rather than defaulting to UTC-7, Pacific Time
  • Fixed a crash that could occur on the search page when searching a mis-formatted string
  • Reduced minimum characters for searching to 2
  • Added highlighting to issue identifier matches on the search page
  • When using the keyboard shortcut / to focus the search input, the text is selected if the input is not empty for quicker searching
  • History and navigation on the search page is improved. The back button and/or clicking the sidebar search button works correctly.
  • Searching just for a number "123" will find issues that have 123 in their identifiers
  • Fixed potential app crash with strings containing multiple or trailing spaces
  • Added ability to clear recent items such as recent search queries or recently viewed issues. You can search for it in the command menu, by typing "clear recent".
  • Links to shared custom views are now unfurled when shared to Slack
  • Improved issue contextual menus by alphabetically ordering projects, limiting assignee list to issue's team members and improving styling
  • Text formatted as inline code can now also have strikethrough formatting

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, lin123 or 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!

Fixes and improvements

  • API: Issue attachments with the same URL can now be linked to multiple issues. Querying for attachments by using the URL as the id is being deprecated, but will return the first attachment with a matching URL for a transition period.
  • Several performance improvement to loading the application for the first time
  • Linear will now open the last used workspace when logging in to an account with multiple workspaces
  • Reduced animations preference is now inferred from the OS settings and removed as a user preference
  • Fixed "Open cycles" goto-shortcut in Inbox and other non-team views
  • Improved reliability of copying issue IDs, URLs and git branches to clipboard
  • Fixed copying an image to clipboard (currently not available in Firefox)
  • Fixed file upload notification in the new issue composer
  • Fixed issues where personal Slack notifications were disconnected unexpectedly
  • Contextual menus are now closed from all mouse clicks
  • Fixed a bug with the Github Migration Assistant form that was preventing moving to the next step after selecting a repository
  • Improved settings to make it more clear how to change or cancel a plan in the Billing view
  • Fixed issue which prevented logging into Figma from within the Figma embed in Linear desktop application

Fixes and improvements

This week we've been focusing on larger upcoming functionality, so we only have minor fixes and improvements.

  • Descript shared URLs are now embedded automatically in issue descriptions and comments.
  • Issue editing actions in the fast issue editor now use the same keyboard shortcuts than in the rest of the application. To use the keyboard shortcuts, the title or description fields can't be focused.
  • Issue editing actions in the issue view will now open pop-overs attached to the appropriate properties in the side pane.
  • Opening issue peek using a quick press on has been fixed to work more reliably
  • When pressing "Add label" in the issue view will now bring up a popover that lets you toggle any label on and off.
  • When you have a sub-action editor open in the issue view, any issue editing actions triggered via the action menu or keyboard will target that sub-action unless you're hovering over another sub-action
  • Issue peek will now disappear when the fast issue editor is opened
  • Fixes a regression that could cause startup to be slow, especially on Safari and Firefox
  • You can now delete an import up to 7 days after it was created.
  • Fixed several bugs with the GitHub importer
  • Fixed a bug with our Clubhouse importer
  • Inserting a reference to an issue inside a description or a comment won't remove the rest of the sentence after it anymore
  • It is now easier to select the workspace where you want an OAuth application to be installed
  • Labels with the "%" character, like "50%", will now open correct URLs with proper encoding
  • When filtering issues, "By creator" filter will now group all suspended users as a single entry
  • Fixed some entries showing twice in the context menu
  • The background of modal dialogs are once again tinted darker on macOS

Zendesk integration

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.

To enable the Zendesk integration, install our app from Zendesk Marketplace and enable the integration in your Linear settings.

Other fixes and improvements

  • When creating a new team with a team identifier that was previously used by some other team, you can now choose to delete the identifier
  • Issues migrated into Linear via the Migration Assistant will now be labeled with "Migrated" rather than "Imported"
  • Images included in the issue description markdown will be properly uploaded to Linear even if they are not a top-level document element (e.g., inside of block quotes)
  • We now only hint at changing ordering in views that can be manually ordered
  • Added a section highlighting the Migration Assistant in the workspace settings overview page
  • Attachments are now shown before PR's in the issue view
  • The command menu no longer lets you search for issues but you can open specific ones if you type the issue ID
  • Improved communication around in-page find functionality
  • Fixed a bug where the "Find in page" input field would be incorrectly aligned
  • Creating an issue from a message in Slack will now add an issue attachment which links to the original message
  • Draft pull requests that are closed will now show as closed on linked issues
  • The status control in the "New issue" modal has been moved to make it easier to find.
  • Filters that don't match any issues can now also be multi-selected
  • Adds create new action from template to keyboard shortcut help
  • Due dates in fast issue creator now correctly account for the user's timezone
  • Fixed a bug that was preventing OAuth applications from being created
  • Jira issues are now imported in the order of creation
  • Fixed a bug where the issue status from default templates would not be applied on new issues
  • We now display a nicer error message when trying to remove a user from their last team
  • Improvements to the rendering of the workspace toggle when the syncing or offline badge is visible
  • Images included in comment body markdown will be properly uploaded to Linear even if they are not a top-level document element (e.g., inside of block quotes)
  • We will now import comments on issues you are migrating over from GitHub

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 (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.

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

Auto-archive cycles and projects

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.

Deleting issues

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.

Fixes and improvements

  • Fixed manual ordering in the cycles view
  • Fixed a crash when creating an issue in a multi-team view
  • Prevented unnecessary scroll bars from images on the Linear Method pages
  • We now show an error message when dragging a non-draggable list item
  • Fixed a crash when searching in and navigating to an empty list
  • An unnecessary scroll bar no longer shows up on estimate settings
  • The "No estimate" issue filter can now be activated in the command menu
  • The "Reference another issue" action no longer shows in the command menu for unsaved issues
  • The default issue template will no longer override drafted issue descriptions when you open the full page issue editor
  • Reduced the time it takes to load Linear from scratch by about 25%
  • Fix to prevent keyboard focus on hidden elements when in issue view
  • Admins can now change a suspended user's username
  • The keyboard shortcut to attach files A when creating an issue or comment can now be triggered in more situations
  • We no longer register the new window shortcut CtrlN as a global shortcut in the Windows app
  • Fixed the alignment of the status icon when creating a sub-issue
  • Added more icons to pick from for Projects and Views
  • Updated icons in the contextual menu for projects

Private teams

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.

Migration Assistant

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.

Fixes and improvements

  • Updated supported browsers. We now target modern browsers to improve Javascript loading performance
  • Fixed keyboard shortcut conflict (Ctrln) with new Windows application
  • Fixed image loading issues as part of new user onboarding
  • Fixes race condition when creating a new team and choosing to copy properties from a team that is subsequently deleted
  • Fixed a case where attaching/detaching a parent issue would cause the issue to not be saved
  • Fixed layout issues in the emoji picker
  • Fixed a rare situation where a custom view preference could crash the client
  • Moving issue between teams now correctly resets its status
  • Improved styling of radio buttons for dark themes
  • Improvements to list rendering performance
  • We now clear multi-selection when pressing Tab in a list
  • Improved list of notification settings to clarify different options
  • Pull requests and external issue attachments are now shown as part of archived issues
  • Fixes to issue estimates in custom views
  • Jira importer now correctly imports the Jira issue type as a label
  • Jira importer now imports correct issue backlinks for imported issues

Startup performance improvements

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:

  • Refactoring and optimizing how we load up data at startup
  • Switching from Parcel to Rollup as our build system to improve bundle size
  • Lazy loading parts of the application and data that are used infrequently

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:

Startup time to show active issues

  • 59% faster on Safari
  • 40-50% faster on other browsers and desktop app

Startup time to show a huge backlog

  • 82% faster on Safari
  • 60-65% faster on other browsers and desktop app

Memory usage

  • 70-80% more efficient across all browsers and desktop apps

Bundle size 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.

Fixes and improvements

  • File uploads can now be canceled
  • Fixed ability to copy issue URL and ID when the issue is archived
  • Fixed a problem where multiple notification emails might have been sent to users
  • Added ability to revert to previous versions of issue descriptions. To use it, go to the issue edit screen and choose "Revert issue description" in the command menu.
  • When there are no notifications in the inbox, the Notifications drop-down button is no longer visible
  • Moving an issue to a different team now adheres to that team's "Active issues are required to belong to a cycle" setting
  • Cycles can now be 5 or 7 weeks long
  • Whether you create a new template or edit an existing one, you will now be redirected back to the page where you started the template action
  • When the search input is focused on small screens, the sidebar is also opened
  • API: Fixing a bug with imageUploadFromUrl not working when the source URL contained special characters or a query string