Follow us on to be up to date with the latest changes.
Choose a changelog
v0.14.0
// December 10, 2025
Large Gram Functions
Previously, Gram Functions could only be around 700KiB zipped, which was adequate for building many tools but was severely limiting for many others. One example is ChatGPT Apps, which can be full-fledged React applications with images, CSS and JS assets embedded alongside an MCP server, all running in a Gram Function. Many such apps may not fit into this constrained size. Large Gram Functions addresses this limitation by allowing larger zip files to be deployed with the help of Tigris, an S3-compatible object store that integrates nicely with Fly.io where Gram Functions are deployed and run.Get started with Gram FunctionsRun these commands in the terminal:
Create a new function project. See gram functions docs for more info
Build the functions
Push the functions to Gram
The build command should open a new window with the next step. If it doesn't, click here to continue.
Features
Support for Large Gram Functions#969 - Enables handling of substantially larger functions that expand the potential of the platform. (Author: @disintegrator )
Ensure Function OAuth in Install Page#1034 - Improves security by ensuring OAuth configurations are respected during installation. (Author: @ryan-timothy-albert )
Reading Toolsets Available to Chat Scoped Auth#1022 - Extends authentication options to provide more granular access controls for chat services. (Author: @ryan-timothy-albert )
PowerShell Installer Script#1026 - Automates installation of the CLI, enhancing user setup experience. (Author: @walker-tx )
Bug fixes
Playground Tool Parameters Not Rendering on Initial Load#1031 - Fixes a frustrating user interface bug in the playground. (Author: @simplesagar )
Fix Vercel CORS Check#1035 - Removes unnecessary CORS checks for smoother operation. (Author: @ryan-timothy-albert )
Fix Dashboard's WebGL Onboarding Bugs#1028 - Ensures that users without graphics acceleration have a graceful experience. (Author: @farazcsk )
SSE Streaming Response Truncation and Client Side Issues Fix#998 - Addresses issues in multi-turn tool call conversations. (Author: @simplesagar )
Performance improvements
Replace Shiki with Monaco Editor for Viewing Large Inline Specs#1030 - Enhances performance for viewing large specifications. (Author: @simplesagar )
Upgraded to AI SDK 5 with new chat transport and message handling. Playground now features built-in log viewer and tool editing side by side in addition to better inline tool rendering for chat.
Features
Restore AI SDK 5 Upgrade#992 - Restores previous updates to the AI SDK, enhancing performance and stability. (Author: @speakeasybot )
Update Chat Credit Billing#983 - Enhancements to the billing terms for chat credits, with customizable limits for organizations. (Author: @ryan-timothy-albert )
Static OAuth Callback in OAuth Proxy#980 - Simplifies OAuth by removing the need for individual server redirects. (Author: @ryan-timothy-albert )
Allow Uploading OpenAPI Specs via Remote URL#977 - Users can now upload OpenAPI specifications via URLs. (Author: @bradcypert )
Fallback Temporal Workflow for Openrouter Model Usage#978 - Implements a fallback Temporal workflow to handle delays in the Openrouter model. (Author: @ryan-timothy-albert )
Replace Windsurf Install Snippets with VSCode#971 - Updates installation guides for easier setup via VSCode. (Author: @walker-tx )
Bug fixes
Inconsistency in Environment Passthrough Authentication#997 - Fixes authentication inconsistencies in private server environments. (Author: @ryan-timothy-albert )
Nullable Chat ID Model Billing#995 - Addresses an issue with nullable ChatID in billing models. (Author: @ryan-timothy-albert )
Two updates to the MCP install page clients: Update Codex CLI installation instructions to use http instead of stdio with mcp-remote and remove Windsurf installation instructions and add VSCode install link.
Features
Update Chat Credit Billing#983 - Refined billing, increasing chat credits for pro and enterprise accounts. (Author: @ryan-timothy-albert )
Clone Pizzaz Example into Examples Folder#981 - Adds a new example to demonstrate newest features. (Author: @walker-tx )
Static OAuth Callback in OAuth Proxy#980 - Simplifies OAuth configurations across multiple servers. (Author: @ryan-timothy-albert )
Allow Uploading OpenAPI Specs via Remote URL#977 - Enhances integration capabilities of API specs. (Author: @bradcypert )
Fallback Temporal Workflow Openrouter Model Usage#978 - Implements backup strategies for Openrouter. (Author: @ryan-timothy-albert )
Replace Windsurf Install Snippets with Visual Studio Code#971 - Streamlines the installation process through VSCode. (Author: @walker-tx )
Introduces a new page for each source added to a project. The source page provides details on the source, which toolsets use it, and the ability to attach an environment to a source.
MCP servers can now include custom instructions that are displayed on the install page and provided to LLMs. This feature helps guide users and AI assistants on how to effectively use the server's tools and capabilities, improving discoverability and usage patterns.
Features
Server Instructions to Frontend#944 - Frontend now supports server instructions, enhancing configurability and user guidance. (Author: @tgmendes )
OAuth Passthrough for Function Tools#929 - Introduces OAuth credential passthrough for enhanced function tool integration. (Author: @ryan-timothy-albert )
Admin View for Creating OAuth Proxies#936 - Streamlined creation of OAuth proxies directly from admin panels, improving setup times and user experience. (Author: @ryan-timothy-albert )
Planetscale Example#928 - Practical example to showcase PlanetScale usage for real-world applications. (Author: @walker-tx )
Clickhouse Example#937 - Practical example to showcase ClickHouse usage for real-world applications. (Author: @walker-tx )
Attach Environments to Toolsets#885 - Attach environments directly to toolsets for more dynamic configuration management. (Author: @qstearns )
Bug fixes
Panic Recovery for HTTP Handlers#933 - Adds panic recovery in HTTP handlers ensuring stability and reliability. (Author: @disintegrator )
Incorrect Model Pricing Mapping Fixed#930 - Rectifies the model pricing mapping to ensure accurate cost calculations. (Author: @ryan-timothy-albert )
This feature extends environment variable attachment capabilities to toolsets, allowing for more refined configuration management and operational flexibility.
Features
Planetscale Example Integration#928 - New exemplary configurations demonstrate the practical implementation of PlanetScale DBs in varied development settings, solidifying commitment to versatile database solutions. (Author: @walker-tx )
Product Metric Attribute Estimating Tool Call Success#919 - With a focus on predictive analytics, this tool informs success rates of API calls, aiding in proactive error handling and system diagnostics. (Author: @ryan-timothy-albert )
Chat-based Usage and Openrouter Key Update#918 - This update revolutionizes user engagement by leveraging chat-interface interactions, enhancing user experience through intuitive operation. (Author: @ryan-timothy-albert )
Update Chat Model List to be More Modern#922 - More modern and efficient chat models have been introduced, ensuring users have access to cutting-edge AI-powered chat functionalities. (Author: @ryan-timothy-albert )
Bug fixes
Update Metadata Type in Polar Client#925 - Fixes a critical type mismatch in the event metadata handling that improves data integrity and operational stability. (Author: @disintegrator )
Capturing Openrouter Usage Data Streaming#921 - A vital fix that corrects the streaming data capture for Openrouter usage, ensuring accurate and reliable usage analytics. (Author: @ryan-timothy-albert )
Dynamic Toolsets v2 - Combining progressive discovery and semantic search
Introducing Dynamic Toolsets v2. Our new approach combines the strengths of both methods into a unified system that exposes three core tools:
,
, and
. The key insight is that tool descriptions provide structure and discoverability, while semantic search provides efficiency and natural language discovery. Together, they create a system that scales naturally without sacrificing usability.
Features
Gram Functions composition - Gram instances are now composable. This allows some similarity to Hono's grouping pattern, making it possible to split and organize Gram Functions code bases more than before.Before:
Now, with composability:
Integrate dynamic toolsets v2 with progressive and semantic search in one feature
Introduce announcement modal for new Gram Functions release
Add Resend example demonstrating email reminders via the Resend API
Support non-blocking deployment creation for non-intrusive deployment initiation
Update Gram description tagline and rearrange sidebar UI elements
Index embedding tags to enhance search and retrieval operations
Add tags to embeddings table for dynamic toolsets phase two
Fixes
Wrap long environment variable names in Playground auth tab to prevent overflow
Fix Moonshine button issues and adjust various UI elements
Ensure dark mode compatibility for Shiki themes
Increase function reap batch size for improved resource recovery
Enhance deployment tracking and local Gram CLI setup processes
Update esbuild configuration with CommonJS require shim for better compatibility
Correct textual content in create-function CLI for improved clarity
Deployment processes have been reengineered to become non-blocking, providing significant agility in handling deployments and improving overall system responsiveness.
Features
Add non-blocking deployment creation for more flexible deployment handling
Update Gram description and enhance login tagline with improved UI navigational elements
Add tags to embeddings table for evolving dynamic toolsets
Index embedding tags to optimize tag-based searches
Fixes
Enhance deployment tracking and local CLI setup configurations
Add CommonJS require shim to esbuild output for better dependency compatibility
Improve Gram install processes for enhanced installation experience
Update create-function CLI copy for clarity and accuracy
Experimental dynamic tool selection now uses semantic searches to organize tools automatically, making it easier to access and interact with relevant tools.
Features
Add select/deselect all option for tool management to enhance productivity
Implement semantic dynamic toolsets with experimental tool selection capabilities
Add
flag to
command for better installation location management
Add Pylon task creation Gram Function example demonstrating full API integration
Fixes
Fix incorrect workflow execution in ExecuteProjectFunctionsReaperWorkflow
Address inverted logging condition in OpenAPI parser
Introduce workflow to clean up unused Fly.io machines from past deployments
Deploying MCP servers to Gram is now simpler with updated templates and SDK support. This enhancement makes building and deploying MCP servers more intuitive for developers.
Features
Use streamable HTTP in Cursor MCP installations for enhanced efficiency
Streamline building and deploying MCP servers with updated templates and SDK support
Add logs table UI for improved logging and tracking capabilities
Add code samples to functions onboarding for better developer guidance
Fixes
Separate build and push commands in Gram Functions SDK for enhanced flexibility and control
Fix React hooks error caused by multiple React versions in development environments
Resolve TypeScript entrypoint exceptions in Gram Functions implementations
MCP metadata maps now accept arbitrary value types, providing greater flexibility in tool and function development. This enhancement enables more dynamic configurations and versatile development workflows.
Features
Extend MCP metadata map capabilities to accept arbitrary value types
Define variables directly within MCP functions for enhanced flexibility
Expose all tool types to the playground via URN for comprehensive tool handling
Automatically install CLI and run authentication during project creation with pnpm create
Add logs table UI for viewing tool call logs with improved monitoring capabilities
Add resources and metadata properties to MCP manifests for enhanced function metadata
Support underlying MCP servers in Gram Functions with improved meta tag handling
Incorporate logos to MCPB installation interface for visual branding
Fixes
Fix nil pointer crash when extracting empty schemas in data extraction
Correct MCP server result content handling in Gram functions
Simplify declaration of environment variables in tool configurations
Function sources can now be limited based on subscription tier, providing enhanced control over resource utilization. This feature streamlines operations for users under different plans.
Features
Add logos to control panel for enhanced visual engagement and brand recognition
Introduce metadata tags for tools and resources for better resource management
Limit number of function sources based on usage tier for improved resource control
Add full support for building Gram Functions using the SDK
Track runner memory and CPU usage per function call for improved visibility
Fixes
Require Node.js v22.18.0+ for functions SDK to ensure compatibility
Add missing 'zx' dependency to TypeScript SDK package.json
Fix functions onboarding flow to enhance user experience
Preserve Content-Length header when uploading functions for correct handling
Tolerate duplicates with gram stage command for more graceful handling
Gram Functions now has full SDK support, enabling a seamless build and deployment pipeline. This enhancement greatly improves the development experience for building and deploying functions.
Features
Add full support for Gram Functions SDK with seamless build and deployment
Track CPU and memory usage per function call for better resource management
Reintroduce OAuth protected resource metadata for enhanced security
Support functions in custom tools for expanded integration capabilities
Correctly expose MCP in browser-based inspector
Update CLI login page with improved interface
Add Gram Functions to onboarding flow for better user guidance
List Gram Functions assets on deployments pages for improved visibility
Fixes
Preserve Content-Length header when uploading functions to ensure accurate transmission
Fix functions onboarding flow to resolve user experience issues
Fix tolerate duplicates with gram stage command to handle duplicate sources gracefully
Fix nil panic during shutdown to address critical stability issue
Enhance functions onboarding UX for smoother user experience
Correctly wrap slog.Logger for accurate error source capture in logs
Custom tools now support functions, offering developers powerful ways to tailor workflows. This enhancement enables more flexible and dynamic tool configurations within the Gram platform.
Features
Support functions within custom tools for enhanced workflow customization
Track customTool URNs and add UI hints for improved toolset visibility
Add basic toolset UX for resources with a user-friendly resources tab
Include gram functions flow in onboarding process
Revamp CLI login success page for improved user experience
List Gram Functions assets on deployments pages for better asset tracking
Streamline custom domain modal ordering in the user interface
Add method flag to gram push command for increased flexibility
Introduce gram stage commands for staging deployment configurations
Build resources into the MCP layer and gateway proxy for enhanced performance
Fixes
Resolve access issues for MCP servers and URL formation bugs with producer scoped key access
Correct JSON serialization for tool definition schemas by not serializing input schema
Remove requirement for deployment ID when evolving with CLI
Include .gitignore in Gram Functions project scaffolding
Update CLI installation methods for improved security
Custom tools now support tool variations. Allows the names of Custom Tools to now be edited along with all fields of Functions.
Features
Update functions and gateway to set and check the
response header from Gram Functions tool calls before proxying the response back to the client. This is an added security measure that asserts the server that ran a function had access to the auth secret and was able to decrypt the bearer token successfully.
Gram Functions now includes a simple Hono-based server in the mini-framework for local testing and development. This enhancement makes it easier to test functions locally before deploying them.
Features
Add data models and deployments for better resource management through functions
Enhanced functions runner to support new
entrypoint
Include a local development server in the Gram Functions mini-framework for testing
Support login redirects with redirect query parameter handling
Display variations in the dashboard, showing changed and original values of a tool
Create manual chunks for dependencies in the dashboard's vite configuration for improved load performance
Enhanced logging functionality for HTTP tool calls for better analytics and debugging
Fixes
Improve
fallback in dev and production setups
Deduplicate custom tool inputs from Toolify to prevent redundancy
Fix custom domain resolution to ensure custom domains are always used when available
Remove excess authorization checks on image assets
Update gateway proxy for more flexible tool call handling
Enhanced domain resolution in docs to prevent errors in custom setups
Fix domain handling for MCP URLs with custom domains