diff --git a/CHANGELOG.md b/CHANGELOG.md index 58c4b25..f61bac6 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.6] - 2026-07-31 + +### Fixed + +- [#325](https://github.com/mohanagy/miftah/issues/325) Made Console setup completion and account switching remain actionable through overlapping refreshes and reauthentication. Successful setup now keeps its client handoff and focus without overriding the unlock screen; stale session responses cannot replace a newer configuration, status, or generated client entry; and Save draft, Resume draft, and readiness actions recover after successful reauthentication. Existing authentication, redaction, audit, no-shell subprocess, file-containment, Windows, and public API boundaries are unchanged. +- [#327](https://github.com/mohanagy/miftah/issues/327) Prepared the compatible v0.5.6 patch release for the Console actionability correction. Miftah remains experimental and pre-1.0. Technical delivery and owner dogfooding do not satisfy external evaluator counts; external validation remains incomplete under #25, #88, #202, and #290. + ## [0.5.5] - 2026-07-31 ### Changed diff --git a/README.md b/README.md index 73a840f..ff77c8f 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.5 +npm install -g @lubab/miftah@0.5.6 miftah version ``` diff --git a/docs/presets-and-clients.md b/docs/presets-and-clients.md index a6acf92..66dca69 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.5` +- Miftah package version: `0.5.6` - 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 310e8d5..11541b8 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.5` when you want Miftah to guide setup instead of assembling a multi-account configuration by hand: +Install `@lubab/miftah@0.5.6` when you want Miftah to guide setup instead of assembling a multi-account configuration by hand: ```bash -npm install -g @lubab/miftah@0.5.5 +npm install -g @lubab/miftah@0.5.6 miftah version ``` diff --git a/package-lock.json b/package-lock.json index 4f4ba69..f48202a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@lubab/miftah", - "version": "0.5.5", + "version": "0.5.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@lubab/miftah", - "version": "0.5.5", + "version": "0.5.6", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", diff --git a/package.json b/package.json index ba8e92c..e0340e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lubab/miftah", - "version": "0.5.5", + "version": "0.5.6", "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 6f076db..f4e179a 100644 --- a/src/console/console-assets.ts +++ b/src/console/console-assets.ts @@ -48,13 +48,21 @@ const page = `

One connection, named accounts. Open a connection to manage its accounts, or add another MCP.

+

-

Miftah keeps rejected names and paths hidden. For files you expect to see, check private access, validate the configuration, replace symlinks with regular files, then refresh.

+

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

@@ -68,11 +76,44 @@ const page = `

Miftah shows only the checks it actually ran or can safely run. It never treats configuration publication as client adoption.

-
-

-

-

-

+
+
+

1. Connection created

+

+
+
+

2. Install the client entry

+
+ + +
+

+ + +

+ +

+
+
+

3. Check readiness

+
+

+

+

+
+
+
+

4. Add and switch accounts

+

+

+
@@ -88,7 +129,7 @@ const page = ` What do you already have?

Choose one path. Nothing is saved, launched, discovered, or sent to an MCP while you are on this step.

- + @@ -102,37 +143,6 @@ const page = `
-
- 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.

-
-
- @@ -224,8 +237,46 @@ const page = ` +
+ 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.

+
+
+