Skip to content

Releases: massCodeIO/massCode

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

v5.7.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 08:21
867e2ab

Vault Doctor

Vault Doctor is a new health check for your vault that detects and repairs common sync issues such as duplicate ids, leftover merge conflict markers, and invalid frontmatter. It lives in Storage settings, where you can run a full scan, review each problem, and resolve duplicate ids by choosing which entry keeps the original id and which gets a new one.

Because conflicts usually appear after syncing across machines and Storage settings are rarely opened, Vault Doctor also runs a non-blocking, read-only check shortly after the app starts. If it finds conflicts, it shows a notification with a Review action so you can fix them before they cause problems.

Content List Sorting

You can now sort content lists directly from the View menu. Sorting is available across all spaces, including Code, Notes, HTTP, Math Notebook, and Drawings, and your choice is remembered per space.

Fixes

  • Fixed Math Notebook not accepting decimals entered with a comma in locales that use a decimal comma.
  • Fixed Drawings losing saved scene content from renderer state.
  • Fixed Drawings space state not resetting when switching vaults.
  • Kept list item height stable while inline renaming items in Drawings and Math Notebook.
  • Kept the context-menu highlight outline intact in virtual lists.
  • Added a close button to the release notes toast.
  • Fixed a persistent SQLite migration flag so migration state is tracked reliably.
  • Fixed a macOS update issue where quitAndInstall could be blocked by the window close handler.
  • Updated Elysia to address a ReDoS vulnerability (CVE-2026-30837).

What's Changed

Full Changelog: v5.6.1...v5.7.0

v5.6.1

Choose a tag to compare

@github-actions github-actions released this 12 Jun 19:41

What's Changed

Full Changelog: v5.6.0...v5.6.1

v5.6.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 07:45
6f8ed19

Drawings

massCode now includes a dedicated Drawings space powered by Excalidraw. Use it for diagrams, sketches, flows, UI mockups, and whiteboard-style notes without leaving your vault.

Drawings autosave as .excalidraw files, can be searched by name, duplicated, exported as images, and reopened at their last pan and zoom. You can also copy a drawing link and paste it into a note to render the drawing inline, then jump back to the Drawings space from the embed.

drawings

Automatic Updates

massCode can now download app updates in the background and install them on restart. Automatic updates can be turned off in Preferences; when disabled, massCode only notifies you that a new version is available.

Supporter License Keys

Supporter builds are gone. Instead of downloading a separate sponsored build, supporters now unlock supporter status in the standard build with an offline license key, entered in Preferences > Supporter. Your email is the license identifier, and the key is validated locally with no account required.

If you have donated before, please email me at reshetov.art@gmail.com with proof of your donation and I will send you a license key.

Search and Navigation

Search is more contextual across the app. List search now respects the selected folder, tag, library, or smart view, so results stay scoped to where you are already working.

The Command Palette also supports filter tokens for faster keyboard-driven search. Use @ for spaces, / for folders, and # for tags, then combine those filters with a text query.

Math Notebook sheet lists now include search with arrow-key navigation and Esc to clear the query.

Workflow Improvements

  • HTTP requests now have an SSL certificate verification preference, useful when working with local services, internal APIs, or self-signed certificates.
  • Code, Notes, and HTTP lists stay visually stable while folder and library changes load, reducing blank editor flashes during navigation.
  • Code and Notes spaces received performance improvements, including more efficient content loading, internal link resolution, and tag updates.
  • macOS release builds now include code signing and notarization improvements.

Fixes

  • Recovered legacy snippet fences during markdown vault parsing.
  • Prevented snippet sync operations from mutating non-snippet content.
  • Cleared programmatic editor undo history so undo stays focused on user edits.
  • Fixed Code space initialization when the sidebar is hidden.
  • Stabilized the Notes dashboard scrollbar.
  • Improved runtime compatibility by replacing an ESM-only ID dependency in main-process file handling.

What's Changed

Full Changelog: v5.5.0...v5.6.0