Repository navigation
Releases
Releases · storytold/craft-anything
Craft Anything v0.5.0
What's Changed
- Give native OpenCode runs the Craft Anything tools and show their tool calls by @advokat11 in #800
- Stabilize loopback request and cancellation fixtures (R3.11) by @Afloat16 in #767
- Keep the model discovery test from depending on OpenCode being installed (R5.2) by @justinjohn0306 in #980
- Start the Advanced console's prompt box at three lines (#942, R2.9) by @justinjohn0306 in #979
- Stop counting a video or music player as a game (#953, R2.7) by @justinjohn0306 in #970
- Add Georgian (ka) UI catalog by @devius in #775
- List MaterialCraft with the other Craft apps by @zitann2020 in #836
- List MaterialCraft in the Japanese Craft apps table by @zitann2020 in #837
- List MaterialCraft in the Korean Craft apps table by @zitann2020 in #838
- List MaterialCraft in the Chinese Craft apps table by @zitann2020 in #839
- Name the two modes plainly in Japanese: 外から観察 and 中まで解析 by @zitann2020 in #679
- Compare remote query test paths canonically on macOS (R5.2) by @doubektomas in #949
- Find app.asar beside an .exe target in the study step by @Silvertree2010 in #956
- Show Ghidra's wait and progress lines in the build's activity feed by @Silvertree2010 in #955
- Truncate long app file names on the Make screen by @Silvertree2010 in #869
- Keep zoom between 50% and 200% (R2.9) by @sanketdofe in #908
- Keep the Advanced console's status clear of its tabs when narrow (R2.9) by @justinjohn0306 in #984
- Claim R5.6: a denied Accessibility permission is not a success by @mavericzz in #887
- craft-anything-clonar-softwares by @Cleyson in #985
- Stop sending empty assistant messages to OpenAI-compatible providers by @yashpatadiya1724-cmyk in #854
- More format parsers keep to their declared lengths and refuse impossible values (R3.12) by @bflatastic in #986
- Record the Windows start-fallback live check: the start after a killed one draws with WARP and opens (R5.1) by @00xJS in #911
- Check packaged Deep builds before publishing a release (R5.1) by @doubektomas in #982
- Hide the home scrollbar when scrolling is not needed (R2.9) by @Pratikkk1829 in #988
- List new projects in the sidebar immediately and attach existing folders by @bflatastic in #987
- Put the switches under the prompt box on two lines when they don't fit by @bflatastic in #989
- Add Spanish, Italian and Vietnamese to the app's languages by @bflatastic in #990
- A hand-off that ends just before a kill reports its exit, and its Windows test waits for the launcher (R5.2) by @00xJS in #910
- Count cached tokens in usage.json (R5.4) by @SoldierPePe in #958
- Mark open plan steps as stopped when a run ends (R2.9) by @z2804715956-create in #876
- Refuse a switched-off or unknown --backend name (R5.5) by @AlexJoaquimPereira in #840
- Find browsers under their other Linux names, and say why one isn't found (R1.5) by @justinjohn0306 in #927
- Tell the builder what was asked in Just ask when the next message comes (R2.9) by @justinjohn0306 in #934
- Record idle CPU on an AMD Radeon: a core in AMD's driver on DX12 and Vulkan, none on GL by @bflatastic in #993
- Send a tool call's thought signature back to Gemini, and show errors it wraps in an array by @bflatastic in #991
- Stop programs started alongside a console capture from holding it open by @bflatastic in #997
- Keep pasted picture names unique, create atomic-write temp files exclusively, and keep distinct replay samples by @bflatastic in #995
- Keep macOS's own window buttons and frame by @bflatastic in #994
- Say where a build command ran, give API-key builds their asset keys, and respect the macOS accessibility flag by @bflatastic in #999
- Add Spanish, Traditional Chinese and French READMEs by @bflatastic in #992
- Add a restricted MCP mode without the tools that act on the machine or reach the network by @bflatastic in #1000
- Try the next renderer after a Windows start that can't draw, and close the gaps in the Claude desktop hint by @bflatastic in #1001
- List an edited-in-place project's own files by @bflatastic in #996
- Build and run new projects through their toolchains by @bflatastic in #1002
- Hand OpenCode runs over SSH the Craft Anything MCP server by @bflatastic in #1003
- Fill in the French catalog and add a Vietnamese README by @bflatastic in #1004
- Document closing tickets after a release (R5.1) by @doubektomas in #1006
- Say how a batch of squash messages lost their co-authors, and credit them here by @bflatastic in #1012
- Build with DeepSeek Harness as a coding agent by @bflatastic in #1005
- Stop Ghidra when the app closes, and skip the analysis of an Electron program's runtime by @bflatastic in #1007
- Add Brazilian Portuguese and Turkish to the app's languages by @bflatastic in #1011
- Refuse disabled backends when starting chat or compare (R2.9) by @doubektomas in #1008
- Packaging: pin appimagetool and the AppImage runtime, and check their hashes by @oracola91 in #1013
- Record macOS verification for the DeepSeek Harness builder (R2.2) by @CliffLeopard in #1016
- Credit who built Craft Anything before its public history, in CONTRIBUTORS.md by @tanish2k09 in #972
- Never start the Claude desktop app as Claude Code when resolving a run's program by @FuryNocturn in #1017
- Document headless project and engine tools (R5.2) by @doubektomas in #1014
- Make the remote helper test portable across POSIX shells (R2.2) by @doubektomas in #1018
- Don't offer to add a brain when the AI picked is turned off (R2.9, app side) by @kuseidos in #1019
- Resolve remote setup fixture utilities from the host path (R2.2) by @doubektomas in #1020
New Contributors
- @advokat11 made their first contribution in #800
- @devius made their first contribution in #775
- @sanketdofe made their first contribution in #908
- @mavericzz made their first contribution in #887
- @Cleyson made their first contribution in #985
- @yashpatadiya1724-cmyk made their first contribution in #854
- @00xJS made their first contribution in #911
- @Pratikkk1829 made their first contribution in #988
- @SoldierPePe made their first contribution in #958
- @z2804715956-create made their first contribution in #876
- @oracola91 made their first contribution in #1013
- @CliffLeopard made their first contribution in #1016
- @kuseidos made their first contribution in #1019
Full Changelog: v0.4.0...v0.5.0
Craft Anything v0.4.0
What's Changed
- Maki works as a coding agent, over ACP or one message at a time (R2.2) by @zeller-lorenz in #393
- Claude's effort goes up to xhigh and max, chosen in Settings → AI and the CLI (R2.9) by @zeller-lorenz in #395
- ARM32 pseudo-C keeps call return values in r0 by @phatloi0010 in #380
- Module-filtered macOS function breakpoints omit unsupported --name-mask by @phatloi0010 in #383
- A GraphQL document that begins with a comment is still read (#260) by @AlexJoaquimPereira in #386
- Capture teardown stops surviving group helpers after a normal leader exit by @phatloi0010 in #387
- Generated Ghidra function names parse their address suffix as hexadecimal by @phatloi0010 in #388
- URL sanitization only strips @ userinfo inside the authority by @phatloi0010 in #389
- Walkthrough preflight rejects timeout_secs values outside 1..=600 by @phatloi0010 in #390
- Zero-fill ext4 unwritten extents during file reads by @phatloi0010 in #391
- Apply pcapng interface if_tsoffset to packet and capture timestamps by @phatloi0010 in #397
- Only treat code/module CArchive members as PyInstaller crypto_key markers by @phatloi0010 in #398
- Start DX12 only by default on Windows to avoid Intel Vulkan driver crashes by @phatloi0010 in #414
- Report actual matching function count beyond cap in feature_paths by @phatloi0010 in #415
- Display annotated function name in native function tool summaries by @phatloi0010 in #418
- Classic pcap files with FCS bits in the link-type word decode as Ethernet and raw IP again by @rech4210 in #421
- HAR request hosts no longer include query text when the URL has no path by @rech4210 in #422
- A remote OpenAI-compatible service gets the cloud context budget and its price, not a local model's (R2.1) by @Agapenordev in #379
- Live coverage and module traces record the scripts they show by @bflatastic in #429
- Recognise bare Java classes in target triage by @Silvertree2010 in #431
- Reopening raw bytes with a new architecture or address uses them by @bflatastic in #432
- Record folder truncation notices in js_sources_restore by @phatloi0010 in #392
- Return header metadata for unencrypted IoStore containers without a directory index by @phatloi0010 in #396
- Claude Code gets its message on stdin, so a long brief starts on Windows by @bflatastic in #430
- Call resolution retains the known memory slot of an indirect import by @phatloi0010 in #424
- External tools' stderr survives a cap inside a multibyte character by @rech4210 in #364
- Files inside extended SquashFS directories are recovered (R0.5) by @Afloat16 in #434
- Trace universal helper executables by @TheGalitube in #375
- Allow packaged programs with crash in their names by @TheGalitube in #376
- ARM and Thumb branches point at their real targets by @rech4210 in #363
- Triage says a damaged ELF, PE or Mach-O header can't be read by @rech4210 in #365
- Firmware extraction reports a region-scan cap as partial by @rech4210 in #366
- A Haswell request picks the x86_64h Mach-O slice by @rech4210 in #371
- Fail builds when required Windows resource embedding fails by @Silvertree2010 in #427
- Bun text assets report their stored UTF-16LE encoding (R3.11) by @Afloat16 in #435
- Use ARM32 registers in value-flow graphs (R0.5) by @Afloat16 in #436
- Find class usage in multidimensional object arrays (R0.5) by @Afloat16 in #437
- Minified esbuild modules keep their dependencies (R0.5) by @Afloat16 in #438
- Mach-O sections inherit read/write from their segment by @rech4210 in #372
- A Mach-O executable with only __mh_execute_header counts as stripped by @rech4210 in #373
- Show a pin's folder from its right-click menu by @muraa-p in #215
- App comparisons keep every unassigned window (R3.10) by @Afloat16 in #440
- Compare WebAssembly exported tag parameter types (R0.5) by @Afloat16 in #441
- List slash commands and complete them with Tab by @muraa-p in #228
- Build usage includes context-summary calls (R2.1) by @Afloat16 in #442
- Check Simple-mode text sizes with a test (R2.9) by @muraa-p in #354
- Treat explicit interface property accessors as implicit by @Silvertree2010 in #443
- The same files in another archive order are the same content tree by @bflatastic in #445
- Deep mode decompiles position-independent programs by name: addresses move between our image base and Ghidra's by @bently-bot in #426
- build_file_read shows a line longer than a page, cut, instead of nothing by @bflatastic in #447
- ARM32 loads and stores keep their memory operands in pseudo-C by @bflatastic in #450
- List a remote Frida device without frida-ls-devices -H by @muraa-p in #227
- Pinned builds keep runtime models in obj folders (R2.10) by @Afloat16 in #439
- An app folder survey says when a file couldn't be opened, and its coverage is partial by @bflatastic in #453
- Fetch source maps served from the script's own loopback origin by @Silvertree2010 in #464
- Keep every tensor in a model summary's saved evidence by @Silvertree2010 in #457
- Disclose the serialized-file read limit in Unity bundle listings by @Silvertree2010 in #454
- Declare positional record properties in the C# declaration scanner by @Silvertree2010 in #448
- Check folder inventory evidence with the scope it was recorded with by @Silvertree2010 in #461
- Report folders that couldn't be listed in archive and JS app evidence by @Silvertree2010 in #459
- SQLite records over the payload cap say which values were cut by @rech4210 in #412
- native_function_find gives a negative offset when the address is in a block below the function's entry, instead of wrapping to a huge number by @Bentlybro in #465
- Test sessions find only the engines their settings name, so tests pass the same on a machine with Ghidra installed by @Bentlybro in #466
- A website capture says when its HTML was cut at the size limit by @bflatastic in #472
- Keep building with Claude Code after moving a project to another computer (R2.1) by @GTez in #458
- Scan C# delegate declarations in reconstruction (#315) by @kk376 in #463
- Page states at a second width open that width's own controls by @bflatastic in #474
- Changing a setting keeps a test session to its configured engines, and the live browser tests find the installed browser by @Bentlybro in #479
- A builder never continues a session another builder saved by @bflatastic in #471
- Page states select the original tab again after photographing another by @bflatastic in #475
- Accept UTF-16 XML plists after either byte-order mark by @bflatastic in #483
- Keep every character string in a decoded DNS TXT answer by @bflatastic in https...
Craft Anything v0.3.0
What's Changed
- A .utoc naming billions of empty compression methods no longer runs out of memory by @Agapenordev in #61
- Find the Windows shim, not npm's POSIX script, for a bare program name by @muraa-p in #51
- Every engine listing finds a Ghidra installed in a versioned folder or set through its folder setting by @aweussom in #55
- Leave a pin's old program copies out of the copy by @muraa-p in #56
- Look for Claude Code where WinGet installs it by @justinjohn0306 in #65
- Analysing code at the top of the address space finishes instead of running forever by @Agapenordev in #78
- The macOS app ships craft-anything-cli beside its executable by @bflatastic in #99
- Codex runs in project folders that aren't git repositories by @bflatastic in #101
- Find Ghidra installed from a Linux package by @bflatastic in #103
- Emit object schemas for compare inputs by @TheGalitube in #93
- Wait for asset facts to load in the asset spending smoke test by @WadahBadawi in #76
- Scope test structs FlakyKind and FlakyCheck to unix by @WadahBadawi in #52
- Frida lists devices and processes on Windows instead of hanging or finding none by @vdidon in #59
- Add a French UI translation by @VakzOs in #70
- Add a Japanese README by @zitann2020 in #80
- The Make screen says Craft Anything looks at the original, not an unnamed "we" by @bflatastic in #107
- Add a Japanese UI by @zitann2020 in #87
- The Agent console keeps its size instead of growing until its tabs are cut off by @Agapenordev in #81
- Why we ask is shown on the first-run purpose page, not hidden in a hover tip by @bflatastic in #106
- The Settings window keeps its width on every tab by @bflatastic in #108
- A rebuilt stand-in waits for its predecessor's port instead of failing by @bflatastic in #109
- Look for AI offers local servers already set up in OpenCode by @bflatastic in #111
- Fall back to BM_CLICK for off-screen Win32 buttons and check boxes in UI walkthroughs by @WadahBadawi in #77
- Sync the Craft App Suite list by @dylanmtaylor in #119
- Choose an agent app's program in Settings → AI by @bflatastic in #117
- Add Simplified and Traditional Chinese UI translations (R2.9) by @CQMHV in #115
- Godot installs on macOS: its program may be bigger than other engines' files by @bflatastic in #118
- Find coding agents in OpenCode's install folder and under nvm by @bflatastic in #120
- The macOS Dock shows the app's icon at the same size as other apps' by @bflatastic in #121
- Translate the agent program setting into Chinese by @bflatastic in #122
- Draw CJK interface text in a sans font, not a mincho by @zitann2020 in #125
- A program run in a console on Windows doesn't lose what it wrote on a busy computer by @bflatastic in #126
- Name the font fallback order, and test the order itself by @zitann2020 in #129
- A Flutter library with a header table at the very end of the address range is read without overflowing (R0.5) by @Agapenordev in #131
- Look for AI picks a model that can chat, not an embedding model by @bflatastic in #134
- Test that a stopped stand-in frees its port where the server is, without racing other tests by @bflatastic in #136
- Add an AI by its address in Settings → AI by @bflatastic in #137
- Find coding agents npm installed under a custom prefix by @bflatastic in #139
- Choose the model an AI uses in Settings → AI by @bflatastic in #145
- Find the Godot editor that the store installs on macOS by @olebohmbach in #141
- A rate-limited AI service is waited for as long as it asks by @bflatastic in #148
- Pitfall: merge the commit CI tested, not a head read later by @bflatastic in #150
- Give every Settings tab the same width, with air before the scroll bar by @olebohmbach in #151
- A full-page website capture scrolls through the page first by @bflatastic in #168
- An out-of-date Claude Code says so, and how to update it by @bflatastic in #169
- A website capture refuses the browser's error page by @bflatastic in #171
- The README and STATUS give today's tool counts by @bflatastic in #172
- When the window can't open, the app says why instead of vanishing by @bflatastic in #173
- Browser evidence records Clean room when the run is in Clean room by @bflatastic in #177
- A failed build check says where it looked, not app/ for an app edited in place by @bflatastic in #178
- A question answered outside a build stays in the project's conversation by @bflatastic in #180
- Pitfall: never type python - with a heredoc by @bflatastic in #181
- Add Antigravity (agy) agent CLI adapter and setup support by @x-eon-max in #89
- Clean room captures leave out class names and query strings by @bflatastic in #183
- Setup and the doctor read a client's other names from one table by @bflatastic in #184
- Cover the unknown-font rank in the fallback order test by @zitann2020 in #187
- A pill corner made with calc(infinity * 1px) is captured as 9999px by @rech4210 in #189
- Add a Simplified Chinese README by @maple323 in #188
- Detect Unreal Engine installations and Clang on Linux (R1.6) by @one-bit in #191
- The Windows app no longer starts OpenGL, which crashed some Intel drivers before the window opened by @bflatastic in #198
- Codex is never run as plain text, which opened its interactive mode by @bflatastic in #200
- An A32 doubleword load or store into r15 decodes as invalid instead of stopping the ARM analysis by @rech4210 in #204
- A Mach-O method list at the end of the address space is read without overflowing by @rech4210 in #205
- Reject overflowing bits in 10-byte uleb128 values by @Silvertree2010 in #208
- Captured colours are the page's CSS values, not a canvas read that drifted by one by @bflatastic in #211
- The Windows pipe gap in project_play is noted in its tool help and kept as an ignored test by @rech4210 in #212
- From the CLI, a capture with no open site says each command starts its own browser by @bflatastic in #213
- Try the DX12 adapter before Vulkan when the app starts by @muraa-p in #217
- "It's done" keeps a build as it is and stops offering to carry on by @bflatastic in #221
- A build stops with a plain message when craft-anything-cli is missing by @echelon in #226
- Add a Plain HTML and CSS stack so plain web requests use it by @muraa-p in #225
- fix(ai): add Hermes Agent CLI adapter and enable ACP support by @vietanh210304 in #16
- A same-size rewrite of an unhashed file reads as unknown, not unchanged by @bflatastic in #241
- Pseudo-Java keeps the statements before a try by @bflatastic in https://gith...
Craft Anything v0.2.0
What's Changed
- Built by no longer offers a GitHub SSH key as a computer, and finds Claude Code on a Mac opened from the Dock by @bflatastic in #4
- Explain failed agent runs, keep a log to open, and stop offering git servers as computers by @echelon in #3
- Stop deadlocks as they form and watch every lock for one that never lets go by @echelon in #5
- Show what a build is doing now and how long it has been quiet by @echelon in #6
- Point links and release metadata at the renamed storytold/craft-anything repository by @echelon in #7
- Record the v0.1.0 release in the roadmap by @echelon in #2
- Try again picks up where a build stopped instead of starting over by @echelon in #8
- Call a coding agent's cost an estimate, not the bill by @echelon in #9
- Show what a build is on now, and open up into its activity as it arrives by @echelon in #10
- Bump the version to 0.2.0 by @echelon in #11
- ci: switch CI/CD to craft-common-actions and add Flatpak OCI by @dylanmtaylor in #12
- Coding agents installed with npm on Windows start instead of "isn't on your PATH" by @bflatastic in #23
- LM Studio and other local servers accept our tools: boolean sub-schemas are sent as objects by @bflatastic in #25
- A program that crashes is named by its error, not the last line of its stack trace by @bflatastic in #26
- Korean, Chinese, Japanese and other scripts are tested to show in release builds, which ship their font licences by @bflatastic in #29
- OpenCode runs its task with
opencode runinstead of reading the prompt as a folder by @bflatastic in #35 - Testing a coding agent says it only checked the program's version by @bflatastic in #49
- Another program on a model server's port is no longer offered as an AI by @bflatastic in #39
- A malformed engine hash is refused as bad input on every system, so the FreeBSD tests pass by @bflatastic in #40
- The window draws in a Windows VM instead of staying black by @bflatastic in #38
- Skip an ext inode that starts at the end of the address space by @rech4210 in #42
- Stop an ELF segment at the end of the file offsets from overflowing by @rech4210 in #43
- A builder that writes /app/… paths builds the app instead of being refused by @bflatastic in #36
- Doctor says a local AI server is reachable only when it answers with its models by @bflatastic in #45
- An agent set up by its program and a model runs that agent with that model by @bflatastic in #46
New Contributors
- @bflatastic made their first contribution in #4
- @dylanmtaylor made their first contribution in #12
- @rech4210 made their first contribution in #42
Full Changelog: v0.1.0...v0.2.0
Craft Anything v0.1.0
What's Changed
New Contributors
Full Changelog: https://github.com/storytold/craftanything/commits/v0.1.0