It’s a Plan
Changelog

v1.4.0

View on GitHub

Highlights

Agent schedules that start on a state change

An agent schedule has a second type. It runs the agent on an issue each time the issue enters a selected state, when someone moves the issue there or creates it there. An issue that leaves the state during the optional wait cancels the run. When the agent starts the run, it becomes the delegate of the issue.

Import from Linear

Settings → Import/Export imports issues from Linear. One import takes the issues of one Linear team: from one project, or the issues that have no project. Each issue keeps its comments, labels, cycle, relations, and files. A read-only Linear personal API key is enough.

Move an issue to another project

An issue can move to another project of the same team, from the issue page or with the move_issue MCP tool. Its subtasks move with it. The issue gets the next number of the target project and keeps its comments, history, and attachments. A link with the old identifier redirects to the new one.

Also in this release

  • Each account gets a workspace of its own and can create teams in it. The instance owner can disable this in god mode → General.
  • In the workspace settings, the owner sets the color and who can create teams. The owner can delete a workspace that has no projects and no AI agents.
  • The workspace owner has owner access to every team and project of the workspace, without a membership. A workspace admin has read-only access to them.
  • A team owner or the workspace owner can delete a team in the team settings. The team must have no projects and no AI agents.
  • The create_team_project MCP tool creates a project in the team that you select.
  • An internal AI agent has a Reasoning effort setting in its Advanced section: Low, Medium, High, or the provider's default. A lower level makes a reasoning model answer faster.
  • An imported issue keeps the created and updated dates it had in the source.
  • An import keeps two source issues with the same title as two issues.
  • When the source returns an error for the comments of an issue, the import retries the issue.
  • A rate limit from the source does not count as a failed attempt of the import.
  • The runs of one agent on one issue start one at a time, oldest first.
  • When a member field selects an agent, the run gets the prompt for work on the issue, not the prompt for a mention.
  • Mark all read and Delete read in the inbox change only the notifications that match the active filters.
  • The backup before the migrations works with PostgreSQL 18, which the Railway template uses.
  • An open Docs editor does not restore the old text after an MCP update_document call changes the Markdown.
  • The release notes screen shows above the document toolbar.
  • This release updates dependencies that have high and critical security advisories.

Breaking changes

  • SCIM acts on the whole instance. The SCIM settings are in god mode → SCIM, for the instance owner only.
  • SCIM active: false deactivates the account: it cannot sign in, and its sessions and API keys stop working. DELETE /scim/v2/Users/:id deletes the account. In 1.3.0, both only removed the account from the teams of the workspace.
  • In the agent schedule responses, cron and nextRunAt can be null. A status schedule has no cron and no next run time.
  • Agent runs have a new trigger, status. The runner sets ITSAPLAN_TRIGGER to status for these runs.

Contributors

Thank you to everyone who contributed to this release.

Code

@23atomist @ilijamt @grootbro @Bonobo791 @seanGSISG

Requests and reports

@tecnolive @henry2man @23atomist @DovydasNavickas @gorpacrate @seanGSISG