This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+2 more
Summary
AI summaryFerretDB now defaults to polling-only, fixing high CPU usage on all platforms.
Full changelog
v10.16 2026-07-22 WeKan ® release
This release fixes the following bugs:
-
FerretDB now defaults to polling-only on all platforms, fixing high FerretDB CPU
(#6503). FerretDB v1 can tail an OpLog for
real-time updates, but on its SQLite backend Meteor's tailable+awaitDataOpLog tail keeps
FerretDB CPU pinned (reporters saw ~190–390% even when idle; a 2-core VPS maxed out and WeKan got
stuck on the loading spinner), and a struggling tail also shows up in the log asoplog catching up took too long, stalling board and login loading. Even with the FerretDB-side mitigations the
peg persisted on real deployments, while polling-only reliably drops CPU to ~10%. So polling is
now the default on every launcher (snap, bundle, Docker/compose, Windows, Sandstorm);
WEKAN_FERRETDB_OPLOGdefaults tofalse. The OpLog remains available as opt-in
(WEKAN_FERRETDB_OPLOG=true, or on snapsnap set wekan wekan-ferretdb-oplog=true). The calmer
polling throttle and SQLite pragma tuning keep poll-and-diff cheap. Thanks to xet7 and the
FerretDB high-CPU reporters. -
i18n never gets stuck showing raw translation keys if a dynamic language import fails
(related to #6503).TAPi18n.init()awaited a
dynamicimport('./data/en.i18n.json')and only marked i18n ready afterwards, so if that lazy
chunk hung or failed — e.g. a stale snap client bundle after a refresh — the whole UI showed raw
keys (likechangeLanguagePopup-title) forever with no recovery. The default English is now
statically bundled and registered first (the UI is always readable), and the dynamic load is
bounded by a timeout so readiness is reached in every path. Note: this hardens the raw-key
symptom; the dead OIDC/Register buttons in that report point to a stale dynamic-import bundle
cache on the snap (a hard reload / clean snap rebuild is the confirming test), not a change in
WeKan's login code (which is unchanged between 10.11 and 10.13) — and the FerretDB polling-only
default above also removes theoplog catching up took too longstalls that make the login page
slow to become interactive. Thanks to Alishara and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About wekan
The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . New English strings for new features at imports/i18n/data/en.i18n.json . Non-English translations at https://app.transifex.com/wekan/wekan only.
Beta — feedback welcome: [email protected]