Skip to content

Releases: sitbon/magg

🧲 Magg Release v0.5.1.52

25 Jun 17:55
magg/v0.5.1.52
1a7b215

Choose a tag to compare

Automatically generated release triggered by commit 1a7b215

Changes

Simplify publish workflow and improve changelog generation

Date: Wed Jun 25 10:54:53 2025 -0700*

  • Shorten workflow name to "Publish" for brevity
  • Replace secrets.GITHUB_TOKEN with secrets.PAT_TOKEN for enhanced permissions
    • Allows triggering of Docker workflow
  • Update changelog formatting to exclude "Signed-off-by" lines and include commit links
  • Remove unnecessary changelog code block from release notes

Installation

uv add magg==0.5.1.52

🧲 Magg Release v0.5.1.51

25 Jun 07:55
magg/v0.5.1.51
7368c6c

Choose a tag to compare

Automatically generated release triggered by commit 7368c6c

Changes

Merge Release v0.5.1

Date: Wed Jun 25 00:53:21 2025 -0700

Release 0.5.1: Python 3.12, auth, and docker support.

Date: Wed Jun 25 00:52:02 2025 -0700

  • Expand README with new features and enhancements
    • Add details on bearer token authentication, Docker support, and health monitoring tools.
    • Highlight Python 3.12+ compatibility.
    • Introduce magg_status and magg_check tools.

Rename MAGG references to Magg for consistency.

Date: Wed Jun 25 00:02:33 2025 -0700

  • Updates all modules, tests, and documentation to reflect the naming convention change.
  • Adjusts examples and comments to use Magg styling throughout.
  • Modifies docker-publish.yml to handle docker tag parsing properly.

Simplify docker-publish.yml workflow and update badges

Date: Tue Jun 24 22:58:17 2025 -0700

  • Comment out unused Docker labels and cache settings
  • Disable SBOM and provenance generation in Docker builds
  • Adjust build-and-push matrix order for clarity
  • Update README badges:
    • Replace old test badge reference with code comments
    • Add Docker workflow badge alongside tests badge
  • Adjust caching (force pushed)
  • Add cleanup workflow stage (force pushed)
  • Properly set convenience tags latest and dev (on main).

Fix Python 3.12 container tests and simplify CI matrix

Date: Tue Jun 24 21:48:09 2025 -0700

  • Add conditional symlink fix for Python 3.12 on Alpine Linux

    • Python 3.12 expects linux-gnu extension suffix, but Alpine provides linux-musl
    • Create symlinks from *-linux-gnu.so to *-linux-musl.so for C extensions
    • Fix is only applied when PYTHON_VERSION="3.12" to avoid affecting other versions
  • Fix dockerfile stage reference: FROM beta AS pro → FROM pre AS pro

    • Completes the beta→pre rename that was missed on line 108
  • Simplify GitHub Actions Python version matrix

    • Remove get-python-version job from both test.yml and docker-publish.yml
    • Hardcode Python versions as ['3.12', '3.13'] to avoid duplication
    • Previously, 3.13 was tested twice (hardcoded + from .python-version file)
    • Makes workflows cleaner and easier to understand

This fixes the ModuleNotFoundError for pydantic_core._pydantic_core in
Docker containers running Python 3.12, while maintaining compatibility
with other Python versions.

Add Docker support, Python 3.12 compatibility, and streamline CI/CD

Date: Tue Jun 24 21:11:28 2025 -0700

Docker Implementation:

  • Add multi-stage Dockerfile with pro/pre/dev variants
  • Create docker-publish.yml workflow for automated ghcr.io publishing
  • Add compose.yaml with service inheritance for easy local development
  • Include .env.example for Docker configuration

Python & Build Improvements:

  • Add Python 3.12 support and test in CI matrix
    • 3.12 doesn't support the async Python REPL in the MCP browser
  • Migrate from Poetry to Hatchling build backend
  • Update workflows to use dynamic versioning without commit noise
  • Remove version bump commits from publish workflow

Settings & Configuration:

  • Standardize all settings classes to use BaseSettings
  • Add validate_assignment=True across all config classes
  • Clean up environment variable handling
  • Fix MAGG_READ_ONLY to be build arg in Docker

Documentation Updates:

  • Recommend uv tool install magg as primary installation
  • Add Docker usage section with examples
  • Update workflows documentation

Testing & CI:

  • Run tests in Docker containers for all Python versions
  • Add matrix testing for Python 3.12, 3.13, and .python-version
  • Remove redundant branch-protection.yml workflow
  • Fix test environment variable handling

Other Changes:

  • Add initial MAGG_DEBUG env var support
  • Fix mbro connection string formatting
  • Improve server startup logging and error handling

Add magg_status and magg_check tools with tests

Date: Mon Jun 23 16:03:53 2025 -0700

  • Implement magg_status to fetch server stats and tool info
  • Add magg_check for server health with configurable actions
    (report, remount, unmount, disable)
  • Update tests to cover new tools and actions
  • Clean trailing whitespace in embedding.py and other files
  • Fix handling of HTTP endpoint redirects in mbro client
  • Minor formatting adjustments in test and auth files

Update auth tests to validate key-based configuration

Date: Mon Jun 23 15:01:16 2025 -0700

  • Replace test_enabled_with_config with test_enabled_with_keys
  • Generate and use temporary RSA keys for testing auth initialization

Add bearer token authentication and major improvements

Date: Mon Jun 23 14:51:03 2025 -0700

Authentication:

  • Add RSA keypair-based bearer token authentication using PyJWT
  • Support private key from env var (MAGG_PRIVATE_KEY) or .env file
  • Add auth CLI commands: init, status, token, public-key, private-key
  • Integrate FastMCP's BearerAuthProvider for server auth
  • Auth is optional - server runs without auth if no keys exist

Client improvements:

  • Add MaggClient with automatic JWT loading from MAGG_JWT env var
  • Support transparent proxy mode for tool calls without prefix
  • Add authentication example demonstrating usage patterns

Architecture changes:

  • Simplify MAGGRunner to support embedded/external usage
  • Add async context manager to MAGGServer for proper setup/cleanup
  • Rename mbro/acon.py to arepl.py (async REPL)
  • Remove deprecated client package in favor of single module

Testing:

  • Add auth tests covering all authentication functionality
  • Update E2E tests to disable auth using non-existent key_path
  • Fix test isolation issues with config paths

Other:

  • Bump version to 0.5.0 marking auth milestone
  • Update dependencies: add PyJWT, upgrade FastMCP
  • Improve terminal utilities and system path handling
  • Update documentation and examples

Markdown formatting for release changelog

Date: Sun Jun 22 22:20:22 2025 -0700

Installation

uv add magg==0.5.1.51

🧲 Magg Release v0.4.2.40

23 Jun 03:57
magg/v0.4.2.40
c547a7e

Choose a tag to compare

Automatically generated release triggered by commit 6bb893e

Changes

Fix publish workflow: delete remote tag before pushing

Date: Sun Jun 22 20:57:03 2025 -0700

Update workflow and release scripts

Date: Sun Jun 22 20:29:21 2025 -0700

  • Disabled requirement of test status check to pass for the
    Default Branch Protection ruleset.

Merge Release v0.4.0

Date: Sun Jun 22 18:59:09 2025 -0700

Release 0.4.0: Proxy support refactoring and documentation

Date: Sun Jun 22 18:29:05 2025 -0700

  • Make prompt-toolkit a required dependency (remove mbro extra)
    • mbro might still become its own package later
  • Add test status badge to README
  • Add local/ to gitignore for development files

Fix tests: use mode="json" for model_dump.

Date: Sun Jun 22 17:57:31 2025 -0700

24 occurrences of model_dump across 9 files reviewed.

Issue arose from using Path type in config data.

Documentation updates.

Date: Sun Jun 22 17:37:29 2025 -0700

Note: Tests currently failing.

Fix working directory validation and use Path type consistently

Date: Sun Jun 22 16:04:56 2025 -0700

  • Change ServerConfig.working_dir from str to Path type for better type safety
  • Fix validate_working_directory to only validate when working_dir is provided
    rather than trying clever defaults that could never work
  • Convert Path to str when passing to transport classes (which aren't Pydantic)
  • Make setup() explicit requirement for in-memory usage via FastMCPTransport
    • Required due to async context, but called automatically on server start
  • Add comprehensive tests for in-memory functionality including verification
    that external server tools require setup() to be called
  • Update MAGGServer.init to accept Path type for config_path
  • Update fix_whitespace.py to use python command instead of shell piping

This addresses issues where working directory validation had unreachable code
and improves type consistency throughout the codebase.

Move proxy to magg.proxy package, remove client.runner

Date: Sun Jun 22 15:11:57 2025 -0700

  • Create magg.proxy package with server/client/mixin modules
  • Remove client.runner - use FastMCPTransport directly
  • Rename ServerRunner to MAGGRunner with signal handling
  • Update fix_whitespace.py to walk directories itself

Tests pass unchanged.

Add MCP proxy pattern implementation and client utilities

Date: Sat Jun 21 23:58:27 2025 -0700

Implement proxy tool pattern for dynamic MCP capability access,
including client utilities for embedding MAGG in applications.

Core Implementation:

  • Add ProxyMCP mixin with validation, introspection, and result transformation
  • Implement ProxyClient with transparent mode for drop-in MCP client replacement
  • Create MAGGRunner for embedding MAGG server in user applications
  • Add ProxyResponseInfo for extracting metadata from proxy responses

Documentation:

  • Add proxy pattern documentation (docs/proxy.md)
  • Create formal MCP Proxy Extension Specification (docs/proxy-spec.md)
  • Document resource objectification and MIME type preservation

Key Features:

  • Proxy tool with list/info/call actions for tools/resources/prompts
  • Automatic result transformation with type preservation annotations
  • Resource objectification: JSON conversion with contentType preservation
  • Client transparent mode: seamlessly redirects standard MCP operations
  • Runner supports both stdio and HTTP transports with async/sync APIs

Technical Details:

  • Remove asgiref dependency (async-only implementation)
  • Update transform utilities for proxy-specific annotations
  • Parameter 'type' aliased as 'a_type' to avoid Python keyword conflict
  • Standard MCP error handling via exception propagation

Installation

uv add magg==0.4.2.40

magg v0.3.6.30

22 Jun 02:57
magg/v0.3.6.30
4e6c6f2

Choose a tag to compare

Package Info

  • Version: 0.3.6.30
  • Commit: 4e6c6f2
  • SHA512: 06914f3ede97c5648ef12d278392db14cc900a35f3ffa09acd7458f3d5588c5c7b227d6872c51960d18b6c2ed9afacb72a1eff38c1c182059f3b748869db9cc3 dist/magg-0.3.6.30.tar.gz

Installation

pip install magg==0.3.6.30