Multi-Environment Deployments
Squadbase now supports multi-environment deployments. Previously, you could deploy to only a single environment, but now we've introduced "Production" and "Preview" environments by default. Additionally, you can create as many custom environments as needed.
Multi-environment deployment is essential when running applications in production. By deploying features from "Staging" or "feature/" branches into separate environments, developers can collaborate easily without worrying about the production environment.
- Link GitHub branches to each environment using exact or wildcard matching.
- Log monitoring is available across all environments.
- User analytics are supported only in the Production environment.
- The Preview environment automatically tracks all branches not linked to any specific environment.
Check out the resources below to get started:
- 📖 Blog Post – Learn how Multi-Environment Deployments simplify your workflow.
- 📚 Documentation – Dive deeper into the setup and capabilities.
Shareable Links per Branch and Commit
From this release onwards, every deployment generates shareable URLs for each environment, branch and commit. Developers can review the impact of their changes in real-time, isolated environments.
You can find each shareable URL in the deployment details section of your deployments list.
Launch Week - Day5 April, 2025
AI App Showcase
Squadbase has just launched an AI App Showcase page to highlight the real-world potential of AI-powered applications. Through two sample apps—one built with Streamlit and the other with Next.js—you’ll get a hands-on sense of how AI can transform internal workflows.
Check out the Showcase page here → https://www.squadbase.dev/en/showcase/
Sales Coach AI Chat
A Streamlit-based coaching chatbot that pulls in Markdown files stored in your project’s codebase alongside meeting notes ingested from your CRM (Attio). By feeding it the right context, this chatbot offers tailored advice to salespeople and can be fine-tuned to mirror your own sales processes.
AI Analyst for GA4
A Next.js-powered data-analysis chat app connected to BigQuery with your Google Analytics data. Ask a question, and the AI generates the necessary Python analysis code, runs it safely on a virtual machine, and returns the results in real time. We’ve chosen E2B for the secure execution environment.
Launch Week - Day4 April, 2025
Collaborate and Iterate
AI-powered coding agents are ushering in an era of rapid, custom internal app creation—but true impact comes from running those apps in production and continuously iterating on them. To bridge that gap, we’ve built collaboration features for the operational phase.
- AI-driven scaffolding that jump-starts your app
- Automated deployments via Git integration
- Unified runtime and access logs tied to user identities
- Automated log analysis for actionable insights
- In-app feedback channels linked directly to developers
In this blog, we share each features in detail.
User Authentication & Role Management
Project roles can be defined per deployed app, using arbitrary strings. These roles are primarily consumed in code to control data access and feature permissions.
Log Collection & Monitoring
Runtime and access logs are automatically collected and made searchable via the dashboard. This enables quick troubleshooting and helps you uncover insights for app optimization.
User Analytics
Squadbase combines its built-in authentication and logging features to analyze and visualize user activity, giving you actionable analytics right out of the box.
Feedback Collection
Squadbase can automatically inject a feedback comment box into deployed apps. Team members can submit feedback directly, and all responses are aggregated in the dashboard for developers to review and act on.
Launch Week - Day3 April, 2025
Deploying Next.js on Squadbase
Squadbase supports Next.js, the React-based full-stack web application framework. Vercel is typically the primary hosting environment for Next.js due to its excellent developer experience and high-performance infrastructure. However, Vercel may not always be ideal, especially when restricting public access and providing app access only to specific organizational users. Squadbase launches production-ready infrastructure for internal business apps and all its best practices—with a single click.
In this blog, we share how to make the most of Squadbase’s features when working with Next.js.
Launch Week - Day2 April, 2025
Deploying Streamlit on Squadbase
Squadbase supports Streamlit, a framework for building full-stack web applications with Python. Streamlit’s architecture makes UI updates instantaneous and coding straightforward, but production deployment still poses challenges. Standing up a robust environment often means stitching together ten or twenty AWS or GCP services—work that quickly burdens any dev team. Squadbase launches production-ready infrastructure—and all its best practices—with a single click.
In this blog, we share how to make the most of Squadbase’s features when working with Streamlit.
Launch Week - Day1 April, 2025
Introducing Squadbase, a New Cloud Platform for AI Apps
Today we officially opened Squadbase, a cloud platform focused on the safe, internal operation of AI applications.
Push code written in Streamlit, Next.js, LangChain, Mastra, or the Vercel AI SDK to Git and, within minutes, your app will be live at an internal-only URL. Behind the scenes, user authentication, RBAC, audit logs, and usage analytics are all wired up automatically. Anyone can build line-of-business apps, and once deployed, those apps keep improving through AI. That vision is the heart of Squadbase.
In this blog, we share the story behind the development of Squadbase, outline our vision, and explain why a new type of cloud platform is essential in today's evolving technological landscape.
v0.3.1 Release
What’s changed
🛠 Maintenance
- Updated the
type
for AWS and GCP in thedeployment
section ofmorph_project.yml
. - Fixed vulnerabilities reported by Dependabot alerts by updating affected dependencies.
- Changed the API base URL from
morph-data.io
tosquadbase.dev
.
Update - March 24, 2025
What’s changed
🚀 New Features
- Plan Updates:
- Free Plan now allows inviting up to 5 users with Viewer permissions.
- Pro Plan users can invite additional Viewer-permission users for $7 per user.
- Users can now select cloud deployment targets (AWS, GCP) and configure CPU and memory resources.
- Added support for deploying Streamlit applications to Morph Cloud.
- Added support for
multipart/form-data
in the deployment environment.
🐛 Bug Fixes
- Fixed an issue where certain environment variable updates were not fully applied.
- Fixed a bug causing incomplete log details from the build server.
- Fixed display-related bugs during user invitations.
- Resolved pagination issues when the number of invited application members exceeded a certain limit.
- Corrected an issue where the latest
morph-data
package version was always selected during builds. - Fixed a bug causing multiple unintended project creations.
🔧 Improvements
- Enhanced build performance by reducing snapshot frequency during Docker builds.
- Improved user experience when deploying from the dashboard.
- Improved build performance by incorporating frontend code builds directly into Docker build processes.
v0.3.0 Release
What's changed
🚀 New Features
- Enhanced File-Based Routing: Now supports layout components and error components.
- Expanded morph_project.yml Capabilities: Allows specifying cloud deployment targets (AWS, GCP), memory, and CPU resources.
- Default Dockerfile Deployment: Supports deployments using a default Dockerfile template when no Dockerfile is present.
- Streamlit Support: Enables deployment of Streamlit apps via morph_project.yml alongside Morph framework applications.
- Component Updates:
- Split LLM component into Chat and CanvasChat.
- Added new Trigger component.
- Added new If component.
- Added new Modal component.
🔧 Improvements
- Added support for @shadcn/ui-compatible UI library.
- Improved project structure allowing users to customize vite.config.ts.
🛠 Maintenance
- Added frontend build commands to the initial Dockerfile template.
- Updated morph_project.yml template (current version defined as
version: '1'
).
Update - March 7, 2025
🚀 New Features
GitHub Login & Automatic Deployment via GitHub Integration
Users can now login to Morph Cloud using their GitHub accounts.
By integrating with GitHub, deployments can be performed automatically without the need for manual setup of CI/CD or using morph deploy via CLI.
Deploying Local LLMs with Ollama
With Ollama, users can deploy local LLMs such as deepseek-r1, llama3.2, phi4, and qwen on the Morph platform.
This allows for the development of AI applications utilizing LLMs while ensuring data privacy and security.
🛠 Maintenance
Stopped New Built-in PostgreSQL Instances
The built-in PostgreSQL feature will no longer be supported after the end of March.
As a result, the option to create new instances has been removed.
v0.2.1 Patch Release
What’s changed
🛠 Maintenance
- Automatically generate a lock file immediately after running morph new when using uv or poetry.
v0.2.0 Release
What’s changed
🚀 New Features
- Added uv as a package manager.
🐛 Bug Fixes
- Fixed code display in chat cell
- Fixed the display of compilation errors during chat execution.
- Fixed async function could not be used in Python functions.
- Fixed environment variables outside morph func were not updated when executing Python functions in a local environment.
- Fixed a bug where locally installed packages were mistakenly used in cloud environment.
🔧 Improvements
- Improve morph deploy: Prompt users to override environment variables
- Improved streaming functionality: Now possible to use yield [string] for streaming processing without the stream_chat function.
- Enhanced compilation logic to provide more detailed logs.
🛠 Maintenance
- Remove deprecated timezone manager functionality
- Removed access to the built-in database using the MORPH_BUILTIN_DB slug.
- Deprecated the result_cache_ttl mechanism and caching mechanism.
- Modified morph serve to output backend API specifications when executed.
- Update starter template.
v0.1.10 Patch Release
What’s changed
🐛 Bug Fixes
- Fixed
morph deploy
didn’t work on MacOS and Linux.
v0.1.9 Patch Release
What’s changed
🐛 Bug Fixes
- Fixed an issue when passing State to loadData() and built-in components.
- Fixed an issue when passing State to
and . - Fix the styles of the
<Embed/>
component. - Fixed
morph deploy
didn’t work on Windows. - Fixed an issue where Plotly and Matplotlib charts did not render properly when using on Windows.
v0.1.8 Patch Release
What’s changed
🐛 Bug Fixes
- Fixed an issue with streaming output in
<Chat />
and<LLM />
.
Migration Guide
Dockerfile Update: Improved Streaming for
🔗 https://docs.morph-data.io/docs/en/advanced/migration-guide#morph-0-1-7-to-0-1-8
Update - February 14, 2025
What’s changed
🐛 Bug Fixes
- Fixed environment-specific morph deployment failures.
- Fixed binary file response failures in project pages.
v0.1.7 Patch Release
What’s changed
🔧 Improvements
- Added an API for reading and writing data from MDX files
- Added a component that allows customization of HTML metadata
- Changed MDX titles to be automatically set as the HTML
- Added a /static directory for hosting static files
v0.1.6 Patch Release
What’s changed
🐛 Bug Fixes
- Fixed an error occurring in the execution environment after morph deploy in v0.1.5.
🔧 Improvements
- Expanded flexibility of Python dependency packages.
v0.1.5 Patch Release
What’s changed
🐛 Bug Fixes
- Fixed bugs in
morph serve
andmorph compile
on Windows - Fixed a runtime bug in the starter template when using DuckDB v1.2.0
🔧 Improvements
- Parsing Github table format in LLM chat
🛠 Maintenance
- Removed the SQL Agent page from the starter template as its content has been migrated to the "Quick Start" section in the docs
- Temporarily removed the
morph_lib.ai
library to avoid dependency conflicts in the SDK
v0.1.3 Patch Release
What’s changed
🚀 New Features
- MDX: Supports
tag output from reasoning models like OpenAI o3-mini and Deepseek-r1.
🐛 Bug Fixes
- Correct
pyproject.toml
Generation inmorph new
Command for Poetry Projects - Fixed the
morph config
command to work in directories wheremorph_project.yml
does not exist. - Fixed a bug where the profile specified in
morph_project.yml
was not being loaded. - Fixed a bug where running files in the app started with
morph serve
would result in an error if the output contained NaN or NaT values.
🔧 Improvements
- Improved rendering performance of
component
🛠 Maintenance
- Added
.mock_user_context.json
to starter_template
Update - January 31, 2025
What’s changed
🚀 New Features
- Added public release settings for the app
- Added activity display feature for project creation and successful deployment
- Added usage history display feature for built-in DB for Pro plan and above
🐛 Bug Fixes
- Fixed multiple project role inputs
- Fixed developers couldn't invite project members
- Fixed project update time wasn't being updated
🔧 Improvements
- Display member icons in the project list
- Display member icons and available connector icons in project details
v0.1.2 Patch Release
What’s changed
🚀 New Features
- MDX: Added
<Chat />
component. You can now quickly build an AI chat app. - Python: Added the
stream_chat
function tomorph_lib.stream
. - CLI: Added the
morph context
command to display cloud user information. - CLI: The
morph new
command now prompts users to select a Python version (3.9, 3.10, 3.11, 3.12).
🐛 Bug Fixes
- UI: Fixed an issue where some UI elements appeared in dark mode in the cloud-hosted environment.
- CLI: Removed the project_id setting check when running
morph config
. - CLI: Fixed a bug where type errors occurred when saving Parquet files during
morph run
execution.
🔧 Improvements
- MDX: Added a table of contents to pages.
- MDX: If
export const title =
is not specified, the first heading in the page is automatically used as the title. - CLI: Added a warning when the specified
--profile
section exists in themorph config
command. - CLI: Updated the
morph new
template to include RBAC functionality, Chat, and other components.
Update - January 27, 2025
What's Changed
🚀 New Features
- Access control for individual members on created projects
- Role assignment for members within projects
- Permission management for using Database/SaaS connectors per project
- Execution log overview with filtering by date and time
- Display of deployment logs
- Fine-grained control for issuing API keys on a per-user basis
- Project search functionality
- Granular permission settings for members within teams
🔧 Improvements
- Enhanced performance and stability through infrastructure upgrades
🛠 Maintenance
- API key issuance changed from team-level to user-level
- Closing of the cloud editor feature
- Closing of the built-in PostgreSQL REST API feature
- Suspension of the job scheduling feature
v0.1.1 Release
What's Changed
🚀 New Features
- Introduced an Admin Page for data pipeline visualization.
- Implemented the new
morph deploy
command for more seamless deployments. - Added role parameters to
context.user_info
for role based access control. - Added new components and
defineState
API.
🐛 Bug Fixes
- Corrected the formatting of Snowflake account identifiers.
🔧 Improvements
- Enabled Poetry interpreter in the
morph new
command. - Optimized the
morph serve
command with caching and DataFrame previews.
🛠 Maintenance
- Removed Scheduled Jobs functionalities.
- Deprecated and removed the
morph sync
command.
v0.0.4 Patch Release
What's Changed
🐛 Bug Fixes
- Fix readme quick start
🔧 Improvements
- Improve alias not found error message
🛠 Maintenance
- Remove utils/file_upload.py from stater_template
- Add contribution guide
Update - January 10, 2025
What's Changed
🔧 Improvements
- In Viewer mode, "Jobs" tab now allows you to check logs for scheduled executions.
🐛 Bug Fixes
- Fixed an issue in the
scheduled_jobs
section ofmorph_project.yml
where wildcard usage for days in CRON expressions was not working.
v0.0.3 Patch Release
What's Changed
🚀 New Features
- Feature: morph version flag
🐛 Bug Fixes
- fix: run with sql connection
- fix: run sql with connection on local
🛠 Maintenance
- Add Issue & PR templates, code_of_conduct.md
link: https://github.com/morph-data/morph/releases/tag/v0.0.3
v0.0.2 Patch Release
What's changed
Fixes 🐛
- add default base url to fix a bug in the
morph config
command.
link: https://github.com/morph-data/morph/releases/tag/v0.0.2
Launch Week #2 Update
Launch Week #2 updates.
LLM Component
New Component for Pages
- Added the
LLM
component to build LLM apps like chat and text generation. Docs
Added Streaming Function to Python SDK
- Added
morph_lib.stream.create_chunk
to return function results as a text streaming format. Docs
Link: https://www.morph-data.io/blog/llm-component-launch-week-2
AI Functions
New Helper Functions for AI Integration
Added shorthand functions to simplify AI usage.
- Added
text_to_sql
function. Docs - Added
text_to_matplotlib
function. Docs - Added
text_to_plotly
function. Docs - Added
text_to_html
function. Docs - Added
text_to_markdown
function. Docs
Link: https://www.morph-data.io/blog/ai-functions-launch-week-2
Open-Source Framework
An open-source version of the Morph framework is now available for local use.
- Integrated SQL, Python, and Pages frameworks into a single framework.
- Enabled
morph serve
command to launch data apps in development mode locally. - Enabled
morph sync
command to deploy locally built data apps to the cloud.
Link: https://www.morph-data.io/blog/open-source-framework-launch-week-2
Viewer Mode
- Added a mode to display data apps built with Morph in view-only mode.
Link: https://www.morph-data.io/blog/viewer-mode-launch-week-2
Other Updates
New Integrations Added
- Added MS SQL Server as a connection option for SQL Connection.
Scheduled Execution Support
- The scheduling feature, previously available only in the cloud version, can now be configured in the framework via
morph_project.yml
. Docs
Link: https://www.morph-data.io/blog/other-updates-launch-week-2
Public Launch
This is the first public version of Morph.
Features
- Workspace
- Page
- Morph AI
- Data Connection
- Templates
More details can be found in the Launch Week #1 article.