Patch release: everything below was found by running the server against a live InDesign 2026 instance and fixed with TDD.
Fixed
preview_documentnow actually renders on real InDesign 2026:resolutionPpi→exportResolution(plain PPI number; the old property never existed in this DOM)Page.exportFile→Document.exportFile+pageStringtaken from the target page's own name (section numbering respected)- generated scripts no longer end with
JSON.stringify(...), which throws in ExtendScript's ES3 engine
shape_polygon_create: side count moved toapp.polygonPreferences.numberOfSidesset beforepolygons.add()— the instance property is gone in the 2026 DOM- Change events heartbeat: while a document stays dirty, consecutive unsaved edits leave the name/modified signature unchanged, so the plugin now re-emits
document_changedevery ~30s instead of going silent
Added
- Plugin bundle guards: unit tests parse
plugin/index.jsand assert the embedded signature script stays ES3-safe (noJSON.*, no backslash literals)
194 tools · 33 handlers · 888 tests green · fixes verified end-to-end on macOS / InDesign 2026 (21.3)