Binaries in these bundles
Each bundle carries a Node.js, a FerretDB and the MongoDB Database Tools. Which source has a given CPU varies from release to release - nodejs.org builds some architectures, unofficial-builds others, and the wekan/node-patches build the ones neither of them does - and not every source publishes a checksum. This is what went into this release, and which downloads were checked against a published SHA256.
| Bundle | Binary | From | Version | Checked | SHA256 |
|---|---|---|---|---|---|
| amd64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | be7a7c3a7b83dee0… |
| amd64 | Node.js | nodejs.org | v24.20.0 | verified | 2f2c0da162318f0d… |
| arm64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 8f0b1df0fdff9f26… |
| arm64 | Node.js | nodejs.org | v24.20.0 | verified | 5f4ddab610c1ab20… |
| armhf | FerretDB | wekan/FerretDB | v1.67.0 | verified | 4e35884b7e826048… |
| armhf | Node.js | wekan/node-patches | v24.20.0 | verified | b8ed7065d44f0afe… |
| armv6 | FerretDB | wekan/FerretDB | v1.67.0 | verified | fc657a2929becd70… |
| armv6 | Node.js | wekan/node-patches | v24.20.0 | verified | d5cefa6f8cc4acb1… |
| armv7 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 4e35884b7e826048… |
| armv7 | Node.js | wekan/node-patches | v24.20.0 | verified | c04c81e539347f39… |
| i386 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 6e51a7278f850f82… |
| i386 | Node.js | wekan/node-patches | v24.20.0 | verified | bb44927307460dcf… |
| mac-arm64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 9478ab9f907a4106… |
| mac-arm64 | Node.js | nodejs.org | v24.20.0 | verified | b7bf7707070b950b… |
| mac-x64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 9a052beb1c9d0324… |
| mac-x64 | Node.js | nodejs.org | v24.20.0 | verified | 26fc30891004603d… |
| ppc64le | FerretDB | wekan/FerretDB | v1.67.0 | verified | 8d96ed0624e0a637… |
| ppc64le | Node.js | nodejs.org | v24.20.0 | verified | 341307dcee20d883… |
| riscv64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 791b9294ffb1f48f… |
| riscv64 | Node.js | unofficial-builds.nodejs.org | v24.20.0 | verified | a149c5bf85f98ff1… |
| s390x | FerretDB | wekan/FerretDB | v1.67.0 | verified | 2914f0e00c0d0b5d… |
| s390x | Node.js | nodejs.org | v24.20.0 | verified | ca381121cb5a8d38… |
| win-arm64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | d00ed8f3c5300983… |
| win-arm64 | Node.js | nodejs.org | v24.20.0 | verified | 31c6799744de8a54… |
| win64 | FerretDB | wekan/FerretDB | v1.67.0 | verified | 7e559755fa5b38ce… |
| win64 | Node.js | nodejs.org | v24.20.0 | verified | 6cac9ffbca8f6a47… |
A row saying no checksum published is not a failed check - it is a source that publishes nothing to check against. Those are the ones worth fixing at the source.
v11.48 2026-09-04 WeKan ® release
In short: WeKan begins the measured Less Code programme by consolidating ordinary board-theme CSS, compacting the lazy language registry, sharing bounded pagination, unifying board-read authorization, sharing the board import pipeline and deleting retired CollectionFS models. The completed programme removes 1,880 maintained or tracked disabled lines with regression coverage, and the browser regression suite now shares file storage reliably and switches board views through the UI. The first header bar and opened-card Custom Fields controls are also cleaner and more compact.
| Platform | Binary | From | Version | SHA256 |
|---|---|---|---|---|
| amd64 | Node.js | nodejs.org | v24.19.0 | 14b342e71204f811bde6153be8e04b62aef63c236fef92b55f9c83154b409647 |
| amd64 | FerretDB | wekan/FerretDB | v1.53.0 | eae1f0a8f73bfc979738bfff7284d40fd1bc55de2cc56514721fc155c3624f7d |
| arm64 | Node.js | nodejs.org | v24.19.0 | 01443c1e1a29e531ccad5a46fefa6df490d2189c49f7955904aecdbb0fe86fdc |
| arm64 | FerretDB | wekan/FerretDB | v1.53.0 | bdc50caee3ac28495b42d2130b94a042a9dd6d3a38f732cac02b648f36c891da |
| mac-arm64 | Node.js | nodejs.org | v24.19.0 | 3f1cf157479c1480352083105e13faf9d008ede98e7e157746b6df940d197b94 |
| mac-arm64 | FerretDB | wekan/FerretDB | v1.53.0 | cb14ffe93e285903e5a8a9c1821687ddb5b8a979a11c584bf4af534b272c6d3e |
| mac-x64 | Node.js | nodejs.org | v24.19.0 | d35e95230f46f6f0751df497c56622c6735e05d5e1fb1630996a005b9d328fe4 |
| mac-x64 | FerretDB | wekan/FerretDB | v1.53.0 | d97dfa9afa60aa05f25384327de82efe7b71d958ed24c1f66618284294a65cd3 |
This release improves the following user interface controls:
The first header bar - cleaner compact controls make their state clear.
Remove the Starred controls' outline. Thanks to xet7.
The Starred dropdown and current-page star remain adjacent as one logical group, but no longer carry a white border. Clean Light also leaves the group borderless instead of replacing that outline with a dark one. Header and theme tests cover both appearances.Remove the Mobile/Desktop toggle's frame. Thanks to xet7.
The mode toggle now sits directly on the header with a transparent background and no black border. Its icons inherit a readable header colour while the selected mode retains its accent treatment.Keep the selected mode icon white. Thanks to xet7.
Both the Mobile and Desktop active states explicitly make their icon container and Font Awesome glyph white, so board themes cannot replace the selected mode's contrast colour through inheritance.Show only the current Mobile/Desktop mode icon. Thanks to xet7.
Mobile mode now shows only the phone and Desktop mode only the monitor. The toggle keeps its white active glyph and theme-accent chip without spending header width on the inactive choice.Align Add Board four pixels higher. Thanks to xet7.
The whole top-bar Add Board link, including its clickable area, moves upward by four pixels to align its plus icon with the surrounding controls. Board-template selection remains unchanged and covered.Opened cards - Custom Fields shows one quiet layout icon beside its menu.
Remove the Custom Fields layout selector's frame. Thanks to xet7.
The selector's outer button no longer has a white fill or dark edge. Its layout state and persisted grid-versus-list behaviour remain unchanged.Show one Custom Fields layout icon. Thanks to xet7.
Table mode renders only its table icon and list mode only its list icon. The former blue active background and white glyph styling are removed while the same button continues to switch and persist the layout.Match the Custom Fields layout and menu icon colours. Thanks to xet7.
The current layout icon uses the same grey as the adjacent Custom Fields menu button and, like that button, becomes black on hover. Regression coverage keeps section-title colours separate from this control.and improves the following developer tooling:
Board themes - solid themes share structure while special designs stay explicit.
Share ordinary board-theme CSS. Thanks to xet7.
Ten solid-colour themes now publish palette values through CSS custom properties and use one structural rule set. Gradient, image, Relax, Dark, Apple Glass Pastel, Modern and Clean themes remain explicit where their behaviour differs. Regression tests verify every palette role and every themed surface; the source stylesheet is 444 lines and 17,878 bytes smaller.Language loading - compact metadata preserves every lazy language bundle.
Compact the lazy language registry. Thanks to xet7.
The registry now separates one-line language metadata from its literal dynamic import map. All 245 keys, locale tags, native names, directions and file paths remain unchanged, and each translation remains its own lazy split point. New guards reject duplicate tags and mismatches between metadata and loaders; the registry is 1,214 lines smaller.Pagination - one bounded movement rule serves board and administration views.
Share bounded page movement. Thanks to xet7.
All Boards and the Admin Panel's reports, event streams, offices and People views now use one primitive for previous and next movement. It clamps deleted or stale pages and both ends of the result set consistently. Unit and consumer tests cover the boundaries, invalid movement and every migrated view.Board authorization - DDP, HTTP and methods share one board-read policy.
Share board read authorization. Thanks to xet7.
Public, private, non-member and missing-board decisions are now identical in card and legacy-attachment publications, attachment download routes and position-history methods. Each transport retains its own error response. The legacy attachment publication also permits anonymous public-board reads just as the HTTP routes do, and the maintained source is 31 lines smaller.Board imports - source adapters share ordered persistence and ID mapping.
Share the board import pipeline. Thanks to xet7.
WeKan JSON and Trello imports now run their normalized stages through one pipeline, which carries the created board ID and safely defaults missing optional collections. A shared entity writer owns insertion, timestamp updates and old-to-new ID recording where the formats use the same mechanics. Adapter tests preserve their distinct ordering and malformed-input behavior.Retired models - unreachable CollectionFS implementations no longer remain as source.
Remove disabled CollectionFS models. Thanks to xet7.
Two `.disabled` model files had no imports, startup registration, template references or package entry and could never load as JavaScript. Their 148 lines are removed while the active legacy attachment readers and migration paths stay in place. All 709 Node suites, a production build and a development startup passed after the removal.Browser regression tests - containers and the app share test files without publication races.
Make file and board-view browser tests deterministic. Thanks to xet7.
The bundled test server now keeps its writable files below the shared checkout and mounts that exact directory into each Playwright container. The attachment response-policy test therefore writes where the server reads even when Docker is reached across a Flatpak boundary. The Board Statistics test uses the real view switcher instead of racing a direct database update against the user publication. Both regressions pass on Chromium, Firefox and WebKit.Isolate report rows and await reactive list widths. Thanks to xet7.
The Files Report test now gives every browser run unique attachment IDs and a shared filename marker, then searches for that marker before checking all five sanitized names. Rows left by another browser can no longer push an assertion onto the next page. The fixed-list-width test also polls until the published profile value reaches the rendered lists instead of sampling their initial width during WebKit's reactive update.and updates the following documentation:
Document the completed Less Code programme. Thanks to xet7.
The Less Code design document now records the plan, implementation, measurements and verification results for all six completed phases. It also explains why a wholesale Jade-to-Svelte rewrite is not itself a code-reduction strategy.Thanks to above GitHub users for their contributions and translators for their translations.