Run the existing failure-only native Linux trace through pinned GDB, following the compiler shell wrapper so package DB and -B flags remain intact. Fetch the debugger only from caches within the existing overall bound and preserve diagnostic exit failures. Capture bounded stacks, registers, PC disassembly and mappings without environment or core dumps.
Validation: 41 generated-wrapper forwarding/status cases and three extracted workflow-shell cases pass; debugger cache-only fetch succeeds. The local Rosetta Linux VM cannot ptrace the child, and the bounded native ARM control stopped at metadata, so actual native fault capture remains a CI validation step.
Scope the scheduling opt-out to the patched QEMU versions, patch the interpreter source before planning, and expose the real static Bionic and GNU iconv symbols. Use the RTS package dependency for Android libffi.
The production interpreter reaches Haskell main on Rosetta and native ARM64 QEMU. Normal target TH, the ARM32 shared export, a C caller returning 42, and upstream annotations pass. Profiling execution is not yet validated.
Declare GNU libiconv as a ghc-internal system dependency in Android projects. The setup hook satisfies configure before it records library names, so consumer slices must also receive the system dependency and its static link flag.
Checked exact production vanilla and profiled interpreter derivations: both now include GNU libiconv in runtimeLibs, and native/cross compiler identities remain unchanged. The core derivation changes through dependency and install metadata; its code generation inputs remain the same.
Apply the API 26 dependency before planning every ghc914-sh Android project, including the auxiliary iserv projects and evalWith variants. Preserve the GNU headers and library paths in the plan and ghc-internal registration, and compile the static iconv archives with PIC for libsimplex.so.
Validated Nix parsing, duplicate module handling, the actual ARMv7 iserv plan arguments, and a real static/PIC libiconv build. The focused ghc-internal build remains pending.
Cabal 3.17 deduplicates flattened compiler and linker argument lists,
which drops the second -framework from Security/CoreFoundation links.
Remove the two token-level deduplications while retaining framework
search-directory deduplication and registered framework metadata.
Patch the Cabal library in haskell.nix's v2 build tool only for Darwin
archive projects. Preserve the tool's existing patches and evalWith
variants, and leave native CLI and Linux/Android build tools unchanged.
* ci: use default registries for empty variables
* ci: drop package publish tags
* ci: record releases in simplex-chat-libs
* ci: skip recorded versions in publish plan
* nodejs: raise default test timeout for migrations
* nodejs: print download progress without console.error
* nodejs: use the default timeout in migrating core tests
* ci: drop dlltool from nodejs libs release
* nodejs: download libsimplex into the user cache
* nodejs: load libsimplex at runtime per backend
* support bot: select db backend with --db
* python: match backend switch error text
* nodejs: download prebuilt add-on at runtime
* ci: build nodejs add-on for libs release
* calculator bot: load libs and add-on in image
* support bot: document add-on override
* nodejs: keep worker test output free of colors
* nodejs: verify sha-256 of downloaded assets
* python: pin core libs release with sha-256
* ci: add packages release script
* ci: release nodejs add-on and open release PR
* ci: publish packages after release PR
* nodejs: keep npm from building the add-on
* calculator bot: build the add-on in the image
* ci: merge package release workflows
* ci: open release PR when publishing fails
* ci: build the add-on with node-addon-api only
* ci: skip publishing in a called packages workflow
* ci: update package release actions to Node 24
* nodejs: fix receive test timeout
* ci: test packages on pull requests
* nodejs: reuse the database in the close stress test
* ci: keep failed package tests from hanging
* ci: skip preset server tests
* ci: plan package builds from the changes
* ci: test packages with a given libsimplex
* ci: test packages with libsimplex of core changes
* core: release core library to simplex-chat-libs every time cabal version changes
* implement
* test build
* update libs release
* test library release
* create release commit, so the date is correct
* rework to create release in advance in maybe-release job
* remove test build
* move postgresql job back
* test build
* remove test build
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>