Linear Plus plan subscribers have now access to Audit Log which tracks important security related events for your workspace. We track new sessions, changes to workspace settings, integrations and any authentication related changes. You can view recent log events from workspace settings, or query and filter them through Linear's GraphQL API. Logs are retained for 90 days.
Audit Log is available for all Plus plan subscribers.
We've made it easier to update Linear issues directly from Slack. You can now comment on an issue, assign one to a teammate, or subscribe/unsubscribe from an issue, all directly from Slack.
If you receive a Slack notification about a comment on your issue, you will be able to immediately respond via the "Comment" button on the message. You will also be able to unsubscribe or assign the issue by selecting the actions under the "More actions..." dropdown. Additionally, when an issue link is unfurled, the message will now include these actions, allowing you to respond, subscribe to or assign the issue right from the Slack message.
Today we're rolling out a new version of our desktop application with improved navigation controls and recent issue history navigation. These changes will bring our desktop application closer to the navigation controls found in the web version. To quickly jump between issues Recent Issue History menu displays the list of issues you accessed recently. You can also access the same list through Open Issue... shortcut O then I.
In addition to visual back and forward buttons, we also added new keyboard shortcuts (CmdArrowLeft CmdArrowRight) in addition to existing ones (Cmd[ Cmd]) to make keyboard navigation easier on some non-US keyboard layouts.
If you already have the Linear desktop application installed, you will get a prompt to upgrade to the latest version (1.4.0). If you don't yet have the desktop app installed download from linear.app/download.
+button in the list and board headers
We added extensive filtering options to our GraphQL API to make it easier to find specific entities without wading through all of an organization's data.
Filtering is available wherever results are paginated. It lets you filter based on entity properties, use and/or logical operators, and filter based on an entity's relations. Here are some examples of the more complicated queries that you can accomplish using the new filtering:
With our recent changes that let OAuth applications consume webhooks, filtering should make it easier to create real-time API applications that don't need to poll all of the organization's data very frequently.
Read more on filtering in our developer's guide.
With the recent changes that help you get the exact data you need from our API (GraphQL filters) and improvements to how you can get real-time updates from us (webhooks), we're starting to roll out rate limiting on our GraphQL API.
We're starting without enforcing the limits, but exposing them to you in our API response headers. If you're using API keys to query us or if you're an OAuth app developer, you should look into whether your current usage would get limited after a certain amount of requests.
In the next few days we'll also begin sending out emails to API key owners and OAuth app developers who are repeatedly getting limited and asking them to adjust their usage.
These changes are necessary to ensure equitable availability of our API for everyone and to prevent potential abuse. If you have any comments or suggestions, please reach out to us on any of the standard channels, such as email, the Slack community (#api channel), or Twitter.
Read more on rate limits in our developer's guide.
We love launching new features, but this week we have focused on smaller bug fixes and quality-of-life improvements to the product. Here are some highlights:
When keeping track of user requests you often get a lot of links in related issues. To help with prioritizing requests we have added the option to sort lists by the number of links in each ticket. To enable this, go to the view options menu in the top right corner and select "Link count" under "Ordering". You can also display information about links in issues in the list view by enabling the "Links" display property.
For views with issues from multiple teams, we have improved the performance in cases where only a few teams are filtered out. This should bring noticeable speed improvements to such views in larger workspaces. We also made it possible to hide all columns in multi-team board views.
Inviting people into your workspace is a key component of access management and we've improved the flow that makes it easier to accept invites and mitigates some previous edge cases.
Accepting an invite email will now work even if you're already signed into Linear and have an existing account, and works even if you're not signed into the correct account that the invite is for. This makes the entire process clearer.
We've also added the ability to easily resend invites. You can find this feature in the Members section where the outstanding invitations are displayed at the end of the list.
We've recently made a few improvements to webhooks. You can now find webhooks in organization API settings, allowing you to create webhooks for all public teams in your organization. Existing webhooks will continue to work in the same way, and you can still create webhooks for individual teams.
OAuth applications now also have the ability to create webhooks. This is useful if you want notifications about relevant events pushed to your app rather than having to poll for updates. Whenever a new organization authorizes your application, a webhook will be created, sending the events of your choice to your provided URL. We recommend switching to webhooks rather than frequently polling, especially if you are polling a large data set. Check out the webhook documentation for more information.
It's now possible to use board layout for all* views in Linear. This includes the "All" tab under multi-team views as well as all custom views. Previously, only views containing issues from a single team could be manually ordered and viewed in board layout. Since teams can have their own states and each state is its own column on a board, some issues on multi-team boards will be moved to another team when they’re dragged to certain columns. When moving an issue to a state that only exists on another team, you will need to confirm that you meant to move the issue to that team. In addition to board layout, manual ordering in list layout is also available for multi-team views. To enable board view or manual ordering, go to view preferences in the top right corner of the view.
* My Issues, Archived issues, and completed cycles can not be viewed using board layout
We're excited to share that Linear has joined GitHub's Secret Scanning program to provide an extra layer of security for all Linear API developers. Secret Scanning protects you by automatically detecting leaked API keys in public GitHub repositories and notifying participating services so that they can disable the keys and notify the developer. Many industry leading companies such as Slack and Stripe already implement secret scanning for their API keys.
We recently changed the format of our API keys and OAuth access tokens to include Linear specific prefixes,
lin_oauth_, to enable GitHub to detect them similarly to their own tokens. These new keys will be automatically detected and disabled if ever committed to a branch in a public GitHub repository.
About a year ago we introduced auto-archiving for issues, which helps you make sure your workspace stays relevant and performant. Earlier this year we expanded the feature to automatically archive old cycles and projects. We also recently improved search to make it easier to find archived issues.
Today we are enabling auto-archive for all teams. Each team can set the period after which issues (together with cycles and projects) should be automatically archived. By default, auto-archive is set to six months, but you can choose a shorter or longer period if that makes sense for your team. Together with our auto-close feature, we think auto-archive will help you keep a manageable and relevant backlog for your organization.
progressfield is now available for cycles and projects
The team has been enjoying the summer by taking some well-deserved time off, and our skeleton crew has mainly been focusing on performance improvements, bug fixes, and other small improvements over the past weeks.
This release brings new features to help fast-growing teams manage added complexity without losing efficiency.
We build in public at Linear and put care into talking to users and getting feedback. We talk to hundreds of customers each week through our Slack community, Twitter followers, and to users who send in bug reports, requests, and questions through our in-app help modal which routes to our Front Inbox which we use for customer support.
We like to link to customer conversations in Linear issues so that we can keep track of requests and get back to customers when issues resolve. As we grew, we found it harder to do that. We weren’t alone as we learned a lot of our customers faced this same problem: they had Linear issues filled with links to customer conversations. Some also had started building separate Triage “teams” where they would file all new issues, then clean up, prioritize, and move them to the appropriate team.
So we built this user experience into Linear: Triage. All new issues from integrations, or members outside of your team, now go to a special team inbox called Triage. These issues have linked attachments back to the customer support tools where they were created.
The product team can choose how they triage issues but we’ve built in a simple workflow you can follow, too. Use keyboard shortcuts or the menu to accept an issue to the backlog, escalate it to the current cycle, merge, decline, or even snooze the issue for later. Declining an issue prompts you to leave a comment explaining why and you can keep an issue in the Triage inbox while you wait for more information.
To enable Triage, visit Triage section under your team's settings.
Working with your customers is a critical part of building a high-quality product. As companies scale, many customer requests are piped into customer success tools such as Intercom. This is why we're excited to add Intercom to Linear's growing set of integrations for customer support.
With the Intercom integration, your customer success teams can now quickly file bug reports into Linear from within Intercom and link feature requests to existing issues. New issues can be created directly from the Intercom interface and then triaged by your product team. We create links between the Intercom and Linear issue and show the issue's status and assignee in the Intercom sidebar. This makes it easy for your support team to view and comment on the Linear issue or share status updates with customers, and for the product team to reach out with follow up questions to the support agent or customer.
We also added an automation which re-opens and updates Intercom conversations after the issue has been resolved (or canceled), so your customer success team can get back to the customer to update them on the progress. The integration makes it easier for your product team to prioritize their work based on customer needs and build a tighter feedback loop with your customers.
Inspired by many of the new email tools, we've added snoozing of issue notifications to Linear's Inbox. Not all notifications require immediate action, or you might want to wait for more information, so now it's easier to get to Inbox Zero by snoozing notifications. Just hit h to snooze the notification for an hour, until tomorrow or until one of the other predefined options. You can also snooze notifications until the next cycle starts. Notifications are automatically un-snoozed if there are new comments or other activity in the issue.
We improved and simplified merging of duplicate issues. Now when you merge an issue into another issue, the duplicate issue's source attachments (e.g. Zendesk ticket) are moved to the canonical issue. This means that as you merge new duplicate issues into the canonical issue, all user reports are tracked in one place. If you have enabled customer support automation with Zendesk, all the relevant discussions will be reopened when the issue has been resolved. To keep things simple, we removed the ability to mark issues as duplicate from the canonical issue: you can only take the action to merge an issue from the duplicate issue, not the other way around.
Linear offers multiple ways to order issues in lists through view options, from manual to automatic. Historically we have defaulted to priority ordering and pushed issues without priorities to the top of the list to encourage you to set the prioirity. This week we added a new team level setting which lets you decide if the issues without a set priority are shown first or last. To change the setting, find the Priorities section under your team's General settings
There's one aspect of the layout of the application that we haven't been too fond of since the beginning: The way the issue page renders on larger screens. We didn't want to make the issue content column too broad to keep the issue content readable, so we extended the issue details pane to the side of the screen. But this never looked quite right on on larger window sizes. We've been putting off fixing this as we have bigger changes planned for the issue page, but this week we finally decided to fix it and not wait for a bigger redesign.
We're now centering the issue content when your window size grows beyond a certain size. The issue details panel will also grow proportionally with your screen size, giving you more room for all the labels your issue might have.
Today we’re launching a timeline visualization of your project roadmap in Linear. You can now plan, manage and track what needs to get done this month, quarter, and year, visually. With the roadmap timeline, see a high-level view of not just the projects in your organization but also the progress teams are making toward them and estimates for when projects will complete. It's a smart timeline synced to actual issue data that helps you avoid flying blind.
Viewing projects in the context of time gives you a better understanding of what’s going on and when projects will complete. It’s also easier to plan for dependencies, such as when someone will free up to work on a new project, and spot projects that are falling behind or where teams may need more time or to adjust the scope.
Draggable project bars let you quickly make changes to your roadmap. Move the project to adjust the start date, extend or shorten the project length, and move the project up or down on the roadmap to reprioritize the work compared to other projects. Any updates made on the timeline will sync across the workspace. Especially early on in the planning phases, you'll have a lot of back-and-forth discussions on projects. The timeline view makes it easier to collaborate live since everyone can see the same view, understand the visual design intuitively, and any changes update near instantaneously on everyone else's screen.
While a project is active, we'll generate an estimated completion date and show the projected date range on the timeline. These are the same estimates you see on project graphs and we calculate them using remaining issues and historical project velocity. A purple estimate shows up if the project has no set target date to give you a hint of when the project might complete, and a red estimate means the project is or is projected to take longer than the defined target date. The predictions take some time to generate after the project begins since they require recent project data, so you may need to wait a few days before it shows up. This live forecast gives you realistic and up-to-date information that you can use when making decisions on scope and planning.
✨ ProTip: To see a specific project's graph without leaving the roadmap, press the Space to launch peek while hovering over the project on the list or timeline.
Roadmap Timeline is available as a Linear Preview feature while we polish the last details. To enable it for your organization, press ⌘K and search for Timeline.
Over the past two months we received reports of slow performance affecting some of the larger Linear workspaces. We looked into the issues, and even made some changes to speed up the app, but determined that fixing the problem would require deeper work. Over the last couple of weeks, we have been heads down implementing fixes and planning larger changes to Linear's architecture to support the long term scalability of the service.
Unfortunately what makes Linear extremely fast for most users can also make it slow for others if we scale faster than expected, which we did. This stems from technical architecture choices we made to build Linear and their trade-offs. This didn't come as a surprise to us and we anticipated having to make changes sometime in the future, but not so soon and especially not after customers hit performance issues. We do our best to work on these issues before they can become a problem for an end-user.
This week we shared a pre-mortem that explains Linear's architecture, the performance issues these customers were hitting, and the steps we're taking in the near and short term to address them. While your workspace might not be affected, we wanted to share the document with all of you as we work through these challenges. If you hit performance issues, now or in the future, we'd like you to reach out so that we can fix them. The good news is that thanks to this work, Linear has gotten significantly faster for all users in the past two weeks. We consider speed a core feature of the product and will continue to treat it as a top priority as we scale.
attachmentsForURLquery now returns a paginated list of results instead of an array
attachmentIssuequery has been deprecated. Please use