Release Notes

Stay up to date with the latest features, improvements, and bug fixes in Frame-Master

v4.0.0 Beta-1

Latest

πŸ“…August 13, 2026

View on GitHub

Plugin Synergy + test workflow

4.0.0-beta.1 Release

This beta introduces the new plugin virtual-module system and stronger runtime-plugin testing support.

Highlights

  • Plugin virtual modules: plugins can now declare virtualModules directly. Frame-Master resolves and loads them centrally, so plugins no longer need boilerplate onResolve and onLoad handlers just to expose source.
  • Cross-plugin imports: declared modules are available to all plugin build configurations and participate in the existing chained onLoad pipeline.
  • Selective runtime injection: set injectRuntime: true per virtual module to expose only the required modules through the runtime loader.
  • Virtual-module compatibility proxy: opt into pluginsOptions.virtualModuleFileProxy to let legacy Bun.file(specifier) consumers read declared virtual-module source. Native file paths retain normal Bun.file behavior.
  • Clearer diagnostics and reload safety: duplicate declarations identify both plugin owners, and the virtual-module registry is rebuilt safely after config reloads.

Plugin Testing

  • Runtime plugin preload helper: loadRuntimePluginFromPlugins(plugins) is available from frame-master/testing and frame-master/test-suite.
  • Production-like chaining in tests: runtime plugins are registered in declaration order using the same chained onLoad behavior as production.
  • Improved plugin scaffold: frame-master plugin create now generates:
    • bunfig.toml with a test preload
    • test/preload.ts for runtime plugin registration
    • test/plugin.test.ts
  • The plugin scaffold’s Bun configuration template is included in the published npm package.

Documentation

  • Added plugin chaining and virtual-module guidance, including registry declarations, runtime injection, transform composition, collisions, and Bun.file compatibility.
  • Added runtime-plugin preload guidance to the test-suite and plugin-testing documentation.

Beta Notes

  • This prerelease is published under the npm beta dist-tag and does not replace the stable latest release.

  • Install with:

    bun add frame-master@beta
    
πŸ”—View full release notes on GitHubβ†’

v3.2.2

Release

πŸ“…August 9, 2026

View on GitHub

Test suite

3.2.2 Release

Highlights

  • Plugin test suite: new programmatic harness for plugin authors, published as frame-master/testing (alias frame-master/test-suite). Spin up an isolated Frame-Master env, hit real HTTP routes, exercise the request pipeline, and run the unified build pipeline β€” all from bun:test, without scaffolding a full app.

Plugin testing (frame-master/testing)

createPluginTestEnv(options)

Creates an in-memory config (default HTTPServer.port: 0), PluginLoader, and builder for the plugins under test.

Option Default Description
plugins required Plugins under test
config {} Partial config overrides
cwd process.cwd() Working directory for fixtures
startServer true Start HTTP server on create
runCreateContext true Run createContext hooks
runServerStart true Run serverStart hooks

PluginTestEnv API

Method / field Description
env.fetch(path, init?) HTTP request against the live server
env.handleRequest(request) Request pipeline without network ({ response, master })
env.build({ entrypoints?, buildConfig? }) Unified build pipeline
env.start() / env.dispose() Lifecycle
env.config / env.builder / env.pluginLoader / env.server / env.baseUrl Escape hatches

Fixtures

withTempDir, writeFixture, createTempDir, removeTempDir for disposable project trees and entrypoints.

Quick start

import { afterEach, expect, test } from "bun:test";
import { createPluginTestEnv, type PluginTestEnv } from "frame-master/testing";

let env: PluginTestEnv | undefined;

afterEach(async () => {
  await env?.dispose();
  env = undefined;
});

test("route responds", async () => {
  env = await createPluginTestEnv({
    plugins: [
      {
        name: "my-plugin",
        version: "1.0.0",
        router: {
          request(master) {
            if (master.URL.pathname === "/hello") master.setResponse("ok");
          },
        },
      },
    ],
  });
  const res = await env.fetch("/hello");
  expect(res.status).toBe(200);
  expect(await res.text()).toBe("ok");
});

Scaffolding

frame-master plugin create now scaffolds a sample plugin.test.ts and documents testing in the generated plugin README.

Docs

  • Package: test-suite/README.md
  • Site guide: plugin testing docs (docs/plugins/test) β€” recipes for HTTP, handleRequest, and build tests
  • Prefer one env per test, always await env.dispose() in afterEach, and avoid parallel files that share process singletons

Notes

  • No breaking changes. Existing plugins and configs remain compatible.
  • Interactive GUI remains frame-master test start (bin/testing/); the new surface is the programmatic library for CI and unit/integration tests.
πŸ”—View full release notes on GitHubβ†’

v3.2.0

Release

πŸ“…May 14, 2026

View on GitHub

New Feature Debug Mode

New Feature

  • CLI tool
frame-master debug build

this will start a Debug server + Web UI for investigating between plugins onLoad/finally hooks in a Diff monaco-editor.

πŸ”—View full release notes on GitHubβ†’

v3.1.2

Release

πŸ“…April 20, 2026

View on GitHub

new onReadyHook

new features

  • onReady hook ( triggered when the server is ready and every components are loaded )

improvement

  • general better code quality
πŸ”—View full release notes on GitHubβ†’

v3.1.1

Release

πŸ“…December 19, 2025

View on GitHub

Windows Patch

3.1.1 Release


Highlights

  • Improved Windows Compatibility:
    • The CLI tool now uses a simplified versioning approach to resolve compatibility issues on Windows platforms.
    • Template extraction and file operations have been fully tested and verified on Linux, Windows 11 and MacOS, ensuring seamless experience for all users.

πŸ”—View full release notes on GitHubβ†’

v3.1.0

Release

πŸ“…December 15, 2025

View on GitHub

v3.1.0

Frame Master v3.1.0 β€” What’s New

Release Date: December 14, 2025


πŸ” CLI Search Commands

Search plugins and templates directly from your terminal:

frame-master search plugins react --category ssr
frame-master search templates "full stack" --json

Supports advanced query syntax: tag:auth, author:name, -deprecated, "exact phrase"


πŸ”— Plugin Chaining Control

Stop the chain when needed:

return { contents, loader: "tsx", preventChaining: true };

🏁 Plugin Builder finally()

Post-process files after all handlers complete:

build.finally("html", ({ contents, path }) => ({
  contents: `<!-- ${path} -->\n${contents}`,
}));

Works even without matching onLoad handlers.


πŸ“¦ Global Build Entrypoints

pluginsOptions: {
  entrypoints: ["./src/global.ts", "./src/analytics.ts"],
}

🏷️ Extendable Directive Types

Type-safe custom directives with module augmentation:

declare module "frame-master/plugin/utils" {
  interface CustomDirectives {
    "use-analytics": true;
  }
}

// Now type-safe!
createDirective("use-analytics", /regex/);

⬆️ Upgrade

bun update frame-master

No breaking changes. Drop-in replacement for v3.0.x.

πŸ”—View full release notes on GitHubβ†’

v3.0.1

Release

πŸ“…December 11, 2025

View on GitHub

Bug fixes

Bug fixes

  • html_rewrite and globalValueInjection are now only applied to content-type: β€œtext/html”.
  • CLI plugin create will correctly format the README.md name.
  • directives in plugin config now work properly.
  • Plugin onLoad chaining with no namespace intercept all namespaces.
πŸ”—View full release notes on GitHubβ†’

v3.0.0

Release

πŸ“…December 10, 2025

View on GitHub

Chain Reaction

What’s New

⛓️ Plugin Chaining

Multiple plugins can now transform the same file in sequence. Build and Runtime composable transformation pipelines without conflicts.

Original File ──► Plugin A ──► Plugin B ──► Final Output

πŸ”₯ Hot Config Reload

Edit your frame-master.config.ts and watch changes apply instantlyβ€”no restart needed.

πŸ› οΈ New Plugin Tools

  • HotFileWatcher β€” Watch any file for changes in your plugins
  • onConfigReload hook β€” React to config updates
  • Helper utilities: isVerbose(), isDev(), isProd(), isBuildMode()

πŸ“¦ New Exports

import { chainPlugins, getChainableContent } from "frame-master/plugin";
import { HotFileWatcher } from "frame-master/server/hot-file-watcher";
import { reloadServer } from "frame-master/server";
πŸ”—View full release notes on GitHubβ†’

v2.1.1

Release

πŸ“…December 3, 2025

View on GitHub

Vulnerability fix

v2.1.0 templates won’t work anymore update to v2.1.1

CLI Updates

Template Registry

  • Updated API endpoint to frame-master.com for template queries.

Security

WebToken Package

  • Fixed critical vulnerability: Removed static IV requirement from AES-256-CBC encryption.
  • Encryption now generates a cryptographically secure random IV for each operation.
  • This prevents pattern analysis attacks that were possible with static IV reuse.

Package

  • Removed test-project directory from the npm package to reduce package size.
πŸ”—View full release notes on GitHubβ†’

v2.1.0

Release

πŸ“…November 29, 2025

View on GitHub

template intergation & better CLI

Enhancement

CLI

  • Added global verbose flag (-v, --verbose) for detailed logging.
  • Install templates from the CLI with frame-master create command.

Build

  • build command will display more information when the build crashes.
πŸ”—View full release notes on GitHubβ†’

v2.0.5

Release

πŸ“…November 19, 2025

View on GitHub

CLI Features

Features

  • Plugin CLI extensions: plugin can add CLI command via frame-master extended-cli <plugin-command>.

  • Build Env: process.env.BUILD_MODE when runing frame-master build.

Bug Fixes

  • prevent log functionality was not triggered properly because of sync/async calling order.
  • response Header was not merging correctly.

Other

  • new Frame-Master logo
πŸ”—View full release notes on GitHubβ†’

v2.0.4

Release

πŸ“…November 12, 2025

View on GitHub

Many bug fixes

This patch release addresses critical CLI stability issues and enhances the build pipeline with improved error handling and automated cleanup capabilities. This update ensures better reliability for developers using Frame Master’s command-line interface.

Bug Fixes

  • CLI Stability: CLI command create and init parse tsconfig correctly and no longer crash.

Improvements

  • cleanup build directory after build, removing last build leftover.
  • build error handling.

Note

  • this version is a batch of version with 2.0.3 and 2.0.2.
  • builder initialization order changed.
πŸ”—View full release notes on GitHubβ†’

v2.0.1

Release

πŸ“…November 1, 2025

View on GitHub

Enhanced developer experience

Version 2.0.1 brings significant improvements to the developer experience with enhanced CLI interface, better server initialization, and optimized plugin configuration.

Features

  • Enhanced CLI Interface: colorful CLI, clear env message ( dev or prod ). Formated error messages.

  • Build lifecycle API: isBuilding and async awaitBuildFinish

Bug Fixes

  • Fix regression where running frame-master plugin validate was crashing.
πŸ”—View full release notes on GitHubβ†’

v2.0.0

Release

πŸ“…October 30, 2025

View on GitHub

Builder API, Test, bug fixes

This release focuses on enhancing the developer experience with architectural improvements that eliminate circular dependency issues, new Builder API methods for debugging and analysis, CLI enhancements, comprehensive testing, and documentation refinements.

Features

  • New Builder API.
  • Config access API

Bug fixes

  • Config access circular dependency (null before initialization).
  • Test suite for preventing known regression.
πŸ”—View full release notes on GitHubβ†’

v1.1.0

Release

πŸ“…October 28, 2025

View on GitHub

Build Lifecycle & Enhanced Plugin API

Build Lifecycle & Enhanced Plugin API

Introducing comprehensive build lifecycle hooks, enhanced plugin documentation, and improved WebSocket support. Plugin developers can now customize the build process at every stage.

KEY HIGHLIGHTS

  • Build lifecycle hooks (buildConfig, beforeBuild, afterBuild)
  • Enhanced plugin type definitions with comprehensive JSDoc
  • WebSocket support in plugin API
  • Improved server configuration options
  • Better developer experience with detailed documentation
πŸ”—View full release notes on GitHubβ†’

v1.0.0

Release

πŸ“…October 27, 2025

View on GitHub

Initial Release

The first stable release of Frame-Master! A revolutionary framework-agnostic, plugin-driven architecture powered by Bun.js. Build your perfect full-stack framework, one plugin at a time.

KEY HIGHLIGHTS

  • Plugin-driven architecture
  • Framework-agnostic design
  • Hot module replacement in dev mode
  • File system watching and auto-reload
  • HTML rewriting capabilities
  • Request/Response lifecycle hooks
πŸ”—View full release notes on GitHubβ†’