github storytold/craft-anything v0.4.0
Craft Anything v0.4.0

4 hours ago

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 #485
  • A plain HTML site passes the build check as it is, with nothing to build (R2.7) by @tanish2k09 in #500
  • Rebuild the roadmap around what people hit now, and keep finished work in its own file by @tanish2k09 in #512
  • Bump the version to 0.4.0 by @tanish2k09 in #526
  • Record that #490 is settled on Windows and move its macOS run to the live checks by @tanish2k09 in #524
  • Send Codex its prompt on stdin instead of the command line by @Silvertree2010 in #530
  • Show upstream provider reasons in API errors (R5.5) by @Afloat16 in #542
  • Wait for keep-awake cleanup before rebuild completion (R2.9) by @Afloat16 in #541
  • Report unavailable cached bodies in stand-in replay (R3.11) by @Afloat16 in #543
  • Respect stop reasons before running native tool calls (R5.4) by @Afloat16 in #544
  • In stripped programs, a jump below a function's entry is a tail call to a function of its own, instead of pulling that function into the caller by @Bentlybro in #492
  • Strings are found in ELF files with no section headers, read from their loaded segments by @Bentlybro in #491
  • doctor says which Java Ghidra runs on, the one set for it in Settings, as well as the Java on PATH by @Bentlybro in #489
  • Ghidra's pseudo-C uses the names you set, in the code and in its summary by @Bentlybro in #488
  • Deep mode uses Ghidra when the engine store is under a dot folder such as ~/.config, through a dot-free link to the store by @Bentlybro in #484
  • Honor per-backend conversation context budgets (R5.4) by @Afloat16 in #559
  • C# operators keep their CLR names (#316) by @AlexJoaquimPereira in #456
  • Test big-endian nanosecond pcap captures with FCS metadata (R0.5) by @Afloat16 in #433
  • Count each protocol once per frame in capture summary by @Silvertree2010 in #513
  • Keep TCP ports when a frame is cut inside the TCP header by @Silvertree2010 in #529
  • Make packets_inventory_show list DNS answers the same way on both engines by @Silvertree2010 in #514
  • Archive extraction refuses names Windows would change: a trailing dot or space, or a colon by @rech4210 in #533
  • The archive inventory says when nested archives were left unopened by @rech4210 in #534
  • ZIP names without the UTF-8 flag are read as CP437 by @rech4210 in #532
  • Write CRC-mismatched ZIP members when if_tampered=continue by @Silvertree2010 in #525
  • Give Claude Code a writable conversation folder under Flatpak, and say how to sign in there by @fabox-os in #561
  • Keep ACP history replay out of new turns (R2.2) by @Afloat16 in #550
  • native_function_find gives an offset beyond 64-bit JSON numbers as signed hex text instead of panicking by @Bentlybro in #477
  • Draw with Windows' own shader compiler, and say how to start without the graphics card when the device is lost by @fabox-os in #558
  • Fix stale manifest and feed versions in file formats table by @Silvertree2010 in #502
  • Show a named Pause button, and say Pausing… once it is pressed by @fabox-os in #555
  • Update README status to reflect published releases by @Silvertree2010 in #501
  • Add Russian (ru) UI localization by @DjMigen in #486
  • Approve Craft Anything's tools for Codex and explain a refused call instead of showing null by @fabox-os in #553
  • Declare the runtime comparison inputs as a string or an object by @frankyef in #490
  • Send empty string content for tool-call-only assistant messages by @fabox-os in #536
  • Let the Flatpak create and write its default projects folder by @bflatastic in #565
  • Send Gemini CLI its prompt on stdin instead of the command line by @rech4210 in #548
  • Translate Pausing… in the Russian catalog by @bflatastic in #567
  • Recover JSON tool calls emitted as text (R5.4) by @Afloat16 in #554
  • Report bytes per direction for packet capture flows by @bflatastic in #566
  • Keep a prompt's pictures when Up brings it back by @bflatastic in #570
  • Skip ZIP symlink and special members when extracting by @bflatastic in #568
  • Help models correct rejected tool argument types (R5.4) by @Afloat16 in #546
  • Retry builder turns from typed failures, including stateless backends (R5.3) by @Afloat16 in #552
  • Stop unchanged rebuilds after two turns across runs (R5.3) by @Afloat16 in #557
  • Choose OpenCode models and thinking depth locally or over SSH by @relkai in #413
  • Read HTML pages' scripts and preloads correctly in more cases (R3.13) by @bflatastic in #645
  • Serve previews only to this computer, stream their files and bound their connections (R2.9) by @bflatastic in #649
  • Set accepted sockets to blocking in keep-awake helper test by @Silvertree2010 in #629
  • Bound IPv6 extension parsing to the declared payload by @TheGalitube in #639
  • Find Hermes Agent's native Windows install when the app's PATH is older than it by @fabox-os in #585
  • Cap the edges a native call graph lists by @olebohmbach in #582
  • Say where a program is when it is there but can't start, instead of "isn't installed" by @fabox-os in #583
  • Copy only the scripts a web script export can write by @olebohmbach in #587
  • Cap the size of a Ghidra bridge reply by @olebohmbach in #588
  • Keep build tools and approvals from following links out of the project by @olebohmbach in #623
  • Redact HAR reports more thoroughly and count their bodies correctly (R3.13) by @bflatastic in #648
  • Format parsers refuse or flag input they used to half-read (R3.12) by @bflatastic in #652
  • Refuse an agent's own file tools outright in Clean room chats and questions by @fabox-os in #574
  • Name every place the website check accepts a site, and where the app really is by @fabox-os in #627
  • Remember "Always for this project" on a tool's consent card by @bflatastic in #654
  • Restore originals from long inline source maps by @TheGalitube in #368
  • Agent setup and streaming fixes: Aider, Antigravity on Windows, chat-only models, SSE limits and retries by @bflatastic in #653
  • Keep ARM32 conditional call values, esbuild dependencies and window labels right by @bflatastic in #656
  • Paste pictures into the prompt box with Ctrl+V and show attachments as picture tiles by @YoSiem in #631
  • The command palette stays where it's scrolled by @bflatastic in #658
  • Offer Kimi K3.1 Pro instead of the older Kimi K3 by @zitann2020 in #655
  • Builder limits, OpenRouter tools, a software-renderer fallback, calmer spinners, lean local builders, lldb calls and LM Studio ports by @bflatastic in #657
  • Add Korean, Czech and German UI catalogs by @bflatastic in #662
  • Draw on the GPU that drives the screen on Linux, so laptops with two GPUs open fast and don't lag by @bflatastic in #659
  • Restrict Claude Code tools and require approval for unknown tools by @TheGalitube in #637
  • Ignore EOCD signatures inside ZIP comments by @TheGalitube in #660
  • Offer a Google AI Studio (Gemini) key in Settings and first run (R5.5) by @Fardin7798 in #670
  • Exercise the unterminated DER OID guard by @Afloat16 in #674
  • Ignore switched-off screens and shared PCI ids when picking the Linux GPU by @Nghiathan13 in #671
  • Point the snapshot's extractor at the Kimi backend that exists by @zitann2020 in #678
  • Verify stand-in session cleanup by answerer lifetime by @Afloat16 in #677
  • Handle generic GGUF paths and numeric task versions in chat discovery (R5.4) by @Afloat16 in #675
  • Preserve empty query pairs in older stand-in recordings by @Afloat16 in #673
  • Auto mode deletes inside projects whose path has capitals, and reads quoted paths with spaces whole by @bflatastic in #682
  • Offer OpenCode Go as a backend, with its session header by @zitann2020 in #672
  • Add Copilot CLI support and shared agent investigations (R2.2) by @qu-gg in #455
  • Bound CPIO checksum work across firmware probes (R3.12) by @bflatastic in #683
  • Offer the other model providers by name when their key is set by @zitann2020 in #684
  • Offer "Work on my project" on New project: pick your project's folder and edit its files in place (R2.9) by @xerenon in #686
  • Keep agent answers within the conversation column (R2.9) by @carl-dourado in #719
  • More format parsers keep to their declared lengths and refuse impossible values (R3.12) by @bflatastic in #722
  • Split what Detect found into provider and harness tabs by @zitann2020 in #687
  • Refuse pictures over 20 MB when they are added (R2.9) by @AlexJoaquimPereira in #720
  • Choose Claude Code's folder per AI, so each can use another account by @kler in #664
  • Pick the coding agents' tab before testing Add another by @bflatastic in #732
  • The pictures UI test waits for the worker that checks their sizes by @tanish2k09 in #743
  • Bring the roadmap up to date with #490, #536 and the blocked release push by @tanish2k09 in #741
  • A builder on a local model isn't told to call memory tools it isn't offered by @tanish2k09 in #746
  • Find Visual Studio C++ tools installed outside Program Files (R1.6) by @riyazalsodie in #726
  • Add a model server by its address in the first run's AI step by @ghzgod in #680
  • The Linux AppImage runs its CLI with --cli or through a link named craft-anything-cli by @bflatastic in #725
  • The build check says where a project made one folder down is, and the Rust steps say Cargo.toml goes in app/ itself by @tanish2k09 in #751
  • Find an agent's chosen program again after an update moves it by @bflatastic in #729
  • Type in a model the list doesn't offer in Settings → AI by @bflatastic in #730
  • A long prompt shows more of itself in a tall window by @bflatastic in #734
  • Keep Make off the folder picked on Work on my project, and don't read an address in its request as an original (R2.9) by @xerenon in #750
  • Find Antigravity's CLI next to its own folder on Windows by @fabox-os in #748
  • Say when the app folder is empty in the website build check by @fabox-os in #749
  • Count the system prompt and tool schemas when a server reports no usage by @fabox-os in #752
  • Find Ghidra in the folders people unzip it to, and don't download it again by @fabox-os in #745
  • Say when a saved program path has no file there, instead of blaming PATH (R2.2) by @FuryNocturn in #739
  • Wait for picture checks before Send and Make Start (R2.9) by @AlexJoaquimPereira in #724
  • Run JSON tool calls a model writes after a sentence, or several in one reply by @tanish2k09 in #753
  • Start the window on Macs whose Metal compiler rejects the OS's shader version by @fabox-os in #744
  • The pasted-picture test passes when its pastes share a millisecond by @bflatastic in #761
  • Keep what a project edited in place is built with, read from its own files (R2.7) by @xerenon in #755
  • Check a person's own project by its own build and tests, in any language (R2.7) by @xerenon in #760
  • Keep builder availability fixtures independent of live discovery (R2.9) by @Afloat16 in #773
  • Count Antigravity's second folder in the Windows search path test (R2.2) by @FuryNocturn in #770
  • Look up a relative program where it starts before calling its path empty (R2.2) by @FuryNocturn in #772
  • The text protocol's markers count only in a reply's words, not inside a call's arguments by @tanish2k09 in #764
  • The keep-awake helper ends by itself once the app it serves is gone by @tanish2k09 in #762
  • Say when app/ is empty in the build check and the stop message by @fabox-os in #771
  • Address the parser review findings from #722 (R3.12) by @Afloat16 in #766
  • Say what Clean room is not, what dependency installs run, and how to check a Mac download by @fabox-os in #765
  • Find Flatpak browsers on Linux and give sandboxed browsers a profile they can reach by @bflatastic in #759
  • The Node.js tests check uses its stand-in program on Windows too by @bflatastic in #783
  • Stop a build whose checks never find a working build, across Try again by @bflatastic in #782
  • Start a program that was just written, instead of failing with Text file busy by @bflatastic in #787
  • A window that can't start says why instead of the app crashing by @smittie2000 in #786
  • Keep long lines in the feed's tool work inside the window by @fabox-os in #785
  • Offer a switched-off agent in the setup card, and turn it on by @fabox-os in #784
  • Point Unreal's C++ guidance at the right toolchain per platform (R1.6) by @AlexJoaquimPereira in #777
  • Refuse a folder or app bundle as an agent's program by @bflatastic in #788
  • Say when the Claude desktop app is installed but Claude Code isn't by @bflatastic in #789
  • Let people fold the builder's plan card away, and keep the fold by @bflatastic in #790
  • Give the macOS app a menu bar with its actions by @bflatastic in #804
  • Verify Vineflower against a real JAR (R5.7) by @hasnain607 in #802
  • Test both start-panic decisions, and don't blame the graphics for every early panic by @smittie2000 in #811
  • Read a plugin's whole tools/list line, however long by @raresmihailcristea-cmyk in #797
  • Make all permitted tools available to Codex from startup by @Agapenordev in #805
  • Refs #721: Windows: stale Codex desktop executable path after update causes repeated startup failures by @justinjohn0306 in #809
  • Build with an API backend without adding an agent (R5.5) by @AlexJoaquimPereira in #819
  • Register an installed agent named with --backend (R5.5) by @AlexJoaquimPereira in #821
  • Say the English README wins in the Korean one too by @zitann2020 in #823
  • Delete private browser profiles when the browser closes by @Agapenordev in #822
  • Apply replay body limits after redaction (R3.11) by @Afloat16 in #717
  • Add a copy button to each message and answer in the conversation by @bflatastic in #828
  • Let people resize the plan above the prompt box, and keep the size by @bflatastic in #829
  • Pass the Linux signing key to the release workflow by @dylanmtaylor in #866
  • Wait for browser shutdown before cleaning private profiles by @Agapenordev in #827

New Contributors

Full Changelog: v0.3.0...v0.4.0

Don't miss a new craft-anything release

NewReleases is sending notifications on new releases.