Logoscore Weekly Update — 2026-08-17
Highlights
- Basecamp runs on Windows. First end-to-end x86_64-windows cross-build lands across the stack — Basecamp bundled with the real bundler, logosctl runs a module on Windows, and CI runs
lgx-clidoctests on real Windows logos-basecamp#323, #324, logos-logoscore-cli#84, logos-package#34 - Manifest 0.4.0 released — variant-independent icons in
assets/, wired through the packager, bundler, downloader, package manager, and rendered as inset artwork in AppTile logos-package#31, nix-bundle-lgx#11, logos-design-system#50 - Storage 2.1.2 shipped — double-free fix in libstorage callbacks, module + UI bumped, published via modules-release logos-storage-module#75, #78, logos-modules-release#46
Initiatives
Windows cross-build (W1)
Coordinated cross-target push spanning ~15 repos.
- Basecamp shell: cross-build + startup/window fixes, bundler restored, Windows lockfile repaired logos-basecamp#323, #324, #326
- Runtime / container: x86_64-windows targets for logos-container, container-subprocess (with graceful shutdown + orphan reaping), module-loader, module-loader-qt (Qt host ported), and view-module-runtime (WM_QUIT instead of hard-kill) logos-container#4, logos-container-subprocess#4, logos-module-loader#3, logos-module-loader-qt#7, logos-view-module-runtime#23
- SDKs: cpp-sdk and qt-sdk cross targets, LogosAPI as shared-runtime type logos-cpp-sdk#136, logos-qt-sdk#32
- Module builders: Rust modules cross-compile to
x86_64-pc-windows-gnuwith winpthreads/headers/archive; declared runtime files staged; loud failure on unpublished-for-target deps logos-module-builder#194, #196, #197, #199, #200 - Packaging pipeline: lgpm, lgpd, lgx cross-compile; PE bundler path in nix-bundle-dir;
windows-x86_64.lgxoutput;bcryptprimitives.dlltreated as system DLL logos-package-manager#28, logos-package-downloader#24, logos-package#32, nix-bundle-dir#19, #20, nix-bundle-lgx#10, #12 - Modules: capability, package-downloader, plugin-qt, lidl, chat-ui, blockchain-ui, evm-wallet-ui, module cross targets logos-capability-module#23, logos-package-downloader-module#21, logos-plugin-qt#17, #18, logos-lidl#8, logos-module#23, logos-chat-ui#55, logos-blockchain-ui#58, logos-evm-wallet-ui#24
- liblogos & design system: cross-compile liblogos with
liblogos_coreas single provider; design system + storybook cross-built logos-liblogos#176, logos-design-system#49 - CLI / docs: logosctl.exe runs a module on Windows; tutorial covers the Windows target and
lgpm --platformlogos-logoscore-cli#84, #86, logos-tutorial#79
Manifest 0.4.0 — icons & app tile
- Spec: variant-independent icon in
assets/, manifest bumped to 0.4.0 logos-package#31 - Bundler: icon requirement enforced with manifest 0.4.0 nix-bundle-lgx#11
- Downloader / manager: read manifest version numbers; expose in PMUI as an app tile logos-package-downloader#25, logos-package-manager#29, logos-package-manager-module#58, logos-package-manager-ui#65
- UI: inset artwork in AppTile; icons added to the module builder for use as basecamp artwork; chat module icon shipped as 256×256 PNG logos-design-system#50, logos-module-builder#193, logos-chat-ui#56
Module releases
- Storage 2.1.2 — libstorage double-free on failed thread send fixed; module + UI bumped and published logos-storage-module#75, #76, #78, logos-storage-ui#83, #85, logos-modules-release#45, #46
- LB Module 0.2.2 — bumped in modules-release logos-modules-release#44
- Storage UI polish: per-network mix config; download-folder icon hidden logos-storage-ui#82, #84
logos-protocol reliability
Deep pass on the plain (Qt-free) transport and QtRO edge cases.
- Correctness: caller timeout now bounds the token handshake; event subscriptions survive an unreachable module; CALL held until module is reachable via
whenObjectAvailable; async callbacks delivered in a Qt-free host; dropped install replies distinguished from failed installs upstream in PMUI logos-protocol#47, #50, #53, #55, logos-package-manager-ui#67 - Lifetime / races: completion subscription lifetime bounded; second handle no longer steals the first’s event channel; calls answered on registration-during-failure instead of waiting for deadline logos-protocol#45, #49, #52
- Perf: per-call waiter thread folded into a call object with its own clock logos-protocol#46
- Tests: burst-drain bounded against the burst, host destroyed on the emitting thread, registry probe no longer starves its waiter, arm-now probe pinned against QtRO-held replica logos-protocol#51, #54, #56, #57
libp2p / networking
- Per-topic gossipsub message queue bounded; ingress limits exposed logos-libp2p-module#101
- Service-disco advertises caller-supplied XPR logos-libp2p-module#99
- nim-libp2p bumped logos-libp2p-module#102
Runtime robustness (QML view-module)
- callModule / callModuleAsync no longer fail on a module that is merely starting; onModuleEvent deferred instead of refused once; tests run on every push and PR logos-view-module-runtime#20, #21, #22
- Doctests updated for the qlonglong type contract and Basecamp’s renamed Module Inspector logos-tutorial#80
- cpp-sdk doctest coverage for the Qt-typed dependency wrapper; generated event subscriptions deferred instead of acquiring a replica logos-cpp-sdk#134, #135
- PMUI: install event emitted and path reported for QML-only ui_qml packages logos-package-manager-module#59
Housekeeping
- Dropped unused krb5 from runtime deps across blockchain-ui, chat-ui, evm-wallet-ui, module-builder examples logos-blockchain-ui#58, logos-chat-ui#55, logos-evm-wallet-ui#24, logos-module-builder#198
- Dropped stray
VERSIONfiles that leaked onto master in package-downloader and package-manager logos-package-downloader#26, logos-package-manager#31 - CI job paths fixed after basecamp move under
logos/folder logos-basecamp#322 - Transitive dep bumps: cpp-sdk and protocol into module-builder; package-downloader into package-downloader-module; libstorage into storage-module; package-manager into liblogos logos-module-builder#190, #191, logos-package-downloader-module#22, logos-liblogos#175, logos-storage-ui#81
Appendix: all merged PRs, by repo
logos-basecamp, logos-blockchain-ui, logos-capability-module, logos-chat-ui, logos-container, logos-container-subprocess, logos-cpp-sdk, logos-design-system, logos-evm-wallet-ui, logos-liblogos, logos-libp2p-module, logos-lidl, logos-logoscore-cli, logos-module, logos-module-builder, logos-module-loader, logos-module-loader-qt, logos-modules-release, logos-package, logos-package-downloader, logos-package-downloader-module, logos-package-manager, logos-package-manager-module, logos-package-manager-ui, logos-plugin-qt, logos-protocol, logos-qt-sdk, logos-storage-module, logos-storage-ui, logos-tutorial, logos-view-module-runtime, nix-bundle-dir, nix-bundle-lgx
logos-basecamp
- fix(windows): repair the x86_64-windows build, in the lock (#326)
- fix(windows): bundle Basecamp with the real bundler instead of bypassing it (#324)
- feat(windows): cross-build Basecamp — plus startup and window fixes for every platform (#323)
- ci: fix job paths after move under logos folder (#322)
logos-blockchain-ui
logos-capability-module
logos-chat-ui
- fix(packaging): ship the module icon as a 256x256 PNG (#56)
- fix(windows): drop the unused krb5 runtime dependency (#55)
logos-container
logos-container-subprocess
logos-cpp-sdk
- feat(windows): add an x86_64-windows cross target (#136)
- test(doctests): cover the Qt-typed dependency wrapper, which nothing did (#135)
- fix(generator): defer generated event subscriptions instead of acquiring a replica (#134)
logos-design-system
- feat: add inset artwork in AppTile (#50)
- feat(windows): cross-build the design system and its storybook (#49)
logos-evm-wallet-ui
logos-liblogos
- feat(windows): cross-compile liblogos, and make liblogos_core the single provider (#176)
- chore: bump logos package manager (#175)
logos-libp2p-module
- chore: bump nim-libp2p (#102)
- fix(gossipsub): bound the per-topic message queue and expose the ingress limits (#101)
- fix(service-disco): advertise a caller-supplied XPR (#99)
logos-lidl
logos-logoscore-cli
- feat(windows): ship the bundle-dir outputs, and retire the expired claims (#86)
- fix(logoscore): make —persistence-path reach the directory the daemon reads (#85)
- feat(windows): cross-compile logosctl.exe, and run a module on Windows (#84)
logos-module
logos-module-builder
- feat(windows): give a cross Rust module winpthreads, headers and archive (#200)
- fix(cross): fail loudly when a dep publishes nothing for the target system (#199)
- docs: drop unused krb5 from nix.packages.runtime examples (#198)
- feat(windows): cross-compile Rust modules to x86_64-pc-windows-gnu (#197)
- feat(windows): stage declared runtime files, and read
/bin (#196) - feat(windows): give mkLogosModule an x86_64-windows target (#194)
- feat: add icons that will be used as art work on the basecamp (#193)
- chore(deps): bump logos-cpp-sdk to 9d50829 (deferred generated event subscriptions) (#191)
- chore(deps): bump logos-protocol to 0183e8c (#190)
logos-module-loader
logos-module-loader-qt
logos-modules-release
- chore: update Storage UI to 2.1.2 (#46)
- chore: bump storage module to v2.1.2 (#45)
- chore: Update LB Module to 0.2.2. (#44)
logos-package
- ci(windows): Windows CI, running the lgx-cli doctest’s exercise half on real Windows (#34)
- fix: apptile icons placement (#33)
- feat(windows): cross-compile lgx for x86_64-w64-mingw32 (#32)
- feat: manifest 0.4.0 — variant-independent icon in assets/ (#31)
logos-package-downloader
- feat: fix icon variable (#27)
- fix: drop the VERSION file that leaked onto master (#26)
- feat: read manifest version numbers (#25)
- feat(windows): cross-compile lgpd, and stage the library’s DLL closure (#24)
logos-package-downloader-module
- chore: add logos-package-downloader (#22)
- feat(windows): add an x86_64-windows target (#21)
- feat: add manifest version (#20)
logos-package-manager
- fix: drop the VERSION file that leaked onto master (#31)
- feat: read manifest version numbers (#29)
- feat(windows): cross-compile lgpm, and stop reporting successful installs as failures (#28)
logos-package-manager-module
- fix: emit the install event and report a path for QML-only ui_qml packages (#59)
- feat: add manifest version (#58)
logos-package-manager-ui
- fix: tell a dropped install reply apart from a failed install (+ cross fixes) (#67)
- feat: manifest versions and app tile (#65)
logos-plugin-qt
- feat(windows): stage an external library’s DLL from
/bin (#18) - feat(windows): cross-compile the Qt plugin backend and stage its DLL closure (#17)
logos-protocol
- feat(windows): named pipes, an explicit lp_* ABI, and a cross target (#58)
- test(protocol): pin that the arm-now probe cannot free a replica QtRO still holds (#57)
- test(plain): bound the burst-drain assertion against the burst, not a constant (#56)
- fix: make the caller’s timeout bound the token handshake, not just the call (#55)
- test(plain): stop the registry probe from starving the waiter it waits for (#54)
- feat: hold a CALL until its module is reachable (whenObjectAvailable) (#53)
- fix(plain): a second handle must not steal the first’s event channel (#52)
- test(plain): destroy the fixtures’ host on the thread that emits into it (#51)
- fix(plain): deliver async callbacks in a Qt-free host, and make release()-racing-a-call diagnosable (#50)
- fix(plain): answer a call that registers as the connection fails, instead of leaving it to its deadline (#49)
- fix: make event subscriptions survive a module that is not reachable yet (#47)
- perf(plain): fold the per-call waiter thread into a call object with its own clock (#46)
- fix(plain): the completion subscription must not outlive the object it points at (#45)
logos-qt-sdk
logos-storage-module
- chore: bump versions and update libstorage flake for 2.1.2 release (#78)
- chore: bump libstorage and prepare patch release (#76)
- fix: double free memory issue when libstorage call fails to send to the thread (#75)
logos-storage-ui
- chore: prepare release (#85)
- chore: add mix config per network (#84)
- chore: update to 2.1.1 (#83)
- chore: Hide download folder icon (#82)
- chore: update Storage Module to 2.1.1 (#81)
logos-tutorial
- fix(doctests): track the qlonglong type contract and Basecamp’s renamed Module Inspector (#80)
- docs: cover the Windows target and lgpm —platform (#79)
logos-view-module-runtime
- feat(windows): cross target, and quit ui-host with WM_QUIT instead of hard-killing it (#23)
- ci: run the test suite on every push and pull request (#22)
- fix(qml-bridge): stop callModule/callModuleAsync failing on a module that is merely starting (#21)
- fix(qml-bridge): defer onModuleEvent instead of refusing it once (#20)
nix-bundle-dir
- feat(windows): strip host-provided DLLs from PE bundles (hostLibs/hostBundle) (#20)
- feat(windows): a PE path for the directory bundler (#19)