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- upgrading the SDK version and the bot code
ift-ts:bi:logos:2026q4-logos-communication-funnel- Adding missing Element to the dashboard
ift-ts:bi:logos:2026q4-logos-circle-crm-upgrade- Upgrade CRM with Feedback from Movement Team
ift-ts:bi:keycard:2026q4-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
- Review some DST tasks from annoncoms
- Comments and discussions about automate workflow for libp2p
ift-ts: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 (open)
- Update scenarios to current Volo’s request
- branch: new_scenarios (draft)
- Add new latency and delivery plots
- branch: plotting (draft)
- Investigate latency and reliability on some scenarios
ift-ts:dst:ift:2026q4-libp2p-evaluation:regression-testing- 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.
ift-ts:dst:logos:2026q4-messaging-evaluation:regression-testing- Reran the PR 4347 full delivery run three times at the configured publish rate to check the full delivery report.
ift-ts:dst:ift:2026q4-dst-tooling:general-tooling- The publish loop now holds its configured rate when the Kubernetes API is slow.
- Cleanup now waits for deleted resources to be gone before the next step.
ift-ts: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:developmentift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver- nim-lang/langserver#488 Bump to v1.16.0
- nim-lang/langserver#473 Transport v2
- nim-lang/langserver#486 Cancel nimsuggestInit on shutdown
- nim-lang/langserver#487 Remove process monitor
- Make completion responsive:
- nim-lang/Nim#26438 nimsuggest: add
outline2, a parse-only outline
- nim-lang/Nim#26438 nimsuggest: add
- Improve nimsuggest partial recompilation with IC:
- nim-lang/Nim#26439 nimsuggest: don’t serve stale or unsaved-buffer NIFs with
--ideImport:nif
- nim-lang/Nim#26439 nimsuggest: don’t serve stale or unsaved-buffer NIFs with
ift-ts:p2p:
ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance:maintenance- status-im/nimbus-eth2#9240 chore: bump nim-lsquic
- iftech/nim-libp2p#3229 fix(mplex): await reset writes during channel cleanup
- iftech/nim-lsquic#178 chore(lsquic): update vendored dependency
- iftech/nim-lsquic#179 test(lsquic): cover client address migration
- logos-co/logos-libp2p-module#120 fix: bump nim-libp2p for duplicate DNS responses
- iftech/nim-libp2p#3224 fix(nameresolving): tolerate duplicate DNS responses
- status-im/nimbus-eth2#9204 chore: bump nim-lsquic
- iftech/nim-boringssl#20 ci: check generated BoringSSL bindings before merging
- iftech/nim-libp2p#3223 test: reduce timeouts
- iftech/nim-libp2p#3222 chore(autotls): propagate cert load error
- iftech/nim-libp2p#3214 test: hardening assertion
- iftech/nim-libp2p#3209 test: add suite timeout
- iftech/nim-libp2p#3241 test(dialer): improve cancellation test
- iftech/nim-libp2p#3239 chore(builders): return error result insted of Defect
- iftech/nim-libp2p#3232 feat(autotls): certificate renewal propagation
- iftech/nim-libp2p#3234 fix(autotls): using PEM leaf certificate’s X.509 notAfter for expiry time
- iftech/nim-libp2p#3249 fix(kad): close inbound RPC streams on shutdown
- iftech/nim-libp2p#3244 ci: bump workflow timeout
- iftech/nim-libp2p#3240 fix: mapper-removal races in PeerInfo and AddressManager
- iftech/nim-libp2p#3242 chore(Switch): adds convenience overloads
- iftech/nim-libp2p#3248 feat(autotls): state storage
- iftech/nim-libp2p#3245 fix(upgrade): export chronicles from muxedupgrade
- iftech/nim-libp2p#3212 chore(dial): benchmark dial time against stalled addresses
- iftech/nim-libp2p#3243 fix(multistream): allow reads after half-close on optimistic streams
- iftech/nim-libp2p#3231 test: fault-stream helper for kad and service discovery error paths
- iftech/nim-libp2p#3228 test(transports): cancel tests for upgrade, memory and tor
- iftech/nim-libp2p#3230 test(crypto): malformed DER for minasn1, ecnist and rsa
- iftech/nim-libp2p#3213 fix(pubsub): record PRUNE backoff outside the mesh and for backoff 0
- iftech/nim-libp2p#3227 test(multiformat): cover decode error paths
- iftech/nim-libp2p#3226 test: malformed protobuf and key protobuf decoding
- iftech/nim-libp2p#3211 chore(metrics): dial race and backoff metrics
- iftech/nim-libp2p#3210 chore(rsa): delete uncompilable hex-string
init - iftech/nim-libp2p#3201 feat(service-disco): advertise caller-supplied XPRs, not the node’s own record
- iftech/nim-libp2p#3014 chore(perf): improve ChaChaPoly and remove byte-at-a-time frame copies
- iftech/lsquic#3 fix(conn): send keepalive PINGs when no stream is open - #2
- litespeedtech/lsquic#699 Fix: send keepalive PINGs when no stream is open
- iftech/nim-lsquic#181 fix: keep QUIC connections without streams alive
- iftech/nim-lsquic#180 fix(engine): disable the lsquic no-progress timeout by default
ift-ts:p2p:ift:2026q4-nimlibp2p-early-muxer-negotiation:implementation- iftech/nim-libp2p#3216 feat(noise): negotiate muxers during handshake
- iftech/nim-libp2p#3225 feat(dialer): select known protocols optimistically
- iftech/nim-libp2p#3217 feat(multistream): add optimistic protocol selection
ift-ts:p2p:ift:2026q4-anoncomms-consulting:consulting- logos-messaging/logos-delivery#4479 chore(deps): bump mix RLN spam protection plugin
- logos-co/nim-libp2p-mix#63 refactor: use Result helpers for guarded control flow
- logos-co/nim-libp2p-mix#64 fix(sphinx): compare packet MACs in constant time
- logos-co/nim-libp2p-mix#66 fix(mix): correct codec decoding and reply lifecycle
- logos-co/nim-libp2p-mix#65 fix(tag-manager): fail closed at replay cache capacity
- logos-co/logos-libp2p-mix-rln#17 fix(rln): align shared backend time budgets
- logos-co/mix-rln-spam-protection-plugin#29 fix(transport): allow proof generation time budget
- logos-messaging/logos-delivery#4464 chore(deps): bump Mix-RLN spam protection plugin
- logos-co/mix-rln-spam-protection-plugin#27 chore(deps): use upstream libp2p mix
- logos-co/mix-rln-spam-protection-plugin#25 refactor(rln): remove redundant adapter conversions
- richard-ramos/nim-libp2p-mix#1 refactor(mix): simplify cover and proof scheduling
- logos-messaging/logos-delivery#4282 feat(mix): use shared RLN proofs for native Delivery routing
- logos-co/mix-rln-spam-protection-plugin#22 feat(rln): add a shared backend adapter for Mix
- logos-co/nim-libp2p-mix#58 feat(mix): expose standalone host APIs and harden cover scheduling
- logos-co/nim-libp2p-mix-ffi#9 ci: add multi-platform build and test workflow
- logos-co/logos-libp2p-mix-rln#15 refactor(mix): simplify FFI waits and reject invalid configuration
- logos-co/logos-delivery-module#148 feat(mix): reapply routing with shared RLN backend
- logos-co/logos-libp2p-mix-rln#16 ci: test supported Linux, WSL, and macOS platforms
- logos-co/nim-libp2p-mix-ffi#8 refactor(ffi): remove obsolete routing test and consolidate cleanup
ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-byte-queues:byte-limits- iftech/nim-libp2p#3255 feat(gossipsub): add per-priority outbound byte budgets
ift-ts:p2p:ift:2026q3-nimlibp2p-result-error-handling:result-conversion- iftech/nim-libp2p#3197 chore(result): use LPResultError in LPResult
- iftech/nim-libp2p#3219 chore(result): one path from each err to R.err
- iftech/nim-libp2p#3251 chore(results): one shape for every err call site
- iftech/nim-libp2p#3195 chore(result): purge mapErr
ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-duplicate-suppression:regression-coverage- iftech/nim-libp2p#3165 fix(pubsub): retry a failed send stream open
- iftech/nim-libp2p#3043 fix(gossipsub): track in-flight IWANT requests
- iftech/nim-libp2p#3016 fix(gossipsub): cancel a queued relay when the peer already has the message
ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-validation:budgets- iftech/nim-libp2p#3250 feat(gossipsub): cap concurrent validations per peer
ift-ts:p2p:ift:2026q4-logos-delivery-consulting:consulting- logos-messaging/nim-ffi#226 fix(ffi): set up the caller thread’s GC before a request is rejected
ift-ts:p2p:ift:2026q4-logos-core-consulting:consulting- logos-co/logos-storage-module#83 feat: build against the nim-ffi generated libstorage bindings
ift-ts:qa:
ift-ts:qa:logos:2026q4-messaging-testing:interop-migration- ci: test Logos Delivery nightly and issue reporting in Jenkins
- logos-messaging/logos-delivery#4422 test: include orphaned suites
ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype- Bork’s refactor to separate workflows from plugins in progress
- CODE-5 issue was clarified and fixed for lez-atomic-swaps v0.2.5
- Logos-blockchain
audit-specrun in progress - 55 parts, 220k lines of code to cover
ift-ts:qa:logos:2026q4-logos-basecamp:mcp-tests- Test/MCP UI apps inspector unload/reload of a non-visible UI plugin
- Test/MCP UI apps inspector unload/reload of package_manager_ui restores the Package Manager view
- Test/MCP UI module inspector search filters the table
- Test/MCP UI seed a loadable core-module fixture into the integration-test instance
- Test/MCP UI module inspector unloading a leaf module and reloading it
- Test/MCP UI module inspector interface view lists methods/events and calls a method
ift-ts:qa:logos:2026q4-lez-sequencing:cucumber-testsift-ts:qa:logos:2026q4-lez-fuzz-testing:framework-maintenanceother notes- OOO: 1 CC days.
ift-ts:qa:logos:2026q4-messaging-testing:maintenance- logos-messaging/logos-delivery#4420 ci: test reporter
- logos-messaging/logos-delivery#4463 test(e2e): fix flaky test_s31_concurrent_sends_mixed_topics_during_churn
- logos-messaging/logos-delivery#4439 test: bug reproductions
- logos-messaging/logos-delivery#4459 test: bug reproductions 2
- logos-messaging/logos-delivery#4487 test: bug reproductions 3
- logos-messaging/logos-delivery#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 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 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 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 bug: /filter/v2/subscriptions answers 200 “UNKNOWN” without pubsubTopic under static sharding, and its message cache ignores the result
- logos-messaging/logos-delivery#4432 bug: REST API answers an undecodable JSON body without the decoder’s reason
- logos-messaging/logos-delivery#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 question: lightpush v3 client turns the service’s BAD_REQUEST for an undecodable request into “response failure, requestId mismatch”
- logos-messaging/logos-delivery#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 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 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 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 bug: a duplicate a node publishes goes through its own relay handlers again, and is answered as NoPeersToPublish
- logos-messaging/logos-delivery#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 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 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 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 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 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 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- iftech/nim-libp2p#3237 gossipsub: no IHAVE for a subscribed topic once PRUNE empties its mesh
- iftech/nim-libp2p#3236 gossipsub: a peer that restarts within pruneBackoff is penalised for its GRAFT and kept out of the mesh
- iftech/nim-libp2p#3238 test: bug reproductions for #3236 and #3237
ift-ts:qa:status:2026q4-status-qa-desktop:new-tests- status-im/status-app#22717 tests(@e2e): bridge and swap scenarios
- status-im/status-go#7916 fix(wallet): omit relay API key on testnet
- status-im/status-app#22741 tests(@e2e): send NFT on testnet
- status-im/status-app#22734 test(@qml): onchain friends nim and QML coverage
- status-im/status-app#22702 tests(@qml): buy crypto links
- status-im/status-app#22607 tests(@e2e): request payment in chat
ift-ts:qa:status:2026q4-status-go-functional-testing:coverage- status-im/status-go#7914 test(functional): send ERC20, ERC1155, ERC720
- status-im/status-go#7906 test: mock EFP API and cover wallet getFollowing* RPC
- status-im/status-go#7882 test(functional): check MoonPay URL and hostname
ift-ts:qa:status:2026q4-status-go-functional-testing:maintenance- status-im/status-go#7887 feat(wallet): add Sepolia WETH and refresh default token lists
- status-im/status-go#7888 fix(functional): temp disable QUIC on the test waku fleet
ift-ts:qa:status:2026q4-status-qa-desktop:maintenance- status-im/status-app#22756 Revert “fix(chat): mark messages read when the newest one is on screen”
- status-im/status-app#22736 fix(@e2e): record a CPU/RAM sample when a benchmark action finishes before the sampler thread
- status-im/market-proxy#84 feat: add base sepolia WETH to token list
- status-im/market-proxy#83 feat: add sepolia WETH to token list
- status-im/status-app#22695 chore(@e2e): fix sign modal test reference
- status-im/status-app#22654 fix(e2e): wait for link preview instead of failing on slow unfurl
- status-im/status-app#22653 fix(chat): mark messages read when the newest one is on screen
ift-ts:qa:status:2026q4-status-qa-mobile:maintenance- status-im/status-app#22762 ci: retry the BrowserStack APK upload and log why it failed
- status-im/status-app#22509 ci: one BrowserStack lane per concurrent Android e2e job
- status-im/status-app#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- Got the e2e gate running on iOS; remaining failures are app accessibility gaps
ift-ts:qa:status:2026q4-status-qa-mobile:release-testing- Updated the Share to Status QA tree status-im/status-app#22522; reproduced 2 bugs
- Posted the Nim token catalogue QA tree status-im/status-app#22773
ift-ts: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-incidentsift:2026q4-ir-vulma:vulnerability-management- Triaged the 16 crawl findings #143–#158 (Highs first); continued the backlog (#120–#126, #136–#142) and the LEZ line with joocho
- Kept up Dependabot, code-scanning, and 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 signing — done
ift:2026q4-tr-wallet-security:audit-treasury-multisig- 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, status-app #22367), keycard-defect characterization (status-go #7804, #7758–#7761), post-incident CI changes (status-app #22414, #22349; status-go #7815), browser downloads stack #21849–#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 and Copilot policy
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: node 0 wallet API unauthenticated
- Reported at Discord thread
ift:2026q4-internal-audit:logos-execution-zone-security-review- Reviewed PR943 PR #943.
- Closed #181 and #186 that were addressed
- Issued #192 Issue #192.
- Reported at Discord thread
ift:2026q4-internal-audit:logos-lez-programs-security-review- AMM program is being upgraded to v0.3.0. Discord thread
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- Improved Basecamp downloads and installation guidance, with OS and architecture detection and WSL2 guidance for Windows: PR
- 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
- Made Install Basecamp the primary CTA and reduced All downloads to a text link: PR
- Refreshed all 4 Basecamp download URLs from the latest full release on every web build: PR
- Restored CMS publishing with the deployed Jenkins jobs: PR
- Fixed the Jenkins artifact permission path for manual live publishing: PR
- Published sites from the CMS through the Github App and Github Actions: PR
- Replaced the Jenkins links with CMS buttons that dispatch builds through the existing Github App
- Removed the chevrons from the PriFi hero labels: PR
- Added stable asset names for the latest Basecamp downloads: PR
- chore(web): update activist builder copy
ift-ts:web:logos:2026q4-logos-media-migration:merge-readiness- Added a searchable listing of all published articles: PR
- Moved the article and podcast listings under
/media: PR - Listings now live at
/media/articlesand/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- Updated the free.technology team member to Dr. Martin Strobl: PR
Security- Check and fix relevant issues raised by dependabot on
status-web&logos-web: AI Worflows- Update API keys for status-web, logos-web, admin-acid.logos.co, ai-review, ai-docs-sync.
admin-acid.logos.co- fix(redis): lazily create client to avoid connecting at build
other notes- Documenting how to use the CMS for the Comms team
ift-ts:web:status:2026q4-status-website:maintenance- Fix highlight banner: fix(status.app): match release titles with or without v prefix
ift-ts:web:ift:2026q4-admin-acid:notion-emailingift-ts:web:ift:2026q4-ai-tooling:monorepo- Merged
ai-reviewandai-docs-syncinto one monorepo (ai-tools), splitting each tool into small modules on a sharedcore/: github.com/acid-info/ai-tools/compare/eb1ef1e…14752b0 - docs: split root README and AGENTS.md by audience
- Add
ai-reviewandai-docs-synctools to the monorepo: ci: run ai-review and ai-docs-sync on this repo
- Merged
ift-ts:web:ift:2026q4-ai-tooling:ai-review- docs(ai-review): add AGENTS.md and trim the README
- Bump workflow’s node to version 24: ci: bump node to 24
- Update workflow ref of all consumers to the monorepo ref:
admin-acid.logos.co: chore(ci): use ai-review from acid-info/ai-toolslogos-web: chore(ci): use ai-review and ai-docs-sync from acid-info/ai-toolsstatus-web: chore(ci): use ai-review from acid-info/ai-tools- Sunset stale repo (archive it): docs: redirect to acid-info/ai-tools
ift-ts:web:ift:2026q4-ai-tooling:ai-docs-sync- docs(ai-docs-sync): add AGENTS.md and trim the README
- Bump workflow’s node to version 24: ci: bump node to 24
- Update workflow ref of the
logos-webconsumer to the monorepo ref: chore(ci): use ai-review and ai-docs-sync from acid-info/ai-tools - Sunset stale repo (archive it): docs: redirect to acid-info/ai-tools
- fix(ai-docs-sync): sign the rolling commit