Skip to content →

Changelog

New updates and improvements to Linear.


Issue archive

Issue archive

You've always been able to archive issues with Linear. The term "archive" has been a bit misleading, as there hasn't been an easy way to browse archived issues or restore them.

This week we launched the issue archive, accessible via a new link in the sidebar. It lets you browse every single issue that you and your team have ever archived. Since your archive can become huge over time, it is not readily stored on the client, but loaded on demand, and is one of the very few places in Linear where you might see a loading screen. Even so, you can apply all the same filters that you'd use in all the other issue lists.

Archived issues can now also be brought back to life, using a dedicated "Restore" button in the issue view, or via the "Restore issue" command with #.

Better file attachments and comment styling

To make it easier to attach images, videos and other files to issue descriptions and comments, there's now a dedicated button for new attachments. In addition to upload buttons and drag & drop, it's now also possible to attach files through the Command/CtrlShifta shortcut.

As part of this update, we also improved the styling of comment sections, which should improve readability.

Other improvements and fixes:

  • Issue labels can now be 80 characters long, instead of the previous 20
  • Added warning dialogs when data changes fail to save locally due to low disk space
  • Empty comments can no longer be posted
  • Added URLs to all entities posted by webhooks
  • Comments notifications are no longer shown as markdown
  • Fixed annoyances in first user experience
  • Fixed several issues with submitting issue comments on Safari and iOS
  • Fixed some cases where it was possible to zoom in via double-tapping on mobile devices
  • Added more commands to the keyboard help page
  • We no longer hijack Command/Ctrlf when in the keyboard help page
  • Improvements to opening the link editor

Automated Google Sheets export

Automated Google Sheets export

To make analytics easier, we added integration with Google Sheets. Once enabled, a new Sheets document is created under your account and kept up to date, when changes occur on your Linear issues. This makes it easy to build your analytics dashboards, look at statistics and manage any custom metrics your team might track.

Better issue URLs

URLs should be memorable, descriptive and systematic. Linear has historically used the format linear.app/issue/ENG-123 for issue URLs which made modifying easy and you could automate linking in tools such as GitHub. In Slack, due to unfurling, you get a nice preview instantly, but as a vanilla URL, the issue number alone is far from descriptive. Today we're changing the format to include the slug of the issue's title, making your URLs look like linear.app/issue/ENG-123/new-feature. The title part is optional and old URLs are still functional.

Along with nicer looking URLs, we also made changes to keep track of previous URLs when issues are moved between teams. This way all past links will resolve correctly.

Cycle auto-assign settings

Team settings now include a new preference for Cycles. You can now disable automatic assigning of issues that are not yet in a cycle but get started or completed during one. Both preferences are enabled by default for new and existing teams.

Other improvements and fixes:

  • Significant speed improvements to first time application start time
  • New shortcut to copy issue URL: Command/CtrlShift,
  • Added option to group/ungroup issue history entries for auditing purposes
  • Cycle sidebar works better with long user names
  • Several fixes to notifications
  • Shorter format for multiple pull requests in list and board views
  • Better hover highlights for issue lists
  • Nicer default avatar colors when the user hasn't uploaded a picture of themselves yet
  • Fixed bug when removing project target date
  • Fixed bug with pasting text to code-blocks
  • Fixed drag & drop for files to posted comments
  • Fixes to embedding of pasted Figma URLs
  • Fixes to comment animations
  • Fixes to re-inviting users

Webhooks

Webhooks

For quite some time, we've had a preview of our API available to query and manipulate your data on demand. This week, we added the other side of the equation: programmatically listening to changes that happen in Linear.

Webhooks allow you to receive HTTP push notifications to a URL whenever data in Linear changes. We begin with the two most important data objects - Issues and Comments - but will gradually expand Webhooks to cover most data objects in Linear.

You can configure webhooks in your team settings. The configured URL will be called whenever any issue or comment in Linear is created or updated, and you'll receive the entire data object as the payload. For updates, we'll also let you know what the previous values for all changed properties were.

To get started, read our Webhook documentation.

Other improvements and fixes:

  • You can now paste Markdown into issue descriptions and comments and it will be converted to rich text automatically
  • Adding or removing an issue from a project will now generate an issue history entry
  • Archiving an issue will now generate an issue history entry
  • Sub-issues will now be created as active issues if the parent issue isn't in the backlog
  • Sub-issues will now copy the project of their parent issue when created
  • The editor formatting toolbar now has a dedicated blockquote button
  • When the application needs to refresh itself it will no longer do so if you're editing an issue
  • Reliability improvements to Slack notifications
  • Fixed issues with creation timestamps being displayed incorrectly

Improved Search

Improved Search

Searching for issues is one of the most common things and it has just gotten better.

You can now quickly pull up a specific issue by entering its issue ID and it also works with lazy typing like lin1142 instead of LIN-1142. Search works better for multi-word queries like "web hook" as well.

On the search page, accessible from the sidebar, we now fuzzy search your query over the issue ID, title and description, enabling deeper discovery.

Other improvements and fixes:

  • Fixes to navigation in inbox
  • Fixes to the color of progress indicators
  • Added support for filtering issues without estimates

Copy team settings

Copy team settings

Teams in Linear can define their workflow, labels and other settings, including the schedule of any cycles they might have been using. Many times, new teams would just want to copy over the workflow and labels from an existing team rather than fill them out themselves.

We added a new option to the team creation view to let you copy over all settings from an existing team.

Other improvements and fixes:

  • The next upcoming cycle is now shown in the sidebar
  • Emoji only comments
  • You can press Shift and j/k to paint select a number of issues in issue lists
  • You can now press and hold j/k to navigate the issue lists up and down
  • You can now rename templates via the action menu
  • Added a new preference to assign an issue to yourself if you copy its git branch name and the issue is unassigned
  • Keyboard shortcuts are now correctly capitalized throughout the application
  • Several fixes to board ordering and rendering
  • There's a new action to mark all notifications as read

Issue templates

Happy new year from the Linear team!

Issue templates

If you have a certain structure of issues that you use frequently or have some information you'd always like to be filled out by people creating issues, you can now use templates to make your workflow a whole lot faster.

Templates can be created by anyone in the team and are scoped to that team. You can review the current templates, create new ones or edit existing ones in the new Templates section of Team settings.

In addition to prefilling your issue title or body, you can also set the labels and priority of issue templates.

Other improvements and fixes:

  • Optimized performance of board view
  • Added ability to filter by estimate points
  • Fixed ordering when dragging issues in a board when using filters
  • Better scrollbar support for improved usability
  • Wrapping long links in issue editor
  • Improved team assigning for new invited users

New command menu

New command menu

The command menu is one of the core components of Linear and lets you execute any command with just a few keystrokes. We already have hundreds of actions that range from modifying issue properties to switching between UI themes. With the number of commands set to increase with new functionality, we wanted to revisit how commands are grouped, ordered and displayed.

The new command menu groups its commands based on their functionality. Groups are prioritized based on what you are focusing on, or the view you're currently in. For example, if you are looking at cycles, the command menu will first display commands that are related to cycles. Groups are then further subdivided based on the type of command, making it easier to skim over large sets. Icons further help find what you're looking for.

Support for retina screenshots

Linear now supports correct dimensions for 2x retina resolution screenshots in PNG format. Correct image dimensions are set when the file is uploaded through the editor.

Why didn't we support this before, one might ask? Even modern browsers don't expose the real dimension information and therefore render the image like it would have been zoomed in 200%. To determine the correct information, we have to read the header information from the raw PNG data and use pHYs header (physical pixel dimensions) to determine if the image's real resolution.

Other improvements and fixes:

  • Cycles now display weekdays left until completion instead of days left
  • Added filters for open and closed issues
  • Improved styling of code-blocks in the editor
  • Links can now be opened in the link editor when editing an issue
  • Figma embeds work more reliably
  • Label and project pages now include backlog issues
  • Label pages for labels that contain slashes now work correctly
  • The desktop app now uses the browser for authentication to improve reliability
  • Deleting notifications now result in a more accurate toast message

Onboarding: Join Teams

Onboarding: Join Teams

Often as companies grow, new Linear teams are created to help organize issues better. However, not everyone needs to be an active member of all the teams in a company.

To improve the onboarding experience for new team members joining the workspace, we added a dialog that lets new users only join the teams they want, or create a new team. Teams can always be joined, left or edited afterward as well.

Editor improvements: New formatting toolbar and easier linking

We redesigned the editor formatting toolbar with new styling and icons. The toolbar now includes actions to create links and format text as inline code. For users who prefer not to touch their mouse, Markdown shortcuts are of course still available, as are keyboard shortcuts.

ProTip: Quickly create a link by selecting text and pasting a link on it.

Other improvements and fixes:

  • Added hiring page at linear.app/readme
  • Use Linear avatars if there is no avatar on a user's Google profile
  • Images now have a maximum height in the editor
  • Fixed bug related to invites sent to Gmail users
  • Backlog issues are shown before completed/closed issues in views
  • Elevation added to more UI elements
  • Issue details now show avatar names according to user preferences
  • Airtable links now convert to document embeds

GitHub workflow

GitHub workflow

GitHub workflow is one of the most powerful features in Linear. As a developer, it enables you to track the status of your work automatically as you work on your branches. Being an important part of the experience, we added the GitHub setup to the onboarding.

After GitHub has been connected, new users joining the workspace will get tips on how to efficiently use the GitHub integration in their workflow.

Other improvements and fixes:

  • Re-mapped the save filters keyboard shortcut to Command/CtrlOptionf to avoid conflicting with the remove all filters command
  • Fixed an issue which caused some pages (e.g. issues for a label) not updating in realtime
  • Issue created notifications that originated from Slack will no longer be sent back to Slack
  • The assignees' list now only shows active users
  • @mention listings now only show active users
  • The issue subscription dialog now only shows active users
  • The editor will now only convert dashes and stars to horizontal rules when entered at the beginning of a line
  • Fixed the nullability of the user avatar in the GraphQL API

API improvements

API improvements

Linear is built on our GraphQL API which is also available to our users through personal API keys. As we have evolved the application, the API has evolved as well. This week we're releasing larger breaking changes to future proof the API and provide more stable building blocks for the future.

All list responses from queries now return paginated results instead of a list. We implement Relay style cursor-based pagination model with first/after and last/before pagination arguments. To simply query get first 10 issues for your organization:

The first 50 results are returned by default without query arguments. Pagination also supports simpler syntax where instead of edges you can directly get all the nodes similar to GitHub's GraphQL API:

Archived resources

Archived resources are now hidden by default from the paginated responses. They can be included by passing optional includeArchived: true as a query parameter.

New viewer query

To get the currently logged in user, we also added a simpler viewer query:

Other improvements and fixes:

  • Fixed a bug in team archiving which lead to client crashes in certain situations