Task Board – Change Log

Version 5.2.4



  • We recently launched a new homepage over at bryntum.com, and have now slightly updated the styling for demos and docs to better match it (new logo, new header color, new font). Please note that this is not a change to our themes, only the look of the demos, and it won't affect your application
  • Added beforeSave (preventable), save, beforeCancel (preventable) and cancel events to the TaskEdit feature (#5448)


  • #5595 – Fix panel collapse icon directions

Version 5.2.3



  • #5418 – Swimlane names with certain special characters are double encoded
  • #5543 – Swimlanes should update after sorting them

Version 5.2.2



  • DEPRECATED The behaviour of the store.data getter will be changed in 6.0. Currently, it returns the **initial** raw dataset, in 6.0 it will be changed to have the more expected behaviour of returning the data objects for the **current** state instead. See Grid's upgrade guide for more information (#5499)

Version 5.2.1



  • The showMenuFor function in the TaskMenu feature was made public. It now also accepts a CSS selector to show the menu aligned to a specific element in the task's card (#5320)


  • #5149 – Angular demos now use component-local styles using ViewEncapsulation.None

Version 5.2.0



  • Added a new isTaskSelectable config, to which you can supply a fn used to determine if a task is selectable in the UI, matching the isEventSelectable functionality in Scheduler (#4213)
  • Added a showCollapseTooltip config, allowing apps to opt out of the tooltip shown when hovering the expand/collapse button for columns and swimlanes (#4818)
  • Menu has a separator config to make it easier to visually separate menu items
  • The responsive state objects used in the responsive config of the Responsive mixin now support a once property to allow configs to only be set on first activation of the state
  • The Core.helper.DateHelper class has a new method formatRange method which can format date ranges, as well as new formatting options for week numbers


  • #5245 – Too low contrast on buttons in dark theme

Version 5.1.5



  • New records are assigned a generated id if none is provided. The generated id is meant to be temporary (a phantom id), and should be replaced by the backend on commit. Previously the id was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the same id during a session, but if an application serialized the generated id (note, they should not) and then reloaded it, it would eventually collide with a new generated id. To prevent this, the generated ids are now based on a random UUID instead
  • Stores now by default show a warning on console when loading records that has generated ids, as a reminder that it should be replaced by the backend on commit


  • #4645 – Improve error message "Bryntum bundle included twice"
  • #4654REACT Bryntum widget wrappers don't accept all component properties in React 18

Version 5.1.4



  • Added renderTasks event which is triggered when all tasks in the task board are rendered (#5224)


  • #4419 – Add getters/setters to work with project data to TaskBoard instance level
  • #5229 – Should allow viewing editor panel for readonly task
  • #5276 – Error when trying to update swimlanes and columns at same time

Version 5.1.3



  • #415 – Improve docs on formatting currency values on NumberField
  • #5101 – Should expand when clicking anywhere on a collapsed Kanban column
  • #5125 – Setting an initial value for activeTab on a TabPanel no longer animates that tab into view

Version 5.1.2



  • Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed config object rather than a plain object. For example instead of {Object} tooltip - A tooltip configuration object, it is now {TooltipConfig} tooltip - A tooltip configuration object. This improves our TypeScript typings (transforms to Partial<TooltipConfig> in typings) when using such configs, but also improves our docs by linking to the configs of the type


  • #4826 – Error occurred when using dot character in column id
  • #5017TypeScript Property type is missing in DataFieldConfig
  • #5018Vue Prop Validation fails for String options

Version 5.1.1



  • #4966 – TaskBoard taskboard.module.wc bundle with WebComponents doesn't export all classes

Version 5.1.0



  • Our TypeScript typings for string types that have a predefined set of alternatives was improved to only accept those alternatives. For example previously the dock config which was previously declared as dock: string is now dock : 'top'|'right'|'bottom'|'left'
  • Create React App templates now available
  • Configuring the crud manager functionality of the project was made a little easier by introducing shortcuts for setting load and sync urls using the new loadUrl and syncUrl configs
  • Updated the built-in version of FontAwesome Free to 6.1.1
  • KeyMap is a mixin that allows for standardized and customizable keyboard shortcuts functionality. KeyMap is by default mixed in to Widget and therefore available to all Widget's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)
  • Project optionally allows sync() calls without local changes, to retrieve changes from the backend. Configure forceSync : true to enable this new behaviour (#4575)


  • DEPRECATED The breakpoints config of the Core.widget.mixin.Responsive mixin is deprecated in favor of its new responsive config. The responsive config is more easily customized when used in the default configuration of widgets
  • DEPRECATED The responsiveWidthChange and responsiveHeightChange events of the Core.widget.mixin.Responsive mixin are deprecated in favor of its new responsiveStateChange event
  • BREAKING ANGULAR Angular wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2786)
  • BREAKING taskboard.lite.umd.js bundle is no longer available
  • BREAKING WebComponents has been removed from taskboard.module.js ES modules bundle. New bundle with WebComponents is taskboard.wc.module.js


  • #4696 – Parents sorted below children in docs
  • #4697 – Too dark code background in docs
  • #4923 – Column names with certain special characters are double encoded
  • #4924taskBoard.columns.insert appends 2 columns at once

Version 5.0.7



  • #4810 – Backend sync demo not saving assignments
  • #4861taskDragEnd don't have event property
  • #4916Fullscreen is not working on mobile Safari

Version 5.0.6



  • #4700 – Fields not saved after clicking outside editor
  • #4808 – Typings are wrong for async functions
  • #4811 – When all TaskBoard columns are collapsed, icon badly positioned

Version 5.0.5



  • #4607VUE Incorrect prop types in Vue wrapper

Version 5.0.4



  • Adding custom colors to tasks, column and swimlanes was slightly simplified in this release by making the color field of TaskModel, ColumnModel & SwimlaneModel accept color codes (#, rgb, hsl) in addition to predefined named colors. Used in the updated scrolling demo
  • TaskBoard has a new function that removes one or more tasks, removeTask(). It fires an async preventable beforeTaskRemove event, allowing apps a chance to show confirmation dialogs etc. The new fn is called by the Remove task context menu item. Simple implementation added to the task-menu demo (#3813)
  • The TaskEdit feature now fires an async preventable beforeTaskEdit event to for example allow preventing the editor from showing for certain tasks. It also triggers a beforeTaskEditShow event a bit later in the process, after the editor has been created but before data is loaded into it. It allows apps to manipulate the editor at runtime. The task-edit demo was updated to use both events (#4215)


  • #4542 – With simple task edit enabled click new and task scrolls out of view
  • #4558 – Configuration panel demo sidebar overflow issue
  • #4562REACT React wrappers have incorrect source mapping urls
  • #4576 – Focus is lost when adding new tasks

Version 5.0.3



  • WRAPPERS ProjectModel wrapper component reference can now be used as project parameter for Bryntum TaskBoard wrapper component in Angular and Vue applications (#4238)
  • WRAPPERS TaskBoard has a new ProjectModel framework wrapper available for React, Vue and Angular. It simplifies sharing data between multiple Bryntum components (#4382)
  • ANGULAR New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/angular/inline-data folder
  • REACT New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/react/javascript/inline-data folder
  • VUE-3 New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/vue-3/javascript/inline-data folder
  • REACT New basic React demo with TypeScript. Demo located in examples/frameworks/react/typescript/basic folder
  • TaskBoard now officially supports changing columnField and swimlaneField at runtime (#4418)


  • The validateResponse flag on ProjectModel has been changed to default to true. When enabled, it validates responses from the backend and outputs a message on console if the format isn't valid. This is helpful during the development phase, but can be turned off in production
  • New Vue 2/3 wrapper config option relayStoreEvents (defaults to false). When set to true, the events fired by stores are relayed to the Bryntum Grid instance
  • REACT React wrappers now include TypeScript definitions (#3378)


  • #4081 – A race-condition exception when creating a new task with remote data
  • #4127LWC DomHelper.isInView() throws
  • #4222LWC Performance degradation in 5.0 release
  • #4329 – TaskBoard column rendering breaks after adding and collapsing lots of columns
  • #4432LWC Mouse events do not work
  • #4461Vue wrapper triggers doubled dataChange events with different params

Version 5.0.2



  • #3548SimpleEdit should cancel when scrolled out of view
  • #4406 – Fixed items in disabled fieldset/radiogroup not being disabled

Version 5.0.1



  • TaskBoard now triggers beforeSimpleTaskEdit, simpleTaskEditComplete (on success) and simpleTaskEditCancel (when aborted) events when using the SimpleTaskEdit feature to edit tasks inline (#3156)


  • #4244 – Corrected RadioGroup interaction with autoUpdateRecord not producing the correct value. This presented in the task edit example's department custom editor field not properly saving its value

Version 5.0.0


We are thrilled to announce version 5.0 of our Kanban TaskBoard product. This release marks a big milestone for us, after more than a year of development. This update makes it much easier to combine multiple Bryntum products, and also includes improvements to our demos and other enhancements requested by our community. A big thanks to our customers who helped us with testing our alpha & beta versions

You are most welcome to join us on March 16th, at 9am PST (6pm CET) for a 5.0 walkthrough webinar, demonstrating all the shiny new features Click here to register

We hope you will enjoy this release and we are looking forward to hearing your feedback of what you would like us to develop next */ Mats Bryntse, CEO @Bryntum


  • Each product has a new "thin" JavaScript bundle. The thin bundle only contains product specific code, letting you combine multiple Bryntum products without downloading the shared code multiple times (previously only possible with custom-built bundles from sources). Find out more in the What's new guide (#2805)
  • Each theme is now available in a version that only has product specific CSS in it, called a thin version. These files are name product.theme.thin.csstaskboard.stockholm.thin.css for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times Read more about it in the What's new section in docs (#3276)
  • The context menu used to assign resources can now be configured to show resource avatars using the showAvatars config on the TaskMenu feature
  • Model has a new readOnly field that is respected by UI level editing features to disallow editing records having readOnly : true. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)
  • New ProjectModel setters/getters for events, resources (#4043)
  • Columns can now show a tooltip when being hovered, configured through tooltip in the column data (#4087)
  • window references are replaced with globalThis which is supported in all modern browsers and across different JS environments (#4071)
  • A new function called downloadTestCase() was added to Bryntum widgets, it is intended to simplify creating test cases for reporting issues on Bryntum's support forum. Running it collects the current value for the configs your app is using, inlines the current dataset and compiles that into a JavaScript app that is then downloaded. The app will most likely require a fair amount of manual tweaking to reproduce the issue, but we are hoping it will simplify the process for you. Run taskboard.downloadTestCase() on the console in a demo to try it
  • Updated FontAwesome Free to version 6, which includes some new icons sponsored by Bryntum in the charts category: https://fontawesome.com/search?m=free&c=charts-diagrams&s=solid
  • Added a taskSorterFn config that allows overriding the sort order of the tasks on the UI level. By default tasks appear in store order, using this config you can affect that. Useful when sharing the project with another product where you might not want the same sort order as in TaskBoard


  • BREAKING React wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2787)
  • BREAKING TaskDrag used to reorder task records in the TaskStore on drop. This behaviour was made opt in, since it does not work as expected when sharing the data with other components. By default now only the column, swimlane and weight of tasks is changed on drop. If your app requires the old behavior, configure the feature with reorderTaskRecords : true


  • #4135 – Crash when double clicking task in basic demo

Version 4.3.9



  • Internal code improvements and bugfixes

Version 4.3.8



  • #3748 – Date field is cleared unexpectedly

Version 4.3.7



  • #4082 – Relayed listeners do not trigger onFunctions

Version 4.3.6



  • The focus outline for cards now uses CSS outline instead of an overlaid pseudo element to work better with custom styled cards


  • #3881 – TodoList updated even when cancelling task editing
  • #3894 – TaskBoard trapping focus when navigating by keyboard
  • #3990 – Chrome & Content Security Policy causes failure because of debug code section

Version 4.3.5



  • #3849 – 'todolist' defaultValue shared between all new tasks
  • #3896TypeScript Wrong typings of model class configs
  • #3907TypeScript Cannot pass Scheduler instance to Store.relayAll
  • #3928 – DateHelper k format behaves incorrectly

Version 4.3.4



  • #3475 – Error thrown when changing column field from editor
  • #3621TypeScript Improve typings of mixins
  • #3705 – SwimlanePickerButton not updated when swimlanes change
  • #3850TypeScript Missing static properties in typings
  • #3880 – Todo list widget crashes if null value is set

Version 4.3.3



  • #3648DOCS Content navigation is broken
  • #3712 – Required field not respected in TaskBoard editor
  • #3743DOCS web.config file for Windows IIS server

Version 4.3.2



  • TaskCopyPaste feature now fires beforeCopy and beforePaste events to let you prevent the actions (#3303)

Version 4.3.1



  • Bumped builtin Font Awesome Free to version 5.15.4


  • #3567 – Minified css bundle contains unicode chars

Version 4.3.0



  • Pressing SHIFT during keyboard navigation now extends the selection, similar to how it works in Finder/Explorer
  • Tasks can now be flagged as readOnly, preventing them from being edited using the UI (#3049)


  • DEPRECATED Buttons menuIconCls config was deprecated in favor of the new menuIcon config, which better matches the naming of other configs

Version 4.2.7



  • #3458 – Document nested fields

Version 4.2.6



  • You can now configure which event should trigger the task edit feature (#3381)
  • TaskMenu now has a configurable triggerEvent allowing you to define which event (if any) should trigger it (#3399)


  • #3401 – Simple task editor not shown when adding new task which needs to be scrolled into view
  • #3408 – Updated typings to support spread operator for method parameters

Version 4.2.5



  • The API documentation now better communicates when a field or property accepts multiple input types but uses a single type for output. For example date fields on models, which usually accepts a String or Date but always outputs a Date (#2933)
  • The key mapping for TaskBoard's card navigation and selection and relevant features (currently only SimpleTaskEdit) can now be easily changed using new keyMap configs (#3137)


  • #3322 – Add dataChange event to framework guides

Version 4.2.4



  • #3110 – Unnecessary sync request when card is dropped at the same place
  • #3241 – TaskMenu should close after selecting a new column to move the task to
  • #3265 – Docs are not scrolled to the referenced member
  • #3305 – Guides look bad in the docs search results
  • #3306 – Doc browser does not scroll to member

Version 4.2.3



  • By default keyboard navigation moves focus between tasks without affecting selection. Pressing SPACE then toggles selection for that task (CTRL + SPACE to extend selection). Using the new selectOnNavigation config the behaviour can be changed to move both focus and selection on navigation (#3138)
  • NPM Bryntum Npm server now supports remote private repository access for Artifactory with username and password authentication (#2864)
  • Pressing SHIFT during keyboard navigation now extends the selection, similar to how it works in Finder/Explorer
  • Project can now log warnings to the browser console when it detects an unexpected response format. To enable these checks please use the validateResponse config (#2668)
  • TaskBoard has a new collapseTitle config that controls whether the column title is rotated or hidden on collapse By default it now rotates the titles. Please note that it does not apply when using swimlanes, since the column title would obscure the swimlane header. (#3084)
  • TaskDrag now fires events similar to what is available for Event/TaskDrag in Scheduler/Gantt: beforeTaskDrag, taskDragStart, taskDrag, beforeTaskDrop, taskDrop, taskDragAbort and taskDragEnd. On display in the new task-drag demo (#3050)
  • ColumnDrag fires a very similar set of events: beforeColumnDrag, columnDragStart, columnDrag, beforeColumnDrop, columnDrop, columnDragAbort and columnDragEnd. Try it out in the new column-drag demo (#3217)
  • TYPINGS Type definitions now contain typed features configs and properties (#2740)


  • #2948 – CrudManager should handle autoSync during sync
  • #3034 – Column scroll position is lost when adding new task
  • #3054 – Task drop is cancelled when dropping on swimlane or column header
  • #3083 – Task selection marquee not removed

Version 4.2.2



  • NPM Bryntum Npm server now supports npm token command for managing access tokens for CI/CD (#2703)


  • #3167 – LWC bundle is missing from trial packages
  • #3178 – Syntax highlighter messes up code snippets in docs

Version 4.2.1



  • The SimpleTaskEdit feature now has an editorConfig to configure its Editor (#3130)
  • FRAMEWORKS Added missing features to frameworks wrappers (#3135)


  • #3035 – Tasks drag does not start when pressing certain parts of the element
  • #3136NPM Running npm install twice creates modified package-lock.json file

Version 4.2.0


We are happy to announce the first version of our new TaskBoard!


  • Added support for inline editing of cards, using the SimpleTaskEdit feature (#2813)
  • Added a localization demo (#2824)
  • Added Lightning Web Component demo, see examples/salesforce/src/lwc (#2827)
  • The TagCombo now tries to extract tags from the task store when it is not populated by the app
  • Added a new ProjectCombo widget, which allows picking from a set of urls to reload the project
  • Added a backend-sync demo, showing how to sync to a backend using built in crud manager functionality (#2708)
  • Added transitions for adding, removing and sorting tasks (and more) linked to the useDomTransition flag
  • Added "Upgrade Font Awesome icons to Pro version" guide
  • Added "Replacing Font Awesome with Material Icons" guide
  • Added TaskMenu feature, which allows displaying and customizing a context menu for tasks
  • Configuring TaskEditor with autoUpdateRecords: false automatically displays a toolbar with save and cancel buttons
  • Added UndoRedo widget and demo showing how to set it up
  • New guides: "Working with columns", "Working with swimlanes" and "Customize task menu"
  • Added more task items, miniature widgets that you can populate your cards with. The following items are now available: Image, Progress, Rating, ResourceAvatars, Separator, Tags, Template and Text
  • Resource avatars can be configured to overlap
  • Column collapse buttons made larger + click area enlarged further to make them easier to hit
  • Swimlanes collapse on header click
  • Added new responsive demo
  • Added new zooming demo (#2707)
  • Added a new column header menu feature and accompanying demo (#2700)
  • Added new task menu demo, showing advanced custom menus
  • Added a new task item, TodoListItem, that displays todo lists with checkboxes on the cards. Accompanying it is a new field called TodoListField that can be used in the task editor to display and edit the lists there. Comes with a new demo, named todo-list
  • Added a tutorial to the docs (#2793)
  • New web component demo
  • New SimpleTaskEdit feature for inline editing of cards. Comes with a new demo (Partial fix #2813)
  • The "Add new task" button in column toolbars now scrolls the new task into view (#2814)
  • Bumped the @babel/preset-env config target to chrome: 75 for the UMD and Module bundles. This decreased bundle sizes and improved performance for modern browsers
  • Improved docs


  • #2710 – Column toolbar should stick to bottom
  • #2768 – Crash when removing task
  • #2823 – Responsive issue with resource avatar
  • #2825 – Wrong target drop area highlighted as dragged card enters new column
  • #2826 – Cards lose their place when dragged horizontally a bit
  • #2831 – ColumnHeaderMenu doesn't hide after showing
  • #2833 – Taskeditor does not close on Escape key in docs
  • #2835 – 'true' tooltip shown in docs
  • #2840 – TaskBoard docs: API diff grid not working
  • #2868 – Key navigation breaks when editing is completed with Enter key
  • #2869 – Task drag proxy is misplaced when vertical overflow changes
  • #2870 – Body scroll affects dragged task position
  • #2881 – Touch-dragging cards does not work if finger down on a resource avatar
  • #2967 – Prevent scrollbar showing when collapsing swimlane

Older versions

  • Full release version history can be found here.