New updates and improvements to Linear.
Subscribe to updates or follow us on Twitter.

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.

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.

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.

Happy new year from the Linear team!
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.

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

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

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.

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:
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 are now hidden by default from the paginated responses. They can be included by passing optional includeArchived: true as a query parameter.
viewer queryTo get the currently logged in user, we also added a simpler viewer query:
query {
viewer {
id
name
email
}
}

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.

We've redesigned the sidebar to accommodate larger organizations and improve speed and usability. Users can now leave and join teams from the drop-down menu of each team. Leaving a team will move the team to an "All teams" section of the sidebar, enabling you to focus on the teams that you actively work with. Issues can still be assigned to users that are not part of the team, but the user interface will highlight which users are not part of the team that the issue belongs to.
Individual sections and teams in the sidebar can be collapsed and Linear will remember which sections the user collapsed to persist this information across sessions.

Consuming the full firehose of Linear updates in a Slack channel can get overwhelming at times. Each team can now choose which Linear updates to send to their Slack channel. You can receive notifications of newly created issues, new comments on existing issues and all updates to existing issues. Head over to your team settings to make adjustments.
Have a friend who would like to use Linear? You can now refer them and they will skip the invite waitlist.
To refer a friend, search for "Refer to Linear" in the command menu or select the option from the main options menu. We'll ask your friend to fill out our beta survey to make sure Linear is ready for them. Once the survey has been submitted, we'll be in touch within a few days.
Pressing ⌘K to bring up the command menu isn't very mobile-friendly. To bring the command menu to the reach of mobile users, we added a two-finger tap gesture that brings up the command menu on touch-screen devices.
Linear is now also a progressive web app. You can install it to your home screen for quick access using the browser on your mobile phone or tablet. When browsing Linear, hit Options > Add to home screen.
Furthermore, we went through every screen in the application and improved the way we render each of them on mobile devices with limited screen real-estate.
We've improved the visual appearance of pop-overs, tooltips and buttons with the introduction of an elevation system. This increases the contrast between elevated components in dark mode.

Linear's web application is now responsive and scales for both tablets and smartphone screens. While most developers use Linear on their desktop, it's common to add new issues in a meeting or quickly reply to a comment on the go. We didn't want to dumb down the experience for mobile users and instead decided to make the whole application adapt to all screen sizes. This is an ongoing process and we'll improve the experience over time.
External Gmail users can now be invited to join Linear teams. This should help onboard contractors and partners in situations where they don't have access to your GSuite. Right now external users get access to all your workspace data with the limitation of not being able to invite other users. We'll expand access level control over time. If your team has more specific needs, please send us feedback.
Pages are now available for each label, grouping issues tagged with the label. Clicking a label in the issue list or detail views opens the label page. You can add it to your sidebar for quick access through favorites. There's also a new shortcut for quickly jumping into a label page (O then L).

We've created a Zapier app that lets you create automation that publish issues to Linear.
Want to create a new issue when a tag has been added to an Intercom conversation? Or create a bug report when you receive an email message with specific keywords? Or create an issue whenever a custom database query returns a new row? Now you can.
The Zapier app hasn't launched publicly yet, but you can join our beta today.
We're developing the integration as an open source project and it's available on GitHub. Feel free to submit pull requests if there's something you'd like to add to it.
You can now filter for issues that don't have any labels. In the filter menu select Filter by label > No label. This filter can be mixed and matched with other label filters, so you can now filter for issues that either a specific label or no labels at all. Labels can now be removed using the ⇧L keyboard shortcut.

Comments are now editable by the submitter. Once edited, an indicator will note that edits were made. Todo-lists inside comments have also received the ability to be ticked off after the comment has been submitted.
The timestamps on comments and other issue history entries are now links, so you'll be able to share a direct link to a specific comment.
Inviting your team is now easier with dedicated invite links. To grab your personal share link, head to People tab under settings. As always, you'll also be able to invite your team via email.
While not a new feature of Linear, we thought it would be worth mentioning that GitHub has added the ability to auto-link issue ID's with external issue trackers. This works well together with Linear, and you'll be able to set it up under repository settings for each team. Just map your team key (e.g. KEY-) to the Linear URL (https://linear.app/issue/KEY-<num>). Don't forget to replace the team key with yours.

The command menu gives you access to all actions applicable to your view or selection. We also bring up the command menu when you're clicking on items in the UI that have a corresponding action command menu, such as assigning an issue to a user or setting an issue's priority. While this worked reasonably well, we didn't like that the fact that the command menu always appeared at the center of the screen, regardless of whether it was invoked using the keyboard or mouse.
This week, we're bringing the command menu closer to the UI element that it was invoked from. The command menu now acts almost like a drop-down element but still retains its searchability and keyboard controllability.
Linear's desktop application wraps the web application for macOS and ships with native notifications among other functionality. This week we shipped several improvements listed below. If you already have the app installed, it will prompt you to update, or you can download it manually here.

We love Figma, and use it to design Linear. To make it easier to share design mocks in Linear, we now have an integration which converts Figma links into design previews inside Linear. Just copy a link to specific artboard, or a file, and we'll generate a preview image and a link in few seconds.
On technical implementation, we build this integration from ground up on Figma's API with their OAuth2 authentication. Instead just using Figma's standard Embed, this gives us several advantages:

It's common to go through all team members in cycle planning or retro. Instead of applying user filter after user filter, we made this one-click action: hover over the user in cycle sidepanel and select "Filter". This combined with issue peek and you'll be done with your meeting in no time.
We added new shortcut commands for quick opening views:
All these commands are also available in the command menu (⌘k). You can also trigger them from the header by clicking the title of the current view (e.g. cycle name in cycle view).
In addition to open commands we added keyboard shortcuts to all the available sidebar links:

Peek is one the semi-secrets of the Linear UI. It’s a quick way to glance over the focused issue in issue lists similar to Quicklook in macOS. It can be useful in cases where you are trying prioritize several issues in a list, find one particular issue, or decide what to do with an issue.
It's a great feature, so it deserves a more prominent key to invoke it. We've remapped the key from Alt to Space. Peek is active while you hold down Space, or you can quickly press Space once to toggle it on, and once more to toggle it off.
Linear already supported photo and video uploads, and now we added generic support for all files type. You can add any file to the issue description or a comment as attachments. To attach a file, simply drag and drop files from your computer to the description editor or comment box.
In addition to projects, you can now favorite individual issues or cycles and have them appear in the sidebar for quick access.

You're now able to favorite projects and have them appear as shortcuts in the sidebar. Simply click the star icon in the header when you're looking at the issues of a project, or open the command menu and select "Favorite project".
Cycles have gained some additional functionality this week. In case your team is on holiday or you want to make room for that Hackathon, you can now move the start time of individual cycles forward (and backward). You can now also give rename cycles to describe what you're working on in each cycle.
We added some preliminary API documentation. You own your data in Linear and our GraphQL API lets you query all of that data. In addition to querying, the Linear has full support for mutating all entities. Any mutations you make via the API are observed in real-time by all clients, giving you immense powers of writing your integrations.
In the months to come, we will improve the API and documentation, but we wanted to give the courageous among you early access to the API. We can't wait to see what you build with it.
If you haven't noticed yet, we're obsessed by speed. We felt that hot reloads could be faster. Hot reloads are reloads of the client where the client doesn't need to do a full synchronization with the backend and they are much more common than cold reloads. We added some clever optimization on how data is deserialized and are now seeing 4x faster hot bootstrap times with around 2000 open issues. The more open issues you have, the bigger the difference is.
You can now quickly search for issues using the command menu. Simply open the command menu and start typing. Search results will appear after all other actions.

Some teams like have dedicated downtime between cycles to "cool down" or catch up on other tasks before jumping into the next iterative development cycle. Linear now supports configuring a cooldown period in the team settings.
Creating new labels is now a lot faster. Previously, one had to jump to team settings to add a new label, but now you can do that straight from the command menu (⌘k). When you have an issue selected, hit l to add a label to the issues, then select the "Create new label..." action.
Todo lists in issue descriptions have always been a great way to keep track of things that are still needed to be done to complete the issue. Now todo lists have received better styling and more importantly, you can check off individual items without having to go into edit mode.
To create a todo list in an issue description, type "[ ] todo" or press Ctrl⇧7.

For new designs or bug reports, videos can tell more than pictures or words. Linear now supports video uploads as well as Loom embeds.
To embedd a video, just drag and drop a video file onto the issue description or comment field or paste in a Loom link and it will automatically be embedded.
We want to learn as much as possible from you on how we can improve Linear. We've added an easier way to send feedback from the app sidebar. We also have a new Slack community, the link of which you can find in the settings menu.
In addition to copying the issue id and git branch name, you can now also easily copy a link to the issue. Use the icon on the right corner or use the action menu (copy issue url).

New automation for PR reviews
Linear has supported GitHub pull request automation for opened and closed PRs since day one. We noticed it's common for teams to separate the time they work on an issue, and the time when an associated PR is waiting to be reviewed. You can now automate this by creating a new workflow state (e.g. In Review) and have Linear move issues to it when a review has been requested on an associated pull request.
Linear will now also show when a review has been requested on an associated pul request.
Reopen issue when pull request is reverted
Not all merges go well and sometimes you'll need to revert a merged PR. Linear is now aware of these reverts and will automatically reopen the associated issue so you won't forget about it.
De-associate pull requests from Linear issues
We added new actions to de-associated pull requests from issues. You can find them from the command menu by typing "github".
Pull request links
Lists and board now include links to the associated pull requests. This makes it much faster to open the pull request of an issue, or to glance what issues have PR's open.
Subscribing (⇧s) and unsubscribing (⌘⇧s) to issue updates is now built into the issue comment section. You can quickly toggle your subscription and see who else is subscribed to the issue. To keep your team up to date, you can also subscribe others to an issue.
The search view has been redesigned and the search input has been moved to the sidebar. With this change, search is faster to use and you're also able to filter the results of your query the same way as you would filter other views.
Linear has always had basic multi-selection of issues for applying shortcuts and actions to several issues at once. To make this easier and faster, we added more ways to select multiple issues and accidentally discovered even new UI patterns (tweet).
There are now four ways to select issues in list view:

Linear now has better support for boards, with a refreshed design. Unlike lists, which are more information-dense and ordered by priority, boards offer manual ordering via mouse drag&drop.
Similar to lists, boards are grouped by the teams' workflow states and can be filtered using our new filters. You can now also perform keyboard shortcut actions hovering over the card of an issue.
Both active cycle and project pages can now be viewed in board view mode. Just toggle the view from the top right corner, or switch with ⌘b shortcut. To view all your issues in board view mode, select Board option from the team sidebar.
After adding new filters last week we shipped several improvements to them:
me as a shortcut for the current user
The preferences page now features a new look with more information about individual preference options.
Three new personal preferences were added:

Once your team's issue count starts growing, filtering becomes necessary to narrow down the scope of issues that you want to look at or manage. We gained valuable experience from our initial filter design, and wanted to improve the design in two ways:
This week we fully redesigned and reimplemented how filters work. In any view that lists issues - including the board - you can access filter via the f shortcut. Once a filter has been applied it can be removed with the ⇧f shortcut.
Filters are now view based, so you can, for example, apply different filters to "My Issues" and "Active Issues" and jump between these views without losing each filter.

To set direction and long term goals for the team it is often useful to plan larger initiatives or features alongside all the other work that needs to happen.
With Linear Projects, we wanted to make exceptionally easy and fast to create a project, and start refining it as you go. You can optionally set a target date, description, and link to the product spec so that the necessary context is there.
You can break the individual work to multiple Cycles, and make constant progress each week to complete the project.
This is our first release of Projects and we're excited to continue expanding them to make it easier for you to design and build software.
ProTip: If you need to group issues but they are too small to use Projects, you can link them together as sub-issues. Select an issue, and from command menu pick Set parent issue.

Cycles are no longer a developer preview feature and are available to every team. We've added a neat side-bar to the cycle view (⌘i) that gives you a great overview of the cycle. It helps you figure out where you're at in the cycle and what the workload for each of your team-members looks like.
You can enable cycles in your team settings
Linear was a bit too eager to send emails on unread notifications. We've tweaked the delays to be based on the urgency of the notification.

GitHub integration is one of our time-saving features in Linear. It lets Linear manage the status of issues based on associated GitHub pull requests. Previously, if you had the integration enabled, a pull request would automatically move associated issues into the In Progress status once the PR has been opened, and into the Completed status upon PR merge.
We wanted to give teams more control over their workflows and now you can customize the automation by setting your own workflow status for PR open and merge events. For example, to separate issues waiting for a code review, create a In Review status for your team and associate PR open to trigger this status. You can also omit the automation for each step and configure automation for each team separately.
We also improved how multiple pull requests per issue are treated. If your issue has several open pull requests open, we'll wait for all of them being merged until we trigger the merge automation step.
Cycles are still under active development and available under Developer Preview option in your personal settings. This week we shipped several cycle improvements:

You might know them as sprints, but we decided to call them cycles to give them meaning outside of the agile methodology. Whether you work in agile ways or not, cycles provide a great way of planning and measuring iterative development cycles. Take some time each week (or weeks, depending on how long you configure your cycle to be) to plan what your team is supposed to work on next, then let Linear measure how you're executing towards that goal.
You can enable cycles in your team settings, but need to first opt-in to see Developer preview in your preferences. You'll choose how long each cycle is and what day of the week they start and Linear takes care of the rest. Cycles are automatically created and closed based on the selected schedule and any unfinished work in each cycle will automatically be moved to the next cycle.
You can now opt in to show time estimates for your issues. Estimation complements cycles and lets your team communicate the complexity of each issue.
Turn on estimates in the team settings. You can choose between a number of ways to estimate issues. Use a linear scale, exponential scale, Fibonacci scale, or use T-Shirt sizes to describe the complexity of each issue. Regardless of what scale you choose, cycles will automatically compute the overall effort required to complete the cycle and update its graphs accordingly.

Managing a large number of issues can be challenging if you keep them in one place. We added Backlog as the place for new issues and ideas. These are issues that have yet to be prioritized and put on your team's roadmap. Backlog will show up in the sidebar along with other issue categories. By default you'll have one backlog workflow status but you can add more of them in team settings.
When your team is ready to work on issues in Backlog, move them into Active Issues. To make easy to move issues between Backlog and Active Issues, two new shortcuts are available:

We added "Select All" check-boxes for each issue group which will select all issues in the group. You can (de)select individual issues by un-checking or by pressing x shortcut.
After selecting a group of issues, a new bulk action toolbar will appear at the bottom of the screen to make it easier to perform common actions.
Pro tip: Did you know you can also select ranges with ⇧ + click?
Keyboard shortcuts have been improved for non-US keyboard layouts. As part of the improvements, a few shortcuts were remapped to different shortcuts:
As part of macOS 10.14.5 Apple tightened security requirements for applications. New version of the Linear desktop app has been notarized to match the requirements. If you had issues running the application before, please download the new version here: https://linear.app/download
The UI is simplified and the drop-downs are replaced with the command menu actions.

The open and closed issue views received UI improvements in the form of grouping headers. While issues have always been sorted primarily based on their workflow status, the new headers make this a lot more clear.
In settings, teams can now define which timezone most of their people are working from. This setting doesn't affect much yet but will be important once you can, for example, define what day of the week a sprint should start on.
On that note, don't expect too many updates in the next few weeks as we're working hard behind the scenes to build out support for our next big features: Backlogs, sprints, and projects.
We re-designed the sidebar to be more compact and scalable for upcoming features. It now shows more information and teams are sectioned better. Under each team, you can find their issues grouped into open and closed views. You'll also have the ability to see all issues in a list in addition to the existing board view.
Together with the sidebar, we improved headers for better navigation and issue counts. We also added issue filters to all list views so it's easier to drill down issues based on different parameters.
To make it faster to copy the issue ID or suggested git branch name, we added icons to the issue view sidebar for them. You'll still be able to get them through the action menu but this change should make copying easier for users who prefer to use a mouse.

This week we made major improvements to the sign in and first-time user experience: everyone in your team will now get an introduction to the command menu and other Linear features.
If you are an existing user, you can initiate first-time introduction through the command menu by searching for "welcome tutorial."
Redesigned the keyboard shortcuts page with a new design and added all the supported shortcuts. Hit ? to bring up the keyboard shortcuts.
Typing : in any of the issue descriptions or comments now brings up the emoji autocomplete.
In addition to the "More actions" message action, you can now open the new issue dialog with /linear command to file new issues quickly from Slack.
While we don't like seeing loading states in the app, having one for the initial load and browser refresh is necessary. We improved design with a subtle logo animation.

This week we added the ability to create new issues via email. Perfect for when one of your users emails you a bug report. Simply forward it to your team's email address (you can find the correct email address in your team's settings). The subject of the email becomes the issue's title and the body the description.
Boards received some love this week, too. You can now easily archive all issues in a board column using the column's drop-down menu. Perfect for when you want to archive all completed issues at the end of the week. Next to the drop-down menu, there's a nifty short-cut to creating new issues for the column.
You can now use the command menu to jump directly to an issue if you now it's identifier. For example, if you type lin-123, the command menu will search for an issue with that identifier and let you instantly navigate to it.

We released our desktop application for macOS this week. It uses the same Javascript/React application we build for the web, but with the Electron wrapper you get nicer notifications, dock badge for unread messages, and most importantly: it's always on. Together with the new application we refreshed our logo (thanks @maxvoltar!) and redesigned the login page.
Settings views have been combined into one area. This makes navigating personal and team settings easier. GitHub and Slack integration capabilities are also explained in more detail.
We added emails for unread notifications. They are only sent if you were to miss them in the desktop app. We do want to keep your email inbox for more important messages.
Desktop notifications have been redesigned so that titles and descriptions are easier to read. Issues marked as Urgent will also require user interaction as we don't want you to miss them.
Those of us who grew up with IRC, forums and games, we love display and nicknames. To give more control over display and real names in Linear, we added a setting to prefer one or the other. If you use display names, you can still see the other user's real name in their profile by clicking the name.
git branch name generation by changing format and breaking at full words.