Skip to content

Releases: saworbit/didi

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 01:41
39daaad

What's Changed

🔐 Security

🧪 Tests and Contracts

  • Require a line to start with else before the colon rule fires by @saworbit in #375
  • Check the filesystem before the editor writers report a result by @saworbit in #376
  • Free the engine output logger instead of only dropping its reference by @saworbit in #377
  • Let a field trial be run by a client other than Claude by @saworbit in #378
  • Stop script_check_syntax reporting autoloads as errors by @saworbit in #386
  • Let Didi enable its own addon by @saworbit in #385
  • Teach the engine the uid a written scene carries by @saworbit in #390
  • Scope session attach and the dashboard to this server's project by @saworbit in #391
  • Let resource_create point at another resource by @saworbit in #392
  • Let a capture select the editor main screen it needs by @saworbit in #393
  • Stop the slow trickle IPC test racing the deadline it measures by @saworbit in #394
  • Let an agent call a project's own methods by @saworbit in #395
  • Enforce the input schema tools/call publishes by @saworbit in #409
  • Spend a confirmation token only on the mutation it authorises by @saworbit in #410
  • Name the canonical tool in the test lab message by @saworbit in #412
  • Publish the engine version so reflection can compare against it by @saworbit in #414
  • Answer offline reads honestly instead of substituting or failing by @saworbit in #411
  • Keep Unicode identifiers whole in every symbol scanner by @saworbit in #429
  • Enforce the schemas the tools publish by @saworbit in #430
  • Arm the overwrite gate on the target, not the flag by @saworbit in #431
  • Read every project text file, and say what was not read by @saworbit in #432
  • Give every semantic failure a code by @saworbit in #433
  • Stop calling third-party addon files orphans by @saworbit in #434
  • Stop calling local work a fallback by @saworbit in #435
  • Read the target before describing a mutation by @saworbit in #436
  • Answer the request edges below tools/call the way the spec says by @saworbit in #453
  • Enforce the input schemas the server publishes by @saworbit in #456
  • Name the repository the sandbox uses, and refuse one that only encloses the project by @saworbit in #457
  • Check resource_create property names against the type by @saworbit in #454
  • Read the replacement before patching a method, and keep it where it was by @saworbit in #452
  • Refuse a number no float property can hold by @saworbit in #455
  • Say the semantic failures in the bridge, and tell a wrong type from a missing path by @saworbit in #458
  • Name the scene every live scene answer is about by @saworbit in #459
  • Answer a path-validation failure with the error envelope by @saworbit in #474
  • Refuse a resource type Godot cannot load, and say which engine was checked by @saworbit in #475
  • Keep didi's own state out of the project inventory by @saworbit in #476
  • Require a target before instantiating a node by @saworbit in #477
  • Check a project setting name against the engine before persisting it by @saworbit in #478
  • Say which subtree, which group names, and whose connection by @saworbit in #479
  • Make the call-method dry run answer about the call by @saworbit in #480
  • Give every tool parameter a description by @saworbit in #481
  • Make scene_get_hierarchy answer the question it was asked by @saworbit in #495
  • Give every error a data floor and fill it in one place by @saworbit in #496
  • Check the value before writing it to the project by @saworbit in #497
  • Resolve a oneOf branch before saying what it needs by @saworbit in #498
  • Run the repository check in the apply preview by @saworbit in #499
  • Say in tools/list which names are legacy by @saworbit in #500
  • Name the read that works when the sandbox refuses one by @saworbit in #501
  • Decide each tool annotation on its own by @saworbit in #517
  • Advertise the mode a tool answers with by @saworbit in #518
  • Publish the argument closure and the fields handlers return by @saworbit in #519
  • Say no to a prompt argument that goes nowhere by @saworbit in #520
  • Make a board findable, and say which part of a bad URI was wrong by @saworbit in #521
  • Name the scene root the scene tools accept by @saworbit in #522
  • Publish an output schema wherever something checks it by @saworbit in #523
  • Stop the harness failing for reasons that are not the test by @saworbit in #524
  • Give the schema-enforcement test its own project by @saworbit in #540
  • Answer a bad path with a code, and check it by resolving by @saworbit in #539
  • Answer a task state conflict with a conflict by @saworbit in #541
  • Say which kind of detached this is by @saworbit in #542
  • Make the protocol edge say what is true by @saworbit in #543

📚 Documentation

🏗️ Build, CI and Tooling

Full Changelog: v1.8.0...v2.0.0

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 00:44
fcfa676

What's Changed

🔐 Security

🐛 Fixes

  • Fix four reported bugs: child stdin, orphaned test processes, resource_create paths, dead capability by @saworbit in #362

🧪 Tests and Contracts

  • Prove the loop composed, not in halves by @saworbit in #360
  • Let a field trial run itself, and say which build answered it by @saworbit in #364
  • Clear abandoned checkpoint fixtures instead of piling them up by @saworbit in #365
  • Stop the offline analyses crawling the project twice by @saworbit in #366
  • Stop a viewport diff building the same luma plane four times by @saworbit in #367
  • Let the offline capability test fill the registry it reads by @saworbit in #368
  • Stop the field trial seed launching a file that is not a program by @saworbit in #370

📚 Documentation

🏗️ Build, CI and Tooling

Full Changelog: v1.7.0...v1.8.0

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 07:09
01d9045

What's Changed

🔐 Security

🐛 Fixes

  • Stop parseFramedMessage reading past the end of its buffer by @saworbit in #344

🧪 Tests and Contracts

  • Stop the tests badge rendering as literal text by @saworbit in #342
  • Stop building three operating systems to check a page of prose by @saworbit in #347

📚 Documentation

  • Say plainly where AI was used to build this by @saworbit in #346

🔎 Other Changes

  • Derive the launch test bounds from what they are testing by @saworbit in #284
  • Fail the construction when the post-initialize bind is missing by @saworbit in #286
  • Read the wait handle rather than the exit code for process liveness by @saworbit in #288
  • Take a stack when the engine dies instead of an exit code by @saworbit in #289
  • Put the crash handler back on top after the engine takes it by @saworbit in #290
  • Wait for the imported texture before opening the smoke scene by @saworbit in #291
  • Do not fail the run when the engine dies on its own thread by @saworbit in #292
  • Arm the crash capture by default and say so when the engine dies by @saworbit in #295
  • Open the smoke scene after the documentation pass, not on top of it by @saworbit in #296
  • Require a positive fingerprint before retrying an engine crash by @saworbit in #297
  • Tell a caller what happened to the engine and what to do next by @saworbit in #298
  • Give the perceptual hash all 64 bits it claims by @saworbit in #300
  • Keep the signal handler to a flag and wake the stdio loop by @saworbit in #299
  • Build the signal test extension only when tests are on by @saworbit in #301
  • Keep the test stdin alive as long as the reader that is reading it by @saworbit in #303
  • Record today's three fixes and document the build options by @saworbit in #302
  • Add managed editor checkpoints and bounded crash recovery by @saworbit in #304
  • Let the operating system reap the managed editor by @saworbit in #306
  • docs: complete managed recovery guidance by @saworbit in #307
  • Add the Control Room, an MCP Apps dashboard served over stdio by @saworbit in #308
  • Add ui_list_controls so a control can be found before it is clicked by @saworbit in #309
  • Stop live failures from publishing the session endpoint by @saworbit in #310
  • Refresh the documents the Control Room and ui_list_controls overtook by @saworbit in #311
  • Validate the modern request envelope and scope MCP Apps per request by @saworbit in #315
  • Drive the newest build in the end to end tests, not the first one found by @saworbit in #316
  • Make a modern request name the runtime session it means by @saworbit in #317
  • Hold a route per session so two tasks can drive two editors by @saworbit in #318
  • Drive the newest build in the Godot harness, not the one named build by @saworbit in #319
  • Constrain issue 285 retries and keep the crash evidence by @saworbit in #320
  • didi: read real editor dirty state in scene_close on Godot 4.7+ by @saworbit in #321
  • didi: resolve UIDs through ResourceUID, not the binary uid cache by @saworbit in #322
  • didi: verify audit uid findings against the running editor by @saworbit in #323
  • didi: verify missing_file findings, and restore offline dispatch by @saworbit in #324
  • Report when the bridge is from a different build by @saworbit in #333
  • Make every spelling of the 2D viewport reach the 2D viewport by @saworbit in #334
  • Stop reporting @onready as the Godot 3 form by @saworbit in #335
  • Write Godot literals in resource_create, or refuse and say which property by @saworbit in #336
  • Let a probe read a number off a property, and say when none did by @saworbit in #337
  • Instance a packed scene into the edited scene by @saworbit in #338

Full Changelog: v1.6.0...v1.7.0

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 14:34
fac91c9

What's Changed

  • Finish constructing the objects we build by @saworbit in #212
  • Build the field trial harness by @saworbit in #202
  • Fix #214: script_patch_method with symbol_type variable deletes the declaration by @saworbit in #222
  • Fix #224: scene_set_property declares no JSON type for value, so clients guess a by @saworbit in #226
  • Record the second field trial by @saworbit in #219
  • Stop reporting success for changes that did not happen by @saworbit in #220
  • Design the loop, and build the fix half of it by @saworbit in #221
  • Fix #216: scene_set_property rejects whole numbers for float properties, so anch by @saworbit in #223
  • Fix #225: Type-mismatch errors name the property's type but never the value's, s by @saworbit in #228
  • Let the body alone decide whether merging closes an issue by @saworbit in #229
  • Keep the blank lines after a patched symbol by @saworbit in #230
  • Stop reporting a retention gap on a first read from cursor 0 by @saworbit in #231
  • Say a TileMapLayer has no TileSet, and let engine rejections keep their status by @saworbit in #233
  • Read imported asset UIDs out of .import metadata by @saworbit in #232
  • Add script_create and stop resource_create writing to any path by @saworbit in #234
  • Let a game session be seen, and refuse a viewport with no size by @saworbit in #235
  • Take vectors, colours and resource paths as property values by @saworbit in #236
  • Ignore out-of-source build trees by @saworbit in #238
  • Keep a client off the connection recycle boundary by @saworbit in #237
  • Rename a symbol where Godot serializes it, and say where it did not by @saworbit in #239
  • Watch a running game for conditions that must stay true by @saworbit in #240
  • Cast many rays in one dispatch by @saworbit in #241
  • Ask whether a body fits, not whether a line is clear by @saworbit in #242
  • Give Didi a mark, a wordmark, and the assets they generate from by @saworbit in #243
  • Read a ShaderMaterial's uniforms by @saworbit in #244
  • Set a shader uniform, undoably by @saworbit in #245
  • Describe a VisualShader as nodes and links by @saworbit in #246
  • Show the mark in BRAND.md instead of only describing it by @saworbit in #247
  • Stop rebuilding C++ when only the brand docs change by @saworbit in #248
  • Ask what a camera can see by @saworbit in #249
  • Report the value a shader uniform actually has by @saworbit in #251
  • See depth and orientation instead of guessing them by @saworbit in #252
  • Show a proposal before making it by @saworbit in #253
  • Document the calls the reference gets wrong by @saworbit in #254
  • Say why the transport gave up by @saworbit in #255
  • Say whether the engine is still there by @saworbit in #256
  • Check a proposal before the project sees it by @saworbit in #257
  • Ask again when a call that changes nothing loses its connection by @saworbit in #261
  • An in-editor console for the bridge by @saworbit in #262
  • Bring the documentation in line with the editor console by @saworbit in #264
  • Run a proposal, and put it in place once it passes by @saworbit in #263
  • Documentation audit: fix an unreachable guide and a plan that disagreed with the code by @saworbit in #265
  • Say which node painted which pixel by @saworbit in #266
  • Say why the engine answer is unknown by @saworbit in #267
  • Stop deleting the board when the save cannot replace it by @saworbit in #271
  • Keep paths wide until the last moment on Windows by @saworbit in #272
  • Keep build trees out of the index and drop it after a write by @saworbit in #273
  • Give every docs page a home and one changelog section per category by @saworbit in #274
  • Wait out a held blackboard lock instead of erroring by @saworbit in #275
  • Stop the two class reference copies racing each other by @saworbit in #276
  • Drive a running game and report where it stopped responding by @saworbit in #277
  • Do not blame a proposal for what the copy already said by @saworbit in #278
  • Measure the baseline before the proposal, and cancel both watches on shutdown by @saworbit in #281
  • Release 1.6.0 by @saworbit in #282

Full Changelog: v1.5.0...v1.6.0

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 11:43

What's Changed

  • Move GitHub Actions to Node 24 runtimes by @saworbit in #8
  • Pin ccache action to its Node 24 release by @saworbit in #9
  • ci: remove unused macOS Homebrew tap by @saworbit in #40
  • fix: preserve patch comments and JSON-RPC null results by @saworbit in #39
  • fix: close high-risk IPC, MCP, and overwrite gaps by @saworbit in #41
  • fix: close native protocol and runtime safety gaps by @saworbit in #42
  • fix: close quick correctness gaps by @saworbit in #43
  • fix: close offline correctness gaps by @saworbit in #44
  • feat: deliver phase 5 deep domains by @saworbit in #45
  • Phase 6: enterprise safety and mutation controls by @saworbit in #52
  • docs: publish post-phase-6 roadmap by @saworbit in #63
  • docs: record Phase 7 feasibility blockers by @saworbit in #64
  • Derive published tool counts from the built binary by @saworbit in #83
  • Reap orphaned session descriptor tombstones by @saworbit in #84
  • Add tool annotations and structured results by @saworbit in #85
  • Resolve the Phase 7 governance choice as partial delivery by @saworbit in #86
  • Recover Phase 7A groundwork onto main without the Godot 4.7 requirement by @saworbit in #87
  • Point the Godot 4.7 amendment at the archive tag by @saworbit in #91
  • Repair the live signal bridge harness and record tri-engine evidence by @saworbit in #92
  • Run the Godot integration harness on PowerShell 5.1, and record the activation blocker it found by @saworbit in #93
  • Quarantine the runtime route only on transport failure by @saworbit in #94
  • Correct the signal bridge evidence and record the production admission gate by @saworbit in #95
  • Bring the documentation set up to date with what shipped today by @saworbit in #96
  • Detect Windows in the integration harness on PowerShell 5.1 by @saworbit in #97
  • Publish outputSchema for tools with an observed result shape by @saworbit in #98
  • Accept the runtime_read_output amendment with tri-engine feasibility evidence by @saworbit in #99
  • Correct the runtime_read_output amendment and record its implementation constraints by @saworbit in #100
  • feat: add runtime_read_output for live engine output capture by @saworbit in #101
  • docs: withdraw the Godot 4.7 engine floor amendment by @saworbit in #102
  • feat: deliver the four signal tools as Phase 7 partial delivery by @saworbit in #103
  • fix: bring the demo addon back in line and keep it there by @saworbit in #104
  • docs: replace the editor-dock design with a researched one by @saworbit in #105
  • feat: implement server/discover, making Didi dual-era by @saworbit in #106
  • feat: serve MCP revision 2026-07-28 result shapes by @saworbit in #107
  • feat: route mutation confirmation to a human via elicitation by @saworbit in #108
  • feat: add YOLO mode for unattended runs by @saworbit in #109
  • fix: require every Python test module to run in CI by @saworbit in #110
  • Convert Windows project paths through UTF-8 helpers by @saworbit in #123
  • Parse GDScript declarations the same way everywhere by @saworbit in #124
  • Replace offline files atomically instead of truncating in place by @saworbit in #125
  • Emit real Godot types from the tres and test lab generators by @saworbit in #126
  • Classify mutations and open world tools from what they actually do by @saworbit in #127
  • Handle JSON-RPC batches and release the session on stdio EOF by @saworbit in #128
  • Parse the compiler diagnostic formats Godot and Roslyn actually emit by @saworbit in #129
  • Tighten C# declaration detection and drop per file path syscalls by @saworbit in #130
  • Stop copying frames and rebuilding the base64 table on every call by @saworbit in #131
  • Match resource paths exactly and scan the project once by @saworbit in #132
  • Read multiline tscn properties in the offline hierarchy parser by @saworbit in #133
  • Stop treating an idle IPC connection as a disconnect by @saworbit in #134
  • Allow math on values the expression itself built by @saworbit in #135
  • Return the real node path and close abandoned UndoRedo actions by @saworbit in #150
  • Make the main-loop pump reentrancy safe and defer the quit by @saworbit in #157
  • Emit compact payloads and stop dropping launch arguments by @saworbit in #158
  • Apply owner only controls before the IPC endpoint accepts by @saworbit in #159
  • Release the session lock when a route is quarantined by @saworbit in #160
  • Restore and report what a failed live mutation actually did by @saworbit in #161
  • Convert the path producers to UTF-8, not just the readers by @saworbit in #162
  • Make the published contract match the shipped surface by @saworbit in #163
  • Add CTest registration, install rules and a sanitizer option by @saworbit in #164
  • Restore the IPC idle timeout that recycles the pipe instance by @saworbit in #165
  • Run live Godot in CI and put tests in front of release packaging by @saworbit in #166
  • Reflect every engine class from the pinned Godot API dump by @saworbit in #167
  • Give each stage of an IPC frame its own deadline by @saworbit in #168
  • Let scene_get_hierarchy answer with less than the whole tree by @saworbit in #169
  • Report perceptual similarity alongside the pixel diff by @saworbit in #170
  • Stop the split frame IPC test racing the deadline it measures by @saworbit in #172
  • Add project_audit_assets for orphans, broken references and dead signals by @saworbit in #171
  • Reconnect before sending when the server recycled an idle connection by @saworbit in #173
  • Give the live harness a real startup budget and say what it saw by @saworbit in #174
  • Add project_analyze_impact for rename and delete blast radius by @saworbit in #175
  • Collect used signal names once instead of per declared signal by @saworbit in #176
  • Skip re-reading files the resource index already read unchanged by @saworbit in #177
  • Add audio_list_buses, live and offline by @saworbit in #178
  • Add audio_configure_bus for volume, mute and solo by @saworbit in #179
  • Deliver runtime_read_profiler as Phase 7C partial delivery by @saworbit in #180
  • Deliver runtime_inject_input as Phase 7C partial delivery by @saworbit in #181
  • Deliver physics_raycast_query and nav_query_path as Phase 7B partial delivery by @saworbit in #182
  • Deliver anim_list_tracks and anim_play_track as the second half of Phase 7B by @saworbit in #183
  • Implement Phase 7 viewport controls by @saworbit in #184
  • Deliver Phase 7 tile and grid tools by @saworbit in #185
  • fix: harden Phase 7 delivery contracts by @saworbit in #186
  • feat: trace static node path impacts by @saworbit in #187
  • feat: diagnose Godot import metadata health by @saworbit in #188
  • Reject unknown and malformed command line options by @saworbit in #190
  • Add a code of conduct and finish the community health files by @saworbit in #191
  • Package the addon from the build directory by @saworbit in #195
  • ci: bump hendrikmuhs/cc...
Read more

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 01:34
5a4d04d

What's Changed

  • Complete Phase 1 live Godot substrate by @saworbit in #1
  • Phase 2: deliver live project wiring by @saworbit in #2
  • Phase 3: authenticated runtime sessions and bounded evaluation by @saworbit in #3
  • docs: reconcile Phase 3 release guidance by @saworbit in #4
  • chore: remove agent workflow artifacts by @saworbit in #5
  • Phase 4: project verification, reimport, and viewport diffing by @saworbit in #6
  • Fix Windows release packaging on current runners by @saworbit in #7

New Contributors

Full Changelog: https://github.com/saworbit/didi/commits/v1.4.0