Self-hosted

React router migration, new navigation, custom intake | Release v2.0.0

5 Dec, 2025

What's new

Next.js to React Router + Vite Migration

React Router + Vite now power all Plane web applications, replacing Next.js. The new stack brings faster hot reloads, clearer internals, and a consistent tooling workflow across builds and tests. Here is a blog post about the same.

Introducing a new way to navigate across your workspace

blog cover-navigation revamp-desktop-light.png

You'll now find a new navigation bar at the top of your Plane workspace. Search and Inbox have moved to the top bar so they work globally across your workspace. Project features like Cycles, Modules, Epics, and Pages now live inside the project as clean horizontal tabs instead of expanding in the sidebar. You can also collapse the left nav, switch to icon-only mode, and choose which projects appear, keeping navigation focused and customizable.

The result: faster movement across Plane, less visual noise, and a layout that stays manageable even with hundreds of projects.

Custom intake forms that fit your workflow

changelog-custom-intake-forms-desktop-light.webp

You can now create shareable forms from any custom Work Item type. Each form has its own link, and you decide which fields are shown, which ones are required, and how they are arranged. When someone fills out the form, their submission automatically creates a Work Item in your Project Intake—with the right fields and type already set.

changelog-custom-intake-forms-overview-desktop-light.webp

This helps when you need input from people who don’t use Plane, like customers requesting features, teams submitting design tasks, or users reporting bugs. Instead of collecting messy emails or separate form responses, everything comes in clean and ready to review.

Threaded conversations inside your work item

changelog-reply-for-work-item-comments-desktop-light

You can reply directly to specific comments, keeping feedback clear, focused, and easy to act on.

Advanced API endpoints for deeper integrations

You can now use new external API endpoints to access initiatives, teamspaces, project features, and more. We've also added an advanced search endpoint with full filter support, so you can pull exactly the work item data you need into your tools, dashboards, or automations—making it easier to connect Plane to the way your team works.

Peek view for Initiative

changelog-peek-view-for-Initiative-desktop-light

You can open and review any initiative directly from your view—check details, make quick updates, or track progress without the hassle of switching back and forth.

Intake responsibility

changelog-intake-responsibility-desktop-light

You can now assign a team member to be responsible for Intake. They’ll be automatically assigned to and notified about every new work item created through forms, in-app submissions, or email.

Triage state for Intake

Intake now has a single state: Triage. Incoming requests stay here until you decide what to do with them, without appearing in your project state groups.

changelog-triage-state-for-Intake-desktop-light.webp

When you accept an intake work item into a project, it will automatically move to that project’s default state unless you choose a specific state. Cancelled or duplicate items stay in Intake under Triage.

Regardless of how the request was created (email, form, or external endpoint), intake items always start in Triage for a predictable review process.

Enhancements

  • Jira imports are now faster and more reliable, so your projects migrate smoothly the first time.
  • Duplicating wiki pages now also copies image-attached components in the editor.
  • Milestones now support Rich filters and activity tracking for better visibility.
  • Work item preview is now available in the calendar layout.
  • Added rich-filter export support, allowing you to generate clean, targeted exports using the same advanced filters you use everywhere.
  • Users can now update their email address directly from their account settings.
  • Added options in custom property during create flow from external APIs

Bug Fixes

  • Editor now correctly updates references after becoming ready.
  • Fixed an issue where the favourites list would not update after switching workspaces.
  • Removed fallback image from emoji rendering.
  • Fixed GitHub labels not syncing.
  • Addressed rate-limiting issues and improved stability in Jira Cloud integration.
  • Improved GitHub sync handling for assignee removal, priority sync, unlinking issues, and comment links.
  • Duplicate labels are now prevented by enforcing case-insensitive uniqueness.
  • Removed business trail badge for newly signed up Self hosted users
  • Removed archived project count from teamspace, simplifying analytics and counts presentation.
  • Markdown download in the editor now includes all components as expected.
  • Fixed intake section filter incorrectly persisting across projects.
  • Sentry value fields now correctly converted from string to array.
  • Fixed epics showing up when work item views are exported.

Security

  • Updated and resolved various npm vulnerabilities.
  • Upgraded golang.org/x/crypto to the latest stable version.
  • Upgraded pypdf package for improved PDF handling and security.
  • Updated @sentry/node package to the latest version for enhanced error tracking.
  • Additional upgrade of pypdf applied across relevant modules.

Plane

Every team, every use case, the right momentum

Hundreds of Jira, Linear, Asana, and ClickUp customers have rediscovered the joy of work. We’d love to help you do that, too.
Plane
Nacelle