Skip to content

wekan

v10.16 Bugfix

This release fixes issues for SREs watching stability and regressions.

Published 5d Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

docker javascript kanban meteor real-time sandstorm
+2 more
snapcraft wekan

Summary

AI summary

FerretDB 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+awaitData OpLog 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 as oplog 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_OPLOG defaults to false. The OpLog remains available as opt-in
    (WEKAN_FERRETDB_OPLOG=true, or on snap snap 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
    dynamic import('./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 (like changeLanguagePopup-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 the oplog catching up took too long stalls 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

Track wekan

Get notified when new releases ship.

Sign up free

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.

All releases →

Related context

Beta — feedback welcome: [email protected]