This release adds 1 notable feature for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+2 more
Summary
AI summaryFixes FerretDB high CPU idle tailing, Sandstorm migration error page, and adds uniform recovery maintenance pages.
Full changelog
v10.11 2026-07-21 WeKan ® release
This release fixes the following bugs:
- Fix: FerretDB high CPU that continued even with no clients connected (#6498).
Meteor tails the OpLog (local.oplog.rs) with a tailable+awaitData cursor that
starts at boot and runs with no clients; on FerretDB v1 that tail was re-running
its query every 10 ms (~100 scans/second, forever), pinning CPU. This is a
distinct cause from the OpLog bloat capped in the earlier fix — it is the tail's
poll rate, not the OpLog size. The bundled FerretDB fork now polls awaitData at a
calmer 500 ms (still within the 1 s await budget, so reactivity latency stays low;
tunable withFERRETDB_TAILABLE_AWAIT_POLL_MS), cutting idle tail load ~50x — see
the FerretDB CHANGELOG. FerretDB OpLog stays ON by default (a reporter confirmed
the earlier CPU fix worked), so this only makes the default mode cheap at idle.
Additionally, for anyone who explicitly turns the OpLog OFF
(WEKAN_FERRETDB_OPLOG=false), every launcher (snap, bundled release, Docker,
Sandstorm) now also clearsMONGO_OPLOG_URLin that polling-only branch, because
merely having it set makes Meteor tail the OpLog regardless of the reactivity
order — so polling-only is now truly tail-free. Covered by
tests.
Thanks to Alishara, bluetopaz1204, mueschel and xet7. - Fix: on Sandstorm, the browser error that a page "can not be displayed embedded
in another page" after a grain's first-launch data migration. The grain launcher
migrates the old MongoDB data to FerretDB v1 (SQLite) before starting WeKan, and
while nothing was listening on the grain's app port (during migration and the
handoff to WeKan)sandstorm-http-bridgereturned connection-refused, so the
browser showed the framed-grain error and the user had to close and reopen the
grain. The launcher now runs a tiny child-process bridge that answers the app
port with an auto-refreshing "please wait" page across the whole migration and
handoff — yielding the port to the migration importer's own progress dashboard
and releasing it just before WeKan binds it — so the grain stays framed until
WeKan is up. Best-effort (guarded, killed on grain exit) so it never breaks grain
startup; covered by wiring/ordering
tests.
Thanks to xet7. - The recovery maintenance page now works the same on ALL FerretDB v1 platforms
(#6492). Besides the in-app spinner (which shows once Meteor serves the client),
every launch path now also serves a tiny standalone "recovering your data" page
(HTTP 503) on the web port for the brief window while a just-restored FerretDB
comes back up and before the app is up — so users never hit a bare connection
error: the snap reuseswekan-maintenance-page.mjswith a recovery wording, and
the bundled release/Docker paths serve the portablerecovery-bridge.mjs. The
bridge is time-bounded (WEKAN_RECOVERY_BRIDGE_SECONDS, default 20s) so it can
never block WeKan from starting, hands straight over to the in-app spinner, and
is skipped if its page or the marker is absent. Only the server clears the
RECOVERY_IN_PROGRESSmarker (after a real health probe), so the spinner behaves
identically everywhere; tests enforce the bridge stays bounded and no launch
script deletes the marker.
Thanks to bluetopaz1204, mueschel 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.
Related context
Related tools
Beta — feedback welcome: [email protected]