From 207072ba4d52f46e53952bf296199fe926e8ca43 Mon Sep 17 00:00:00 2001 From: Florin Barbu Date: Tue, 13 Oct 2026 16:43:23 +0300 Subject: [PATCH] chore: weekly 10 12 --- content/dst/ift/2026q4-dst-tooling.md | 2 + content/dst/ift/2026q4-libp2p-evaluation.md | 9 +- .../dst/logos/2026q4-messaging-evaluation.md | 3 +- .../dst/status/2026q4-status-evaluation.md | 2 +- content/nim/ift/2026q4-nim-core-libs.md | 4 + content/nim/ift/2026q4-nimble.md | 3 + .../2026q3-nimlibp2p-result-error-handling.md | 3 + .../p2p/ift/2026q4-anoncomms-consulting.md | 20 +- .../p2p/ift/2026q4-logos-core-consulting.md | 2 +- .../ift/2026q4-logos-delivery-consulting.md | 3 +- ...026q4-nimlibp2p-early-muxer-negotiation.md | 13 +- .../2026q4-nimlibp2p-gossipsub-byte-queues.md | 4 +- ...mlibp2p-gossipsub-duplicate-suppression.md | 4 +- .../2026q4-nimlibp2p-gossipsub-validation.md | 4 +- .../p2p/ift/2026q4-nimlibp2p-maintenance.md | 33 +- content/qa/ift/2026q4-nim-libp2p-testing.md | 10 +- content/qa/logos/2026q4-lez-sequencing.md | 6 +- content/qa/logos/2026q4-logos-basecamp.md | 10 +- content/qa/logos/2026q4-messaging-testing.md | 30 +- .../qa/logos/2026q4-source-code-level-qa.md | 3 +- .../2026q4-status-go-functional-testing.md | 9 +- content/qa/status/2026q4-status-qa-desktop.md | 16 +- content/qa/status/2026q4-status-qa-mobile.md | 10 +- content/web/ift/2026q4-admin-acid.md | 7 +- content/web/ift/2026q4-ai-tooling.md | 36 +- content/web/ift/2026q4-maintenance.md | 4 +- .../web/logos/2026q4-logos-media-migration.md | 4 +- content/web/logos/2026q4-logos-website.md | 12 +- content/web/status/2026q4-status-website.md | 11 +- content/weeklies/2026-10-12.md | 418 ++++++++++++++++++ 30 files changed, 626 insertions(+), 69 deletions(-) create mode 100644 content/weeklies/2026-10-12.md diff --git a/content/dst/ift/2026q4-dst-tooling.md b/content/dst/ift/2026q4-dst-tooling.md index 7e9889336b..39a3fa9c7a 100644 --- a/content/dst/ift/2026q4-dst-tooling.md +++ b/content/dst/ift/2026q4-dst-tooling.md @@ -48,5 +48,7 @@ Should be made general when possible. - Code: - [iftech/roadmap#530](https://github.com/iftech/roadmap/pull/530) chore(DST): q4 commitments - [iftech/10ksim#391](https://github.com/iftech/10ksim/pull/391) Scrape metrics and draw the standard plots in post-run analysis + - [iftech/10ksim#421](https://github.com/iftech/10ksim/pull/421) Look up the publisher once per run, not per message + - [iftech/10ksim#442](https://github.com/iftech/10ksim/pull/442) Fix cleanup wait and CronJob cleanup - Reports: - Other: diff --git a/content/dst/ift/2026q4-libp2p-evaluation.md b/content/dst/ift/2026q4-libp2p-evaluation.md index a90fed9b16..22f3d3a0a8 100644 --- a/content/dst/ift/2026q4-libp2p-evaluation.md +++ b/content/dst/ift/2026q4-libp2p-evaluation.md @@ -31,7 +31,7 @@ work and improvements, and it is subjected to change. * fully qualified name: `ift-ts:dst:ift:2026q4-libp2p-evaluation:regression-testing` * owner: Alan -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -48,8 +48,11 @@ and ensure they don't happen again. - Code: - [iftech/10ksim#418](https://github.com/iftech/10ksim/pull/418) Connection cap and bootstrap image options for the nim-libp2p nodes + - [iftech/10ksim#419](https://github.com/iftech/10ksim/pull/419) Partition analysis: phases from each message's publish record - Reports: - Tested Kademlia liveness-loop and bucket-rotation changes and updated the [nim-libp2p v2.4.0 regression report](https://app.notion.com/p/3dd8f96fb65c81c194b8ce51ea753a52). +- Other: + - Confirmed with a controlled rerun that the lower publish rate explains the v2.3.0 bandwidth gap; ran four v2.4.0 repeats to measure variation. ### Interop at scale @@ -75,8 +78,8 @@ different implementations. ### Automatic reporting * fully qualified name: `ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting` -* owner: TBD -* status: not started +* owner: Alan +* status: in progress (20%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/dst/logos/2026q4-messaging-evaluation.md b/content/dst/logos/2026q4-messaging-evaluation.md index 9c8b981464..8b92359cdd 100644 --- a/content/dst/logos/2026q4-messaging-evaluation.md +++ b/content/dst/logos/2026q4-messaging-evaluation.md @@ -26,7 +26,7 @@ Do this monthly, reliably, with documentation of findings. * fully qualified name: `ift-ts:dst:logos:2026q4-messaging-evaluation:regression-testing` * owner: Alan -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -47,6 +47,7 @@ and ensure they don't happen again. - [iftech/10ksim#411](https://github.com/iftech/10ksim/pull/411) Delivery latency per path and resources per node type for logos delivery runs - Reports: - Completed a full relay, lightpush, filter, and store run for [Logos Messaging PR 4347](https://app.notion.com/p/3ea8f96fb65c812a9ae2dc71ef28860e). + - Repeated the PR 4347 full delivery test three times at the configured publish rate to validate the [full delivery report](https://app.notion.com/p/3ea8f96fb65c812a9ae2dc71ef28860e). ### load metric diff --git a/content/dst/status/2026q4-status-evaluation.md b/content/dst/status/2026q4-status-evaluation.md index f25e6afea7..e15f3c54c8 100644 --- a/content/dst/status/2026q4-status-evaluation.md +++ b/content/dst/status/2026q4-status-evaluation.md @@ -25,7 +25,7 @@ TBD * fully qualified name: `ift-ts:dst:status:2026q4-status-evaluation:reliability` * owner: Alberto -* status: in progress (25%) +* status: in progress (75%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/nim/ift/2026q4-nim-core-libs.md b/content/nim/ift/2026q4-nim-core-libs.md index 061860094a..4074b2ba23 100644 --- a/content/nim/ift/2026q4-nim-core-libs.md +++ b/content/nim/ift/2026q4-nim-core-libs.md @@ -91,6 +91,10 @@ Use the nim-web3 approach as the model for the LSP implementation: - [status-im/nim-json-rpc#296](https://github.com/status-im/nim-json-rpc/pull/296) Stdio transport - [nim-lang/langserver#454](https://github.com/nim-lang/langserver/pull/454) Docs: Explain multi-entry-point project mapping - [nim-lang/langserver#479](https://github.com/nim-lang/langserver/pull/479) Add nimsuggestMaxMemory config value to complement nimsuggest's new `--maxMemory` option. +- [nim-lang/langserver#488](https://github.com/nim-lang/langserver/pull/488) Bump to v1.16.0 +- [nim-lang/langserver#473](https://github.com/nim-lang/langserver/pull/473) Transport v2 +- [nim-lang/langserver#486](https://github.com/nim-lang/langserver/pull/486) Cancel nimsuggestInit on shutdown +- [nim-lang/Nim#26438](https://github.com/nim-lang/Nim/pull/26438) nimsuggest: add `outline2`, a parse-only outline ### Nimlangserver and nimsuggest support for IFT projects diff --git a/content/nim/ift/2026q4-nimble.md b/content/nim/ift/2026q4-nimble.md index ed100bcf84..28247e8fb5 100644 --- a/content/nim/ift/2026q4-nimble.md +++ b/content/nim/ift/2026q4-nimble.md @@ -35,6 +35,9 @@ Add regression coverage for fixes and update usage documentation when behavior c - [nim-lang/nimble#1879](https://github.com/nim-lang/nimble/pull/1879) Warn when updating nimble from a nimble in a different path - [nim-lang/nimble#1878](https://github.com/nim-lang/nimble/pull/1878) Resolve the version of a named package instead of reusing its cached… - [nim-lang/nimble#1880](https://github.com/nim-lang/nimble/pull/1880) Docs: Add a note about when to use lock files. +- [nim-lang/nimble#1884](https://github.com/nim-lang/nimble/pull/1884) Refactor: Split dependency resolution into nimblesolver, nimblesat and nimblepubgrub +- [nim-lang/nimble#1883](https://github.com/nim-lang/nimble/pull/1883) Parse each version once in PubGrub instead of on every comparison +- [nim-lang/nimble#1882](https://github.com/nim-lang/nimble/pull/1882) Add --solver:pubgrub ### CI integration review diff --git a/content/p2p/ift/2026q3-nimlibp2p-result-error-handling.md b/content/p2p/ift/2026q3-nimlibp2p-result-error-handling.md index 3e0d3d3a7d..3ea88d7a72 100644 --- a/content/p2p/ift/2026q3-nimlibp2p-result-error-handling.md +++ b/content/p2p/ift/2026q3-nimlibp2p-result-error-handling.md @@ -61,3 +61,6 @@ Prefer to keep the public API unchanged if possible. - [iftech/nim-libp2p#3157](https://github.com/iftech/nim-libp2p/pull/3157) chore(result): relay client and transport - [iftech/nim-libp2p#3187](https://github.com/iftech/nim-libp2p/pull/3187) chore(result): add LPResultError type - [iftech/nim-libp2p#3188](https://github.com/iftech/nim-libp2p/pull/3188) chore(result): use LPResult alias in protocols +- [iftech/nim-libp2p#3197](https://github.com/iftech/nim-libp2p/pull/3197) chore(result): use LPResultError in LPResult +- [iftech/nim-libp2p#3219](https://github.com/iftech/nim-libp2p/pull/3219) chore(result): one path from each err to R.err +- [iftech/nim-libp2p#3195](https://github.com/iftech/nim-libp2p/pull/3195) chore(result): purge mapErr diff --git a/content/p2p/ift/2026q4-anoncomms-consulting.md b/content/p2p/ift/2026q4-anoncomms-consulting.md index 695d753f32..f5671e25b0 100644 --- a/content/p2p/ift/2026q4-anoncomms-consulting.md +++ b/content/p2p/ift/2026q4-anoncomms-consulting.md @@ -21,8 +21,8 @@ TBD ### Consulting * fully qualified name: `ift-ts:p2p:ift:2026q4-anoncomms-consulting:consulting` -* owner: not assigned yet -* status: not started +* owner: Richard +* status: in progress (8%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -31,5 +31,17 @@ TBD TBD #### Deliverables - -TBD +- [logos-messaging/logos-delivery#4479](https://github.com/logos-messaging/logos-delivery/pull/4479) chore(deps): bump mix RLN spam protection plugin +- [logos-co/nim-libp2p-mix#63](https://github.com/logos-co/nim-libp2p-mix/pull/63) refactor: use Result helpers for guarded control flow +- [logos-co/logos-libp2p-mix-rln#17](https://github.com/logos-co/logos-libp2p-mix-rln/pull/17) fix(rln): align shared backend time budgets +- [logos-co/mix-rln-spam-protection-plugin#29](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/29) fix(transport): allow proof generation time budget +- [logos-messaging/logos-delivery#4464](https://github.com/logos-messaging/logos-delivery/pull/4464) chore(deps): bump Mix-RLN spam protection plugin +- [logos-co/mix-rln-spam-protection-plugin#27](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/27) chore(deps): use upstream libp2p mix +- [logos-messaging/logos-delivery#4282](https://github.com/logos-messaging/logos-delivery/pull/4282) feat(mix): use shared RLN proofs for native Delivery routing +- [logos-co/mix-rln-spam-protection-plugin#22](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/22) feat(rln): add a shared backend adapter for Mix +- [logos-co/nim-libp2p-mix#58](https://github.com/logos-co/nim-libp2p-mix/pull/58) feat(mix): expose standalone host APIs and harden cover scheduling +- [logos-co/nim-libp2p-mix-ffi#9](https://github.com/logos-co/nim-libp2p-mix-ffi/pull/9) ci: add multi-platform build and test workflow +- [logos-co/logos-libp2p-mix-rln#15](https://github.com/logos-co/logos-libp2p-mix-rln/pull/15) refactor(mix): simplify FFI waits and reject invalid configuration +- [logos-co/logos-delivery-module#148](https://github.com/logos-co/logos-delivery-module/pull/148) feat(mix): reapply routing with shared RLN backend +- [logos-co/logos-libp2p-mix-rln#16](https://github.com/logos-co/logos-libp2p-mix-rln/pull/16) ci: test supported Linux, WSL, and macOS platforms +- [logos-co/nim-libp2p-mix-ffi#8](https://github.com/logos-co/nim-libp2p-mix-ffi/pull/8) refactor(ffi): remove obsolete routing test and consolidate cleanup diff --git a/content/p2p/ift/2026q4-logos-core-consulting.md b/content/p2p/ift/2026q4-logos-core-consulting.md index e790222535..de56da8b33 100644 --- a/content/p2p/ift/2026q4-logos-core-consulting.md +++ b/content/p2p/ift/2026q4-logos-core-consulting.md @@ -22,7 +22,7 @@ TBD * fully qualified name: `ift-ts:p2p:ift:2026q4-logos-core-consulting:consulting` * owner: Gabe -* status: in progress (4%) +* status: in progress (12%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/p2p/ift/2026q4-logos-delivery-consulting.md b/content/p2p/ift/2026q4-logos-delivery-consulting.md index 8a7b05b68e..9a7010d31c 100644 --- a/content/p2p/ift/2026q4-logos-delivery-consulting.md +++ b/content/p2p/ift/2026q4-logos-delivery-consulting.md @@ -28,7 +28,7 @@ as requirements and priorities become clearer during Q4. * fully qualified name: `ift-ts:p2p:ift:2026q4-logos-delivery-consulting:consulting` * owner: Gabe -* status: in progress (4%) +* status: in progress (12%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -46,3 +46,4 @@ as it is agreed. #### Deliverables - [logos-messaging/nim-ffi#209](https://github.com/logos-messaging/nim-ffi/pull/209) chore(ffi): zero the request envelope with c_calloc - [logos-messaging/nim-ffi#205](https://github.com/logos-messaging/nim-ffi/pull/205) chore(ci): one source for the sanitizer runtime options +- [logos-messaging/nim-ffi#226](https://github.com/logos-messaging/nim-ffi/pull/226) fix(ffi): set up the caller thread's GC before a request is rejected diff --git a/content/p2p/ift/2026q4-nimlibp2p-early-muxer-negotiation.md b/content/p2p/ift/2026q4-nimlibp2p-early-muxer-negotiation.md index 931f1f174d..16b56e1340 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-early-muxer-negotiation.md +++ b/content/p2p/ift/2026q4-nimlibp2p-early-muxer-negotiation.md @@ -24,10 +24,10 @@ separate multistream-select exchange that follows the security handshake. ### Handshake Negotiation And Upgrade * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-early-muxer-negotiation:implementation` -* owner: not assigned yet -* status: not started +* owner: Richard +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/10/13 #### Description @@ -36,10 +36,9 @@ the muxed upgrader. Preserve the separate negotiation path when peers do not support early negotiation or no early selection is available. #### Deliverables - -- Noise payload extension and upgrader integration -- Fallback behavior for existing peers -- Tests for compatible peers and negotiation fallback +- [iftech/nim-libp2p#3216](https://github.com/iftech/nim-libp2p/pull/3216) feat(noise): negotiate muxers during handshake +- [iftech/nim-libp2p#3225](https://github.com/iftech/nim-libp2p/pull/3225) feat(dialer): select known protocols optimistically +- [iftech/nim-libp2p#3217](https://github.com/iftech/nim-libp2p/pull/3217) feat(multistream): add optimistic protocol selection ### Connection Setup Validation diff --git a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md index 6df2b85a9e..879ef429ef 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md +++ b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md @@ -23,8 +23,8 @@ queued GossipSub data when message sizes vary. ### Byte Accounting And Limits * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-byte-queues:byte-limits` -* owner: not assigned yet -* status: not started +* owner: Richard +* status: in progress (70%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-duplicate-suppression.md b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-duplicate-suppression.md index 33e7279683..5754131b98 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-duplicate-suppression.md +++ b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-duplicate-suppression.md @@ -26,8 +26,8 @@ to assess Internet conditions, memory leaks, or isolated mesh islands. ### Requirements And Regression Coverage * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-duplicate-suppression:regression-coverage` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (10%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-validation.md b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-validation.md index f3ae811efa..452de304cf 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-validation.md +++ b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-validation.md @@ -24,8 +24,8 @@ separate from local overload. ### Validation Budgets And Admission * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-validation:budgets` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (10%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/p2p/ift/2026q4-nimlibp2p-maintenance.md b/content/p2p/ift/2026q4-nimlibp2p-maintenance.md index b2d66ebbf3..9934c30fb4 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-maintenance.md +++ b/content/p2p/ift/2026q4-nimlibp2p-maintenance.md @@ -29,7 +29,7 @@ ensuring that nim-libp2p remains functional and usable for its primary users — * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance:maintenance` * owner: Richard/Vlado/Gabe -* status: in progress (4%) +* status: in progress (12%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -66,4 +66,35 @@ as issues arise during the quarter. - [iftech/nim-libp2p#3180](https://github.com/iftech/nim-libp2p/pull/3180) fix(kad): let probed peers rotate full buckets - [logos-co/logos-libp2p-module#111](https://github.com/logos-co/logos-libp2p-module/pull/111) chore: shrink flake.lock from 450k to 17k lines - [iftech/roadmap#536](https://github.com/iftech/roadmap/pull/536) feat(p2p): nimbus downstream CI commitment for 2026q4 +- [status-im/nimbus-eth2#9240](https://github.com/status-im/nimbus-eth2/pull/9240) chore: bump nim-lsquic +- [iftech/nim-libp2p#3229](https://github.com/iftech/nim-libp2p/pull/3229) fix(mplex): await reset writes during channel cleanup +- [iftech/nim-lsquic#178](https://github.com/iftech/nim-lsquic/pull/178) chore(lsquic): update vendored dependency +- [iftech/nim-lsquic#179](https://github.com/iftech/nim-lsquic/pull/179) test(lsquic): cover client address migration +- [logos-co/logos-libp2p-module#120](https://github.com/logos-co/logos-libp2p-module/pull/120) fix: bump nim-libp2p for duplicate DNS responses +- [iftech/nim-libp2p#3224](https://github.com/iftech/nim-libp2p/pull/3224) fix(nameresolving): tolerate duplicate DNS responses +- [status-im/nimbus-eth2#9204](https://github.com/status-im/nimbus-eth2/pull/9204) chore: bump nim-lsquic +- [iftech/nim-boringssl#20](https://github.com/iftech/nim-boringssl/pull/20) ci: check generated BoringSSL bindings before merging +- [iftech/nim-libp2p#3223](https://github.com/iftech/nim-libp2p/pull/3223) test: reduce timeouts +- [iftech/nim-libp2p#3222](https://github.com/iftech/nim-libp2p/pull/3222) chore(autotls): propagate cert load error +- [iftech/nim-libp2p#3214](https://github.com/iftech/nim-libp2p/pull/3214) test: hardening assertion +- [iftech/nim-libp2p#3209](https://github.com/iftech/nim-libp2p/pull/3209) test: add suite timeout +- [iftech/nim-libp2p#3241](https://github.com/iftech/nim-libp2p/pull/3241) test(dialer): improve cancellation test +- [iftech/nim-libp2p#3239](https://github.com/iftech/nim-libp2p/pull/3239) chore(builders): return error result insted of Defect +- [iftech/nim-libp2p#3232](https://github.com/iftech/nim-libp2p/pull/3232) feat(autotls): certificate renewal propagation +- [iftech/nim-libp2p#3234](https://github.com/iftech/nim-libp2p/pull/3234) fix(autotls): using PEM leaf certificate’s X.509 notAfter for expiry time +- [iftech/nim-libp2p#3249](https://github.com/iftech/nim-libp2p/pull/3249) fix(kad): close inbound RPC streams on shutdown +- [iftech/nim-libp2p#3244](https://github.com/iftech/nim-libp2p/pull/3244) ci: bump workflow timeout +- [iftech/nim-libp2p#3240](https://github.com/iftech/nim-libp2p/pull/3240) fix: mapper-removal races in PeerInfo and AddressManager +- [iftech/nim-libp2p#3242](https://github.com/iftech/nim-libp2p/pull/3242) chore(Switch): adds convenience overloads +- [iftech/lsquic#3](https://github.com/iftech/lsquic/pull/3) fix(conn): send keepalive PINGs when no stream is open - #2 +- [iftech/nim-lsquic#181](https://github.com/iftech/nim-lsquic/pull/181) fix: keep QUIC connections without streams alive +- [iftech/nim-libp2p#3245](https://github.com/iftech/nim-libp2p/pull/3245) fix(upgrade): export chronicles from muxedupgrade +- [iftech/nim-libp2p#3212](https://github.com/iftech/nim-libp2p/pull/3212) chore(dial): benchmark dial time against stalled addresses +- [iftech/nim-libp2p#3228](https://github.com/iftech/nim-libp2p/pull/3228) test(transports): cancel tests for upgrade, memory and tor +- [iftech/nim-libp2p#3230](https://github.com/iftech/nim-libp2p/pull/3230) test(crypto): malformed DER for minasn1, ecnist and rsa +- [iftech/nim-libp2p#3227](https://github.com/iftech/nim-libp2p/pull/3227) test(multiformat): cover decode error paths +- [iftech/nim-libp2p#3226](https://github.com/iftech/nim-libp2p/pull/3226) test: malformed protobuf and key protobuf decoding +- [iftech/nim-libp2p#3211](https://github.com/iftech/nim-libp2p/pull/3211) chore(metrics): dial race and backoff metrics +- [iftech/nim-libp2p#3210](https://github.com/iftech/nim-libp2p/pull/3210) chore(rsa): delete uncompilable hex-string `init` +- [iftech/nim-libp2p#3201](https://github.com/iftech/nim-libp2p/pull/3201) feat(service-disco): advertise caller-supplied XPRs, not the node's own record diff --git a/content/qa/ift/2026q4-nim-libp2p-testing.md b/content/qa/ift/2026q4-nim-libp2p-testing.md index 6e8e304554..08c6c8f5d1 100644 --- a/content/qa/ift/2026q4-nim-libp2p-testing.md +++ b/content/qa/ift/2026q4-nim-libp2p-testing.md @@ -38,8 +38,8 @@ Cover address and transport preference, concurrent dial cancellation, failed-add ### Maintenance * fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:maintenance` -* owner: radek -* status: not started +* owner: Radek +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -49,6 +49,6 @@ Provide ongoing QA maintenance for nim-libp2p, including regression fixes, flaky Handle issue-driven validation that does not require a separate feature-specific task. #### Deliverables - -- PRs maintaining tests and resolving failures or flaky scenarios. -- Regression findings and verification results linked to tracked issues. +- [iftech/nim-libp2p#3237](https://github.com/iftech/nim-libp2p/issues/3237) gossipsub: no IHAVE for a subscribed topic once PRUNE empties its mesh +- [iftech/nim-libp2p#3236](https://github.com/iftech/nim-libp2p/issues/3236) gossipsub: a peer that restarts within pruneBackoff is penalised for its GRAFT and kept out of the mesh +- [iftech/nim-libp2p#3238](https://github.com/iftech/nim-libp2p/pull/3238) test: bug reproductions for #3236 and #3237 diff --git a/content/qa/logos/2026q4-lez-sequencing.md b/content/qa/logos/2026q4-lez-sequencing.md index 8ddca5f67a..c461bc13cf 100644 --- a/content/qa/logos/2026q4-lez-sequencing.md +++ b/content/qa/logos/2026q4-lez-sequencing.md @@ -21,7 +21,7 @@ At Q4 planning, 63 of the 128 planned tests remain to be written. * fully qualified name: `ift-ts:qa:logos:2026q4-lez-sequencing:cucumber-tests` * owner: Roman -* status: not started +* status: in progress (21%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -31,6 +31,4 @@ Implement the remaining 63 tests from the 128-test LEZ sequencing plan. Continue coverage of sequencer registration and related sequencing behavior, adapting scenarios to implementation changes and recording defects or missing prerequisites. #### Deliverables - -- PRs implementing the remaining 63 planned Cucumber tests. -- Updated coverage tracking and issues for sequencing defects or blocked scenarios. +- [logos-blockchain/logos-execution-zone#787](https://github.com/logos-blockchain/logos-execution-zone/pull/787) test: Cucumber sequencer registration scenarios diff --git a/content/qa/logos/2026q4-logos-basecamp.md b/content/qa/logos/2026q4-logos-basecamp.md index a91ae49c09..f1d162d2eb 100644 --- a/content/qa/logos/2026q4-logos-basecamp.md +++ b/content/qa/logos/2026q4-logos-basecamp.md @@ -22,7 +22,7 @@ Validate release artifacts and maintain the existing smoke, UI, sandbox, and doc * fully qualified name: `ift-ts:qa:logos:2026q4-logos-basecamp:mcp-tests` * owner: Roman -* status: in progress (36%) +* status: in progress (37%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -32,9 +32,11 @@ Implement the remaining 61 tests from the 78-test Basecamp MCP plan. Keep new scenarios compatible with the existing test framework and track any scope changes or blockers as Basecamp evolves. #### Deliverables - -- PRs implementing the remaining 61 planned MCP tests. -- Updated coverage tracking and issues for defects or blocked scenarios found during implementation. +- [logos-co/logos-basecamp#477](https://github.com/logos-co/logos-basecamp/pull/477) Test/MCP UI apps inspector unload/reload of a non-visible UI plugin +- [logos-co/logos-basecamp#484](https://github.com/logos-co/logos-basecamp/pull/484) Test/MCP UI apps inspector unload/reload of package_manager_ui restores the Package Manager view +- [logos-co/logos-basecamp#485](https://github.com/logos-co/logos-basecamp/pull/485) Test/MCP UI module inspector search filters the table +- [logos-co/logos-basecamp#486](https://github.com/logos-co/logos-basecamp/pull/486) Test/MCP UI seed a loadable core-module fixture into the integration-test instance +- [logos-co/logos-basecamp#487](https://github.com/logos-co/logos-basecamp/pull/487) Test/MCP UI module inspector unloading a leaf module and reloading it ### Release validation diff --git a/content/qa/logos/2026q4-messaging-testing.md b/content/qa/logos/2026q4-messaging-testing.md index 2f7b1d7eba..e4683e8d69 100644 --- a/content/qa/logos/2026q4-messaging-testing.md +++ b/content/qa/logos/2026q4-messaging-testing.md @@ -21,9 +21,9 @@ Adapt tests to messaging component changes, address regressions, and keep covera * fully qualified name: `ift-ts:qa:logos:2026q4-messaging-testing:interop-migration` * owner: Florin/Radek -* status: in progress (95%) +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/10/13 #### Description @@ -36,6 +36,8 @@ Port the remaining scenarios to the repository's E2E workflow, preserve relevant - [logos-messaging/logos-delivery#4350](https://github.com/logos-messaging/logos-delivery/pull/4350) test(e2e): run the C ABI suite in parallel and make its xfailed tests pass (migration 16) - [logos-messaging/logos-delivery#4353](https://github.com/logos-messaging/logos-delivery/pull/4353) test(e2e): python binding as a submodule (migration 17) - [logos-messaging/logos-delivery-python-bindings#9](https://github.com/logos-messaging/logos-delivery-python-bindings/pull/9) chore: bump logos-delivery and move the wrapper to the CBOR ABI +- [status-im/status-go#7816](https://github.com/status-im/status-go/pull/7816) ci: test Logos Delivery nightly and issue reporting in Jenkins +- [logos-messaging/logos-delivery#4422](https://github.com/logos-messaging/logos-delivery/pull/4422) test: include orphaned suites ### Maintenance @@ -54,3 +56,27 @@ Update tests for messaging component changes, investigate failing or flaky tests - [logos-messaging/logos-delivery#4368](https://github.com/logos-messaging/logos-delivery/pull/4368) ci: cache nim, nimble and nimcache (ci improvements 1) - [logos-messaging/logos-delivery#4379](https://github.com/logos-messaging/logos-delivery/pull/4379) test: configurable waiting times (ci improvements 2) - [logos-messaging/logos-delivery#4395](https://github.com/logos-messaging/logos-delivery/pull/4395) test: wait on conditions instead of fixed sleeps (ci improvements 3) +- [logos-messaging/logos-delivery#4420](https://github.com/logos-messaging/logos-delivery/pull/4420) ci: test reporter +- [logos-messaging/logos-delivery#4463](https://github.com/logos-messaging/logos-delivery/pull/4463) test(e2e): fix flaky test_s31_concurrent_sends_mixed_topics_during_churn +- [logos-messaging/logos-delivery#4439](https://github.com/logos-messaging/logos-delivery/pull/4439) test: bug reproductions +- [logos-messaging/logos-delivery#4459](https://github.com/logos-messaging/logos-delivery/pull/4459) test: bug reproductions 2 +- [logos-messaging/logos-delivery#4438](https://github.com/logos-messaging/logos-delivery/issues/4438) bug: the archive counts a message it already holds as written on Postgres and as an insert failure on sqlite +- [logos-messaging/logos-delivery#4437](https://github.com/logos-messaging/logos-delivery/issues/4437) question: GET /store/v3/messages reads a startTime or endTime of 0 or less as absent, and a negative pageSize as the maximum +- [logos-messaging/logos-delivery#4436](https://github.com/logos-messaging/logos-delivery/issues/4436) question: any --rate-limit entry replaces the default rate limits, so filter falls to 30/1m and unnamed protocols run without a limit +- [logos-messaging/logos-delivery#4435](https://github.com/logos-messaging/logos-delivery/issues/4435) question: filter UNSUBSCRIBE of a criterion the requester does not hold answers 200 or 404 depending on other peers, and its 404 can follow a partial removal +- [logos-messaging/logos-delivery#4434](https://github.com/logos-messaging/logos-delivery/issues/4434) bug: /filter/v2/subscriptions answers 200 "UNKNOWN" without pubsubTopic under static sharding, and its message cache ignores the result +- [logos-messaging/logos-delivery#4432](https://github.com/logos-messaging/logos-delivery/issues/4432) bug: REST API answers an undecodable JSON body without the decoder's reason +- [logos-messaging/logos-delivery#4431](https://github.com/logos-messaging/logos-delivery/issues/4431) bug: /lightpush/v3/message answers 500 for INVALID_MESSAGE (420), and 413 or 500 for the same oversize message +- [logos-messaging/logos-delivery#4433](https://github.com/logos-messaging/logos-delivery/issues/4433) question: lightpush v3 client turns the service's BAD_REQUEST for an undecodable request into "response failure, requestId mismatch" +- [logos-messaging/logos-delivery#4457](https://github.com/logos-messaging/logos-delivery/issues/4457) bug: POST /relay/v1/subscriptions joins a shard of another cluster or past --num-shards-in-network, and the node's metadata then misreports its shards +- [logos-messaging/logos-delivery#4456](https://github.com/logos-messaging/logos-delivery/issues/4456) question: DELETE /relay/v1/auto/subscriptions of one content topic unsubscribes its whole shard, silencing the other content topics on it +- [logos-messaging/logos-delivery#4455](https://github.com/logos-messaging/logos-delivery/issues/4455) question: under autosharding --shard does not limit which shards the relay joins, yet the REST cache and --protected-shard still follow it +- [logos-messaging/logos-delivery#4454](https://github.com/logos-messaging/logos-delivery/issues/4454) question: --cluster-id=2 applies the logos.dev preset, whose nodes are on cluster 3, and replaces an explicit --preset=logos.test +- [logos-messaging/logos-delivery#4453](https://github.com/logos-messaging/logos-delivery/issues/4453) bug: a duplicate a node publishes goes through its own relay handlers again, and is answered as NoPeersToPublish +- [logos-messaging/logos-delivery#4485](https://github.com/logos-messaging/logos-delivery/issues/4485) bug: with a raised --max-msg-size, store sync never transfers a message above 150 KiB, and a few such messages stop the node's transfers to every peer +- [logos-messaging/logos-delivery#4484](https://github.com/logos-messaging/logos-delivery/issues/4484) bug: a node that gets SIGTERM while store sync transfers messages to a peer never finishes stopping and is killed +- [logos-messaging/logos-delivery#4486](https://github.com/logos-messaging/logos-delivery/issues/4486) bug: a message encoded within --max-msg-size is not relayed or stored when the encoded RPC message gossipsub would send exceeds the limit, and the publish routes answer 200 or "no peers" +- [logos-messaging/logos-delivery#4483](https://github.com/logos-messaging/logos-delivery/issues/4483) bug: store sync transfer writes the pubsub topic as field 1 and the message as field 2, the reverse of the WAKU-SYNC specification +- [logos-messaging/logos-delivery#4482](https://github.com/logos-messaging/logos-delivery/issues/4482) bug: --preset=status.prod runs the 150KiB default of --max-msg-size instead of the 1024KiB of the preset, and warns at every start that the size was provided +- [logos-messaging/logos-delivery#4481](https://github.com/logos-messaging/logos-delivery/issues/4481) bug: a peer that connects in while the node's own dial to it is in flight stays CannotConnect for as long as it is connected +- [logos-messaging/logos-delivery#4480](https://github.com/logos-messaging/logos-delivery/issues/4480) question: /admin/v1/peers lists a peer that dialled in over TCP at its connection's source port, where nothing listens diff --git a/content/qa/logos/2026q4-source-code-level-qa.md b/content/qa/logos/2026q4-source-code-level-qa.md index d0658c8348..3128b250b1 100644 --- a/content/qa/logos/2026q4-source-code-level-qa.md +++ b/content/qa/logos/2026q4-source-code-level-qa.md @@ -22,7 +22,7 @@ Generate proofs or exploit reproductions for high-severity issues and regression * fully qualified name: `ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype` * owner: Roman -* status: in progress (60%) +* status: in progress (65%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -46,3 +46,4 @@ Prototype an AI code analysis workflow covering: - Sent Gateway the [LEZ Atomic Swaps v0.2.4 RFP compliance and test-coverage report](https://zealous-polka-dc7.notion.site/v0-2-4-3e58f96fb65c805d8c96d63df98f8a7a). - Added Bork workflows `audit-spec-test-case-coverage` and `audit-milestone-test-case-coverage`. - Sent Gateway the [LEZ Atomic Swaps v0.2.5 RFP compliance and test-coverage report](https://zealous-polka-dc7.notion.site/v0-2-5-3ed8f96fb65c804086d9ebaaacae48bc). +- Clarified and fixed CODE-5 for [LEZ Atomic Swaps v0.2.5](https://discord.com/channels/973324189794697286/1526145461025505360/1557941455362719854). diff --git a/content/qa/status/2026q4-status-go-functional-testing.md b/content/qa/status/2026q4-status-go-functional-testing.md index 4038c6ca8f..9a7ebcb050 100644 --- a/content/qa/status/2026q4-status-go-functional-testing.md +++ b/content/qa/status/2026q4-status-go-functional-testing.md @@ -23,7 +23,7 @@ The maintenance and coverage tasks below continue the Q3 direction; concrete sce * fully qualified name: `ift-ts:qa:status:2026q4-status-go-functional-testing:maintenance` * owner: Nastya -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -34,12 +34,14 @@ Investigate failing or flaky tests, update fixtures and the Python SDK where nee #### Deliverables - [status-im/status-go#7854](https://github.com/status-im/status-go/pull/7854) fix(functional): run Anvil and Foundry on the host architecture +- [status-im/status-go#7887](https://github.com/status-im/status-go/pull/7887) feat(wallet): add Sepolia WETH and refresh default token lists +- [status-im/status-go#7888](https://github.com/status-im/status-go/pull/7888) fix(functional): temp disable QUIC on the test waku fleet ### Functional test coverage * fully qualified name: `ift-ts:qa:status:2026q4-status-go-functional-testing:coverage` * owner: Nastya -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -50,3 +52,6 @@ Select concrete scenarios from the existing backlog and issues found during desk #### Deliverables - [status-im/status-go#7869](https://github.com/status-im/status-go/pull/7869) test(functional): add community SDS delivery regression coverage +- [status-im/status-go#7914](https://github.com/status-im/status-go/pull/7914) test(functional): send ERC20, ERC1155, ERC720 +- [status-im/status-go#7906](https://github.com/status-im/status-go/pull/7906) test: mock EFP API and cover wallet getFollowing* RPC +- [status-im/status-go#7882](https://github.com/status-im/status-go/pull/7882) test(functional): check MoonPay URL and hostname diff --git a/content/qa/status/2026q4-status-qa-desktop.md b/content/qa/status/2026q4-status-qa-desktop.md index 609c7d962e..289c241c83 100644 --- a/content/qa/status/2026q4-status-qa-desktop.md +++ b/content/qa/status/2026q4-status-qa-desktop.md @@ -40,7 +40,7 @@ Report bugs and release risks and verify fixes with the Status team. * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-desktop:maintenance` * owner: Nastya -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -51,6 +51,13 @@ Assist developers with test changes in pull requests. #### Deliverables - [status-im/status-app#22623](https://github.com/status-im/status-app/pull/22623) chore(@e2e): skip destroyed community nav buttons after leave +- [status-im/status-app#22756](https://github.com/status-im/status-app/pull/22756) Revert "fix(chat): mark messages read when the newest one is on screen" +- [status-im/status-app#22736](https://github.com/status-im/status-app/pull/22736) fix(@e2e): record a CPU/RAM sample when a benchmark action finishes before the sampler thread +- [status-im/market-proxy#84](https://github.com/status-im/market-proxy/pull/84) feat: add base sepolia WETH to token list +- [status-im/market-proxy#83](https://github.com/status-im/market-proxy/pull/83) feat: add sepolia WETH to token list +- [status-im/status-app#22695](https://github.com/status-im/status-app/pull/22695) chore(@e2e): fix sign modal test reference +- [status-im/status-app#22654](https://github.com/status-im/status-app/pull/22654) fix(e2e): wait for link preview instead of failing on slow unfurl +- [status-im/status-app#22653](https://github.com/status-im/status-app/pull/22653) fix(chat): mark messages read when the newest one is on screen ### Performance tests for desktop application on Windows @@ -74,7 +81,7 @@ Maintain useful measurements for comparing releases and detecting performance re * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-desktop:new-tests` * owner: Nastya -* status: in progress (10%) +* status: in progress (54%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -85,6 +92,11 @@ Choose scenarios as feature scope and the automation backlog are clarified with #### Deliverables - [status-im/status-app#22583](https://github.com/status-im/status-app/pull/22583) fix(communities): hide joined members in invite popup after accept request +- [status-im/status-go#7916](https://github.com/status-im/status-go/pull/7916) fix(wallet): omit relay API key on testnet +- [status-im/status-app#22741](https://github.com/status-im/status-app/pull/22741) tests(@e2e): send NFT on testnet +- [status-im/status-app#22734](https://github.com/status-im/status-app/pull/22734) test(@qml): onchain friends nim and QML coverage +- [status-im/status-app#22702](https://github.com/status-im/status-app/pull/22702) tests(@qml): buy crypto links +- [status-im/status-app#22607](https://github.com/status-im/status-app/pull/22607) tests(@e2e): request payment in chat ### Performance tests for desktop application on Mac diff --git a/content/qa/status/2026q4-status-qa-mobile.md b/content/qa/status/2026q4-status-qa-mobile.md index 7961902399..9bea544bee 100644 --- a/content/qa/status/2026q4-status-qa-mobile.md +++ b/content/qa/status/2026q4-status-qa-mobile.md @@ -33,12 +33,13 @@ Perform exploratory and regression testing, test new features in each release, a #### Deliverables - [status-im/status-app#22522](https://github.com/status-im/status-app/issues/22522) \[QA - Mobile\] Share to Status: what to test in 2.40 +- [status-im/status-app#22773](https://github.com/status-im/status-app/issues/22773) \[QA - Mobile & Desktop\] Nim token catalogue: what to test in 2.40 ### Maintenance * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-mobile:maintenance` * owner: Magnus -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -50,6 +51,7 @@ Address flaky tests and assist developers with test changes in pull requests as #### Deliverables - [status-im/status-app#22504](https://github.com/status-im/status-app/pull/22504) test(e2e_appium): press only a message that is on screen - Verified the logos-qt-mcp Qt inspector prototype on Status desktop and Android. +- [status-im/status-app#22752](https://github.com/status-im/status-app/pull/22752) test(e2e_appium): open the nav drawer with a drag that moves at once ### Coverage for existing features @@ -72,8 +74,8 @@ Prioritize gaps with the Status team based on user impact and the feasibility of ### Framework improvements * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-mobile:framework` -* owner: magnus -* status: not started +* owner: Magnus +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -90,6 +92,7 @@ Improve the mobile test harness in the following areas: - PRs implementing harness improvements and contract checks. - Setup and usage documentation for iOS, loaded accounts, and backend-peer scenarios. +- Got the iOS end-to-end gate running; remaining failures are app accessibility gaps. ### Performance @@ -107,3 +110,4 @@ Keep measurements useful for comparing releases and identifying performance regr #### Deliverables - [status-im/status-app#21248](https://github.com/status-im/status-app/issues/21248) \[QA - Android/iOS\] add test to measure Battery consumption, CPU and RAM usage - Restored Android performance runs and published RC7 measurements. +- Restored performance dashboard publishing after GitHub's signed-commits rule. diff --git a/content/web/ift/2026q4-admin-acid.md b/content/web/ift/2026q4-admin-acid.md index 5c8e313b49..863ac934e0 100644 --- a/content/web/ift/2026q4-admin-acid.md +++ b/content/web/ift/2026q4-admin-acid.md @@ -43,7 +43,7 @@ Absorb Notion API version bumps and deprecations, repair syncs that drift when o * fully qualified name: `ift-ts:web:ift:2026q4-admin-acid:notion-emailing` * owner: JulesFiliot -* status: not started +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -54,10 +54,7 @@ Keep template editing usable for non-engineers, keep merge fields in step with t Ship the template and trigger changes stakeholders request during the quarter, and fix delivery failures, bounces, and mis-addressed sends. #### Deliverables - -- PRs for auto-reply, profile email, and internal notification template changes. -- Verified end-to-end sends from Notion automation trigger to delivered email, with failures logged and resolved. -- Updated operator notes covering how to add a template, edit copy, and connect a Notion automation. +- [acid-info/admin-acid.logos.co#78](https://github.com/acid-info/admin-acid.logos.co/pull/78) feat(editor): font size and color selectors, missing basics ### Ad hoc requests diff --git a/content/web/ift/2026q4-ai-tooling.md b/content/web/ift/2026q4-ai-tooling.md index 18bc2deede..13928f17d0 100644 --- a/content/web/ift/2026q4-ai-tooling.md +++ b/content/web/ift/2026q4-ai-tooling.md @@ -18,11 +18,27 @@ Human approval before merge stays a hard requirement for every tool here. ## Task List +### Shared AI tooling monorepo + +* fully qualified name: `ift-ts:web:ift:2026q4-ai-tooling:monorepo` +* owner: JulesFiliot +* status: in progress (80%) +* start-date: 2026/10/01 +* end-date: 2026/12/31 + +#### Description + +Consolidate ai-review and ai-docs-sync in [acid-info/ai-tools](https://github.com/acid-info/ai-tools), with shared core modules and separate tool modules. Maintain shared repository documentation and run both tools against the monorepo. + +#### Deliverables +- [docs: split root README and AGENTS.md by audience](https://github.com/acid-info/ai-tools/pull/1) +- [ci: run ai-review and ai-docs-sync on this repo](https://github.com/acid-info/ai-tools/pull/4) + ### ai-review maintenance and tuning * fully qualified name: `ift-ts:web:ift:2026q4-ai-tooling:ai-review` * owner: JulesFiliot -* status: not started +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -34,11 +50,12 @@ Keep the degraded paths honest: a single-model review when one provider is down, Onboard remaining Web repositories and keep the `@v1` tag stable for consumers. #### Deliverables - -- PRs in `acid-info/ai-review` for model updates, prompt and threshold tuning, and pipeline fixes. -- Repository-specific guideline and config files in consumer repositories. -- Additional consumer repositories onboarded via `.github/workflows/ai-review.yml`. -- A short assessment of signal versus noise, drawn from reviewed PRs, with the tuning changes it drove. +- [acid-info/ai-tools#2](https://github.com/acid-info/ai-tools/pull/2) docs(ai-review): add AGENTS.md and trim the README +- [acid-info/ai-tools#5](https://github.com/acid-info/ai-tools/pull/5) ci: bump node to 24 +- [acid-info/admin-acid.logos.co#77](https://github.com/acid-info/admin-acid.logos.co/pull/77) chore(ci): use ai-review from acid-info/ai-tools +- [logos-co/logos-web#208](https://github.com/logos-co/logos-web/pull/208) chore(ci): use ai-review and ai-docs-sync from acid-info/ai-tools +- [status-im/status-web#1326](https://github.com/status-im/status-web/pull/1326) chore(ci): use ai-review from acid-info/ai-tools +- [acid-info/ai-review#8](https://github.com/acid-info/ai-review/pull/8) docs: redirect to acid-info/ai-tools ### ai-auto-fix companion @@ -64,7 +81,7 @@ Reuse the ai-review pipeline's shape -- reusable workflow, zero npm dependencies * fully qualified name: `ift-ts:web:ift:2026q4-ai-tooling:ai-docs-sync` * owner: JulesFiliot -* status: in progress (25%) +* status: in progress (75%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -81,3 +98,8 @@ Finish [acid-info/ai-docs-sync](https://github.com/acid-info/ai-docs-sync), whic - [acid-info/ai-docs-sync#4](https://github.com/acid-info/ai-docs-sync/pull/4) feat(tool): delete stale docs and drop the per-run cap - [acid-info/ai-docs-sync#5](https://github.com/acid-info/ai-docs-sync/pull/5) feat(tool): create docs for new surfaces - [acid-info/ai-docs-sync#6](https://github.com/acid-info/ai-docs-sync/pull/6) feat(tool): honour reviewer deletes and renames on the rolling branch +- [acid-info/ai-tools#3](https://github.com/acid-info/ai-tools/pull/3) docs(ai-docs-sync): add AGENTS.md and trim the README +- [acid-info/ai-tools#5](https://github.com/acid-info/ai-tools/pull/5) ci: bump node to 24 +- [logos-co/logos-web#208](https://github.com/logos-co/logos-web/pull/208) chore(ci): use ai-review and ai-docs-sync from acid-info/ai-tools +- [acid-info/ai-docs-sync#7](https://github.com/acid-info/ai-docs-sync/pull/7) docs: redirect to acid-info/ai-tools +- [acid-info/ai-tools#7](https://github.com/acid-info/ai-tools/pull/7) fix(ai-docs-sync): sign the rolling commit diff --git a/content/web/ift/2026q4-maintenance.md b/content/web/ift/2026q4-maintenance.md index 6593f4a080..924f412481 100644 --- a/content/web/ift/2026q4-maintenance.md +++ b/content/web/ift/2026q4-maintenance.md @@ -26,7 +26,7 @@ Shared AI workflow tooling is tracked separately under [[web/ift/2026q4-ai-tooli * owner: Jinho/JulesFiliot * status: done * start-date: 2026/10/01 -* end-date: 2026/10/06 +* end-date: 2026/10/13 #### Description @@ -36,3 +36,5 @@ Resolve shared infrastructure or tooling failures, coordinate with Infra where n #### Deliverables - [status-im/nimbus-site#180](https://github.com/status-im/nimbus-site/pull/180) fix: point shared footer links at Logos technology stack - [keycard-tech/keycard-website#266](https://github.com/keycard-tech/keycard-website/pull/266) chore: update Node.js to 24 +- [acid-info/free.technology#23](https://github.com/acid-info/free.technology/pull/23) fix: update team member to Dr. Martin Strobl +- [acid-info/admin-acid.logos.co#76](https://github.com/acid-info/admin-acid.logos.co/pull/76) fix(redis): lazily create client to avoid connecting at build diff --git a/content/web/logos/2026q4-logos-media-migration.md b/content/web/logos/2026q4-logos-media-migration.md index c9ed6bffd7..b70a2dc868 100644 --- a/content/web/logos/2026q4-logos-media-migration.md +++ b/content/web/logos/2026q4-logos-media-migration.md @@ -62,7 +62,7 @@ The cutover must preserve query strings, feed subscriber identity, canonical URL - fully qualified name: `ift-ts:web:logos:2026q4-logos-media-migration:merge-readiness` - owner: Jinho -- status: in progress (25%) +- status: in progress (99%) - start-date: 2026/10/01 - end-date: 2026/10/16 @@ -83,6 +83,8 @@ Re-run the complete static-export path with production-equivalent content access - Passing lint, type checks, tests, production build, and static-export smoke checks on the final PR head. - [logos-co/logos-web#103](https://github.com/logos-co/logos-web/pull/103) Migrate media detail pages from blog.logos.co => logos.co/media - [logos-co/logos-web#74](https://github.com/logos-co/logos-web/issues/74) Blog.logos.co still exists +- [logos-co/logos-web#210](https://github.com/logos-co/logos-web/pull/210) feat(web): add searchable article listing +- [logos-co/logos-web#212](https://github.com/logos-co/logos-web/pull/212) fix(web): nest media listing routes under media ### Prepare and deploy the production media build diff --git a/content/web/logos/2026q4-logos-website.md b/content/web/logos/2026q4-logos-website.md index aa4fc96c91..e271b308b4 100644 --- a/content/web/logos/2026q4-logos-website.md +++ b/content/web/logos/2026q4-logos-website.md @@ -25,7 +25,7 @@ Select concrete work with stakeholders as needs arise and record the scope and a - owner: Jinho/JulesFiliot - status: done - start-date: 2026/10/01 -- end-date: 2026/10/06 +- end-date: 2026/10/13 #### Description @@ -42,6 +42,16 @@ Investigate production failures and ship necessary hotfixes, coordinating shared - [logos-co/logos-web#189](https://github.com/logos-co/logos-web/issues/189) Repo is 2.5 GB because build output is committed to deploy branches - [status-im/infra-sites#171](https://github.com/status-im/infra-sites/issues/171) chore(logos.co): drop git history from deploy-* branches on each build - [logos-co/logos-web#191](https://github.com/logos-co/logos-web/pull/191) chore(web): remove unused about mountain video +- [logos-co/logos-web#206](https://github.com/logos-co/logos-web/pull/206) fix(web): improve Basecamp downloads and installation guidance +- [logos-co/logos-web#207](https://github.com/logos-co/logos-web/pull/207) docs(web): require published Basecamp assets before URL switches +- [logos-co/logos-web#209](https://github.com/logos-co/logos-web/pull/209) fix(web): prioritise Basecamp installation CTA +- [logos-co/logos-web#216](https://github.com/logos-co/logos-web/pull/216) fix(web): refresh Basecamp downloads on every build +- [logos-co/logos-web#211](https://github.com/logos-co/logos-web/pull/211) fix: restore CMS publishing with deployed Jenkins jobs +- [logos-co/logos-web#214](https://github.com/logos-co/logos-web/pull/214) fix: use absolute Jenkins artifact permission path +- [logos-co/logos-web#215](https://github.com/logos-co/logos-web/pull/215) feat: publish sites from CMS through the GitHub App +- [logos-co/logos-web#218](https://github.com/logos-co/logos-web/pull/218) fix(web): remove chevrons from PriFi hero labels +- [logos-co/logos-web#221](https://github.com/logos-co/logos-web/pull/221) chore(web): update activist builder copy +- [logos-co/logos-web#217](https://github.com/logos-co/logos-web/pull/217) fix(deps): patch next, payload and sharp security advisories ### Past Present Future: content update and migration diff --git a/content/web/status/2026q4-status-website.md b/content/web/status/2026q4-status-website.md index d9ee600442..8ab764c937 100644 --- a/content/web/status/2026q4-status-website.md +++ b/content/web/status/2026q4-status-website.md @@ -22,10 +22,10 @@ Select concrete work with stakeholders as needs arise and record the scope and a ### Maintenance * fully qualified name: `ift-ts:web:status:2026q4-status-website:maintenance` -* owner: Jinho/JulesFiliot -* status: not started +* owner: JulesFiliot +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/10/13 #### Description @@ -34,9 +34,8 @@ Maintain site-specific dependencies and configuration, CMS and feed integrations Investigate production failures and ship necessary hotfixes, coordinating shared tooling changes with the Web maintenance commitment. #### Deliverables - -- PRs for site upkeep, dependency updates, configuration changes, and production hotfixes. -- Verified content and integration updates, with tracked operational issues and resolution notes. +- [status-im/status-web#1328](https://github.com/status-im/status-web/pull/1328) fix(status.app): match release titles with or without v prefix +- [status-im/status-web#1327](https://github.com/status-im/status-web/pull/1327) fix(deps): bump next, sharp and next-intl for security advisories ### Website revamp: UI design and copy update diff --git a/content/weeklies/2026-10-12.md b/content/weeklies/2026-10-12.md new file mode 100644 index 0000000000..b6c2162bdc --- /dev/null +++ b/content/weeklies/2026-10-12.md @@ -0,0 +1,418 @@ +--- +title: 2026-10-12 IFT-TS weekly +tags: + - vac-updates +date: 2026-10-12 +lastmod: 2026-10-12 +draft: false +--- + +## IFT-TS 2026/10/12 + +### top highlights + +- NIM team released Nim langserver 1.16.0 with many fixes and improvements. +- QA team added Status desktop NFT transfer, onchain friends and payment-request tests. + +### team highlights + +- BI: Upgrading the Status Engagement Bot SDK and bot code. +- BI: Adding the missing Element data to the Logos communication funnel dashboard. +- BI: Updating Logos Circle CRM from Movement Team feedback. +- BI: Adding Keycard crypto payment data to the dashboard. +- DST: Found unstable delivery and latency in Status one-to-one and group benchmarks. +- DST: Confirmed that a lower publish rate explains the nim-libp2p 2.3.0 bandwidth gap. +- DST: Repeated full Logos Delivery tests at the configured publish rate. +- DST: Fixed benchmark publish rates when the Kubernetes API is slow. +- DST: Built and tested an experiment for automatic P2P regression runs. +- NIM: Added the PubGrub solver option and split Nimble dependency resolution into separate modules. +- NIM: Merged the Nim langserver version bump to 1.16.0 and its new transport. +- P2P: Added early muxer negotiation and optimistic protocol selection to nim-libp2p. +- P2P: Integrated shared RLN proofs into native Logos Delivery routing. +- P2P: Proposed outbound byte budgets by priority for gossipsub. +- P2P: Simplified consistent error handling in nim-libp2p. +- P2P: Fixed QUIC connections closing when no streams are open. +- P2P: Fixed duplicate DNS responses and improved nim-libp2p certificate renewal. +- QA: Merged nightly Logos Delivery testing and issue reporting into Status CI. +- QA: Expanded Basecamp tests for unloading and reloading UI plugins. +- QA: Added LEZ sequencer registration tests. +- QA: Reported Logos Delivery message-size and store-sync failures with reproduction tests. +- QA: Added Status desktop NFT transfer, onchain friends and payment-request tests. +- QA: Got the Status mobile end-to-end gate running on iOS; remaining failures involve app accessibility. +- SEC: Closed the macOS CI incident after reinstall verification, firewall hardening and a clean indicator sweep. +- SEC: Triaged 16 audit findings and continued vulnerability backlog reviews. +- SEC: Updated treasury incident runbooks after the first live secure-multisig-signer signing. +- SEC: Reported an unauthenticated Logos Blockchain node wallet API. +- SEC: Closed two addressed LEZ findings and reported another finding. +- TKE: Continued the Logos token buyback-and-make model and reviewed its documents. +- TKE: Researched liquidity workgroup management and comparable blockchain programs. +- TKE: Created the token unit precision specification PR and addressed feedback. +- TKE: Worked on LEZ sequencer economics simulations and liquid staking prioritization. +- TKE: Continued modelling Logos liquid staking attack vectors. +- WEB: Improved Basecamp downloads with platform detection and Windows installation guidance. +- WEB: Added searchable Logos articles and moved article and podcast listings under media. +- WEB: Patched security advisories affecting the Logos and Status websites. +- WEB: Merged AI review and documentation tools into a shared monorepo. +- WEB: Added font size and color controls to the email editor. +- WEB: Fixed the Status website release banner to accept titles with or without a version prefix. + +### ift-ts:bi: + +- [`ift-ts:bi:status:2026q4-status-engagement-bot-upgrade`](/bi/status/2026q4-status-engagement-bot-upgrade#status-engagmement-bot-upgrade) + - upgrading the SDK version and the bot code +- [`ift-ts:bi:logos:2026q4-logos-communication-funnel`](/bi/logos/2026q4-logos-communication-funnel#logos-communication-funnel) + - Adding missing Element to the dashboard +- [`ift-ts:bi:logos:2026q4-logos-circle-crm-upgrade`](/bi/logos/2026q4-logos-circle-crm-upgrade#logos-circle-crm-upgrade) + - Upgrade CRM with Feedback from Movement Team +- [`ift-ts:bi:keycard:2026q4-keycard-continuous-monitoring`](/bi/keycard/2026q4-keycard-continuous-monitoring#keycard-continuous-monitoring) + - Adding crypto payment data to the dashboard. + - Preparing OpenAI ads data extraction. + +### ift-ts:dst: + +- `other notes` + - Task tracking and reviews + - Create new Timeline for Q4 + - [DST Github Timeline 2026Q4](https://github.com/orgs/iftech/projects/1) + - Review some DST tasks from annoncoms + - [docs(anoncomms): add roadmap for testnet v0.4 #557](https://github.com/logos-co/roadmap/pull/557) + - Comments and discussions about automate workflow for libp2p + - [Notion: Automate Workflow Requirements](https://app.notion.com/p/Automate-Workflow-Requirements-3ea8f96fb65c80c2a2a4dd8566dbc9fb) + - [Discord Thread](https://discord.com/channels/864066763682218004/1540283677089726484) +- [`ift-ts:dst:status:2026q4-status-evaluation:reliability`](/dst/status/2026q4-status-evaluation#reliability) + - Investigate latency and reliability on some scenarios + - Both 1-1 and group scenarios show unstable behavior + - Improve codebase for benchmarking + - [Github PR: Updates #45](https://github.com/iftech/status-benchmarks/pull/45) (open) + - Update scenarios to current Volo's request + - [branch: new_scenarios](https://github.com/iftech/status-benchmarks/tree/Alberto/new_scenarios) (draft) + - Add new latency and delivery plots + - [branch: plotting](https://github.com/iftech/status-benchmarks/tree/Alberto/plotting) (draft) +- [`ift-ts:dst:ift:2026q4-libp2p-evaluation:regression-testing`](/dst/ift/2026q4-libp2p-evaluation#regression-testing-recurring) + - Confirmed with a controlled rerun that the lower publish rate explains the v2.3.0 bandwidth gap. + - Ran four repeats of a v2.4.0 run to measure run to run variation. + - Addressed review on the partition cut scenario and its analysis. + - [Github PR: Partition cut scenario: cut a formed network in two and heal it](https://github.com/iftech/10ksim/pull/420) (open) + - [Github PR: Partition analysis: phases from each message's publish record](https://github.com/iftech/10ksim/pull/419) (merged) +- [`ift-ts:dst:logos:2026q4-messaging-evaluation:regression-testing`](/dst/logos/2026q4-messaging-evaluation#regression-testing-recurring) + - Reran the PR 4347 full delivery run three times at the configured publish rate to check the [full delivery report](https://app.notion.com/p/3ea8f96fb65c812a9ae2dc71ef28860e). +- [`ift-ts:dst:ift:2026q4-dst-tooling:general-tooling`](/dst/ift/2026q4-dst-tooling#general-tooling-recurring) + - The publish loop now holds its configured rate when the Kubernetes API is slow. + - [Github PR: Look up the publisher once per run, not per message](https://github.com/iftech/10ksim/pull/421) (merged) + - Cleanup now waits for deleted resources to be gone before the next step. + - [Github PR: Fix cleanup wait and CronJob cleanup](https://github.com/iftech/10ksim/pull/442) (merged) +- [`ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting`](/dst/ift/2026q4-libp2p-evaluation#automatic-reporting) + - Started on automatic runs the P2P team can trigger themselves, and agreed the scope of the MVP. + - Built a new 10ksim experiment that runs groups of nodes from any Docker image, reports which nodes failed and why, and can publish messages like the regression. Tested it on the cluster, including a 50 node run with a bootstrap node. + - Tested a manual github workflow on a local branch that runs a config kept in another repository and shows the report on the run page. PR not created yet. + +### ift-ts:nim: + +- [`ift-ts:nim:ift:2026q4-nimble:development`](/nim/ift/2026q4-nimble#nimble-development) + - Refactor: Split dependency resolution into nimblesolver, nimblesat and nimblepubgrub [PR #1884](https://github.com/nim-lang/nimble/pull/1884) + - Parse each version once in PubGrub instead of on every comparison [PR #1883](https://github.com/nim-lang/nimble/pull/1883) + - Add --solver:pubgrub [PR #1882](https://github.com/nim-lang/nimble/pull/1882) + - Add --solver:pubgrub + - Enables PubGrub as default (test CI ) + - Makes sat the default + - Review Prs +- [`ift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver`](/nim/ift/2026q4-nim-core-libs#nimlangserver-improvements) + - [nim-lang/langserver#488](https://github.com/nim-lang/langserver/pull/488) Bump to v1.16.0 + - [nim-lang/langserver#473](https://github.com/nim-lang/langserver/pull/473) Transport v2 + - [nim-lang/langserver#486](https://github.com/nim-lang/langserver/pull/486) Cancel nimsuggestInit on shutdown + - [nim-lang/langserver#487](https://github.com/nim-lang/langserver/pull/487) Remove process monitor + - Make completion responsive: + - [nim-lang/Nim#26438](https://github.com/nim-lang/Nim/pull/26438) nimsuggest: add `outline2`, a parse-only outline + - Improve nimsuggest partial recompilation with IC: + - [nim-lang/Nim#26439](https://github.com/nim-lang/Nim/pull/26439) nimsuggest: don't serve stale or unsaved-buffer NIFs with `--ideImport:nif` + +### ift-ts:p2p: + +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance:maintenance`](/p2p/ift/2026q4-nimlibp2p-maintenance#general-maintenance) + - [status-im/nimbus-eth2#9240](https://github.com/status-im/nimbus-eth2/pull/9240) chore: bump nim-lsquic + - [iftech/nim-libp2p#3229](https://github.com/iftech/nim-libp2p/pull/3229) fix(mplex): await reset writes during channel cleanup + - [iftech/nim-lsquic#178](https://github.com/iftech/nim-lsquic/pull/178) chore(lsquic): update vendored dependency + - [iftech/nim-lsquic#179](https://github.com/iftech/nim-lsquic/pull/179) test(lsquic): cover client address migration + - [logos-co/logos-libp2p-module#120](https://github.com/logos-co/logos-libp2p-module/pull/120) fix: bump nim-libp2p for duplicate DNS responses + - [iftech/nim-libp2p#3224](https://github.com/iftech/nim-libp2p/pull/3224) fix(nameresolving): tolerate duplicate DNS responses + - [status-im/nimbus-eth2#9204](https://github.com/status-im/nimbus-eth2/pull/9204) chore: bump nim-lsquic + - [iftech/nim-boringssl#20](https://github.com/iftech/nim-boringssl/pull/20) ci: check generated BoringSSL bindings before merging + - [iftech/nim-libp2p#3223](https://github.com/iftech/nim-libp2p/pull/3223) test: reduce timeouts + - [iftech/nim-libp2p#3222](https://github.com/iftech/nim-libp2p/pull/3222) chore(autotls): propagate cert load error + - [iftech/nim-libp2p#3214](https://github.com/iftech/nim-libp2p/pull/3214) test: hardening assertion + - [iftech/nim-libp2p#3209](https://github.com/iftech/nim-libp2p/pull/3209) test: add suite timeout + - [iftech/nim-libp2p#3241](https://github.com/iftech/nim-libp2p/pull/3241) test(dialer): improve cancellation test + - [iftech/nim-libp2p#3239](https://github.com/iftech/nim-libp2p/pull/3239) chore(builders): return error result insted of Defect + - [iftech/nim-libp2p#3232](https://github.com/iftech/nim-libp2p/pull/3232) feat(autotls): certificate renewal propagation + - [iftech/nim-libp2p#3234](https://github.com/iftech/nim-libp2p/pull/3234) fix(autotls): using PEM leaf certificate’s X.509 notAfter for expiry time + - [iftech/nim-libp2p#3249](https://github.com/iftech/nim-libp2p/pull/3249) fix(kad): close inbound RPC streams on shutdown + - [iftech/nim-libp2p#3244](https://github.com/iftech/nim-libp2p/pull/3244) ci: bump workflow timeout + - [iftech/nim-libp2p#3240](https://github.com/iftech/nim-libp2p/pull/3240) fix: mapper-removal races in PeerInfo and AddressManager + - [iftech/nim-libp2p#3242](https://github.com/iftech/nim-libp2p/pull/3242) chore(Switch): adds convenience overloads + - [iftech/nim-libp2p#3248](https://github.com/iftech/nim-libp2p/pull/3248) feat(autotls): state storage + - [iftech/nim-libp2p#3245](https://github.com/iftech/nim-libp2p/pull/3245) fix(upgrade): export chronicles from muxedupgrade + - [iftech/nim-libp2p#3212](https://github.com/iftech/nim-libp2p/pull/3212) chore(dial): benchmark dial time against stalled addresses + - [iftech/nim-libp2p#3243](https://github.com/iftech/nim-libp2p/pull/3243) fix(multistream): allow reads after half-close on optimistic streams + - [iftech/nim-libp2p#3231](https://github.com/iftech/nim-libp2p/pull/3231) test: fault-stream helper for kad and service discovery error paths + - [iftech/nim-libp2p#3228](https://github.com/iftech/nim-libp2p/pull/3228) test(transports): cancel tests for upgrade, memory and tor + - [iftech/nim-libp2p#3230](https://github.com/iftech/nim-libp2p/pull/3230) test(crypto): malformed DER for minasn1, ecnist and rsa + - [iftech/nim-libp2p#3213](https://github.com/iftech/nim-libp2p/pull/3213) fix(pubsub): record PRUNE backoff outside the mesh and for backoff 0 + - [iftech/nim-libp2p#3227](https://github.com/iftech/nim-libp2p/pull/3227) test(multiformat): cover decode error paths + - [iftech/nim-libp2p#3226](https://github.com/iftech/nim-libp2p/pull/3226) test: malformed protobuf and key protobuf decoding + - [iftech/nim-libp2p#3211](https://github.com/iftech/nim-libp2p/pull/3211) chore(metrics): dial race and backoff metrics + - [iftech/nim-libp2p#3210](https://github.com/iftech/nim-libp2p/pull/3210) chore(rsa): delete uncompilable hex-string `init` + - [iftech/nim-libp2p#3201](https://github.com/iftech/nim-libp2p/pull/3201) feat(service-disco): advertise caller-supplied XPRs, not the node's own record + - [iftech/nim-libp2p#3014](https://github.com/iftech/nim-libp2p/pull/3014) chore(perf): improve ChaChaPoly and remove byte-at-a-time frame copies + - [iftech/lsquic#3](https://github.com/iftech/lsquic/pull/3) fix(conn): send keepalive PINGs when no stream is open - #2 + - [litespeedtech/lsquic#699](https://github.com/litespeedtech/lsquic/pull/699) Fix: send keepalive PINGs when no stream is open + - [iftech/nim-lsquic#181](https://github.com/iftech/nim-lsquic/pull/181) fix: keep QUIC connections without streams alive + - [iftech/nim-lsquic#180](https://github.com/iftech/nim-lsquic/pull/180) fix(engine): disable the lsquic no-progress timeout by default +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-early-muxer-negotiation:implementation`](/p2p/ift/2026q4-nimlibp2p-early-muxer-negotiation#handshake-negotiation-and-upgrade) + - [iftech/nim-libp2p#3216](https://github.com/iftech/nim-libp2p/pull/3216) feat(noise): negotiate muxers during handshake + - [iftech/nim-libp2p#3225](https://github.com/iftech/nim-libp2p/pull/3225) feat(dialer): select known protocols optimistically + - [iftech/nim-libp2p#3217](https://github.com/iftech/nim-libp2p/pull/3217) feat(multistream): add optimistic protocol selection +- [`ift-ts:p2p:ift:2026q4-anoncomms-consulting:consulting`](/p2p/ift/2026q4-anoncomms-consulting#consulting) + - [logos-messaging/logos-delivery#4479](https://github.com/logos-messaging/logos-delivery/pull/4479) chore(deps): bump mix RLN spam protection plugin + - [logos-co/nim-libp2p-mix#63](https://github.com/logos-co/nim-libp2p-mix/pull/63) refactor: use Result helpers for guarded control flow + - [logos-co/nim-libp2p-mix#64](https://github.com/logos-co/nim-libp2p-mix/pull/64) fix(sphinx): compare packet MACs in constant time + - [logos-co/nim-libp2p-mix#66](https://github.com/logos-co/nim-libp2p-mix/pull/66) fix(mix): correct codec decoding and reply lifecycle + - [logos-co/nim-libp2p-mix#65](https://github.com/logos-co/nim-libp2p-mix/pull/65) fix(tag-manager): fail closed at replay cache capacity + - [logos-co/logos-libp2p-mix-rln#17](https://github.com/logos-co/logos-libp2p-mix-rln/pull/17) fix(rln): align shared backend time budgets + - [logos-co/mix-rln-spam-protection-plugin#29](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/29) fix(transport): allow proof generation time budget + - [logos-messaging/logos-delivery#4464](https://github.com/logos-messaging/logos-delivery/pull/4464) chore(deps): bump Mix-RLN spam protection plugin + - [logos-co/mix-rln-spam-protection-plugin#27](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/27) chore(deps): use upstream libp2p mix + - [logos-co/mix-rln-spam-protection-plugin#25](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/25) refactor(rln): remove redundant adapter conversions + - [richard-ramos/nim-libp2p-mix#1](https://github.com/richard-ramos/nim-libp2p-mix/pull/1) refactor(mix): simplify cover and proof scheduling + - [logos-messaging/logos-delivery#4282](https://github.com/logos-messaging/logos-delivery/pull/4282) feat(mix): use shared RLN proofs for native Delivery routing + - [logos-co/mix-rln-spam-protection-plugin#22](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/22) feat(rln): add a shared backend adapter for Mix + - [logos-co/nim-libp2p-mix#58](https://github.com/logos-co/nim-libp2p-mix/pull/58) feat(mix): expose standalone host APIs and harden cover scheduling + - [logos-co/nim-libp2p-mix-ffi#9](https://github.com/logos-co/nim-libp2p-mix-ffi/pull/9) ci: add multi-platform build and test workflow + - [logos-co/logos-libp2p-mix-rln#15](https://github.com/logos-co/logos-libp2p-mix-rln/pull/15) refactor(mix): simplify FFI waits and reject invalid configuration + - [logos-co/logos-delivery-module#148](https://github.com/logos-co/logos-delivery-module/pull/148) feat(mix): reapply routing with shared RLN backend + - [logos-co/logos-libp2p-mix-rln#16](https://github.com/logos-co/logos-libp2p-mix-rln/pull/16) ci: test supported Linux, WSL, and macOS platforms + - [logos-co/nim-libp2p-mix-ffi#8](https://github.com/logos-co/nim-libp2p-mix-ffi/pull/8) refactor(ffi): remove obsolete routing test and consolidate cleanup +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-byte-queues:byte-limits`](/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues#byte-accounting-and-limits) + - [iftech/nim-libp2p#3255](https://github.com/iftech/nim-libp2p/pull/3255) feat(gossipsub): add per-priority outbound byte budgets +- [`ift-ts:p2p:ift:2026q3-nimlibp2p-result-error-handling:result-conversion`](/p2p/ift/2026q3-nimlibp2p-result-error-handling#result-conversion) + - [iftech/nim-libp2p#3197](https://github.com/iftech/nim-libp2p/pull/3197) chore(result): use LPResultError in LPResult + - [iftech/nim-libp2p#3219](https://github.com/iftech/nim-libp2p/pull/3219) chore(result): one path from each err to R.err + - [iftech/nim-libp2p#3251](https://github.com/iftech/nim-libp2p/pull/3251) chore(results): one shape for every err call site + - [iftech/nim-libp2p#3195](https://github.com/iftech/nim-libp2p/pull/3195) chore(result): purge mapErr +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-duplicate-suppression:regression-coverage`](/p2p/ift/2026q4-nimlibp2p-gossipsub-duplicate-suppression#requirements-and-regression-coverage) + - [iftech/nim-libp2p#3165](https://github.com/iftech/nim-libp2p/pull/3165) fix(pubsub): retry a failed send stream open + - [iftech/nim-libp2p#3043](https://github.com/iftech/nim-libp2p/pull/3043) fix(gossipsub): track in-flight IWANT requests + - [iftech/nim-libp2p#3016](https://github.com/iftech/nim-libp2p/pull/3016) fix(gossipsub): cancel a queued relay when the peer already has the message +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-validation:budgets`](/p2p/ift/2026q4-nimlibp2p-gossipsub-validation#validation-budgets-and-admission) + - [iftech/nim-libp2p#3250](https://github.com/iftech/nim-libp2p/pull/3250) feat(gossipsub): cap concurrent validations per peer +- [`ift-ts:p2p:ift:2026q4-logos-delivery-consulting:consulting`](/p2p/ift/2026q4-logos-delivery-consulting#consulting) + - [logos-messaging/nim-ffi#226](https://github.com/logos-messaging/nim-ffi/pull/226) fix(ffi): set up the caller thread's GC before a request is rejected +- [`ift-ts:p2p:ift:2026q4-logos-core-consulting:consulting`](/p2p/ift/2026q4-logos-core-consulting#consulting) + - [logos-co/logos-storage-module#83](https://github.com/logos-co/logos-storage-module/pull/83) feat: build against the nim-ffi generated libstorage bindings + +### ift-ts:qa: + +- [`ift-ts:qa:logos:2026q4-messaging-testing:interop-migration`](/qa/logos/2026q4-messaging-testing#interop-migration) + - [ci: test Logos Delivery nightly and issue reporting in Jenkins](https://github.com/status-im/status-go/pull/7816) + - [logos-messaging/logos-delivery#4422](https://github.com/logos-messaging/logos-delivery/pull/4422) test: include orphaned suites +- [`ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype`](/qa/logos/2026q4-source-code-level-qa#system-prototype) + - Bork's refactor to separate workflows from plugins [in progress](https://github.com/iftech/bork/tree/feat/workflows) + - CODE-5 issue was clarified and fixed for [lez-atomic-swaps v0.2.5](https://discord.com/channels/973324189794697286/1526145461025505360/1557941455362719854) + - Logos-blockchain `audit-spec` run in progress - 55 parts, 220k lines of code to cover +- [`ift-ts:qa:logos:2026q4-logos-basecamp:mcp-tests`](/qa/logos/2026q4-logos-basecamp#mcp-tests) + - [Test/MCP UI apps inspector unload/reload of a non-visible UI plugin](https://github.com/logos-co/logos-basecamp/pull/477) + - [Test/MCP UI apps inspector unload/reload of package_manager_ui restores the Package Manager view](https://github.com/logos-co/logos-basecamp/pull/484) + - [Test/MCP UI module inspector search filters the table](https://github.com/logos-co/logos-basecamp/pull/485) + - [Test/MCP UI seed a loadable core-module fixture into the integration-test instance](https://github.com/logos-co/logos-basecamp/pull/486) + - [Test/MCP UI module inspector unloading a leaf module and reloading it](https://github.com/logos-co/logos-basecamp/pull/487) + - [Test/MCP UI module inspector interface view lists methods/events and calls a method](https://github.com/logos-co/logos-basecamp/pull/488) +- [`ift-ts:qa:logos:2026q4-lez-sequencing:cucumber-tests`](/qa/logos/2026q4-lez-sequencing#cucumber-tests) + - [test: Sequencer registration - cucumber](https://github.com/logos-blockchain/logos-execution-zone/pull/787) + - [test: Chained-caller and second-mover test prerequisites](https://github.com/logos-blockchain/logos-execution-zone/pull/792) + - [test: Cucumber sequencer registration scenarios - part 2](https://github.com/logos-blockchain/logos-execution-zone/pull/800) +- [`ift-ts:qa:logos:2026q4-lez-fuzz-testing:framework-maintenance`](/qa/logos/2026q4-lez-fuzz-testing#framework-maintenance) + - [chore: automated weekly corpus update- #37](https://github.com/logos-blockchain/lez-fuzzing/pull/37) +- `other notes` + - OOO: 1 CC days. +- [`ift-ts:qa:logos:2026q4-messaging-testing:maintenance`](/qa/logos/2026q4-messaging-testing#maintenance) + - [logos-messaging/logos-delivery#4420](https://github.com/logos-messaging/logos-delivery/pull/4420) ci: test reporter + - [logos-messaging/logos-delivery#4463](https://github.com/logos-messaging/logos-delivery/pull/4463) test(e2e): fix flaky test_s31_concurrent_sends_mixed_topics_during_churn + - [logos-messaging/logos-delivery#4439](https://github.com/logos-messaging/logos-delivery/pull/4439) test: bug reproductions + - [logos-messaging/logos-delivery#4459](https://github.com/logos-messaging/logos-delivery/pull/4459) test: bug reproductions 2 + - [logos-messaging/logos-delivery#4487](https://github.com/logos-messaging/logos-delivery/pull/4487) test: bug reproductions 3 + - [logos-messaging/logos-delivery#4438](https://github.com/logos-messaging/logos-delivery/issues/4438) bug: the archive counts a message it already holds as written on Postgres and as an insert failure on sqlite + - [logos-messaging/logos-delivery#4437](https://github.com/logos-messaging/logos-delivery/issues/4437) question: GET /store/v3/messages reads a startTime or endTime of 0 or less as absent, and a negative pageSize as the maximum + - [logos-messaging/logos-delivery#4436](https://github.com/logos-messaging/logos-delivery/issues/4436) question: any --rate-limit entry replaces the default rate limits, so filter falls to 30/1m and unnamed protocols run without a limit + - [logos-messaging/logos-delivery#4435](https://github.com/logos-messaging/logos-delivery/issues/4435) question: filter UNSUBSCRIBE of a criterion the requester does not hold answers 200 or 404 depending on other peers, and its 404 can follow a partial removal + - [logos-messaging/logos-delivery#4434](https://github.com/logos-messaging/logos-delivery/issues/4434) bug: /filter/v2/subscriptions answers 200 "UNKNOWN" without pubsubTopic under static sharding, and its message cache ignores the result + - [logos-messaging/logos-delivery#4432](https://github.com/logos-messaging/logos-delivery/issues/4432) bug: REST API answers an undecodable JSON body without the decoder's reason + - [logos-messaging/logos-delivery#4431](https://github.com/logos-messaging/logos-delivery/issues/4431) bug: /lightpush/v3/message answers 500 for INVALID_MESSAGE (420), and 413 or 500 for the same oversize message + - [logos-messaging/logos-delivery#4433](https://github.com/logos-messaging/logos-delivery/issues/4433) question: lightpush v3 client turns the service's BAD_REQUEST for an undecodable request into "response failure, requestId mismatch" + - [logos-messaging/logos-delivery#4457](https://github.com/logos-messaging/logos-delivery/issues/4457) bug: POST /relay/v1/subscriptions joins a shard of another cluster or past --num-shards-in-network, and the node's metadata then misreports its shards + - [logos-messaging/logos-delivery#4456](https://github.com/logos-messaging/logos-delivery/issues/4456) question: DELETE /relay/v1/auto/subscriptions of one content topic unsubscribes its whole shard, silencing the other content topics on it + - [logos-messaging/logos-delivery#4455](https://github.com/logos-messaging/logos-delivery/issues/4455) question: under autosharding --shard does not limit which shards the relay joins, yet the REST cache and --protected-shard still follow it + - [logos-messaging/logos-delivery#4454](https://github.com/logos-messaging/logos-delivery/issues/4454) question: --cluster-id=2 applies the logos.dev preset, whose nodes are on cluster 3, and replaces an explicit --preset=logos.test + - [logos-messaging/logos-delivery#4453](https://github.com/logos-messaging/logos-delivery/issues/4453) bug: a duplicate a node publishes goes through its own relay handlers again, and is answered as NoPeersToPublish + - [logos-messaging/logos-delivery#4485](https://github.com/logos-messaging/logos-delivery/issues/4485) bug: with a raised --max-msg-size, store sync never transfers a message above 150 KiB, and a few such messages stop the node's transfers to every peer + - [logos-messaging/logos-delivery#4484](https://github.com/logos-messaging/logos-delivery/issues/4484) bug: a node that gets SIGTERM while store sync transfers messages to a peer never finishes stopping and is killed + - [logos-messaging/logos-delivery#4486](https://github.com/logos-messaging/logos-delivery/issues/4486) bug: a message encoded within --max-msg-size is not relayed or stored when the encoded RPC message gossipsub would send exceeds the limit, and the publish routes answer 200 or "no peers" + - [logos-messaging/logos-delivery#4483](https://github.com/logos-messaging/logos-delivery/issues/4483) bug: store sync transfer writes the pubsub topic as field 1 and the message as field 2, the reverse of the WAKU-SYNC specification + - [logos-messaging/logos-delivery#4482](https://github.com/logos-messaging/logos-delivery/issues/4482) bug: --preset=status.prod runs the 150KiB default of --max-msg-size instead of the 1024KiB of the preset, and warns at every start that the size was provided + - [logos-messaging/logos-delivery#4481](https://github.com/logos-messaging/logos-delivery/issues/4481) bug: a peer that connects in while the node's own dial to it is in flight stays CannotConnect for as long as it is connected + - [logos-messaging/logos-delivery#4480](https://github.com/logos-messaging/logos-delivery/issues/4480) question: /admin/v1/peers lists a peer that dialled in over TCP at its connection's source port, where nothing listens +- [`ift-ts:qa:ift:2026q4-nim-libp2p-testing:maintenance`](/qa/ift/2026q4-nim-libp2p-testing#maintenance) + - [iftech/nim-libp2p#3237](https://github.com/iftech/nim-libp2p/issues/3237) gossipsub: no IHAVE for a subscribed topic once PRUNE empties its mesh + - [iftech/nim-libp2p#3236](https://github.com/iftech/nim-libp2p/issues/3236) gossipsub: a peer that restarts within pruneBackoff is penalised for its GRAFT and kept out of the mesh + - [iftech/nim-libp2p#3238](https://github.com/iftech/nim-libp2p/pull/3238) test: bug reproductions for #3236 and #3237 +- [`ift-ts:qa:status:2026q4-status-qa-desktop:new-tests`](/qa/status/2026q4-status-qa-desktop#new-tests) + - [status-im/status-app#22717](https://github.com/status-im/status-app/pull/22717) tests(@e2e): bridge and swap scenarios + - [status-im/status-go#7916](https://github.com/status-im/status-go/pull/7916) fix(wallet): omit relay API key on testnet + - [status-im/status-app#22741](https://github.com/status-im/status-app/pull/22741) tests(@e2e): send NFT on testnet + - [status-im/status-app#22734](https://github.com/status-im/status-app/pull/22734) test(@qml): onchain friends nim and QML coverage + - [status-im/status-app#22702](https://github.com/status-im/status-app/pull/22702) tests(@qml): buy crypto links + - [status-im/status-app#22607](https://github.com/status-im/status-app/pull/22607) tests(@e2e): request payment in chat +- [`ift-ts:qa:status:2026q4-status-go-functional-testing:coverage`](/qa/status/2026q4-status-go-functional-testing#functional-test-coverage) + - [status-im/status-go#7914](https://github.com/status-im/status-go/pull/7914) test(functional): send ERC20, ERC1155, ERC720 + - [status-im/status-go#7906](https://github.com/status-im/status-go/pull/7906) test: mock EFP API and cover wallet getFollowing\* RPC + - [status-im/status-go#7882](https://github.com/status-im/status-go/pull/7882) test(functional): check MoonPay URL and hostname +- [`ift-ts:qa:status:2026q4-status-go-functional-testing:maintenance`](/qa/status/2026q4-status-go-functional-testing#maintenance) + - [status-im/status-go#7887](https://github.com/status-im/status-go/pull/7887) feat(wallet): add Sepolia WETH and refresh default token lists + - [status-im/status-go#7888](https://github.com/status-im/status-go/pull/7888) fix(functional): temp disable QUIC on the test waku fleet +- [`ift-ts:qa:status:2026q4-status-qa-desktop:maintenance`](/qa/status/2026q4-status-qa-desktop#maintenance) + - [status-im/status-app#22756](https://github.com/status-im/status-app/pull/22756) Revert "fix(chat): mark messages read when the newest one is on screen" + - [status-im/status-app#22736](https://github.com/status-im/status-app/pull/22736) fix(@e2e): record a CPU/RAM sample when a benchmark action finishes before the sampler thread + - [status-im/market-proxy#84](https://github.com/status-im/market-proxy/pull/84) feat: add base sepolia WETH to token list + - [status-im/market-proxy#83](https://github.com/status-im/market-proxy/pull/83) feat: add sepolia WETH to token list + - [status-im/status-app#22695](https://github.com/status-im/status-app/pull/22695) chore(@e2e): fix sign modal test reference + - [status-im/status-app#22654](https://github.com/status-im/status-app/pull/22654) fix(e2e): wait for link preview instead of failing on slow unfurl + - [status-im/status-app#22653](https://github.com/status-im/status-app/pull/22653) fix(chat): mark messages read when the newest one is on screen +- [`ift-ts:qa:status:2026q4-status-qa-mobile:maintenance`](/qa/status/2026q4-status-qa-mobile#maintenance) + - [status-im/status-app#22762](https://github.com/status-im/status-app/pull/22762) ci: retry the BrowserStack APK upload and log why it failed + - [status-im/status-app#22509](https://github.com/status-im/status-app/pull/22509) ci: one BrowserStack lane per concurrent Android e2e job + - [status-im/status-app#22752](https://github.com/status-im/status-app/pull/22752) test(e2e_appium): open the nav drawer with a drag that moves at once — cause of the red Android nightly since 10-03 +- [`ift-ts:qa:status:2026q4-status-qa-mobile:framework`](/qa/status/2026q4-status-qa-mobile#framework-improvements) + - Got the e2e gate running on iOS; remaining failures are app accessibility gaps +- [`ift-ts:qa:status:2026q4-status-qa-mobile:release-testing`](/qa/status/2026q4-status-qa-mobile#release-testing) + - Updated the Share to Status QA tree [status-im/status-app#22522](https://github.com/status-im/status-app/issues/22522); reproduced 2 bugs + - Posted the Nim token catalogue QA tree [status-im/status-app#22773](https://github.com/status-im/status-app/issues/22773) +- [`ift-ts:qa:status:2026q4-status-qa-mobile:performance`](/qa/status/2026q4-status-qa-mobile#performance) + - Restored perf dashboard publishing after GitHub's new signed-commits rule + +### ift-ts:sec: + +- `ift:2026q4-ir-vulma:security-incidents` + - macOS CI IR (macm2-01.ih-eu-mda1.ci.release, declared 2026-09-04) closed — reinstall/re-attestation confirmed with jakubgs, firewall hardening verified fleet-wide ([92e9129](https://github.com/status-im/infra-role-bootstrap-macos/commit/92e9129ebfaea1784b480f005bc5f3dac82bcfe4), [bca5921](https://github.com/status-im/infra-role-bootstrap-macos/commit/bca59212bebc2cf83c2cc11945eaf5260325d2c1)), IOC sweep clean + - HackenProof Status-476 / Status-479 — dev verdict in, remediation and bounty call agreed +- `ift:2026q4-ir-vulma:vulnerability-management` + - Triaged the 16 crawl findings [#143](https://github.com/logos-co/audit-reports/issues/143)–[#158](https://github.com/logos-co/audit-reports/issues/158) (Highs first); continued the backlog ([#120](https://github.com/logos-co/audit-reports/issues/120)–[#126](https://github.com/logos-co/audit-reports/issues/126), [#136](https://github.com/logos-co/audit-reports/issues/136)–[#142](https://github.com/logos-co/audit-reports/issues/142)) and the LEZ line with joocho + - Kept up [Dependabot](https://github.com/orgs/status-im/security/alerts/dependabot), [code-scanning](https://github.com/orgs/status-im/security/alerts/code-scanning), and [secret-scanning](https://github.com/orgs/status-im/security/alerts/secret-scanning) queues +- `ift:2026q4-tr-continuity-plan:define-and-test-IR-runbooks` + - Runbook TBC definitions with Jason — done + - W0001/W0002 runbook updates from first live [secure-multisig-signer](https://github.com/logos-co/secure-multisig-signer) signing — done +- `ift:2026q4-tr-wallet-security:audit-treasury-multisig` + - [master-wallet-index](https://github.com/logos-co/master-wallet-index) reconciliation finished; outstanding signatory removals confirmed +- `ift:2026q4-tr-continuty-plan:investment-team-recalibration` + - Backup-signatory selection with Jason and the investment team — done +- `ift:2026q4-cicd-security-review:code-review-activities` + - Post-merge reviews done: WalletConnect pairing stack (status-go [#7811](https://github.com/status-im/status-go/pull/7811), status-app [#22367](https://github.com/status-im/status-app/pull/22367)), keycard-defect characterization (status-go [#7804](https://github.com/status-im/status-go/pull/7804), [#7758](https://github.com/status-im/status-go/pull/7758)–[#7761](https://github.com/status-im/status-go/pull/7761)), post-incident CI changes (status-app [#22414](https://github.com/status-im/status-app/pull/22414), [#22349](https://github.com/status-im/status-app/pull/22349); status-go [#7815](https://github.com/status-im/status-go/pull/7815)), browser downloads stack [#21849](https://github.com/status-im/status-app/pull/21849)–[#21853](https://github.com/status-im/status-app/pull/21853) + - Cleared carried PRs — reviewed; all seven still open upstream per 2026-09-21 crawl, no longer tracked weekly +- `ift:2026q4-threat-intelligence:supply-chain-attack-research` + - Continued npm / OAuth / CI-tool supply-chain watch; macOS-miner IOCs fed into fleet detection +- `other notes` + - Reviewed pending PAT requests; iterated on [security checklist](https://sclist.logos.co/) and [Copilot policy](https://github.com/settings/copilot/features) +- `ift:2026q4-internal-audit:logos-blockchain-security-review` + - Reviewed the latest tag v0.3.1 release + - Following the recent post on X about bunker mode + - 1 x finding #193 [Issue #193](https://github.com/logos-co/audit-reports/issues/193): node 0 wallet API unauthenticated + - Reported at [Discord thread](https://discordapp.com/channels/973324189794697286/1557984551207305367/1558018460397600801) +- `ift:2026q4-internal-audit:logos-execution-zone-security-review` + - Reviewed PR943 [PR #943](https://github.com/logos-blockchain/logos-execution-zone/pull/943). + - Closed #181 and #186 that were addressed + - Issued #192 [Issue #192](https://github.com/logos-co/audit-reports/issues/192). + - Reported at [Discord thread](https://discordapp.com/channels/973324189794697286/1556663140060766258/1556663147253862410) +- `ift:2026q4-internal-audit:logos-lez-programs-security-review` + - AMM program is being upgraded to v0.3.0. [Discord thread](https://discordapp.com/channels/973324189794697286/1534682805114769459/1556936313314476083) +- `ift:2026q4-internal-audit:logos-messaging-security-review` + - logos-chat 0.3.0 and Accounts 0.3.0 are released + +### ift-ts:tke: + +- `vac:tke:ift:logos-token:value-accrual` + - continued the buyback-and-make model + - review docs +- `vac:tke:ift:ecodev:liquidity` + - researched project management approaches for liquidity work group + - researched about similar programs in other blockchains +- `vac:tke:ift:logos-token:token-unit-precision` + - addressed feedback + - created the PR for the spec +- `vac:tke:ift:ecodev:node-program-validators` + - briefly discussed current state with EcoDev team on Discord +- `vac:tke:blockchain:pow:new-rewards` + - addressed feedback +- `vac:tke:blockchain:pow:tokenomics` + - met with Blockchain team to discuss the current state +- `vac:tke:lez:sequencer-econ` + - work on some simulations here + - Continued the liquid staking prioritization analysis +- `vac:tke:blockchain:penumbra-analysis` + - Continued economic modelling of liquid staking tokens in Logos, including attack vectors +- `vac:tke:blockchain` + - catch up with Marcin on the private UTXO +- `other notes` + - OOO: 1 CC days. + +### ift-ts:web: + +- [`ift-ts:web:logos:2026q4-logos-website:maintenance`](/web/logos/2026q4-logos-website#maintenance) + - Improved Basecamp downloads and installation guidance, with OS and architecture detection and WSL2 guidance for Windows: [PR](https://github.com/logos-co/logos-web/pull/206) + - Install CTAs select the matching 0.3.1 asset per platform and architecture, and fall back to the latest release page for unsupported clients + - Added All downloads and installation guidance to the Basecamp page + - Documented that all 4 Basecamp download files must be published before switching download URLs: [PR](https://github.com/logos-co/logos-web/pull/207) + - Made Install Basecamp the primary CTA and reduced All downloads to a text link: [PR](https://github.com/logos-co/logos-web/pull/209) + - Refreshed all 4 Basecamp download URLs from the latest full release on every web build: [PR](https://github.com/logos-co/logos-web/pull/216) + - Restored CMS publishing with the deployed Jenkins jobs: [PR](https://github.com/logos-co/logos-web/pull/211) + - Fixed the Jenkins artifact permission path for manual live publishing: [PR](https://github.com/logos-co/logos-web/pull/214) + - Published sites from the CMS through the Github App and Github Actions: [PR](https://github.com/logos-co/logos-web/pull/215) + - Replaced the Jenkins links with CMS buttons that dispatch builds through the existing Github App + - Removed the chevrons from the PriFi hero labels: [PR](https://github.com/logos-co/logos-web/pull/218) + - Added stable asset names for the latest Basecamp downloads: [PR](https://github.com/logos-co/logos-basecamp/pull/483) + - [chore(web): update activist builder copy](https://github.com/logos-co/logos-web/pull/221) +- [`ift-ts:web:logos:2026q4-logos-media-migration:merge-readiness`](/web/logos/2026q4-logos-media-migration#complete-and-merge-the-media-migration-implementation) + - Added a searchable listing of all published articles: [PR](https://github.com/logos-co/logos-web/pull/210) + - Moved the article and podcast listings under `/media`: [PR](https://github.com/logos-co/logos-web/pull/212) + - Listings now live at `/media/articles` and `/media/podcasts`, alongside their detail pages + - Updated internal links, breadcrumbs, canonicals and the sitemap, and kept the existing listing URLs working through static redirect pages +- [`ift-ts:web:ift:2026q4-maintenance:maintenance`](/web/ift/2026q4-maintenance#maintenance) + - Updated the free.technology team member to Dr. Martin Strobl: [PR](https://github.com/acid-info/free.technology/pull/23) + - `Security` + - Check and fix relevant issues raised by dependabot on `status-web` & `logos-web`: + - `logos-web`: [fix(deps): patch next, payload and sharp security advisories](https://github.com/logos-co/logos-web/pull/217) + - `status-web`: [fix(deps): bump next, sharp and next-intl for security advisories](https://github.com/status-im/status-web/pull/1327) + - `AI Worflows` + - Update API keys for [status-web](https://github.com/status-im/status-web/settings/secrets/actions), [logos-web](https://github.com/logos-co/logos-web/settings/secrets/actions), [admin-acid.logos.co](https://github.com/acid-info/admin-acid.logos.co/settings/secrets/actions), [ai-review](https://github.com/acid-info/ai-review/settings/secrets/actions), [ai-docs-sync](https://github.com/acid-info/ai-docs-sync/settings/secrets/actions). + - `admin-acid.logos.co` + - [fix(redis): lazily create client to avoid connecting at build](https://github.com/acid-info/admin-acid.logos.co/pull/76) +- `other notes` + - Documenting how to use the CMS for the Comms team +- [`ift-ts:web:status:2026q4-status-website:maintenance`](/web/status/2026q4-status-website#maintenance) + - Fix highlight banner: [fix(status.app): match release titles with or without v prefix](https://github.com/status-im/status-web/pull/1328) +- [`ift-ts:web:ift:2026q4-admin-acid:notion-emailing`](/web/ift/2026q4-admin-acid#notion-linked-emailing-features) + - [feat(editor): font size and color selectors, missing basics](https://github.com/acid-info/admin-acid.logos.co/pull/78) +- [`ift-ts:web:ift:2026q4-ai-tooling:monorepo`](/web/ift/2026q4-ai-tooling#shared-ai-tooling-monorepo) + - Merged `ai-review` and `ai-docs-sync` into one monorepo ([ai-tools](https://github.com/acid-info/ai-tools)), splitting each tool into small modules on a shared `core/`: [github.com/acid-info/ai-tools/compare/eb1ef1e...14752b0](https://github.com/acid-info/ai-tools/compare/eb1ef1e...14752b0) + - [docs: split root README and AGENTS.md by audience](https://github.com/acid-info/ai-tools/pull/1) + - Add `ai-review` and `ai-docs-sync` tools to the monorepo: [ci: run ai-review and ai-docs-sync on this repo](https://github.com/acid-info/ai-tools/pull/4) +- [`ift-ts:web:ift:2026q4-ai-tooling:ai-review`](/web/ift/2026q4-ai-tooling#ai-review-maintenance-and-tuning) + - [docs(ai-review): add AGENTS.md and trim the README](https://github.com/acid-info/ai-tools/pull/2) + - Bump workflow's node to version 24: [ci: bump node to 24](https://github.com/acid-info/ai-tools/pull/5) + - Update workflow ref of all consumers to the monorepo ref: + - `admin-acid.logos.co`: [chore(ci): use ai-review from acid-info/ai-tools](https://github.com/acid-info/admin-acid.logos.co/pull/77) + - `logos-web`: [chore(ci): use ai-review and ai-docs-sync from acid-info/ai-tools](https://github.com/logos-co/logos-web/pull/208) + - `status-web`: [chore(ci): use ai-review from acid-info/ai-tools](https://github.com/status-im/status-web/pull/1326) + - Sunset stale repo (archive it): [docs: redirect to acid-info/ai-tools](https://github.com/acid-info/ai-review/pull/8) +- [`ift-ts:web:ift:2026q4-ai-tooling:ai-docs-sync`](/web/ift/2026q4-ai-tooling#ai-docs-sync) + - [docs(ai-docs-sync): add AGENTS.md and trim the README](https://github.com/acid-info/ai-tools/pull/3) + - Bump workflow's node to version 24: [ci: bump node to 24](https://github.com/acid-info/ai-tools/pull/5) + - Update workflow ref of the `logos-web` consumer to the monorepo ref: [chore(ci): use ai-review and ai-docs-sync from acid-info/ai-tools](https://github.com/logos-co/logos-web/pull/208) + - Sunset stale repo (archive it): [docs: redirect to acid-info/ai-tools](https://github.com/acid-info/ai-docs-sync/pull/7) + - [fix(ai-docs-sync): sign the rolling commit](https://github.com/acid-info/ai-tools/pull/7)