Skip to content

Releases: massCodeIO/massCode

v6.3.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 03:47

Semantic Search

The Command Palette can now find records by meaning, not only by the words they contain. It works across languages too: дорожная карта (Russian for "roadmap") finds a note named Orbit roadmap. Results by words appear as you type, and results by meaning are added below them after a short pause without reordering what is already shown. Each result shows why it was found (Matches the name, Has your words, By meaning, Words and meaning) and a short excerpt with matched words highlighted. Weaker matches are grouped under Possibly related, and create actions stay pinned at the bottom of the palette.

search-by-meaning

Run Turn on semantic search from the Command Palette to download the built-in model (~210 MB). It runs offline, so your records and queries stay on this computer. massCode indexes snippets, notes and HTTP requests in the background and shows progress in the space rail. The index is not synced with your vault. The AI assistant uses the same search when it looks for records in the vault. Semantic search is not available on Intel Macs.

MCP Editing and Organization

The MCP server can now edit and organize your vault, not only read and create items. New tools let an agent update notes and snippets, move items to Trash and restore them, create, rename, move and delete folders, move items between folders, list the folder structure and read note backlinks. create_note and create_snippet now accept a folder and tags.

Changes to existing items require the new Allow MCP to modify existing items preference. It is off by default for new users and turned on automatically if you already had MCP enabled. Edits are checked against the current revision of an item, so an agent cannot overwrite changes it has not seen. MCP never deletes items permanently and deletes only empty folders.

Fixes

  • Fixed Command Palette Recent and navigation history showing records from the previous vault after switching vaults
  • Fixed records getting duplicate or reassigned ids during a full vault scan, for example when a file is copied in Finder
  • Fixed files renamed outside the app losing their id, and HTTP requests losing their history after an external rename
  • Fixed edits appearing as saved when the file write failed, for example on a full disk or missing permissions
  • Fixed a failed save after renaming or moving a note or snippet leaving it out of sync with the file on disk
  • Fixed vault files being truncated when a write fails midway; files are now written atomically

What's Changed

Full Changelog: v6.2.1...v6.3.1

6.2.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 03:48

Security Release

This release replaces v6.2.0, which was not published by the maintainer. On October 11, 2026, an attacker used a leaked GitHub token to publish a malicious v6.2.0 build that collected credentials, browser data and crypto wallets. It was available from 2026-10-11 20:35 UTC until about 2026-10-12 00:05 UTC.

v6.2.1 is built from the restored code and contains no other changes since v6.1.0. If you are on v6.2.0, updating to this version removes the malicious build.

If you ran v6.2.0, treat every secret on that machine as compromised: rotate SSH keys, GitHub, npm and cloud tokens and saved browser passwords, and move funds from any crypto wallet on that machine. You can check whether the malware ran by looking for the .runtime file in the massCode data folder. Details and instructions: #978.

v6.1.0 and earlier are not affected.

Full Changelog: v6.1.0...v6.2.1

v6.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 02:18

OpenRouter Provider

The AI assistant now supports OpenRouter. Enter your OpenRouter API key to use models from many vendors through a single account, with requests billed to your OpenRouter balance. The model list includes only models with tool calling support, and model IDs use the vendor/model format, for example anthropic/claude-sonnet-5.5.

See the AI Assistant guide for setup.

Workflow Improvements

  • The AI assistant shows a clear message when a provider rejects your API key, and running out of credits on OpenRouter is reported as a quota error.
  • The AI assistant can handle larger multi-step requests in a single response.
  • Updated French translations.

Fixes

  • Fixed pasting, dropping, and inserting images in Notes when using the default vault.
  • Fixed several other actions that failed on the default vault, including AI folder icon changes and their undo, undo for AI task cleanup, and exporting rendered artifacts.
  • Fixed AI HTTP actions resetting your current HTTP session, HTTP request previews ignoring session variables, and saved execution results not appearing in HTTP.
  • Fixed the Raycast and VS Code extensions being unable to read snippets when API integrations are enabled.
  • Fixed the AI assistant returning empty or partial results when listing workspace items with some models, such as OpenAI models through OpenRouter.
  • Kept the settings button and app version visible in the sidebar in short windows.

What's Changed

Full Changelog: v6.0.0...v6.1.0

v6.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 10:09

AI Assistant

The built-in AI assistant carries out tasks across Code, Notes, and HTTP. Ask it to edit and format snippets, organize notes, update tasks, or run API workflows. Attach an open record or selected text, or let it find the relevant records in your vault. One conversation stays with you as you switch spaces.

http-ai

You can combine related steps in a single request:

  • “Add a five-second timeout to this function, update the usage fragment and format both.”
  • “Find overdue tasks and move them to Follow-up.”
  • “Run this collection, explain the failed checks and save a report in Notes.”

Requested edits apply directly. Ask for a preview to inspect changes before applying them. Sending HTTP requests and running collections require confirmation; changes to an HTTP draft still need Save. The assistant waits for action results before continuing dependent steps. You can answer its questions, adjust an active task, queue another request, or stop it. Task Undo reverses supported changes while preserving unrelated manual edits; it cannot reverse network requests, exported files or permanent deletion.

Connect your own OpenAI, Anthropic, Google Gemini, DeepSeek, Mistral, or xAI account, or use a local model through Ollama or LM Studio. Actions require a model with tool calling support. Cloud providers receive the context used for the task and bill through your API account. For local processing, use a model running on your computer.

See the AI Assistant guide for setup and examples.

MCP Integration

Connect external coding agents to your massCode vault through Model Context Protocol. Search and read snippets, notes, and HTTP requests, or save a solution as a new snippet or note without leaving your coding workflow.

Agents can also create HTTP collections and requests, update or move saved requests, preview their settings, send them using the active environment, and inspect saved execution history. Enable API integrations and MCP access in Preferences, then connect your client with an integration token. MCP is off by default and runs locally while massCode is open.

See the MCP guide for setup and supported tools.

Performance

Searching large libraries and filtering HTTP collections now take less time. Here are the results with 10,000 items in each space.

Action Library size Before After Time reduction
First search in Code 10,000 snippets 13,792 ms 1,947 ms 85.88%
First search in Notes 10,000 notes 4,424 ms 876 ms 80.20%
Search after editing a snippet¹ 10,000 snippets 12,376 ms 1.62 ms 99.99%
Search after editing a note¹ 10,000 notes 4,434 ms 0.75 ms 99.98%
Filter HTTP requests by an exact name 10,000 requests 22,110–24,014 ms 7–13 ms 99.94–99.97%
Clear the filter to show all HTTP requests 10,000 requests 18,755 ms 11–17 ms 99.91–99.94%

¹ Search time after an edit has finished saving; saving time is excluded. First-search results include preparing the search index.

Faster startup and a more responsive app

Startup checks and initial search indexing now run in smaller batches. You can switch spaces while the first search is being prepared, or change your query without an older result replacing the new one. Notes also skips unnecessary startup scans when there are no legacy attachments to migrate.

In focused tests with 10,000 items per space, the longest measured processing pauses during first-search preparation fell from 3,224 to 33 ms in Code and from 673 to 11 ms in Notes. These measure interruptions to the app's ability to handle other work, not the total search time or input-to-screen delay.

Startup was measured again using the build from before the optimization work and the current build, with identical saved items and library copies. Each value is the median of three launches.

Library size Opened space Before After Time reduction
3,000 items (1,000 per space) Code 1.24 s 1.07 s 13.8%
3,000 items (1,000 per space) Notes 1.26 s 1.09 s 13.9%
3,000 items (1,000 per space) HTTP 1.41 s 1.12 s 20.8%
~30,000 items (10,000 per space) Code 4.33 s 1.83 s 57.7%
~30,000 items (10,000 per space) Notes 4.44 s 1.91 s 57.0%
~30,000 items (10,000 per space) HTTP 4.86 s 2.15 s 55.9%

Lower search memory usage

With 10,000 snippets and 10,000 notes, retained search-process JavaScript memory fell from 1,036 to 560 MiB, a 46% reduction in a focused before/after test. This measures memory after searching both spaces, not the total memory of the entire app.

Test environment

MacBook Pro with Apple M4 Pro (12-core CPU), 24 GB unified memory, macOS 27.0 (26A428), Electron 34.1.1. Production benchmark builds on Apple Silicon.

About these results

Internal tests used synthetic libraries on the machine above, without clearing the OS file cache. Search and HTTP figures compare initial and latest recorded results from separate sessions; responsiveness and memory figures come from focused before/after tests of those improvements. Search timings use three-run medians; HTTP ranges cover a small number of interactions. Memory was measured after garbage collection in one diagnostic pair.

Search timings measure query processing, and HTTP timings measure list updates, not full input-to-screen latency. Startup compares the original and current builds across 36 alternating launches, with a fresh copy of the same test profile and vault and an equally warmed file cache for each run. Timings run from application initialization to the selected item's open event, not actual screen paint. The larger vault includes four additional HTTP test records (30,004 total). The final Notes search includes loading content that the original version loaded in advance. Results depend on library content and hardware.

Upgrading to v6

v6 uses Markdown Vault storage only. SQLite support and the built-in legacy migration have been removed. Existing Markdown Vault users can continue using their vault.

If your library is still a v4 massCode.db, back it up and migrate it with massCode v5.12.0 before opening it in v6. Use a separate, empty target directory: the v5 migration replaces Code content in the selected vault. Verify your migrated folders, snippets, and tags, then select that vault in v6.

For a v3 db.json library, first convert it with v4.7.1, then migrate through v5.12.0. See the storage and migration guide for the full steps.

Workflow Improvements

  • Reorder snippet fragments by dragging their tabs. Tabs fit their names up to a width limit, and renaming preserves focus and finishes with Enter.
  • Permanent fragment deletion now asks for confirmation.
  • Sidebar controls and keyboard shortcuts behave consistently across spaces. Use Cmd+L on macOS or Ctrl+L on Windows and Linux to focus the AI assistant, or close it when the chat already has focus.
  • A new About page in Preferences brings together app information and links for sharing massCode.
  • Replacing an API integration token now asks for confirmation before invalidating the previous token.

What's Changed

Read more

v5.12.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 22:53

Planned Links

Plan notes, snippets, and HTTP requests directly from the internal link picker in Notes. Insert a placeholder for an item you intend to create and keep writing without interrupting your work.

When you are ready, hold Cmd on macOS or Ctrl on Windows/Linux and click the placeholder to create the item and open it in Notes, Code, or HTTP. The placeholder becomes a regular link, and Back takes you to your note.

Note Inspector

The new Note inspector brings Outline, Links, and Annotations into a resizable panel beside your note. Navigate headings or drag entire sections to reorder and nest them in Raw and Live Preview.

note-inspector (1)

Inspect linked items, external addresses, planned placeholders, and missing targets in one place. Filter links by status or space, jump to their occurrences, and find Todo, Note, Important, and Warning callouts as you write.

Shared Navigation History

Back and Forward now share a session history across Notes, Code, and HTTP. Items opened from lists, search, Command Palette, Recent, and internal links all become part of the same navigation path.

Revisit items across spaces using the editor buttons or History menu. Returning to a note restores its scroll position, and deleted items are skipped.

Fixes

  • Preserved editor focus and pending description edits when renaming snippets during autosave in Code.
  • Fixed decimal values being interpreted as dates and parenthesized expressions being removed as comments in Math Notebook.
  • Prevented result flicker when switching sheets in Math Notebook.
  • Removed expression highlighting from comment lines in Math Notebook.
  • Removed extra spacing inside quotation marks in fragment menus.

What's Changed

Full Changelog: v5.11.0...v5.12.0

v5.11.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 12:30

HTTP Workspace

HTTP gets a redesigned workspace with searchable, resizable sidebar sections, collection and folder dashboards, and independently controlled panels. Collections and folders now provide inherited headers, authentication, variables, scripts, and checks, so you can configure common API settings once and reuse them across requests.

http-scripts

Request content now uses explicit Save instead of autosave. Send runs the current draft without saving it, and navigating away prompts you to save or discard changes. Request names still save automatically. A new Binary body mode lets you send a local file as the complete request body.

API Workflows and Testing

Check response status, timing, headers, and JSON values with no-code assertions, or write pre-request scripts and JavaScript tests. Extract response values into temporary variables to pass tokens and IDs between requests. The Variables inspector shows inherited defaults, environment values, overrides, and unresolved references in one place.

Run entire collections or folders in sequence with the Runner. Reorder steps, choose whether to continue on failure, and inspect each request's assertions, extraction, and test results. Each run uses isolated temporary variables, keeping your saved environment and manual Session values intact.

GraphQL and WebSocket

Send GraphQL queries and mutations with dedicated document and variables editors, syntax validation, and operation selection. GraphQL works with scripts, assertions, extraction, and the Runner, which recognizes GraphQL errors even when the server returns HTTP 200.

Connect to WebSocket endpoints, configure headers and authentication, exchange text or JSON messages, and inspect incoming and outgoing traffic. Save connection settings and message drafts, and reuse environment and Session variables across servers.

Debugging and Request Controls

Inspect network traffic and script logs in the new Console, detach it into a separate window, or use multiple built-in Terminal sessions alongside your requests. Request History retains request and response snapshots for inspecting earlier sends, with configurable retention and redaction of known secrets and credential-like fields.

A persistent cookie jar includes search, inline editing, and raw Set-Cookie editing. Global transport defaults and per-request overrides cover HTTP/2, timeouts, response size limits, TLS verification, URL encoding, and redirects. Bulk text editing makes key-value tables faster to fill and update.

Import and Code Generation

Expanded Postman import preserves collection and folder scopes, shared settings, scripts, and supported bodies, including GraphQL and binary file references. Supported Postman and Bruno scripts are adapted to the mc API, and supported Bruno assertions become response checks. Import previews flag compatibility issues before you run the imported workflow.

Generate request code from the current draft with 29 generators across 20 language and runtime targets, including Node.js, Python, Swift, cURL, HTTPie, and Wget. Previews account for inherited settings and applicable cookies, with control over variable interpolation and masking of secret and Session values.

In-Content Search

Search within the current snippet in Code or the current note in Notes. A dedicated search panel highlights matches, shows the match count, and lets you move between results with buttons or the keyboard.

Workflow Improvements

  • Added Structured Text (IEC 61131-3) language support for PLC code.
  • Added a date format preference in Appearance, with consistent date formatting across spaces.
  • Simplified the Space rail to compact, icon-only navigation.
  • Added Korean localization.

Fixes

  • Restored global search highlights in Notes.
  • Prevented layout shifts when revealing Markdown syntax in Notes.
  • Improved laser pointer smoothness and stroke fading during presentations.
  • Added progress, success, and error feedback when creating a theme template.
  • Localized the Edit and Window menus and adjusted menu widths to fit translated labels.
  • Strengthened protection around local API access and HTML previews.

What's Changed

New Contributors

Full Changelog: v5.10.0...v5.11.0

v5.10.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 08:10
182f5d7

Notes Export

Individual notes can now be exported as self-contained HTML or PDF documents directly from the note context menu. Exports preserve Markdown formatting and include managed images and drawing previews, making notes easier to share, print, or archive outside massCode.

Portable Notes Sites

Entire Notes folders can now be exported as portable HTML sites. The generated site preserves the folder hierarchy, includes navigation and full-text search, resolves links between exported notes, and bundles managed images and drawing previews for offline use.

image

Secret Variables for HTTP Environments

HTTP environments can now store passwords, API tokens, and other sensitive values as secret variables. Secret values use the familiar {{name}} syntax, but stay outside the Markdown Vault, are encrypted with the operating system keychain, and are masked in request previews and history.

Only secret names travel with the vault, so values remain local to each device and can be entered separately wherever the vault is used.

Fixes

  • Fixed local empty files being mistaken for unavailable cloud placeholders across Notes, Drawings, HTTP requests, folder metadata, and state files. Local content now remains editable through creation, renaming, moving, deletion, and application lifecycle resets, while genuine cloud placeholders remain protected.
  • Fixed indentation for ordered Markdown lists that use parenthesized markers such as 1).
  • Used native CRLF line endings when copying Notes content on Windows.

What's Changed

Full Changelog: v5.9.1...v5.10.0

v5.9.1

Choose a tag to compare

@github-actions github-actions released this 18 Jul 09:00

Fixes

  • Fixed an issue on Windows where newly created Code snippets in local NTFS vaults could be mistaken for unavailable cloud files. This could show a cloud synchronization message, prevent edits from being saved, or display content from a previously selected snippet after switching. Local snippets now remain available during creation, renaming, and folder deletion, while genuinely unavailable cloud files remain protected.

Full Changelog: v5.9.0...v5.9.1

v5.9.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 15:46

Cloud-Safe Vaults and Faster Startup

massCode now opens large Markdown Vaults from a metadata index and loads item bodies only when needed, so Code, Notes, and HTTP lists become available much sooner after launch.

Vault files offloaded by iCloud, OneDrive, Google Drive, or Dropbox remain visible while their content downloads in the background. The space rail shows overall progress, opening an item prioritizes it, pending HTTP requests are clearly marked, and massCode avoids writing over content that is still in the cloud. Vault Doctor can also detect index inconsistencies and managed Notes asset issues.

Folder Icons

Code, Notes, and HTTP folders can now use searchable emoji, built-in Material or Lucide icons, or uploaded JPG and PNG images. Uploaded icons are resized and stored with the folder so they follow the vault across backups and sync services.

Notes Workflow

Notes can now be duplicated from the list context menu or Command Palette, fenced code blocks have a one-click copy control, and an editor preference can wrap long table cells. Newly pasted or dropped note images are stored in the managed notes/.masscode/assets directory, with referenced legacy assets migrated automatically.

Line Break Normalization

Code and Notes can normalize hard-wrapped terminal text from the Editor menu while preserving Markdown lists, tables, quotes, commands, and code blocks. The same Line Break Normalizer is available as a standalone converter in Tools.

macOS Dock Counter

The macOS Dock icon can show the number of items in the Code Inbox, items in the Notes Inbox, or tasks due today. The counter source is configurable in Appearance settings and can be disabled at any time.

Fixes

  • Protected cloud-backed vault data during sync, file eviction, vault moves, and upgrades.
  • Restored vault watcher updates after lifecycle interruptions and vault changes.
  • Reset Notes preview scroll position when switching notes.
  • Stabilized fenced code editing and sizing in Live Preview.
  • Prevented editable Notes tables from shifting while cells are edited.

Full Changelog: v5.8.0...v5.9.0

v5.8.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 08:12

Notes Editor

The Notes editor now has a context menu in Live Preview for common editing actions. You can apply formatting and insert blocks such as tables, callouts, horizontal rules, and code blocks directly from the editor context menu.

notes-context-menu

Tables are now editable directly from Live Preview. Add a table from the context menu, then use the table cell context menu to insert or delete rows and columns or adjust column alignment. You can also drag row and column handles to reorder the table.

notes-table

Completed Task Cleanup

Notes can now keep completed tasks out of active views. Use Hide Completed Tasks from the View menu to filter completed tasks from folder lists without changing or deleting them.

For cleanup, completed tasks can be moved to Trash from the Notes Library context menu or from Preferences. Auto-clean can also run on a daily, 7-day, or 30-day schedule.

Workflow Improvements

  • Added confirmation before deleting sheets in Math Notebook.
  • Added confirmation before deleting files in Drawings.

Fixes

  • Fixed the callout title widget position in the Notes editor.
  • Added the missing Generate button translation.

What's Changed

Full Changelog: v5.7.0...v5.8.0