diff --git a/CHANGELOG.md b/CHANGELOG.md index 88411ab..896b54f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,41 @@ +## v0.24.0 (2025-11-04) + +### Feat + +- add scope protection to OAuth provisioning tools +- enable authorization services for token exchange in Keycloak +- implement scope-based audience mapping and RFC 9728 support +- integrate token exchange into MCP server application +- implement RFC 8693 Standard Token Exchange for Keycloak +- Add userinfo route/page +- add browser-based user info page with separate OAuth flow +- Implement ADR-004 Progressive Consent foundation (partial) +- Complete ADR-004 Progressive Consent OAuth flows implementation +- Implement ADR-004 Progressive Consent foundation components +- Implement ADR-004 Hybrid Flow with comprehensive integration tests + +### Fix + +- add missing await for get_nextcloud_client in capabilities resource +- use valid Fernet encryption keys in token exchange tests +- accept resource URL in token audience for Nextcloud JWT tokens +- remove token-exchange-nextcloud scope and accept tokens without audience +- move audience mapper from scope to nextcloud-mcp-server client +- move token-exchange-nextcloud from default to optional scopes +- restructure routes to prevent SessionAuthBackend from interfering with FastMCP OAuth +- allow OAuth Bearer tokens on /mcp endpoint by excluding from session auth +- correct OAuth token audience validation using RFC 8707 resource parameter +- remove remaining references to deleted oauth_callback and oauth_token +- remove Hybrid Flow, make Progressive Consent default (ADR-004) +- browser OAuth userinfo endpoint and refresh token rotation +- make ENABLE_PROGRESSIVE_CONSENT consistently opt-in (default false) +- make provisioning checks opt-in (default false) +- Disable Progressive Consent for mcp-oauth to enable Hybrid Flow tests + +### Refactor + +- integrate token exchange into unified get_client() pattern + ## v0.23.0 (2025-11-03) ### Feat diff --git a/charts/nextcloud-mcp-server/Chart.yaml b/charts/nextcloud-mcp-server/Chart.yaml index 2324d18..8925790 100644 --- a/charts/nextcloud-mcp-server/Chart.yaml +++ b/charts/nextcloud-mcp-server/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: nextcloud-mcp-server description: A Helm chart for Nextcloud MCP Server - enables AI assistants to interact with Nextcloud type: application -version: 0.23.0 -appVersion: "0.23.0" +version: 0.24.0 +appVersion: "0.24.0" keywords: - nextcloud - mcp diff --git a/pyproject.toml b/pyproject.toml index 60d8070..ac40a4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nextcloud-mcp-server" -version = "0.23.0" +version = "0.24.0" description = "Model Context Protocol (MCP) server for Nextcloud integration - enables AI assistants to interact with Nextcloud data" authors = [ {name = "Chris Coutinho", email = "chris@coutinho.io"} diff --git a/uv.lock b/uv.lock index 77cd1fd..2264397 100644 --- a/uv.lock +++ b/uv.lock @@ -966,7 +966,7 @@ wheels = [ [[package]] name = "nextcloud-mcp-server" -version = "0.23.0" +version = "0.24.0" source = { editable = "." } dependencies = [ { name = "aiosqlite" },