Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. The format

## [Unreleased]

## [0.5.1] - 2026-07-29

### Added

- [#40](https://github.com/mohanagy/miftah/issues/40) Added an owner-readable Miftah 0.5 feature and usage guide that distinguishes the 0.5 onboarding/profile-management delta from capabilities first shipped in 0.4, maps each outcome to production-bound CLI or Console entry points, and retains the package's OAuth, active-session, provider-ownership, pre-1.0, and incomplete external-validation boundaries.
Expand All @@ -12,6 +14,7 @@ All notable changes to this project will be documented in this file. The format

- [#204](https://github.com/mohanagy/miftah/issues/204) Made guided setup an explicit first-use product front door: the terminal wizard now presents numbered source choices, visible setup steps, safe back/cancel handling before connection details, and current-step recovery for invalid choices; the README now places both `miftah setup` and the `miftah dashboard` browser Console ahead of the optional scripted `init` example and distinguishes the browser UI from the lower-level `console` API command. Existing local STDIO, returning provider-owned account, no-secret, no-shell, no-overwrite, OAuth ownership, import, validation, and shared CLI/Console setup boundaries are unchanged. External evaluator acceptance remains open and is not claimed.
- [#290](https://github.com/mohanagy/miftah/issues/290) Redesigned the README as a concise product front door: first-screen fit guidance, one connector with named profiles, one safe GitHub first-success path, distinct secret/native-OAuth/upstream-owned-OAuth routes, visible client/wizard/Console choices, and progressively disclosed security, architecture, reference, and troubleshooting links. External evaluator acceptance remains open and is not claimed by this documentation change.
- [#297](https://github.com/mohanagy/miftah/issues/297) Prepared the compatible v0.5.1 corrective release for the first-use README and setup-wizard improvements. This release keeps Miftah experimental and pre-1.0 and does not claim that external validation under #25, #88, #202, #204, or #290 is complete.

### Fixed

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.0
npm install -g @lubab/miftah@0.5.1
miftah version
```

Expand Down
2 changes: 1 addition & 1 deletion docs/presets-and-clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.0`
- Miftah package version: `0.5.1`
- 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.
Expand Down
4 changes: 2 additions & 2 deletions docs/whats-new-in-0.5.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# What is in Miftah 0.5

Install `@lubab/miftah@0.5.0` when you want Miftah to guide setup instead of assembling a multi-account configuration by hand:
Install `@lubab/miftah@0.5.1` when you want Miftah to guide setup instead of assembling a multi-account configuration by hand:

```bash
npm install -g @lubab/miftah@0.5.0
npm install -g @lubab/miftah@0.5.1
miftah version
```

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lubab/miftah",
"version": "0.5.0",
"version": "0.5.1",
"description": "Wrap any MCP. Use the right account without reconnecting.",
"keywords": [
"mcp",
Expand Down
25 changes: 12 additions & 13 deletions tests/release-version.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { readFileSync } from "node:fs";
import { describe, expect, it } from "vitest";

const releaseVersion = "0.5.0";
const releaseVersion = "0.5.1";

function readRepositoryFile(path: string): string {
return readFileSync(new URL(`../${path}`, import.meta.url), "utf8");
Expand All @@ -21,10 +21,10 @@ function releaseNotes(changelog: string, version: string): string {
return changelog.slice(match.index, end < 0 ? undefined : end);
}

describe("v0.5.0 release artifacts", () => {
describe("v0.5.1 release artifacts", () => {
it.each([
"## [0.5.0] - 2026-7-28\n\n### Added\n",
"Release candidate: ## [0.5.0] - 2026-07-28\n\n### Added\n"
"## [0.5.1] - 2026-7-29\n\n### Added\n",
"Release candidate: ## [0.5.1] - 2026-07-29\n\n### Added\n"
])("requires a dated release heading at the start of a line", (changelog) => {
expect(() => releaseNotes(changelog, releaseVersion)).toThrow(
`Unable to find the ${releaseVersion} changelog entry.`
Expand Down Expand Up @@ -65,21 +65,20 @@ describe("v0.5.0 release artifacts", () => {
}
});

it("documents guided multi-account onboarding while retaining the experimental package status", () => {
it("documents the first-use corrections while retaining the experimental package status", () => {
const changelog = readRepositoryFile("CHANGELOG.md");
const notes = releaseNotes(changelog, releaseVersion);

expect(changelog).toContain("Miftah is experimental and pre-1.0");
expect(notes).toContain("### Added");
expect(notes).toContain("### Changed");
expect(notes).toContain("### Fixed");
expect(notes).toMatch(/guided multi-account/iu);
expect(notes).toMatch(/resumable connector-setup/iu);
expect(notes).toMatch(/Google Search Console/iu);
expect(notes).toMatch(/native OAuth-bound profile rename/iu);
expect(notes).toMatch(/external design-partner validation/iu);
expect(notes).toMatch(/MCP SDK Hono runtime dependency chain/iu);
expect(notes).toMatch(/patched development toolchain dependencies/iu);
expect(notes).toMatch(/batched Windows Console catalog ACL verification/iu);
expect(notes).toMatch(/owner-readable Miftah 0\.5 feature and usage guide/iu);
expect(notes).toMatch(/first-use product front door/iu);
expect(notes).toMatch(/numbered source choices/iu);
expect(notes).toMatch(/safe back\/cancel handling/iu);
expect(notes).toMatch(/external evaluator acceptance remains open/iu);
expect(notes).toMatch(/host-dependent file-flush latency/iu);
const readme = readRepositoryFile("README.md");
expect(readme).toContain("Use the right account with the MCP servers you already trust");
expect(readme).toContain("experimental and pre-1.0");
Expand Down