diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bfc7088d..65dfb3be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,8 +84,13 @@ jobs: run: npm ci - name: Test core contracts + if: ${{ runner.os != 'Windows' }} run: npm run test:core + - name: Test core contracts (Windows, serialized files) + if: ${{ runner.os == 'Windows' }} + run: npm run test:core -- --no-file-parallelism + - name: Test OAuth and Console compatibility run: npm run test:oauth-console diff --git a/CHANGELOG.md b/CHANGELOG.md index 3800a35a..58c4b25c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. The format ## [Unreleased] +## [0.5.5] - 2026-07-31 + +### Changed + +- [#202](https://github.com/mohanagy/miftah/issues/202) Made the Console task-first for returning users: validated MCP connections now lead the page and show their named account profiles, durable default, and whether live in-session switching through `miftah_use_profile` is available. The setup wizard remains directly reachable, while the authentication ownership matrix and trust-boundary reference are collapsed behind **How authentication works**. The Console still exposes only non-secret metadata, never inspects client settings or running MCP processes, and preserves the existing validation, redaction, audit, file-containment, and no-shell boundaries. External evaluator acceptance remains open and is not claimed by this change. +- [#319](https://github.com/mohanagy/miftah/issues/319) Prepared the compatible v0.5.5 patch release for the task-first Console correction. Miftah remains experimental and pre-1.0. Technical delivery and owner dogfooding do not satisfy the external acceptance counts; external validation remains incomplete under #25, #88, and #202. + ## [0.5.4] - 2026-07-30 ### Changed diff --git a/README.md b/README.md index 3f4771e9..73a840ff 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Install Miftah, then choose the terminal wizard or the browser Console. Both use ### 1. Install the current release ```bash -npm install -g @lubab/miftah@0.5.4 +npm install -g @lubab/miftah@0.5.5 miftah version ``` diff --git a/docs/presets-and-clients.md b/docs/presets-and-clients.md index e0f206bc..a6acf925 100644 --- a/docs/presets-and-clients.md +++ b/docs/presets-and-clients.md @@ -3,7 +3,7 @@ This is the compatibility source of truth for generated `miftah init` configurations and client snippets. - Catalog version: `3` -- Miftah package version: `0.5.4` +- Miftah package version: `0.5.5` - Last tested / validation boundary: the catalog builds strict Miftah configuration that `validateConfig` accepts. The docs contract test checks generated configuration only; it does **not** construct a runtime, start, authenticate to, or smoke-test external providers. Miftah itself requires Node.js `>=20`. That does not establish an upstream server's Node requirement. diff --git a/docs/whats-new-in-0.5.md b/docs/whats-new-in-0.5.md index 7f95e3bc..310e8d51 100644 --- a/docs/whats-new-in-0.5.md +++ b/docs/whats-new-in-0.5.md @@ -1,9 +1,9 @@ # What is in Miftah 0.5 -Install `@lubab/miftah@0.5.4` when you want Miftah to guide setup instead of assembling a multi-account configuration by hand: +Install `@lubab/miftah@0.5.5` when you want Miftah to guide setup instead of assembling a multi-account configuration by hand: ```bash -npm install -g @lubab/miftah@0.5.4 +npm install -g @lubab/miftah@0.5.5 miftah version ``` diff --git a/package-lock.json b/package-lock.json index 2b8c99c9..4f4ba692 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@lubab/miftah", - "version": "0.5.4", + "version": "0.5.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@lubab/miftah", - "version": "0.5.4", + "version": "0.5.5", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", diff --git a/package.json b/package.json index c3fb573f..ba8e92c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lubab/miftah", - "version": "0.5.4", + "version": "0.5.5", "description": "Wrap any MCP. Use the right account without reconnecting.", "keywords": [ "mcp", diff --git a/src/console/console-assets.ts b/src/console/console-assets.ts index de59c8b1..6f076dbf 100644 --- a/src/console/console-assets.ts +++ b/src/console/console-assets.ts @@ -40,42 +40,14 @@ const page = `
+

Only validated files in Miftah's standard configuration directory appear here. Client settings and running MCP processes are never inspected.

+
+ How authentication works +
+

Connection ownership

+

Know who owns authentication before you connect

+
+
+

Managed here

+

Remote native OAuth

+

Miftah discovers standards-based endpoints, opens consent, and stores tokens only in the OS vault.

+
+
+

Provider-owned login

+

Provider adapter

+

Miftah launches a pinned local adapter. The upstream owns browser login and its private token cache.

+
+
+

Manual setup

+

Upstream-owned auth

+

Use the provider's documented API key, credential file, or login flow. Miftah passes only configured references.

+
+
+

Not imported

+

Unsupported state

+

Passwords, browser cookies, and arbitrary third-party token caches are never accepted or scraped.

+
+
+

Trust boundary: Profiles and a generated client entry describe local configuration; they do not prove a credential works or belongs to the intended account. A reviewed safe check may establish readiness only where declared, and a configured identity probe is separate. Miftah policy and redacted audit protect the wrapper, not provider-side token scopes or retention.

+
+
+