Skip to content

wekan

v9.79 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 20d 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

Fixed drag‑and‑drop custom board sorting, minicard checklist add button, label filter across swimlanes, and flaky i18n test.

Full changelog

v9.79 2026-07-06 WeKan ® release

This release fixes the following bugs:

  • Fix #6439: Custom (drag order) sort on All Boards page now reorders via drag-and-drop:
    On the All Boards page the jQuery-ui sortable that reordered boards in the "Custom (drag order)"
    mode was removed when the page switched to HTML5 drag-and-drop for workspaces, and nothing
    replaced it, so dragging a board showed a not-allowed cursor and never updated
    profile.boardSortIndex. Added HTML5 dragover/drop reorder handlers on the board tiles in
    client/components/boards/boardsList.js (active only in the custom sort mode), a
    setBoardSortIndexes helper in models/users.js to persist the new order in one write, a
    drop-hint style in client/components/boards/boardsList.css, and extracted the reorder
    decision/index math into the pure, unit-tested models/lib/boardSortReorder.js. Covered by
    tests/boardSortReorder.test.cjs.
    Thanks to jullbo and xet7.

  • Fix #6440: '+' add-item button on minicard checklist does nothing:
    On the minicard the checklist add-item <form> is rendered inside the a.minicard-wrapper
    anchor, so the native form submit event never reached the Blaze event map — the #5565
    minicard-checklist work wired only a submit .js-add-checklist-item handler (which never fires
    there) and gave the Save button no click handler, so clicking "+" Save did nothing. Added an
    explicit click .js-submit-add-checklist-item-form handler in
    client/components/cards/minicard.js (mirroring the working edit-item button) that inserts the
    item, with the blank-input guard and title parsing extracted into the pure, Meteor-free
    models/lib/checklistItemTitles.js. Card-detail checklists are unaffected. Covered by
    tests/checklistItemTitles.test.cjs.
    Thanks to jullbo and xet7.

  • Fix #6441: label filter now applies board-wide across all swimlanes:
    A label filter hid non-matching cards in one swimlane (e.g. "Focus") but left another swimlane
    (e.g. "Background") unfiltered. Each list scopes its cards to the current swimlane while also
    showing shared/orphaned cards that have no swimlane; that fallback was written as a bare
    top-level $or, which competes with the board Filter's own top-level $or (label/member
    criteria) when the two selectors are combined — dropping the label criterion in every swimlane
    except the default one. The swimlane-membership fallback is now a single
    swimlaneId: { $in: [id, null, ''] } clause (the same form already used in sidebarFilters.js,
    cardDetails.js and dialogWithBoardSwimlaneList.js), extracted to the pure, unit-tested
    models/lib/swimlaneFilter.js and used by client/components/lists/listBody.js and
    models/lists.js, so no second $or exists and the filter is always $and-combined and applied
    board-wide. Covered by tests/swimlaneFilter.test.cjs.
    Thanks to jullbo and xet7.

  • Fix flaky server-side Mocha test (i18n zh-CN "is not a spy"):
    The server-side Mocha suite intermittently reported "1 failing" on the #5756
    imports/i18n/i18n.test.js region-tag test with TypeError: [Function] is not a spy. The
    assertion re-read TAPi18n.i18n.addResourceBundle, and the sinon-chai matcher (routed through
    chai-as-promised) could evaluate after this suite's afterEach had already run
    sinon.restore() — at which point the property is the original function, not the stub. The
    .loadLanguage tests now assert on the captured stub reference (restore unwraps the property but
    leaves the spy intact), which is deterministic. Reproduced and verified with a standalone
    sinon/chai script.
    Thanks to xet7.

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]