Task Board – Change Log

Version 5.5.3

2023-09-15

FEATURES / ENHANCEMENTS

  • TaskDrag feature now supports a dragTouchStartDelay controlling how long to tap-hold before a card drag can start (#6915)

Version 5.5.2

2023-08-30

FEATURES / ENHANCEMENTS

  • TaskBoard now fires many new useful events: columnCollapse, columnExpand, columnToggle, swimlaneCollapse, swimlaneExpand, swimlaneToggle, swimlaneHeaderClick, swimlaneHeaderDblClick, swimlaneContextMenu (#7136)

BUG FIXES

  • #7313 – Taskboard ignores state updates to display data
  • #7336 – Dynamic swimlanes not collapsing and throwing an error

Version 5.5.1

2023-08-16

BUG FIXES

  • #7275 – Bad UX on creating new item when simpleTaskEdit feature enabled

Version 5.5.0

2023-07-31

This release is a replacement for the 5.4.3 patch release. It was changed to a minor version because of some larger changes behind the scenes to pave the way for future support for live updates in Scheduler Pro and Gantt.

BUG FIXES

  • #7221VUE Vue vite app doesn't compile with Bryntum vue wrappers

Version 5.4.2

2023-07-26

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 5.4.1

2023-07-13

FEATURES / ENHANCEMENTS

  • We have created a public repository to showcase Salesforce demos. All previous demos are merged into one Lightning Application which is easy to install to a new scratch org. You can find more information in updated guides and in this repository: https://github.com/bryntum/bryntum-salesforce-showcase#bryntum-salesforce-showcase
  • We have created a public Salesforce org where this app is preinstalled. You can find link to it and login credentials on the updated examples page

BUG FIXES

  • #6077TypeScript Model constructors should allow second param

Version 5.4.0

2023-06-30

FEATURES / ENHANCEMENTS

  • Widget has a new config, maximizeOnMobile which takes effect only on floating widgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard. This will make event editing much easier to use on mobile devices (#6522)
  • On mobile devices, type : 'checkbox' is rendered as a slidetoggle widget. The API and value is the same, it is just a more appropriate UI for the platform
  • The TaskEditor's color field TaskColorCombo has been updated with a more compact color picker. The field is also the same field used in other products when editing color values. The picker is also used in newly added context menus color options as well as the new Grid ColorColumn
  • For a slightly better docs experience for most users, the docs browser now by default hides some more obscure APIs normally only used when implementing own widgets and features. Advanced users in need of these APIs can still opt in to see them using the Show menu in the docs browser
  • TaskBoard now uses an index to lookup tasks in each column / swimlane intersection. Before this change, it did a linear search per intersection. The new approach greatly boosts rendering performance with a large amount of swimlanes and columns. Tradeoff is more expensive processing on column and swimlane CRUD, to rebuild the index (#6992)

Version 5.3.8

2023-06-28

BUG FIXES

  • #6712 – Avatar clipped when hovered

Version 5.3.7

2023-06-20

BUG FIXES

  • #6910 – Bug on filtering tasks demo
  • #7023 – Column label does not render when collapsed

Version 5.3.6

2023-05-26

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 5.3.5

2023-05-11

BUG FIXES

  • #6384 – Inconsistent tool order in header of inline collapsed panel
  • #6701IONIC Scrollbar width could not be determined under Ionic framework

Version 5.3.4

2023-04-28

BUG FIXES

  • #6652 – Minified UMD bundle does not export bryntum namespace

Version 5.3.3

2023-04-21

FEATURES / ENHANCEMENTS

  • ANGULAR Bryntum TaskBoard now ships with two npm Angular wrapper packages to support different versions of Angular framework. Existing @bryntum/schedulerpro-angular package is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New @bryntum/taskboard-angular-view package is designed to work with Angular 11 and older versions, which use the View Engine rendering. Check Upgrading and Angular integration guides in documentation for more information (#6270)
  • ANGULAR angular-11 demo has been updated to show use of @bryntum/taskboard-angular-view package with Angular 11. Demo is located in examples/frameworks/angular/angular-11 folder
  • ANGULAR inline-data demo has been upgraded to use Angular 15. Demo is located in examples/frameworks/angular/inline-data folder

BUG FIXES

  • #6460 – Missing taskboard translation for swimlane expand/collapse tooltips

Version 5.3.2

2023-04-04

BUG FIXES

  • #6395ANGULAR Cannot use StateProvider with a production build

Version 5.3.1

2023-03-17

API CHANGES

  • Date parsing was made more forgiving in regard to character used to separate date parts. For example these strings are now all acceptable as HH:mm: 10:20, 10 20, 10-20, 10/20 (#6344)

BUG FIXES

  • #6222 – Long column title is not showing properly
  • #6249ContextMenuBase#showContextMenu() should allow async ${type}MenuBeforeShow handlers
  • #6351 – Components do not render into containers not already in DOM
  • #6374 – Rendering artefact when moving task between swimlanes

Version 5.3.0

2023-03-02

FEATURES / ENHANCEMENTS

  • TaskBoard now supports partial virtualized rendering, which improves performance when using thousands of tasks. Enable the new virtualized config to activate this mode. When doing so, note that since the full height of all tasks is not known, the scrollbar will be jittery as you scroll. Be supplying a getTaskHeight() function that returns the height of all tasks, the full height will be known and scrolling will be smooth (#3414, #6172)
  • The CSS with predefined colors for Button, Checkbox, Radio, SlideToggle & Toast was changed to reduce file sizes (cuts away ~20% of the size of TaskBoard's standalone CSS-bundles), while also making it easier for us to add more colors in the future
  • Localization demos updated to show up-to-date localization approach
  • Lots (but not all) of the not so informative object types in our TypeScript typings have been replaced with more specific types. Objects that in our JavaScript are used as maps are now declared as Record<keyType, valueType>, and for functions that accept object arguments many are replaced with anonymous type declarations, such as { foo: string, bar: number } (Partially fixed #5176)
  • Buttons for collapsing and expanding columns and swimlanes are now keyboard accessible. Also applies to task menu buttons in the cards (#6170)
  • AjaxHelper.fetch now supports using request body to pass parameters for non-GET requests. Please check addQueryParamsToBody argument in the method documentation (#2855)

API CHANGES

  • DEPRECATED LocaleManager.registerLocale and LocaleManager.extendLocale are deprecated. LocaleHelper.publishLocale should be used instead.

LOCALE UPDATES

  • Locales format and process for applying locales have been simplified
  • New locales for 31 languages have been added. Currently available languages are listed in the localization guide (Guides/Customization/Localization)

BUG FIXES

  • #6273 – TaskBoard does not apply the TaskModel's cls field to the card in the DOM

Version 5.2.10

2023-02-17

API CHANGES

  • Recently browsers have added support for Unicode 15, which changes the output of Intl.DateTimeFormat when formatting time to include AM/PM. Those browsers now use "thin space" (\u202f) instead of regular space. This affects the DateHelper.format() function, but likely you do not need to take any action in your application. It also affects DateHelper.parse(), which has been updated to support the new unicode space (#6193)

Version 5.2.9

2023-01-30

FEATURES / ENHANCEMENTS

  • The backend-sync demo was updated to be compatible with PHP 8.2

BUG FIXES

  • #6019TypeScript Feature classes and configs have on event handlers exposed on owner class

Version 5.2.8

2023-01-19

BUG FIXES

  • #5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded

Version 5.2.7

2023-01-11

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 5.2.6

2022-12-28

FEATURES / ENHANCEMENTS

  • REACT React wrapper now supports React components in widgets and tooltips (#774)

BUG FIXES

  • #5784 – TaskBoard UI should respect the singleAssignment flag

Version 5.2.5

2022-12-16

BUG FIXES

  • #5592 – Typo property of ProjectModel.toJson() result
  • #5699 – Overlap when dragging multiple tasks in Columns demo

Version 5.2.4

2022-11-28

FEATURES / ENHANCEMENTS

  • 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)

BUG FIXES

  • #5595 – Fix panel collapse icon directions

Version 5.2.3

2022-11-17

BUG FIXES

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

Version 5.2.2

2022-11-08

API CHANGES

  • 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

2022-10-28

FEATURES / ENHANCEMENTS

  • 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)

BUG FIXES

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

Version 5.2.0

2022-10-13

FEATURES / ENHANCEMENTS

  • 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

BUG FIXES

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

Version 5.1.5

2022-10-12

FEATURES / ENHANCEMENTS

  • 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

BUG FIXES

  • #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

2022-09-29

API CHANGES

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

BUG FIXES

  • #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

2022-09-09

BUG FIXES

  • #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

2022-08-29

FEATURES / ENHANCEMENTS

  • 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

BUG FIXES

  • #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

2022-07-28

BUG FIXES

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

Version 5.1.0

2022-07-21

FEATURES / ENHANCEMENTS

  • 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)

API CHANGES

  • 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

BUG FIXES

  • #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

2022-07-13

BUG FIXES

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

Version 5.0.6

2022-06-20

BUG FIXES

  • #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

2022-05-30

BUG FIXES

  • #4607VUE Incorrect prop types in Vue wrapper

Version 5.0.4

2022-05-11

FEATURES / ENHANCEMENTS

  • 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)

BUG FIXES

  • #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

2022-04-26

FEATURES / ENHANCEMENTS

  • 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)

API CHANGES

  • 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)

BUG FIXES

  • #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

2022-04-13

BUG FIXES

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

Version 5.0.1

2022-03-04

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #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

2022-02-21

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

FEATURES / ENHANCEMENTS

  • 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

API CHANGES

  • 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

BUG FIXES

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

Version 4.3.9

2022-02-17

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 4.3.8

2022-02-07

BUG FIXES

  • #3748 – Date field is cleared unexpectedly

Version 4.3.7

2022-02-02

BUG FIXES

  • #4082 – Relayed listeners do not trigger onFunctions

Version 4.3.6

2022-01-13

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #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

2021-12-24

BUG FIXES

  • #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

2021-12-13

BUG FIXES

  • #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

2021-11-30

BUG FIXES

  • #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

2021-10-29

FEATURES / ENHANCEMENTS

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

Version 4.3.1

2021-10-21

FEATURES / ENHANCEMENTS

  • Bumped builtin Font Awesome Free to version 5.15.4

BUG FIXES

  • #3567 – Minified css bundle contains unicode chars

Version 4.3.0

2021-10-12

FEATURES / ENHANCEMENTS

  • 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)

API CHANGES

  • 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

2021-10-01

BUG FIXES

  • #3458 – Document nested fields

Older versions

  • Full release version history can be found here.