Skip to content

Releases: miurla/morphic

v1.3.0

10 Apr 11:28

Choose a tag to compare

What's Changed

  • fix: switch Docker runtime to Node.js and handle no-model state by @miurla in #797
  • fix: preserve line breaks in user messages by @miurla in #800
  • fix: correct search mode selector indicator padding on right edge by @miurla in #801
  • feat: replace related questions LLM call with inline spec fences by @miurla in #803
  • refactor: replace createUIMessageStream + writer.merge with toUIMessageStreamResponse by @miurla in #805
  • fix: tighten spacing between related question buttons by @miurla in #806
  • fix: use in-memory messages during regeneration to avoid stale cache by @miurla in #807
  • fix: prevent iOS Safari viewport shift when keyboard dismisses by @miurla in #808
  • refactor: compact mobile chat panel and normalize size utilities by @miurla in #809
  • fix: switch to ai-sdk-ollama and fix image upload + reasoning for Ollama by @miurla in #810
  • fix: change inspector panel Minimize button to Close by @miurla in #811

Full Changelog: v1.2.0...v1.3.0

v1.2.0

30 Mar 09:02

Choose a tag to compare

Highlights

Model Selector

The model selector is back! Morphic now fetches available models directly from each provider's API and lets you pick any model from the UI. No more editing config/models/default.json β€” just set your API key and choose your model.

Docker Made Easy

Docker Compose now includes SearXNG as the default search engine out of the box. No external search API key needed β€” just set one AI provider key and run docker compose up -d.

Breaking Changes

  • config/models/default.json has been removed. Model selection for local/Docker deployments is now handled through the UI model selector, with models fetched dynamically from provider APIs. Cloud deployments (MORPHIC_CLOUD_DEPLOYMENT=true) continue to use config/models/cloud.json.
  • speed/quality model type selection has been removed. The ModelTypeSelector component and modelType cookie are no longer used.

What's Changed

Features

  • feat: bring back model selector and align local/docker model flow by @miurla in #794

Bug Fixes

  • fix: keep Streamdown v2 default sanitization when adding custom plugins by @miurla in #789
  • Fix Docker sidebar and chat history persistence by @miurla in #791
  • Fix chat history freeze after deleting chats from sidebar by @miurla in #792
  • Authenticate upload requests before storage config checks by @miurla in #793

Improvements

  • Upgrade to Next.js 16.2.1 by @miurla in #786
  • Keep assistant logo visible after generation by @miurla in #787
  • Require remote object storage for uploads in Docker by @miurla in #790

Documentation

  • docs: simplify README, Docker guide, and configuration docs by @miurla in #795

Full Changelog: v1.1.0...v1.2.0

v1.1.0

06 Mar 09:40
42f5d80

Choose a tag to compare

What's Changed

  • chore: remove beta badge and changelog system by @miurla in #771
  • fix: use Node.js build stage for Docker multi-arch compatibility by @miurla in #772
  • docs: simplify README and extract Docker guide by @miurla in #773
  • Update model versions and hide model type selector for cloud by @miurla in #775
  • Update cloud speed models to Gemini 3.1 series by @miurla in #779
  • Enable includeThoughts for Gemini 3.x cloud models by @miurla in #780
  • Update AI SDK packages to latest versions by @miurla in #781
  • Fix guest rate limit not showing auth dialog by @miurla in #782
  • feat: default sidebar closed and hide for guests by @miurla in #783
  • refactor: simplify todoWrite availability and use qualitative conditions by @miurla in #784

Full Changelog: v1.0.0...v1.1.0

v1.0.0

07 Feb 03:02
e2233c3

Choose a tag to compare

Morphic v1.0.0

A major release with significant architectural changes. This version is a complete rewrite of the core infrastructure.

Breaking Changes

  • Database: Redis β†’ PostgreSQL β€” Chat history storage has moved from Redis (Upstash) to PostgreSQL with Drizzle ORM. Previous chat history stored in Redis will not be migrated. No migration script is provided. Run bun run migrate to create the new database tables.
  • Next.js 15 β†’ 16 β€” Upgraded to Next.js 16 with Turbopack.
  • AI SDK 4 β†’ 6 β€” Upgraded to AI SDK 6 with ToolLoopAgent pattern.
  • Environment variables β€” Several environment variables have been added, removed, or renamed. Refer to .env.local.example for the current required configuration.

Summary

Core

  • AI-powered search with GenerativeUI
  • Next.js 16 with App Router and Turbopack
  • AI SDK 6 integration with ToolLoopAgent
  • PostgreSQL with Drizzle ORM and Row-Level Security (RLS)
  • Supabase authentication with guest mode support

AI Providers

  • OpenAI (default), Anthropic Claude, Google Gemini, Vercel AI Gateway, Ollama
  • Profile-based model configuration (config/models/*.json)

Search

  • Multiple providers: Tavily, Brave, SearXNG, Exa, Firecrawl
  • Search modes: Quick, Planning, and Adaptive
  • URL-specific search and content extraction

Features

  • File upload with Cloudflare R2
  • Chat history with share functionality
  • Message feedback system
  • Inspector panel for tool execution details
  • Todo tracking for complex tasks
  • Changelog notification system
  • LLM observability with Langfuse (optional)

Deployment

  • Docker deployment with prebuilt images (anonymous mode only)
  • Vercel deployment with one-click setup
  • Docker Compose for self-hosted setup with PostgreSQL, Redis, and SearXNG

New Contributors

Full Changelog: v0.4.6...v1.0.0

v1.0.0-beta.10

07 Feb 02:46

Choose a tag to compare

v1.0.0-beta.10 Pre-release
Pre-release

What's Changed

  • feat: update model configuration and optimize tool selection by @miurla in #733
  • feat: replace citation numbers with domain names by @miurla in #734
  • fix: resolve chatId duplication issue in Next.js 16 by @miurla in #735
  • refactor: clarify fetch tool PDF support and type usage by @miurla in #736
  • fix: remove plus icon overlay from image grid by @miurla in #737
  • fix: reload chat after message deletion in regeneration flow by @miurla in #738
  • test: add comprehensive tests for prepareMessages regeneration flow by @miurla in #739
  • feat(search): add source favicons to search results display by @miurla in #740
  • feat: add parent collapsible for research sections with 5+ parts by @miurla in #741
  • refactor: redesign citation popover layout by @miurla in #742
  • feat: add explicit efficiency guidelines to research prompts by @miurla in #743
  • feat: improve search mode prompts for flexible response length by @miurla in #745
  • feat: integrate pruneMessages for optimized context window management by @miurla in #746
  • fix(security): update Next.js to 16.0.7 for CVE-2025-66478 by @miurla in #749
  • fix(security): update Next.js to 15.2.6 for CVE-2025-66478 by @miurla in #750
  • security: update Next.js to 16.0.10 for additional CVE fixes by @miurla in #753
  • security: update Next.js to 15.2.8 for CVE fixes by @miurla in #754
  • fix: remove client-side auth check for Docker anonymous mode by @miurla in #757
  • fix: improve auth error handling in ErrorModal by @miurla in #758
  • feat: migrate to AI SDK v6 with ToolLoopAgent by @miurla in #760
  • chore: update Next.js to 16.1.6 by @miurla in #761
  • fix: handle null value for exclude_domains validation by @miurla in #762
  • fix: keep reasoning in pruneMessages for OpenAI compatibility by @miurla in #763
  • fix: strip reasoning parts for OpenAI models to fix multi-turn errors by @miurla in #765
  • feat: add welcome message below logo on home screen by @miurla in #766
  • Add guest mode and chat limits by @miurla in #767
  • docs: add guest mode documentation by @miurla in #768
  • docs: update README for v1.0.0 release by @miurla in #769

Full Changelog: v1.0.0-beta.9...v1.0.0-beta.10

v1.0.0-beta.9

28 Oct 03:04

Choose a tag to compare

v1.0.0-beta.9 Pre-release
Pre-release

What's Changed

  • feat: integrate Ollama model discovery with tools filtering by @dan-and in #708
  • chore: remove static Ollama placeholders by @miurla in #709
  • fix: Fix header scrolling issue on iOS Safari by @miurla in #719
  • feat: Restore Ollama provider support for v1.0.0 (#721) by @miurla in #722
  • Fix beta badge visibility and mobile layout improvements by @miurla in #724
  • Fix mobile chat message padding with accurate offset calculation by @miurla in #725
  • feat: Upgrade to Next.js 16 with Turbopack and MCP support by @miurla in #726
  • feat: Add Docker support with PostgreSQL, Redis, and optional authentication by @miurla in #727
  • fix: Hide scroll-to-bottom button immediately on click by @miurla in #728
  • feat: make BRAVE_SEARCH_API_KEY optional with dynamic provider fallback by @miurla in #729
  • fix: Fix scroll listener registration to properly detect bottom position by @miurla in #730
  • refactor: remove planning search mode and integrate into adaptive mode by @miurla in #731
  • feat: add emoji usage guidelines to search mode prompts by @miurla in #732

New Contributors

Full Changelog: v1.0.0-beta.8...v1.0.0-beta.9

v1.0.0-beta.8

13 Oct 05:59

Choose a tag to compare

v1.0.0-beta.8 Pre-release
Pre-release

Beta Testing Now Available

Starting with this release, v1.0.0 is now available for beta testing at beta.morphic.sh.

We welcome your feedback as we work toward the stable release. Please report any issues or suggestions through GitHub Issues or use the feedback button in the app.

For more information about v1.0.0, see Issue #680.


What's Changed

  • feat: implement model matrix and improve citation system by @miurla in #711
  • feat: migrate researcher agent to streamText with smoothStream by @miurla in #712
  • fix: restore cursor pointer for buttons in Tailwind v4 by @miurla in #713
  • Keep single tool sections open and stabilize image previews by @miurla in #714
  • feat: Add quality mode rate limiting with user-friendly error handling by @miurla in #715
  • feat: Improve search error messages for better user experience by @miurla in #716
  • feat: Add Vercel Analytics tracking for chat events by @miurla in #717

Full Changelog: v1.0.0-beta.7...v1.0.0-beta.8

v1.0.0-beta.7

23 Sep 01:23
f2e22f3

Choose a tag to compare

v1.0.0-beta.7 Pre-release
Pre-release

What's Changed

  • feat: start chat streaming optimistically by @miurla in #704
  • refactor: streamline search image filtering by @miurla in #705
  • Stream related questions incrementally by @miurla in #706
  • Update changelog for v1.0.0 Beta.7 by @miurla in #707

Full Changelog: v1.0.0-beta.6...v1.0.0-beta.7

v1.0.0-beta.6

17 Sep 13:09
6968503

Choose a tag to compare

v1.0.0-beta.6 Pre-release
Pre-release

What's Changed

  • fix: prevent displaying '0' results during loading in search section by @devin-ai-integration[bot] in #595
  • feat(components): add password visibility toggle to Input by @vishv96 in #663
  • ISSUE-546: by @Dhaval-x96 in #671
  • feat(cache): implement selective caching for individual chat loading by @miurla in #690
  • chore: update AI SDK dependencies to latest versions by @miurla in #691
  • feat: implement streaming support for AI tools with enhanced type safety by @miurla in #692
  • fix: resolve input focus ring persistence after submission by @miurla in #693
  • feat: enhance AI prompt system with improved planning and search capabilities by @miurla in #694
  • Fix enter handling in user text editor by @miurla in #696
  • Firecrawl based Search Provider by @yazaldefilimone in #695
  • Fix assistant message deletion under RLS by @miurla in #697
  • Remove legacy message-preparation helper by @miurla in #699
  • Reorder search modes and set quick as default by @miurla in #700
  • Fix citation mapping for message copy by @miurla in #701
  • Merge main into v1.0.0 by @miurla in #702

New Contributors

Full Changelog: v1.0.0-beta.5...v1.0.0-beta.6

v0.4.6

17 Sep 13:05

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.5...v0.4.6