Repository navigation
Release notes prepared 2026-11-02.
Version 1.8.0 adds restored Query Builder sessions, cancellable searches and keyboard shortcuts. It improves certificate setup, sign-in recovery, workspace-trust handling and field presentation, and hardens generated files and saved credentials. Read UPGRADE.md, “Upgrading from 1.7.0 to 1.8.0”.
-
[FIX] Record Editor Save no longer stays at “Saving…” when VS Code restarts the extension after workspace trust is withdrawn; the panel explains how to reopen and warns the user to check the record before retrying.
-
[INTERNAL] The unit tests no longer pass an IP address as a TLS server name, which Node 22 warns about and Node 26 rejects.
-
[INTERNAL] The real VS Code proxy-patch TLS test now skips, with the reason logged, when a plain TCP connection to this machine's own LAN address cannot be opened. Once TCP connects, every certificate, pin and sign-in failure still fails the test.
-
[SECURITY] Schema snapshots and the offline metadata cache refuse to read, write or delete through a symlink under
.vscode/filemaker, so a cloned repository cannot point them at files outside the workspace. -
A failure to save the optional offline schema cache no longer fails a layout schema that the server returned; it is logged as a warning instead.
-
Script parameters sent through the FM Web bridge keep their spaces, line breaks and empty value exactly as written.
-
Log lines that include an error now show the error's name, message and code instead of an empty
{}, with secrets still hidden. -
A layout named
FileMakerno longer produces a generated TypeScript client with twoFileMakerRecordtypes. Layout names that differ only by letter case, such asSalesandsales, now get separate generated type files, with short hashes added where needed, so the files no longer swap places when the server lists layouts in a different order. This applies to Generate Types for Layout as well as Generate Types for All Layouts: a single layout is named from the server's layout list when it can be read, and from the files already in the folder when it cannot, so a cached layout still generates. After a layout has been chosen, offline generation uses cached metadata without requesting the server's layout list or attempting sign-in. The Command Palette layout picker and Generate Types for All Layouts still request a server layout list. A generated file that belongs to a different layout is never replaced, and a layout keeps updating the file it already owns, including a numbered one (such asSales-1a2b3c4d-1.ts) given out by an earlier run, even when numbers in between are missing. Newly generated files carry aLayout SHA-256line that identifies the layout without printing its name; older files are only recognised when theirLayout:line shows the name unambiguously, and any other generated file is left untouched. Delete any oldSales.ts-style file left by an earlier build. -
A restored Query Builder tab now uses the current extension folder and script settings instead of the ones saved before the window reload.
-
The Query Builder keeps the previous results available to export when a later search is canceled.
-
FM Web displays, validates and saves a repeated field under its lowest available repetition key when
Name(1)is absent. -
[SECURITY] Open Generated Types Folder refuses output paths that pass through a symlink outside the workspace.
-
The Query Builder can cancel a search while it is still loading its connection profile, and closing the panel stops that search.
-
The Query Builder now restores the page size and offset after a window reload for the same connection and layout; host saved-query values take precedence.
-
Canceling Browse for a CA certificate keeps the previously selected file path.
-
Saved connection secrets are decrypted with a fixed 16-byte tag check, so a shortened or tampered tag is refused instead of being misread. Secrets saved earlier keep working. No known exploit.
-
The extension's panels now ignore messages that do not come from VS Code itself, so a stray or badly formed message is dropped before it can act. No known exploit.
-
Files written for generated pages, type generation and AI context now stay inside their folder: a path that tries to escape is refused instead of written. No known exploit.
-
The Marketplace listing README now has a Security & Trust section right after the product tour: credentials stay in the OS keychain, nothing is collected or sent to the authors, an untrusted folder stays read only, and the security policy is one link away.
-
A privacy policy at the repository root (PRIVACY.md) now says what the extension stores locally, what never leaves your machine, the proxy-mode exception, which third parties are reached, the GDPR/CCPA stance, and where to send privacy questions; the documentation table, the Marketplace listing and the User Guide all link to it.
-
The Marketplace README now opens the product tour with a Query Builder hero screenshot of the Contacts layout: field pickers, a populated find request and the found rows.
-
The Marketplace README now shows a GIF of the connection flow: add a connection profile, connect, and open the Query Builder.
-
The Query Builder results table sizes its Open column to fit both actions, so View and Edit are both visible and clickable instead of clipping Edit to "View ...".
-
The Query Builder remembers the selected connection, layout, find request, editor tab and result view, so reopening the panel after a window reload restores the work in progress instead of an empty form.
-
The Query Builder clears restored criteria and sort rows when the layout they were written for is no longer among the profile's layouts, so a saved find is never shown or run against another layout.
-
The Query Builder shows a Cancel button while a query is running; pressing it aborts the request in flight and the panel reports the query as cancelled.
-
Error toasts can reconnect to the server in one click after a sign-in failure and open the matching troubleshooting page from the toast; more errors now carry that link, including no free sessions, too many sign-in attempts, HTTP 403/404, certificate problems and connection failures.
-
Five commands gain default keyboard shortcuts: Open Query Builder
Ctrl+Alt+Q, Open Record ViewerCtrl+Alt+V, Open Script RunnerCtrl+Alt+E, Show Request HistoryCtrl+Alt+Hand Open FM Web Layout ModeCtrl+Alt+L(eachCmd+Alton macOS except Show Request History, which staysCtrl+Alt+Hto avoid the system's Hide Others shortcut); rebind or clear them in Keyboard Shortcuts as before. -
The Marketplace listing description and the README lead now open with one sentence: connect to any FileMaker Data API server, run queries, browse schema, edit records and export results without leaving VS Code.
-
Security: the web page generator now uses Next.js 16.4.2, which fixes three published problems in Next.js (an image-handling flaw and a flaw in the
use cachefeature that could each run code, and a denial-of-service flaw). The extension itself did not use the affected parts, but apps you generated earlier keep their old version: runnpm install next@16.4.2in.fmweb/generated/runtime-nextto update them. -
Security:
zodis updated to 4.6.7, which fixes a published security advisory in zod 4.6.5 (the version 1.7.0 shipped): validating a very large array without a length limit could use all available memory. No behavior change. -
The Record Editor shows fields in the same order as your layout, with the right kind of box for each field. The Viewer, find form and FM Web use the same field rules, and Copy no longer covers record values. A container shows its image and, when that image cannot be shown, its address. A repeated field now appears in FM Web. A required repeated field no longer stops a save, and a repeated column in a portal shows its value.
-
Website tables scroll on small screens, documentation links stay on the website, and repeated documentation links are removed.
-
Generated FM Web apps can run their own tests and refresh untouched older shared files. Missing field details, stopped previews and save errors have clearer messages; date hints appear while editing and saved messages clear when browsing.
-
Layout Mode buttons keep their text readable when pointed at or selected with the keyboard. Effective Settings lines up with other screens and keeps its settings buttons on one line. Disclosure controls and separate tabs use the same size and rounded corners as other controls.
-
The generated FM Web page opens again, no longer stretches sideways, and can edit and save records.
-
All screens now share the same fonts, buttons, messages and read-only look.
-
Read-only values stay easy to read, empty messages remain available to screen readers, and headings, panels and control sizes match across screens. Schema Diff opens with Show only changes ticked; clear it to see unchanged fields.
-
Panels no longer sit empty when the extension cannot finish a request. The Record Viewer, Record Editor, Query Builder, Script Runner, Connection Wizard, Layout Mode and Schema Diff now say what went wrong instead of waiting forever, and the reason is written to the output channel.
-
The user guide, upgrade notes and a changelog by version are now on the project's website.
-
Sign-in errors now say what to do: FileMaker error 212 explains both possible causes — a mistyped password or a privilege set missing the
fmrestextended privilege, with the exact FileMaker Pro path — and the error report now shows the matching Troubleshooting link for errors 212 and 9. Other FileMaker codes keep their existing message. -
The Marketplace listing README now shows the version, last-commit and MIT-license badges under its title.
-
The Connection wizard's certificate section has a Browse button that opens the system file picker for a custom CA bundle (PEM, CRT or CER), instead of typing the path by hand.
Build and verification
Published Marketplace 1.8.0 matches the VSIX built from c07f13f22e2b38b84dc9acbfdc2e1f15b5cd6d19. The matching VSIX, source maps and SHA256 checksums are attached. This release was uploaded manually; it is not a claim of successful automated Marketplace publishing.
Versioned changelog · Upgrade notes
Unit/coverage, lint, typecheck, mock API, build and packaging gates passed for the build. Windows, Ubuntu and required CI passed. The full desktop UI suite and real FileMaker Server QA were not rerun for this release.