Thanks to visit codestin.com
Credit goes to github.com

Skip to content

17-2-release-notes-draft#22127

Open
MayaBerd wants to merge 2 commits intorelease/17.2from
17.2-release-notes
Open

17-2-release-notes-draft#22127
MayaBerd wants to merge 2 commits intorelease/17.2from
17.2-release-notes

Conversation

@MayaBerd
Copy link
Contributor

17-2-release-notes-draft

Ticket

What are you trying to accomplish?

Screenshots

What approach did you choose and why?

Merge checklist

  • Added/updated tests
  • Added/updated documentation in Lookbook (patterns, previews, etc)
  • Tested major browsers (Chrome, Firefox, Edge, ...)

17-2-release-notes-draft
@github-actions
Copy link

github-actions bot commented Mar 2, 2026

Deploying openproject with PullPreview

Field Value
Latest commit d980b71
Job deploy
Status ✅ Deploy successful
Preview URL https://pr-22127-17-2-release-note-ip-46-224-133-41.my.opf.run:443

View logs

@MayaBerd
Copy link
Contributor Author

MayaBerd commented Mar 2, 2026

@ulferts @NobodysNightmare @HDinger @mrmir could you please review your respective parts of the release notes? or the whole thing if you feel like it of course.
Please ignore the broken link, docs on the budgets widget are not yet written

Copy link
Contributor

@NobodysNightmare NobodysNightmare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some feedback on MCP and other adjacent changes, most of the time including a proposal of my own. I also added one comment not related to one of my changes, giving feedback on how one can read it wrong.


[feature: mcp_server ]

OpenProject 17.2 introduces the **MCP Server**, a new Enterprise add-on that lays the foundation for robust integrations between OpenProject and external intelligent agents, automation tools, or systems that use the Model Context Protocol (MCP). This server uses OpenProject’s APIv3 resources as MCP-compatible endpoints and enables secure, authenticated access for clients such as large language models or other MCP clients, opening the door to richer contextual interactions with your project data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Detail: We do not really rely on APIv3 to offer the MCP server, however it's correct that we reuse the APIv3 format for MCP. Small wording suggestion to better reflect that:

Suggested change
OpenProject 17.2 introduces the **MCP Server**, a new Enterprise add-on that lays the foundation for robust integrations between OpenProject and external intelligent agents, automation tools, or systems that use the Model Context Protocol (MCP). This server uses OpenProject’s APIv3 resources as MCP-compatible endpoints and enables secure, authenticated access for clients such as large language models or other MCP clients, opening the door to richer contextual interactions with your project data.
OpenProject 17.2 introduces the **MCP Server**, a new Enterprise add-on that lays the foundation for robust integrations between OpenProject and external intelligent agents, automation tools, or systems that use the Model Context Protocol (MCP). This server exposes OpenProject’s APIv3 resources as MCP-compatible endpoints and enables secure, authenticated access for clients such as large language models or other MCP clients, opening the door to richer contextual interactions with your project data.

Additionally I want to give some feedback on the first sentence:

that lays the foundation for robust integrations between OpenProject and external intelligent agents, automation tools, or systems that use the Model Context Protocol (MCP).

Semantically: I don't understand the or enumeration here. The MCP server is only intended for "systems that use the Model Context Protocol". Automation tools and agents need to implement/have access to an MCP client to make use of this. So maybe this could be phrased in a way of "systems that use the Model Context Protocol, such as ..."

"intelligent agent": Do we know what we mean with this term? I needed to look it up and wasn't sure if it's made up, but apparently it exists: https://en.wikipedia.org/wiki/Intelligent_agent
However, this existing term seems to be very generic/broad, so I am not sure if this is what we were aiming for here.
Do we want to indicate that "your favorite large language model" can be hooked up to this? I think in this case we should use the term "LLM" or "large language model". An example (combined with the proposals above:

Suggested change
OpenProject 17.2 introduces the **MCP Server**, a new Enterprise add-on that lays the foundation for robust integrations between OpenProject and external intelligent agents, automation tools, or systems that use the Model Context Protocol (MCP). This server uses OpenProject’s APIv3 resources as MCP-compatible endpoints and enables secure, authenticated access for clients such as large language models or other MCP clients, opening the door to richer contextual interactions with your project data.
OpenProject 17.2 introduces the **MCP Server**, a new Enterprise add-on that lays the foundation for robust integrations between OpenProject and systems that use the Model Context Protocol (MCP), such as large language models or automation tools. This server exposes OpenProject’s APIv3 resources as MCP-compatible endpoints and enables secure, authenticated access for clients such as large language models or other MCP clients, opening the door to richer contextual interactions with your project data.

Technicality to my suggestion above: The LLMs usually run on a platform where they have access to an MCP client, but don't implement the MCP client as part of the model. I think the proposal above reflects this enough by saying "use the Model Context Protocol", but in case you want to reformulate my suggestion, I'd not write something that implies an LLM is an MCP client.


OpenProject 17.2 introduces the **MCP Server**, a new Enterprise add-on that lays the foundation for robust integrations between OpenProject and external intelligent agents, automation tools, or systems that use the Model Context Protocol (MCP). This server uses OpenProject’s APIv3 resources as MCP-compatible endpoints and enables secure, authenticated access for clients such as large language models or other MCP clients, opening the door to richer contextual interactions with your project data.

Included in this release are administrative UI support for configuring the MCP Server, infrastructure and metadata endpoints, and integration of MCP authentication with OpenProject’s OAuth2 and API key mechanisms. An initial set of MCP tools and resources is provided to surface key entities (projects, work packages, users, etc.), and response formats can be adjusted based on your preferences. With session-cookie and bearer-token support, the MCP Server acts as a secure bridge between your OpenProject instance and external systems that operate via MCP.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think something that we can brag about more openly, is that as a consequence on how we built this, it also integrates cleanly with external authentication providers (think of Keycloak):

Suggested change
Included in this release are administrative UI support for configuring the MCP Server, infrastructure and metadata endpoints, and integration of MCP authentication with OpenProject’s OAuth2 and API key mechanisms. An initial set of MCP tools and resources is provided to surface key entities (projects, work packages, users, etc.), and response formats can be adjusted based on your preferences. With session-cookie and bearer-token support, the MCP Server acts as a secure bridge between your OpenProject instance and external systems that operate via MCP.
Included in this release are administrative UI support for configuring the MCP Server, infrastructure and metadata endpoints, and integration of MCP authentication with OpenProject’s OAuth2 and API key mechanisms, including external OpenID Connect providers. An initial set of MCP tools and resources is provided to surface key entities (projects, work packages, users, etc.), and response formats can be adjusted based on your preferences. With session-cookie and bearer-token support, the MCP Server acts as a secure bridge between your OpenProject instance and external systems that operate via MCP.

and response formats can be adjusted based on your preferences

I believe that this sentence was born out of https://community.openproject.org/wp/71978, which I consider to be a pretty niche (as in small, not "nice") setting. We built this after we observed for one MCP client that it passed too much data on to the LLM and thus decreased model performance. Other MCP clients didn't seem to make the same mistake and thus don't require any fiddling with this setting at all.

I think it's good that we included the setting, because maybe someone will find it useful, but it's also a good candidate for a feature to be removed, once we see that it's not really needed. I'd try to not advertise it too strongly. My suggestion would be to drop the quoted half-sentence

Suggested change
Included in this release are administrative UI support for configuring the MCP Server, infrastructure and metadata endpoints, and integration of MCP authentication with OpenProject’s OAuth2 and API key mechanisms. An initial set of MCP tools and resources is provided to surface key entities (projects, work packages, users, etc.), and response formats can be adjusted based on your preferences. With session-cookie and bearer-token support, the MCP Server acts as a secure bridge between your OpenProject instance and external systems that operate via MCP.
Included in this release are administrative UI support for configuring the MCP Server, infrastructure and metadata endpoints, and integration of MCP authentication with OpenProject’s OAuth2 and API key mechanisms. An initial set of MCP tools and resources is provided to surface key entities (projects, work packages, users, etc.). With session-cookie and bearer-token support, the MCP Server acts as a secure bridge between your OpenProject instance and external systems that operate via MCP.

With session-cookie and bearer-token support, the MCP Server acts as a secure bridge between your OpenProject instance and external systems that operate via MCP.

Again, session-cookie support was something that we added late into the process because it might be valuable in niche use-cases, but it's nothing that deserves spotlight IMO.

I think the Bearer token and OAuth-support do deserve spotlight. For security on the one side (even though I have to admit that I find this a weird one to point out too strongly, because no one would ever admit that they built something insecurely), but also for compatibility/interoperability on the other side. As I indicated above, support for OAuth (in the way we did it), means that we support external IDPs out of the box.


For more details, please refer to the [Meetings documentation](../../user-guide/meetings/one-time-meetings/).

### Increased security for external links (Enterprise add-on)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Red flag when reading this:

Increased security [is an] Enterprise add-on

I think it's a fair limitation for the feature in question, but it could be misread as "if you really want to have a secure product, you have to pay".


Maybe Oliver or Klaus can refresh my memory on how the login actually improves the security here, but I think the intent was to make sure that users are aware that they receive an email generated by OpenProject that directs them to an external destination. The login requirement probably makes spamming links less effective, because only logged in users will see them, but not search engines / anonymous users? (I am not entirely sure about the attack vector here)


<!-- Remove this section if empty, add to it in pull requests linking to tickets and provide information -->
**“Enable REST web service” renamed**
The system setting previously labeled “Enable REST web service” is now called “REST API enabled”. This is a naming change only and does not affect functionality.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Factually wrong. Correct:

Suggested change
The system setting previously labeled “Enable REST web service” is now called “REST API enabled”. This is a naming change only and does not affect functionality.
The system setting previously labeled “Enable REST web service” is now called “Enable API tokens”. This is a naming change only and does not affect functionality.


**Improved OAuth token security for document collaboration**
OAuth tokens used for collaborative document editing (BlockNote ↔ Hocuspocus) now have shorter lifetimes and are automatically refreshed. This enhances security while keeping the editing experience unchanged.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something that was developed in the scope of the MCP Epic, but actually works independently of it might deserve some attention here (I assume it does, because we even highlight renamings of config options here):

**API tokens usable as Bearer token**
Newly generated API tokens can directly be used as Bearer tokens and do not need to be presented as basic auth credentials with the username `apikey`. This is intended to make usage of our APIs easier. The previously existing basic auth flow is still supported.

via: https://community.openproject.org/wp/71147

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants