Changelog

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


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 NDA's 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

Keyboard shortcuts help

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.

Fixes and improvements

  • Months are now abbreviated mo instead of m, which is reserved for minutes
  • Linear is now installable as a PWA on desktop Chrome
  • Existing labels are now removed when an issue template is applied
  • All workspace admins are now able to view and edit OAuth applications
  • Fixed the unhelpful error message for invalid callback URLs for OAuth applications
  • Fixed a bug with the Asana importer if you are importing issues that belong to multiple Asana projects
  • You can now set your team's board view or a custom view as your default view
  • Fixed the unsubscribe link for plaintext notification reminder emails
  • Fixed editor panel contrast in new issue editor
  • Fixed an infrequent crash in list views
  • Fixed a crash that could happen when uploading files in issues.
  • Fixes a few issues related to multi-select actions
  • Small improvements to button styling

Apple M1 & Windows desktop apps

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.

Workspace settings overview

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.

Fixes and improvements

  • Importing image attachments or adding links to other attachments with the Asana importer
  • Improvements to scrollbar styling
  • Added filtering by numeric shortcuts to command menu with numbered options (e.g., Open team)
  • Board navigation shortcuts will no longer trigger when you are viewing an image
  • You can now attach files when editing comments by clicking on the attachment icon rather than only dragging and dropping files
  • The drop target for files in the issue creator is now larger
  • Fixed a bug causing some issues with linked pull requests not to be viewable
  • Fixed a bug which caused Clubhouse imports for projects with a large number of stories to fail
  • Fixed the issue creator not closing when the mouse leaves the modal window during selection
  • Fixed incorrect grouping when hiding completed issues
  • Fixed selecting items by pressing space in the action menu
  • Fixed state filter for grouped views
  • Fixed Github integration to correctly connect a PR under certain circumstances

New issue creation UI

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:

CtrlT Set team
CtrlS Set status
CtrlP Set priority
CtrlA Set assignee
CtrlA Add labels
CtrlP Add to project
CtrlP Add to cycle
CtrlT Apply issue template
CtrlT 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

Fixes and improvements

  • The user details page now has grouping, ordering, and view preferences
  • Fixed a bug where select menus could scroll away from their correct position
  • Links to projects on the roadmap and project pages will now take you directly to the correct team view
  • Updated the icon for urgent priority
  • Added ability to load Linear Typescript SDK in the JS console when logged in to the app
  • Issues created by imports no longer trigger notifications
  • Fixed Slack notifications that were displaying formatting characters
  • Fixes for SAML authentication when there was an existing user account with the same email
  • Added a new notification for when an issue you are assigned to becomes unblocked
  • The "Name cycle" action will no longer be the top result when you search for text that doesn't match that action in the command menu
  • Embed links will now open in a new tab
  • Added a new importer for Asana
  • Long issue titles will no longer overflow in issue history
  • Enabled grouping for multi-team views

Linear Typescript SDK

Over the past couple months we have been working on a Javascript/Typescript SDK for our GraphQL API. While GraphQL is getting more and more popular, it's still often easier to pick up a good SDK and not worry about writing queries manually. This is exactly what our SDK does, and it's actually auto-generated from our GraphQL API and offers full type definitions for Typescript. You can also use it with regular Javascript and either in client or server environment. The SDK is open source and available in our GitHub.

We have also updated our developer documentation:

developers.linear.app ->

Zapier updates: Comments

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.

Fixes and improvements

  • [API] Added new scope, comments:create, for adding comments
  • [API] Comments now include their URL in the API response
  • When re-focusing a populated search field in the sidebar, you're immediately taken to the search page again
  • Imports with no issues will now show as completed rather than perpetually in progress
  • Fixed the bug causing imports to fail with a "User mapping doesn't exist" error
  • Pressing Tab now indents the cursor properly inside a code block
  • Fixes to applying template assignee and status to issues
  • Fixes to issue ordering when moving issues between board columns
  • Fixes to conversing text into italic with markdown shortcuts

Linear Preview: New issue creation UI

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.

Fixes and improvements

  • Improved error messages in the Zapier integration
  • You can now import GitHub organization projects and associated issues
  • Better handling of error cases in imports
  • Fetching your full GitHub repository list when offering options for importing issues
  • Fix for being unable to start a Github import in some cases
  • Updated the format of status or priority changed Slack notifications
  • Ability to import Clubhouse epics as labels
  • Added a "Delete all read notifications" action
  • Importing of issues is now idempotent, no more duplicate imports
  • You can now delete imports along with the issues they imported
  • You can now copy a link to favorites via the contextual menu in the sidebar
  • [API] Fixed embed serialization in Markdown in API
  • [API] We added issue attachment support for API webhooks

Linear Preview: Import Issues

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.

Fixes and improvements

  • The API now supports finding issues with their previous identifier(s) in case the issue has moved teams
  • Updated the design of Figma embed popups
  • Improved the performance of deleting all notifications
  • Improved rendering of project graph date ticks
  • The project graph now always renders the project's target date
  • Adding a single-team project as a favorite now shows the correct status in the page title
  • It's now easier to scroll board views horizontally with scroll wheel mice.
  • Fixed todo list markdown conversion in issue descriptions for lists with multiple items
  • Fixed selection problems with Safari when using the mouse to hover over the command menu while navigating it with the keyboard
  • Fixed a problem where different view preferences would be used when editing a project with only one associated team
  • Fixed board views to scroll with the active item

Issue grouping options

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.

Google Sheets available for all Linear plans

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.

Fixes and improvements

  • Small tweaks to the design of the sub-issue editor.
  • Added option to filter issues by subscriber.
  • Fixed so that we don't move issues back to a previous state when merging PRs.
  • Fixed URLs in Sentry and Slack access revoked emails.
  • Fixed a bug when switching teams in the sub-issue editor.
  • We now match Linear issues listed in GitHub pull requests regardless of capitalization.
  • Fixed a bug where GitHub PRs could be matched to the wrong Linear user.
  • Tweaked the design of project peek.
  • Removed the "We're hiring" link from notification emails. Don't be fooled though, we're still hiring.

New webhook types

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.

Fixes and improvements

  • API: Fixes to GraphQL schema inconsistencies
  • API: Added new queries for User (teams) and Team (users) to make it easier to get lists of teams and their users
  • Editing a Github PR to include an issue in the title or description should now trigger status changes for the issue as expected
  • Issue due dates no longer show as overdue for issues completed on time
  • Fixes to Git branch name formatting for issues with dashes in the title
  • Fixes to the drag handle for projects in the list view
  • Fix to how images are included in new issues created through the API

GitHub notifications improvements

We made small but meaningful improvements to how GitHub automation changes are handled inside Linear. As we allow admins to enable the GitHub integration for everyone, we didn't know which GitHub user matched which Linear user before. With other integrations we're able to match users via email, but with GitHub, many have their accounts under their personal email addresses. To solve this, we now use both issue assignees and past GitHub pull requests to intelligently match users to their pull requests for Inbox notifications. We have also updated issue history to correctly show GitHub as the source for status changes.

Fixes and improvements

  • API: Webhooks now include restore type for unarchived events. We also cleaned up webhook payloads to match our GraphQL API responses
  • Due dates are no longer shown in lists after the issue has been completed
  • Mobile Firefox on iOS no longer shows unsupported browser message
  • Completed issues view won't show autocompleted issues anymore
  • Improved Google Sheets update reliability
  • Fixes to "Go to views" (GU) shortcut not working on all views
  • Fixes to sidebar drag&drop reordering on Safari
  • Fixes to issue creation with templates if the template was copied from another team
  • Fixes to list drag handles and multi-select styling
  • Fixed popup menu sizing in certain cases
  • Fixed sidebar workspace switcher styling for users with a lot of workspaces

Search notifications using Cmd + F

To improve managing your notifications, we added the ability to use CmdF to search the notifications. This also works in issue, roadmap and projects views.

Fixes and improvements

Another week is around and this time we have a bunch of bug fixes and general product improvements.

  • You can now link multiple issues in PRs by including them in the PR title or branch name
  • Fix to allow personal Slack notifications to the same Slack account from multiple workspaces
  • Fix to link color in custom themes
  • Fixes to peek background color
  • Fixes to peek gradients in Safari
  • Added a new copy image action
  • Fixes to support modal layout
  • Fixes to images in issue description markdown
  • Ability to specify a template when using linear.new
  • Improvements to team deletion flow
  • Fixes to some data syncing edge cases
  • Fixed a bug where git branch names would not be generated correctly
  • Added drag handles to manually sorted lists
  • Added the ability to get a url for creating new issues with a pre-filled template

Authentication restriction options

We've added advanced authentication controls for our customers on the Plus plan. With this feature, workspace administrators can restrict which methods users can use when logging in.

For example, an administrator can now require all members to login through Google in order to access their workspace. This in combination with our support for SAML on the Plus plan makes it easier to control access for larger companies.

New advanced authentication controls are available today on the Linear Plus plan.

Image options

We added options to download and copy image URLs from issue descriptions. This makes it faster to share assets or bug reports with your team. In addition to the new options, we made several small improvements to displaying images, especially larger images in the issue view.

OAuth: Automatically redirect already authenticated users

We updated Linear's OAuth provider to automatically redirect users to the provided location if they have previously approved access for the application with the same permissions (scopes). This makes it easier and less confusing to use Linear OAuth as an authentication method for your application. On each authorization, a new OAuth access token is created. If a user has more than 10 tokens for the same application and permissions, old ones are automatically revoked, so you'll want to update the user with the latest token.

Other fixes and improvements

  • Issue Peek now includes the issue's cycle and labels. Enable peek mode by pressing Spacewhen browsing issues.
  • More unicode characters are now supported in suggested git branch names to make it easier to use for non-English speaking users
  • Roadmap pages now support searching projects with Cmdf
  • Draft comments persist even if you reload the page
  • Added Inbox notifications for issues with due dates
  • Added support for copying multiple issue IDs if multiple issues are selected
  • Added new filters: active cycle, next cycle and Roadmap milestone
  • Currently active team is used for new issues when creating issues from the Inbox
  • The "Clear notifications" action has been renamed to "delete all notifications" in Inbox
  • Improved UI for adding custom colors for project icons
  • Several improvements to mobile-friendly layouts for settings
  • Downloading desktop application option is now only shown for compatible operating systems
  • Improved sub-issue and new comment form styling
  • A link to the issue for deleted Inbox notification is now included in the confirmation toast message
  • API: projectCreate mutation doesn't require color attribute anymore
  • Fixed Github pull request linking in certain cases when the reviewer was assigned upon PR creation
  • Fixed favorites order in command menu
  • Fixed "active cycle" favorite highlight in the sidebar when viewing the page
  • Fixed cursor for issue todo lists
  • Fixes marking notifications as read when issue is being saved or new comments are being added
  • Fixes to sub-issue ordering when issue is updated
  • Fixed "Move to top/bottom of board" actions
  • Fixed label creation in command menu
  • Fixes to email notification subscriptions

Bug fixes

As the end of the year draws to a close, we looked back at how much the product has evolved over the last twelve months. We take pride in building a high-quality product and try to make sure that the things we make are solid, for all our users. Even so, we still have a few bugs that haven't been fixed.

So to set us up for the new year, we did some house cleaning. Rather than starting to build a new feature, we rounded up some bugs and quick fixes that would improve the quality of the user experience. We added them to a project called bug week that the team worked on together. The work we did will make sure that we can keep moving quickly and deliver a product that we are proud of in 2021.

Here's a list of things we did:

  • Fixed cases where the back button would not work correctly.
  • We now send notifications to subscribers when Github PRs are merged.
  • Reduced the size of data downloaded to clients.
  • All view options are now retained when creating new views.
  • Fixed a crash in date input modals.
  • Fixed a crash in the action menu.
  • Fixed a crash that could happen when resizing the screen.
  • Added support for all types or URI:s in OAuth callbacks.
  • Fixed a bug when changing icon colors in the roadmap.
  • Improved sorting projects by "Last updated".
  • Improved support for IME input.
  • Canceled projects are now hidden from the "Active" projects tab.
  • Fixed a layout bug in project lists.
  • Fixed a crash when deleting projects.
  • Fixed a bug where some favorites could not be deleted.
  • Fixed a problem with the action menu and keyboard navigation in Safari.
  • Fixed a crash when trying to modify archived issues.
  • We now correctly copy an OAuth application's client id on the application settings page.
  • Added four new theme options.
  • You can now attach files in the "Contact support" modal.
  • We added an easter egg. See if you can find it.

Linear 2020.12 release

To help give a holistic picture of what is new in Linear, we created a new Linear Release page which highlights new features as well as major improvements developed in the last six months. The theme for the second half of 2020 was to improve the core experience of Linear. We launched easy list selection, view options, custom views, SAML SSO, themes and more.

Series A funding with Sequoia Capital

Today, we’re announcing that we’ve raised USD 13M in Series A funding led by Sequoia Capital. We worked with Stephanie Zhan and her team on the seed round and are excited to partner with them again in this next phase of the company. Our mission is to re-envision the principles and practices of software building and make it feel magical again. Tools should fit seamlessly into your workflow and help you execute faster, collaborate quickly and focus on work. The next generation of startups is building their products on Linear and this funding helps us level up Linear to support them even more.

Read more about the investment in our Medium post.

Roadmap

Setting direction is one of the most important things you’ll do when building a product and company. You can now organize your projects under milestones by enabling Roadmap in your workspace settings. Once enabled, you can create milestones that are shared by all teams in the workspace and associate projects with these milestones, essentially creating a prioritized roadmap of projects.

Additionally, we've redesigned the team projects views as lists to make it more glanceable and consistent with the rest of the application. You can define the project lead and members of a project now as well, to communicate project ownership to the rest of the company.

Linear Method: Roadmap

We design Linear based on the principles and practices we use in product development. Today, we're sharing our first in-depth post on the Linear Method which is, unsurprisingly, about roadmaps: what they are, how you can use them, and why they're so helpful for building high quality products. People often ask us how we use Linear at Linear, so we explain how we use roadmaps, too. Read it here.

OAuth2 authentication for API

To make it easier to build integrations on Linear's GraphQL API, we added a new authentication method, OAuth2. Unlike previous personal API keys, OAuth2 makes it easier for your users to authenticate with your application and Linear. We also added more fine-grained scopes to the API so that you can only get the access you need. Several companies have already built their integrations on OAuth2, including Jam, and our Zapier integration is using it as well.

To start developing a new Linear OAuth application, head to your API settings and create a new application. To view applications that you have authorized to access your account, go to your application settings.

Read more in the Linear OAuth2 documentation.

New sub-issue editor

Two weeks ago we announced the new sub-issues editor as a Linear Preview. It features drag&drop reordering, faster composing and other improvements. Today we're rolling out the new experience to all Linear users. Open any issue, hit CmdShiftO and add new sub-issues one by one.

ProTip: When composing a sub-issue, save it with CmdEnter and add another one.

Big Sur app icon

We craft Linear to give our users the best experience in the Mac OS environment, paying attention to details. This new app icon fits better with the new Big Sur icon design guidelines. We hope this icon will find a prominent place on your dock. You should get the automatic update later today or you can download the new version manually from here.

Other improvements and fixes

  • The desktop application now lets you clear all application data in case of unforeseen problems
  • You can now Tab and ShiftTab through issue lists in addition to using the and keys.
  • The loading logo now correctly switches between light and dark modes for custom themes
  • The target date for a project can now be set via the keyboard shortcut CmdD