Repository navigation
Releases
NexusInDesign 4.3.0
Changed
-
The engine is compiled ahead of time (Native AOT) instead of a self-contained single-file .NET program: one native
image that Windows maps, nothing read again from its file after it starts, so an update that replaces the engine
while an AI session runs it can no longer break that session (NexusFree's single-file dispatcher still crashed after
such a replacement, on an assembly loaded late that no preload had reached). Measured on the same PC (win-x64,
median of 7 runs, MCP server 10 s afterinitializeandtools/list):4.2.3 (single file) 4.3.0 (Native AOT) NexusInDesign.exe73.6 MB 8.8 MB --version42 ms 24 ms Start to initializeanswer224 ms 93 ms Working set at rest 47.8 MB 25.2 MB Private bytes at rest 16.0 MB 11.3 MB -
InDesign's COM automation goes through a source-generated
IDispatch(ComWrappers) instead of the runtime's
built-in COM interop andType.InvokeMember; JSON through source-generated contexts; process and signature checks
throughLibraryImportwith blittable structures. No reflection or runtime marshalling is left (IsAotCompatible,
AOT and trim analysis clean, warnings as errors). The AOT compiler and the trimmer are pinned in
packages.lock.json.
Added
- Test: the release build is started, its file renamed aside and replaced by other bytes the way an installer
replaces an exe in use, and its tools (tool list, DOM index, doctor, schema validation) must still answer.
Fixed
- Tests: processes started by tests always inherit the no-error-box mode. The runtime loads each native library
between aSetErrorModeand a restore of the previous mode, so parallel loads could leave the test process without
SEM_NOGPFAULTERRORBOX(seen once in CI); every test now starts its processes through a helper that sets the mode
again first, and the test checks a child started after that flag was removed.
NexusInDesign 4.3.0 (development build)
Development build of 68f306b (tests passed). Promoted as is to the stable v4.3.0 when that version is new.
NexusInDesign 4.3.0 (development build)
Development build of 8e2b369 (tests passed). Promoted as is to the stable v4.3.0 when that version is new.
NexusInDesign 4.3.0 (development build)
Development build of 48a183d (tests passed). Promoted as is to the stable v4.3.0 when that version is new.
NexusInDesign 4.3.0 (development build)
Development build of 80f4860 (tests passed). Promoted as is to the stable v4.3.0 when that version is new.
NexusInDesign 4.2.3
Added
- Common journal of the Nexus tools (format v1): every tool call also writes one short line to
%USERPROFILE%\.nexus\journal\indesign\<agent>\<YYYY-MM>.jsonl(agent from the verified parent or the MCP
client;outilthe engine version,issue,ms,techniquethe tool's route,erreurthe stable error code;
never a path, a document name or a text), so NexusSystem shows the activity of your AIs in InDesign and
NexusJournal revuecan measure failures per tool and version. A test checks the line of each call.
Fixed
- Tests: no test can show a Windows error box. The test process sets the error mode (no critical-error, crash or
missing-file box) when it loads, and every process it starts inherits it; a test checks it in a child process.
NexusInDesign 4.2.3 (development build)
Development build of ee2903b (tests passed). Promoted as is to the stable v4.2.3 when that version is new.
NexusInDesign 4.2.2
Fixed
- A conversation opened before an update keeps working. The engine is a self-contained single-file .NET program that
reads its own file again each time it loads an assembly;get.ps1renamed the running engine aside and put the new
version at its path, so the open session then read the new version's bytes and its next tool calls failed with
"Internal error" (reproduced:search_official_domandindesign_doctorafter a replacement). Each version is now
installed inversions\<version>-<hash>\, a folder never modified once written;current.txtnames the version new
sessions start;NexusInDesign.exe, the path the plugins start, is a small launcher compiled ahead of time (Native
AOT, which never reads its own file again) that runs the enginecurrent.txtnames. An older version's folder is
removed by a later run once no process runs its engine. Sessions opened before 4.2.2 still run the previous engine
from the launcher's path and need one reconnection after this update.
NexusInDesign 4.2.1
Fixed
get.ps1no longer fails with "being used by another process" when a scanner briefly opens the freshly copied
executable (the failure seen once with NexusAGYmail in NexusSystem's pack job on a fresh Windows runner). The package
is never run before installation: its version comes from the executable's version resource, the copy staged beside
NexusInDesign.exeis renamed into place, and only then is--versionrun from the installed file; if it does not
answer the expected version, the previous executable is put back. A rename held by such an external, transient scan
(sharing, lock or access violation) is waited out for at most 10 s; any other error still fails the installation.
NexusInDesign 4.2.0
Changed
- English by default, French on a French Windows: the MCP instructions, tool titles and descriptions
(native/tool-contracts.jsonin English,native/tool-contracts.fr.jsonfor French), results, errors and the UXP
scripts' own messages follow the Windows display language. The doctor's registry hash stays language-neutral. - Build output path taken from the .NET user profile instead of
$(USERPROFILE), which is unset on Dependabot's Linux
runner (NuGet restores silently failed on/.nexus). - Strict build: recommended .NET analyzers, code style enforced, warnings as errors (
.editorconfigadded). - JsonSchema.Net 9.6.0.
- Release workflow on NexusSystem's shared workflows v1.6.54, pinned by commit SHA.
- CodeQL runs from
.github/workflows/codeql.yml(actions, C#, JavaScript/TypeScript, default queries) instead of the
default setup, so OpenSSF Scorecard credits SAST for commits pushed without pull requests. - CHANGELOG compare links for every released version.