Changelog

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


Desktop app improvements: multi-window support

We updated our desktop app (1.2.0) with better window management along with other improvements. Full list of updates:

  • Ability to open (Command/Ctrln) and close (Command/Ctrlw) multiple windows
  • Support for narrow window sizes
  • Better handling of in-app links and Command/Ctrl+click to open internal links in new windows
  • Improved handling of closed and minimized windows
  • Updated to Electron 8 for improved performance

If you have the app installed, it will prompt you to download the updated version soon. To manually download the app, head to linear.app/download.

Other improvements and fixes

  • Increased list performance throughout the application. Hovering over list rows close to edges also doesn't move the list anymore.
  • Inbox now supports notification grouping
  • Back link in issue views now behaves correctly with sub-issues
  • Issue view header now shows filtered issue estimates or counts
  • Added support for longer team names
  • Added ability to filter views by team
  • My Issues view now shows blocking issues at the top
  • Cycle views don't show backlog columns anymore
  • Project status is now shown in command menu for Add to project and Filter by project actions
  • Improved documentation around GitHub issue autolinking
  • Fixed pull request link styling in board views
  • Fixes to team deletion
  • Fixed overflowing project names in projects dashboard
  • Fixed screenshot and issue links in Slack notifications
  • Fix to profile photo updating
  • Fix to allowing copying of issue title on Firefox
  • Fixes to certain screenshot aspect rations
  • Fix to My Issues shortcut in shortcuts help modal

New projects dashboard

We built projects into Linear to better manage large bodies of work which can span several members of a team. To improve the visibility of projects, we're introducing a new improved dashboard with a card-based design. It makes it easier to see the status of each project in a team and also helps with navigation.

Projects now use a new URL structure which includes the name of the project so that project links make more sense when shared across chat or email. We added link unfurling for Slack to quickly show a preview for project links. It's available for teams that have the Slack integration enabled.

Improved Inbox

We improved the Inbox with functionality that makes it easier to manage notifications. The Inbox now supports bulk actions, so you can select multiple notifications at once and perform actions on them. Notifications for new comments now also include a preview of the content, and you can preview the related issue using Issue Peek by pressing Space.

Other improvements and fixes

  • Added new keyboard shortcuts to navigate between parent issues (Command/CtrlShiftArrow Up) and sub-issues (Command/CtrlShiftArrow Down)
  • Added new keyboard shortcut for changing the theme (Command/CtrlShiftl)
  • Changed team shortcuts to ctrlShift1-9 to prevent conflicts with browser tab navigation on Windows
  • Added issue history entries for the blocking and blocked issue when the blocking issue is resolved or when it is re-opened
  • Added issue popovers to issue relationship history entries
  • Issue boards now include issue relationships (blocked etc.) flags. Badges can now be clicked to change their value similar to list views
  • Added issues subquery under issueLabel and issue relationships under issues in the GraphQL API
  • Added a prompt for when the user is about to discard comment edits without saving them
  • Copy git branch shortcut won't move the issue into In Progress status anymore if it has already been marked as Done
  • Fixed issue relationship adding in the new issue compose view
  • Fixed issue subscriptions when there are more than one user @-mentioned in a comment
  • Fixed two-finger tap to bring up command menu on mobile
  • Fixed issue edit mode for issues with "edit" in their title
  • Fixed exiting settings with Esc
  • Fixed regression in Webhooks which caused newly created notifications to appear with action: update
  • Fixed pasting embed URLs with whitespace in them

Issue relations

This week we shipped a highly requested feature - issue relations. With issue relations, you can annotate relationships between issues. We start with three different relationships:

  • An issue is being blocked by another issue
  • An issue is blocking another issue
  • An issue is referencing another issue

Blocking references can be added from the bottom of the status selection in list views and issue detail views, or through the command menu. We also have new keyboard shortcuts to give you quick access to adding and removing relationships:

  • m then b - Mark an issue as being blocked
  • m then x - Mark an issue as blocking another issue
  • m then r - Reference another issue
  • Shiftm - Remove a relation

Issue mentions

The editor has also been updated to make it easy to reference issues in issue descriptions or comments. The easiest way to link another issue is to write the identifier of an issue (e.g LIN-123), followed by a space, or copy-paste it. This will immediately turn the text into a link to the issue.

If you don't know the exact identifier of the issue you want to reference, you can bring up a lightweight issue search tool by typing a pound sign (#), followed by the team identifier (e.g #LIN) or search term (e.g #design). This will bring up a dropdown menu that you can use to select the appropriate issue.

Other improvements and fixes

  • Added hover popovers for users, issues, projects and cycles in the issue history
  • The project due date now works correctly in all timezones
  • Titles in the issue board are now truncated beyond 2 lines on supported browsers
  • The project editor now validates input on the client-side and enforces max lengths for project descriptions
  • Fixes to recursive redirects for issues whose title only contains special characters
  • Fixes to title input validation for GraphQL endpoints for creating and updating issues
  • Fixes to the description of issues created from Slack
  • Fixes to infrastructure when dealing with large application loads
  • Fixes the cycle and project links in the issue details for mobile devices
  • Clicking on the title of issue lists will now bring up the navigation options as a small command menu instead of a big one

Editor improvements

Text editors are one of those features where it's important to get the experience just right. Over the past weeks, we’ve been making several small tweaks to our editor based on your feedback. Markdown pasting and conversion is more reliable, you can create blockquotes from the toolbar and pasting multiple paragraphs of code into a codeblock no longer creates multiple blocks.

Change organization name

You can now edit your workspace/organization name in the settings.

New team member: Mike Arvela

We happy share to that we have a new addition to the Linear team. Mike Arvela will be joining us in March and bringing over 10 years of engineering, product, and management experience. Welcome, Mike!

Other improvements and fixes

  • Fix to complex filenames in file uploading
  • New comment on issue shortcut (ctrlm)
  • Archive alert dialog no longer says that the action cannot be undone
  • Fix to cycle name in Google Sheets
  • Better error handling for data sync issues

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

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

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

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

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

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

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

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

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.

Pagination

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:

query { 
  issues(first: 10) {
    edges {
      node {
        id
        title
      }
      cursor
    }
    pageInfo { 
      hasNextPage
      endCursor
    }
  }
} 

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:

query {
  teams {
    nodes {
      id
      name
    }
  }
} 

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:

query { 
  viewer { 
    id 
    name 
    email
  }
} 

Other improvements and fixes:

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

Secured a USD 4.2M Seed Round

We are creating software for startups and companies who look to create impact. We believe creators should be able to focus on work, not managing their work, and managers should be able to focus on creating alignment and direction, and not micro-managing timelines and tasks. Any process shouldn’t come in the way of creating.

To build this vision, we’ve raised a USD 4.2M seed round, led by Sequoia Capital with participation from Index Ventures and others. Read more about this investment in our Medium post.

Other improvements and fixes:

  • YouTube video's can now be embedded in issue details and comments. Just paste a YouTube link into the editor to embed.
  • Headers now display issue estimates instead of issue counts
  • Repo names are now visible in GitHub pull requests in the issue detail view
  • Fixes an issue that let the user save an issue and comment before file uploads were completed
  • Labels now have a larger hit-area for the delete action
  • Pinch-to-zoom is now disabled for mobile devices
  • Auth windows now open as neat pop-ups instead of full-screen web pages
  • Fixed colors for links in the People settings page
  • Fixes misalignments in the People settings page
  • New website to explain some of the functionality of Linear