Gantt – Change Log
Version 6.1.2
2024-10-11DEMOS
- VUE-3-VITE New basic demo (Vue 3 vite) shows how to use Bryntum Gantt in Vue 3 project with TypeScript. The demo is located in
examples/frameworks/vue-3-vite/basic
folder (9808)
BUG FIXES
- 8263 –
CRUD
manager loses changes when applying sync response - 10004 – HIGH PRIO Task duration "M" is incorrectly converted to minutes
- 10067 – WBS index is out of sync
- 10080 – Hidden columns should be included in excel export if exportable set to true
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.1.1
2024-09-27FEATURES / ENHANCEMENTS
- We have published the first parts of the Bryntum Design System over at https://www.figma.com/@bryntum. It currently covers Gantt, but will evolve to cover all our products
API CHANGES
- Previously, the presence of an
onCellClick
method on a column would prevent cell editing when thecellEdit
feature was configured withtriggerEvent: 'cellclick'
. Now, to prevent cell editing at the column level, configure the column witheditor: false
instead.
BUG FIXES
- 9981 – Editor does not open on single click for assigned resources column with
triggerEvent : 'cellclick'
- 10079 – No available dependency to select when importing .mpp file
- 10085 – HIGH PRIO Not possible to navigate cells using ‘LEFT’/<span class="badge
right
">RIGHT
keys - 10090 – Bug MSP Export: task calendars not exported correctly
- 10097 – Elapsed duration units throw exception on converting
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.1.0
2024-09-18FEATURES / ENHANCEMENTS
- Task model has got elapsed duration units support. Please check "What’s new …" guide for more details (8350)
- With some configurations, zooming in and out of the Gantt could lead to a very long time axis, which degraded performance. To prevent this, it now limits how many ticks (the bottommost unit) its time axis can contain to 10,000 (which will give a very long scroll range even with small tick sizes)
- You can now drag multiple selected task bars at once in the schedule area. Enable this with the new
dragAllSelectedTasks
property available on theTaskDrag
feature. This property will be defaulttrue
from v7.0 (7408) - Added a new config option,
showUnscheduledTasks
, to display unscheduled tasks in the Gantt Chart. It defaults totrue
, which show tasks that have eitherstartDate
or bothduration
andendDate
set tonull
in the Gantt chart as icons (7536, 8417) - It is now possible to postpone resolution of certain scheduling conflicts – either via conflict popup dialog or automatically. Task with postponed conflict will be marked with a flag. Please refer to the documentation of
allowPostponedConflicts
andautoPostponedConflicts
options (9393) - The regular non-Ajax
Store
now has the ability to accept remote paging, sorting and filtering ExcelExport
feature got a minor refactoring, and now uses more feature-richwrite-excel-file
library (6089)
DEMOS
- New
postponed-conflicts
demo, showing how to postpone resolution of conflicts between dependencies and task’s own hard constraint. This demo also shows how to apply custom processing logic for task’s constraints
BUG FIXES
- 9854 – Gantt crash if multi-dragging an unscheduled task
- 9953 – Crash if trying to multi resize including
unscheduled
task - 9961 – Multi-drag of constrained task not restored after drop
- 9968 – Gantt crashes when dragging multiple selected tasks
- 9982 – Gantt throws error when rendered with
infiniteScroll: true
and splitter offscreen - 9995 – Incorrect manual task duration when effort is fixed
- 10052 – Gantt
TreeGroup
throws exception when grouping by assignment column - 10053 – Gantt
TreeGroup
doesn’t rollup effort values
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.6
2024-09-13API CHANGES
- The default value of
ProjectModel
trackProjectModelChanges
will betrue
from v7.0.
DEMOS
msprojectimport
demo has been updated to use MPXJ v13.3.0- REACT-VITE Migrated "Basic setup" demo to React Vite. New demo is located in
frameworks/react-vite
folder (9932)
BUG FIXES
- 3661 – HIGH PRIO Gantt – parent tasks disappear at extreme zoom level(s)
- 9449 – HIGH PRIO Error when between filter is used in Duration column
- 9789 – Drag and fill creates unexpected/invalid values when dragging horizontally
- 9848 – Changing
ProjectModel
‘scalendar
does not trigger sync - 9866 – HIGH PRIO Empty line shown after adding pressing
Enter
while editing withaddToCurrentParent
set totrue
- 9888 – Error when clicking
zoomToFit
withinfiniteScroll
enabled and Gantt chart collapsed - 9895 – Errors when opening gantt with
infinite scroll
andcollapsed
graph - 9952 – Buttons with Menus converted to checkable
MenuItems
in overflow Menu - 9977 – MSProject import demo displays incorrect data
- 9979 – Calendar editor New exception is not localized
- 9984 –
TaskModel.isEditable
should take the record readOnly into account - 10013 – Cannot read properties of undefined (reading ‘getTime’)
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.5
2024-08-30DEMOS
- Added
relative-timeaxis
demo to show how to render a relative timeaxis with integers instead of dates (9589) - REACT-VITE React JavaScript "Advanced" demo has been updated to use React + Vite + TypeScript. New demo is located in
frameworks/react-vite/advanced
folder. Old demo has been removed (9827)
BUG FIXES
- 3660 – Event
durationMS
is not synced with duration value - 5233 – ANGULAR Frameworks wrappers components not triggering some events
- 5619 – HIGH PRIO REACT PDF Export Missing Cells
- 7387 – HIGH PRIO
ResourceUtilization
should not expand a collapsed resource when assigning it - 8798 – HIGH PRIO Setting
duration
asfield
goes to infinity on edit - 9021 – Setting new fields using
setConfig
method on existing project instance resulting in crash - 9256 – HIGH PRIO Gantt tasks rendering bug after applying print feature
- 9698 –
TaskNonWorkingTime
elements not updated onrowHeight
change - 9718 – VUE-3 Preventable events don’t work in Vue wrapper
- 9719 –
TimeSelection
feature isn’t working for Gantt - 9728 – HIGH PRIO STM cannot undo a transaction, which moves event and reassigns it
- 9741 – Exception thrown when loading data into individual stores with
loadDataAsync
- 9753 – Duration column editor is not respecting
decimalPrecision
- 9757 –
focusOnHover
not working for submenu - 9806 –
ResourceHistogram
w/NonWorkingTime
feature changes project default calendar intervals - 9819 – Font awesome tree arrows too big on touch screen
- 9835 – HIGH PRIO Code editor shows error on editing demo code
- 9867 – Overflow twins of Buttons have a checkbox
- 9878 – Percent done rendering with too many decimals
- 9879 – Delay after editing in
percentDone
cell and hitting Enter
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.4
2024-08-02FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.3
2024-07-26FEATURES / ENHANCEMENTS
- The plugin processing has been updated to correctly handle multiple plugin configurations
BUG FIXES
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.2
2024-07-24FEATURES / ENHANCEMENTS
TimelineHistogram
,ResourceHistogram
andResourceUtilization
views got two new hooks providing more control over the rendered charts DOM elements. Please check "What’s new" guide for more details (9037)- Updated
multiple-gantt-charts
demo to enable dragging of task rows between Gantt instances - Bumped the built-in version of FontAwesome Free to
v6.6.0
, which includes a new table-cells-row-unlock icon sponsored by Bryntum
API CHANGES
- The Gantt introduces a new config affecting started tasks scheduling. Such tasks can now be treated as manually scheduled to preserve their dates. The rationale behind this is starting a task implies its start date gets established and thus should not be calculated dynamically. Please see the release "What’s new" guide for details (3211, 6769)
- DEPRECATED
TimelineHistogram
,ResourceHistogram
andResourceUtilization
classesgetRectClass
config in favor of newgetBarClass
config to make naming more consistent
DEMOS
- REACT-REMIX "Basic" (React + Remix) demo shows using Gantt component in Remix. The demo is located in
frameworks/react-remix/basic
folder (4912) - SHAREPOINT Updated the SharePoint Framework (SPFx) in the
frameworks/react/typescript/sharepoint-fabric
to be compatible with recent versions of SharePoint (9224)
BUG FIXES
- 9423 – Bryntum gantt baseline bar is smaller than actual task bar when start and end date is same
- 9481 – Filter lost when no results present with remote filtering
- 9528 – Successors removed after using
FillHandle
- 9529 – Move cursor shown instead of row resize cursor
- 9534 – Crash when using
UndoRedo
in narrow window - 9536 – Input field misplaced on pinch zoom while editing in custom
TaskBar
- 9537 – ANGULAR Providing a
type
attribute for widget throws an exception - 9559 – STM do not reset first step after load and call
resetQueue
- 9564 – Crash when copying and pasting into
SequenceColumn
cell - 9630 – HIGH PRIO Task edit error relating to
calendarfield
after updating tov6.0
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.1
2024-07-05BUG FIXES
- 8996 –
resetQueue
does not clear STM queue when called after project modelrevertChanges
method - 9077 – Filter combo not showing correct text when set to false when filtering
ManuallyScheduled
column - 9354 – HIGH PRIO Project start date not calculated under certain conditions
- 9447 –
revertChanges
resetsstartDate
even if it persisted on load - 9461 –
showCurrentTimeline
isn’t working when setting name inTimeline
widget - 9472 – Rollup tooltip misrendered in
portfolio-planning
demo - 9474 – Use real user names + avatars in realtime demo
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.0
2024-06-28We are thrilled to announce version 6.0
of our Gantt product. This release marks a significant milestone for us after more than two years of dedicated development. In this update, we are excited to bring you:
- Live updates via websocket
- A calendar editor
- New column types
- Improved TypeScript typings
- A new code editor in the examples for easy fiddling
- Cool new demos
- Bug fixes and other enhancements requested by our community
A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable
FEATURES / ENHANCEMENTS
- This release introduces the calendar editor – a special widget visualizing and allowing to edit a calendar’s data. The editor can be opened using a new trigger added to the calendar combo, used in the task editor, and the resource calendar column. Please check the "Upgrade guide", "What’s new" and "Calendar editor guide" (356)
- New data column
PlannedPercentDoneColumn
is available for Gantt (790) - Custom styling for milestones in the
Timeline
widget was removed, it did not work for overlapping milestones. The component now usesmilestoneLayoutMode: 'measure'
by default instead (5351) - We implemented new feature called
revisions
which is meant to bring live updates to the Gantt chart. It requires a server-side implementation, which should conform to the protocol described in the documentation. This feature is demonstrated in the newrealtime-updates
demo (6226) - PDF export server has been moved from
examples/_shared/server
folder to its own GitHub repository: https://github.com/bryntum/pdf-export-server (6820) - The
TaskCopyPaste
feature has been enhanced. It now creates clones of the copied records immediately on a copy action. This makes the copied data unaffected by any Store changes between the time of copying and the time of pasting. It also makes it possible to modify the copied data in thebeforePaste
event. Additionally, when copy-pasting between different Gantt instances, the complete record will be copied, not just the fields that has a corresponding column, as it was previous (7814, 3682) - The code editor in examples is now implemented with the VS Code engine. Code folding, search and replace, full undo/redo is now available when editing examples
- TypeScript Class configs
Config
(e.g.ButtonConfig
) now provide type declarations forlisteners
parameter in.d.ts
files - TypeScript Class configs
Config
(e.g.ButtonConfig
) types now have optional parameters in.d.ts
files.*Config
type can be used instead ofPartial<*Config>
declaration - New data field
statusDate
on theProjectModel
. This date is used as a reference point for various reports and data calculations - Bumped the built-in version of FontAwesome Free to
v6.5.2
, which includes a new table-cells-row-lock icon sponsored by Bryntum - The
Filter
feature now supports columns with afilterable
config in the new multi-filter UI - Task bars and time ranges now use the direction neutral
inset-block-start
andinset-inline-start
styles for positioning, rather thantop
andleft
. This puts them in the same place in LTR and RTL directions without additional processing - Angular Bryntum Angular wrapper now exports
Bryntum...Props
types (e.g.BryntumGanttProps
) which match the config required for a wrapper components (e.g.BryntumGanttComponent
). Wrappers code is now delivered with documentation inside, that helps in setting up the components EventHelper
no longer mutates the DOM event object to fix browser quirks and add utility properties. It now wraps the DOM event with a Proxy, which exposes all the properties of the DOM event and also accepts any new properties added to it. The original DOM event is available in thebrowserEvent
property.ProjectModel
now supports a newautoSetConstraints
mode, which is useful if you are loading a dataset without using constraints, dependencies or manuallyScheduled tasks. Setting theautoSetConstraints
flag totrue
will help show your data based on thestartDate
/endDate
task fields. When set tofalse
, the Project will schedule unpinned tasks as-soon-as-possible (i.e., the project start date).
API CHANGES
- VUE-3 Bryntum Vue-3 wrapper now exports
Bryntum...Props
types (e.g.BryntumGanttProps
) which match the configs available for a wrapper component (e.g.<bryntum-gantt>
). Wrappers code is now delivered with documentation and TypeScript sources inside (3085) - BREAKING
EventModeColumn
has been removed (4115) - DEPRECATED The
WidgetHelper
utility class has been deprecated and will be removed in a future release. Use the corresponding widget class instead –Widget
,Toast
orMask
(6103) - In previous versions, a call to
project.commitAsync()
caused a UI refresh even if nothing was changed by the commit. This has been fixed so that the UI is only refreshed if the commit actually changed something. This is a slight behavioral change (for the better), which we think should have minimal impact on apps (7924) - BREAKING The
useRawData
setting onStore
is now enabled by default, but with all sub-settings disabled. This means that the incoming data object will be used as is, without being cloned. Which will boost data loading performance, but is potentially a breaking change if the data object is reused / used in other parts of the application (8335) - BREAKING Gantt
ProjectModel#toJSON
format has been changed. Now it returnstasksData
instead ofeventsData
(8449) - BREAKING In
6.0.0-alpha-2
we changed the default value foruseRawData
on stores totrue
. This boosted record creation performance by not cloning the incoming data object. However, this change has lead to some issues, and we are now taking a step back. It will once again default tofalse
when supplying data inline, and instead only totrue
when data is loaded remotely using anAjaxStore
or aCrudManager
(9289) - Rollup task elements are now inheriting
eventColor
from their origin task - The
EventCopyPaste
feature’scopy
event has gotten its parameters slightly changed. The parameterrecords
now contains clones of the copied records, and the original copied records can be found in the parameteroriginalRecords
(these parameters are wrapped in a single event object) - With the recent introduction of individual layers for positioned elements, z-indexes have now been normalized. If you have overridden z-index of the layers, please adjust your CSS to ensure it looks as you expect
- The nonworking-time layer has been moved up in the z-index stack to float above the time axis tick lines
- DEPRECATED
@bryntum/babel-preset-react-app
,@bryntum/cra-template-typescript-grid
,@bryntum/cra-template-javascript-grid
npm packages are deprecated, and will not get any further updates. Versions prior to6.0.0
are still accessible - BREAKING ANGULAR REACT VUE
BryntumProjectModel
framework wrapper is no longer available since6.0.0
. UseBryntumGanttProjectModel
instead. Check the upgrade guide for the details - BREAKING In addition to the APIs mentioned in Scheduler’s & Grid’s changelogs, the following previously deprecated APIs were removed:
- The
Wbs
class was moved toCore
Dependencies.drawForTask()
(5.1.0)
- The
- BREAKING
GridSelection
rowNumber
now uses Gantt´sSequenceColumn
(previouslyRowNumberColumn
) - If
statusDate
is not provided for theProjectLines
feature, it is now taken from the project model - RowReorder now has
dropOnLeaf
set totrue
by default to allow for adding dragged task as a subtask of a target leaf task - The
ScheduledByDependenciesEarlyEventMixin
mixin in the scheduling engine has been renamed toConstrainedByDependenciesEventMixin
- As part of improving the task-level ASAP/ALAP implementation, scheduling engine has undergone certain refactoring, which generally should not affect public API. If you were using some private APIs, which have been changed, please let us know
TaskMenu
option for splitting tasks was simplified to just saySplit
instead ofSplit task
- Relayed events name for
onFunctions
is capitalized when used with prefix i.e.onGridRowbeforeDragStart
is nowonGridRowBeforeDragStart
STYLING CHANGES
- The Stockholm theme got some slight tweaks to panel header (removed bottom border) and tab panel styling (replaced active tab background with thick bottom border) for a more modern look (8440)
- STYLING
SequenceColumn
now aligns its contents toend
LOCALE UPDATES
- Localization for the new column
PlannedPercentDone
was added with a single keyplannedPercentDone
- New key
statusDate
in the localization forProjectLines
class
DEMOS
- New
multiple-gantt-charts
demo showing how to synchronize scrolling across multiple Gantt charts (188). - New
realtime-updates
demo has been added to show use of Websockets with Gantt. Demo is located inexamples/realtime-updates
folder (2012) - New
portfolio-planning
demo showing how to visualize and plan multiple projects in one Gantt chart (8755) - The
php
demo has been updated to support calendars - New
dependencies
demo showing how to customize theDependencies
feature - New
export-to-ics
demo showing how to export tasks toiCal
format - New
Planned percent done
demo, showing the calculation of "planned percent done" value. The demo is located inexamples/planned-percent-done
folder - New
auto-constraints
demo showing how to auto-pin tasks that do not use constraints, dependencies or themanuallyScheduled
flag
BUG FIXES
- 3833 – HIGH PRIO Dependencies list performance issue when a project has many tasks
- 4902 –
EmptyCalendarEffect
description is not clear enough - 4933 – Toggleable button loses state when moved to toolbar overflow menu
- 7223 – Add a way to apply multiple project changes in bulk
- 7685 – Percent done filter uses raw fractional value
- 7760 – HIGH PRIO TypeScript Type intersection with
any
might be wrong - 7772 – Copy/paste feature should freeze copied data
- 7784 – Structured tree is not synchronized correctly between projects
- 7858 – Constraint removed from a task record on copy-paste
- 7955 – Undo of delete dependency in task edit broken
- 7993 – Duration from applied remote change gets reverted
- 8008 –
addTask
method should behave similar to transactional features - 8171 –
FieldFilterPickerGroup
configlimitToProperty
should also apply to configuredfilters
- 8309 – Duration column decimal separator is not localized
- 8459 – HIGH PRIO
Carousel
should support swipe gesture scrolling for mobile/touch - 8577 – Add calendar popup should be centered
- 8611 – Crash when advanced demo opens code editor
- 8698 – Panel header changes size when collapsing / expanding panel in Stockholm theme
- 8741 –
PercentDoneColumn
should extendPercentColumn
- 8745 – HIGH PRIO Dependency wrongly moved task with no reason
- 8864 – HIGH PRIO Error: Effect resolved to promise in the synchronous context, check that you marked the asynchronous calculations accordingly
- 9108 – No option to enter value for a filter in Infinite Scroll Demo
- 9180 –
onFunctions
not working for relayed events - 9432 – Rollup tasks with duration > 0 are not rendered
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.13
2024-06-26FEATURES / ENHANCEMENTS
- Rollups feature now offers to rollup children to all parents and grandparents (9250)
API CHANGES
Filter
feature column header tooltips now display localized text for active filter operators, e.g.equals
instead of=
(9338)
BUG FIXES
- 8772 – Scroll button’s action doesn’t take task labels into account
- 9242 –
ResourceUtilization
throws exception when aggregating data - 9392 – Inherited parent dependencies are not collected into critical paths
- 9424 – Gantt crashes after collapse all with event selected
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.12
2024-06-13API CHANGES
- VUE REACT When using wrappers for Vue or React,
syncDataOnLoad
is by default set totrue
on all stores configured on the wrapped Widget. Staring from5.6.12
, stores with a configuredreadUrl
or that belongs to a project configured with aloadUrl
, will have theirsyncDataOnLoad
default tonull
BUG FIXES
- 9060 –
Weight
of taskEdit fields can not be customized inbeforeTaskEditShow
- 9094 – STM does not record changes when
timeZone
is set - 9096 – HIGH PRIO Resources not shown in resource assignment column after loading data from backend
- 9136 – Make Indicators z-index higher than task bars
- 9196 – HIGH PRIO Fields being wrongly rendered when scrolling
- 9202 – Dependency arrows change their style after loadInlineData if critical paths are enabled
- 9227 – Evaluate editor height on every show
- 9262 – Copying a task does not copy the assignment
units
correctly - 9263 – Unable to use "is one of" operator in Grid
filter
feature when usingAjaxStore
andfilterParam
- 9280 – Bug when clearing out Constraint Type in Pop Up Task Editor when date spans are out of view
- 9359 – Late end date position is incorrect
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.11
2024-05-21FEATURES / ENHANCEMENTS
- A new static boolean property,
Widget.accessibility
was added, which, when set totrue
causes tooltips to be activated onfocus
in addition tomouseover
(5539) - Copying a
Task
with assigned resources, and then pasting it into the same Gantt instance, will now also copy the assignment records (3655) - Vanilla JavaScript documentation has a new section on Multiple Products, showing how to use multiple components in a single page using
thin
components (8756) - DOCS Added docs to
ConstraintTypePicker
class showing how to restrict the available constraint types when editing in a cell editor or the task editor (8100) - Project has a new config called
includeChildrenInRemoveRequest
, that controls if a remove request includes the id of a removed parent and all its children, or just the id of the removed parent (8099)
API CHANGES
- A default value for a new task’s
name
provided in thenewTaskDefaults
config was applied inconsistently depending on if the task was added using cell editing or context menus. This has now been normalized to behave as documented for the config, that is to not include thename
(thename
is determined by the current locale) - After a docs regression, several APIs flagged to be hidden in subclasses were still visible in the docs. These APIs are now correctly hidden (9140)
DEMOS
- Updated CSS for the
timeline
demo to better handle milestones with background color (9059)
BUG FIXES
- 7450 – Calendar column doesn’t load data when setting project after gantt initialization
- 8643 – HIGH PRIO Returning
""
ornull
from JSX column renderer uses the previous cell renderer values in virtualization - 8833 – HIGH PRIO
TaskNonWorkingTime
doesn’t respectfillTicks
- 8883 – HIGH PRIO Crash when drag scheduling unscheduled task with
infiniteScroll
- 8951 – Dependency record’s fields are missing on
project.load()
- 8978 – HIGH PRIO Gantt ASPNET frontend example not building
- 9009 – Task cut/copy resulting in crash on opening cell menu
- 9013 – HIGH PRIO
TaskResize
triggered without longpress on touch screens - 9019 – Milestones not considered in parent
% Done
rollup - 9048 – Gantt MSP Export duplicates Resource calendars on each export
- 9051 – Resizing or moving task selects the row
- 9057 – DOCS
FieldFilterPicker
docs inline example doesn’t apply filter at initial startup - 9062 –
CellEdit
does not expectnewTaskDefaults
to be a fn in Gantt - 9063 – Children tasks are not removed from timeline widget when deleting the parent task
- 9081 – HIGH PRIO Data disappears from the
ResourceAssignmentEditor
- 9145 – Column
autoHeight
doesn’t work with Gantt - 9153 – Task effort is not updated
- 9161 –
decimalPrecision
config ofDurationColumn
has no effect - 9165 – Pan feature not working correctly when
taskNonWorkingTime
is enabled - 9176 –
TaskCopyPaste
options aredisabled
in Gantt if the store is chained - 9181 –
WBS
value is calculated incorrectly when applying changeset with removed record
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.10
2024-04-24BUG FIXES
- 7685 – Percent done filter uses raw fractional value
- 7860 – Allow specifying custom default operator by data type for Grid filter feature
- 8725 – HIGH PRIO
TreeGroup
ID collision when multiple groups are applied and column with array data is at the top - 8958 – HIGH PRIO Two commits initially, leads to two refreshes
- 8965 – HIGH PRIO Toolbar overflow synced excessively
- 8973 – HIGH PRIO
DependencyModel
handling of immutable data - 8985 – HIGH PRIO Smarter
EventStore
sync behavior for start / end dates - 8988 – Not possible to reach submenu of
timeAxisHeaderMenu
unless moving over the anchor icon - 8992 – ANGULAR implement support of
ViewEncapsulation.ShadowDom
- 9001 – HIGH PRIO Error when slowly scrolling the Gantt
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.9
2024-04-09FEATURES / ENHANCEMENTS
- Now it is possible to specify the maximum units capacity of the resource, using
maxUnits
field. Default value is 100%, but if resource represents a team of several peoplemaxUnits
can be increased accordingly. This field is taken into account in the resource histogram and resource utilization widgets (833) - The rules of calendar intervals prioritization in case of their intersection have been properly documented. Now the index of the interval in the dataset is also taken into account. Please refer to the updated Calendars guide and priority field documentation for the details (8754)
- New
resourceAssignmentClick
event triggered by the Gantt instance when clicking a resource avatar in cells of theResourceAssignmentColumn
(8882) ProjectModel.toJSON()
now includes data from all registeredcrudStores
(8803)ProjectModel
has a newtoJSONResultFormat
config that controls the output format of theProjectModel.toJSON
method. Please check the config docs for more details. (8814)
API CHANGES
- A change in Gantt
v5.3.0
fell out of the upgrade guide, repeating it here:CalendarModel
classintervals
field definition has been changed to behave as a store when performing CRUD operations. Please check "Upgrade guide" for the details
LOCALE UPDATES
- Added Brazilian Portuguese translation (
'PtBr'
) (8747)
DEMOS
- VUE-3-VITE "Undo/Redo" (Vue 3 JavaScript) demo is now converted to Vue 3 Vite TypeScript. New demo is located in
frameworks/vue-3-vite/undoredo
folder (8090) - REACT-VITE "Undo/Redo" (React JavaScript) demo is now converted to React Vite TypeScript. New demo is located in
frameworks/react-vite/undoredo
folder (8091) - Custom theme demo (JavaScript) shows how to create a custom theme by modifying scss variables. New demo is located in
custom-theme
folder (8726)
BUG FIXES
- 7267 – Request for improved API for custom cell editors
- 7805 – ANGULAR Collapse/expand button doesn’t work in Gantt
Undo/Redo
demo - 8346 – HIGH PRIO Crash while removing cyclic dependency while indenting tasks
- 8471 – HIGH PRIO Filter is not shown and not working in hidden parent element
- 8514 – HIGH PRIO Conflict resolution popup: Odd behavior on Cancel
- 8644 – TYPESCRIPT Typings for
onBeforeTaskResizeFinalize
are wrong - 8687 – Resizing region does not always fill last column width
- 8690 – HIGH PRIO CSV exported data shows special character  for indentation in Windows OS
- 8710 – Adding resources from resources tab crashes
- 8712 – Gantt collapsing last group of tasks doesn’t recalculate scroll range
- 8719 – DOCS Document
getVersionContent
method of Versions feature - 8731 – HIGH PRIO Not able to resize task when it is very small
- 8736 – Not possible to provide
renderer
to PercentDoneColumn - 8778 – Entering duplicate predecessors should not be allowed
- 8779 – Allow for configuration of Combo box used by AddNewColumn
- 8802 – HIGH PRIO Remove Mask from Gantt big dataset demo after dependency lines have been generated
- 8844 – Renderer problem when
fillHandle
used during editing - 8853 – Memory not freed after destroying gantt instance in the "bigdataset" example
- 8869 – HIGH PRIO Not possible to reach submenu unless moving over the anchor icon
- 8905 – Styling issues with Gantt Critical Path
- 8930 – Input value first char gets deleted in combo
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.8
2024-03-04FEATURES / ENHANCEMENTS
- An exception with a meaningful message will now be thrown if parsing of the calendar interval’s recurrent date string has failed (8705)
BUG FIXES
- 8164 – Gantt – assigning
null
to custom property on task record is no longer possible - 8670 – Task PercentDone tooltip disappears while dragging the percentage with mouse is not over the task
- 8676 – HIGH PRIO Conflict resolution popup: Does not clear the previous message and stack them up
- 8697 – Vertical misalignment of filter field check box
- 8713 – Collapsing a selected cell with
FillHandle
feature active leads to crash
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.7
2024-02-22FEATURES / ENHANCEMENTS
- If Gantt is not provided with the viewport start date on creation, it now tries to use the project’s start date, or calculates the earliest start date among all events
- Gantt now offers to not automatically merge two task segments when placed next to each other, via the new
ProjectModel
autoMergeAdjacentSegments
config (8018) - The
effort
field on theAssignmentModel
is now documented and public (8427) MspExport
feature got a newreplaceResourceNameCommas
config. Set it totrue
to replace commas in resource names with semicolons. The reason is resource names with commas shows a warning in MS Project
API CHANGES
- The
StateTrackingManager
(STM) will by default (ifautoRecord
istrue
) merge update actions on the same record (in same transaction), keeping the oldest, and the newest values. A transaction will almost always only contain one update action per record. If the previous behaviour is desired, you can configure theStateTrackingManager
withautoRecordMergeUpdateActions
set tofalse
. If you’re not usingautoRecord
, then the transaction action can be merged by calling theStateTrackingManager
‘s newmergeTransactionUpdateActions
function before the end of the transaction
BUG FIXES
- 6599 – HIGH PRIO Indenting manually scheduled task issue
- 7859 – HIGH PRIO Engine exception when reapply data on filtered dataset
- 7968 – HIGH PRIO Non-critical task is highlighted as critical if "Project Border" field is "Ignore"
- 8289 – HIGH PRIO REACT Gantt crashes in RTL container
- 8302 – HIGH PRIO
PercentBar
change on drag should only update value in STM once the drag is complete - 8307 – HIGH PRIO
TaskDrag
andTaskResize
should only update value in STM once the drag/resize is complete - 8404 – Improve
WidgetColumn
API docs - 8408 – Allow setting empty name for a new task when created using
addTaskAbove
/addTaskBelow
- 8423 – HIGH PRIO LWC Engine performance is too low with LWS enabled
- 8466 – HIGH PRIO
TreeGroup
crash when grouping onstartDate
with one task havingstartDate: null
- 8481 – HIGH PRIO Auto scheduled child not following manually scheduled parent constraints
- 8491 – HIGH PRIO Make
AddNewColumn
more configurable - 8492 – Crash when cutting resource assignment cell
- 8496 – Exception thrown during task editing
- 8502 – Cell selection broken after reordering columns with selection present
- 8504 – HIGH PRIO Cell selection broken when column position/width changes
- 8515 – MS Project exporter: replace commas in resource names
- 8526 – Nonworking time only shading half the lowest header row
- 8539 – Crash when toggling full screen
- 8549 – Incorrect color of taskBar when percent done is set to null
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.6
2024-01-31FEATURES / ENHANCEMENTS
- Bumped built-in FontAwesome Free to version
6.5.1
- All frameworks demo applications have been verified and updated to be compatible with Node.js 20
- When editing very long tasks where the task bar extends outside the visible viewport, only the nearest
100
pixels of the bar are scrolled into the viewport rather than attempting to scroll the whole width into view. The minimum width to scroll in may be configured in thetaskEdit
feature using theminEditSize
config property (8315)
API CHANGES
- To boost record creation performance, records now cache their
id
(it is accessed very frequently, helps performance a bit) and join their store(s) in a more efficient way. As a side effect, a record no longer has astores
array prior to joining a store, previously it was there as an empty array from start. We don’t think this will affect any code, but wanted to share the change in case it does - DEPRECATED ANGULAR REACT VUE
BryntumProjectModel
framework wrapper will be removed starting from6.0.0
version. UseBryntumGanttProjectModel
instead. Check the upgrade guide for the details
BUG FIXES
- 6978 – Should be possible to show chart with no columns by setting
columns
to an empty array - 7530 – Wbs is
undefined
on grouped row - 7856 – Undoing removal of children changes children orders
- 7869 – HIGH PRIO Cell edit feature behaves incorrectly when double-clicking to edit next cell
- 7904 – Duplicate WBS created on cut/paste
- 7961 – HIGH PRIO Assignment Model
dataSource
with nested fields breaksResourceAssignment
column - 7994 – HIGH PRIO Changes to start/end of the dependent tasks are ignored, which does not allow it to pass the filter
- 8200 – Webpack build failed with
.min.css
file - 8236 – HIGH PRIO Editing the baseline
startDate
of newly added task results in a crash - 8239 –
ContextMenus
aligned below click point instead of to the side - 8249 – Group menu position issue
- 8257 – WBS is wrong after cut/paste when
orderedParentIndex
is persisted - 8260 – HIGH PRIO
TaskEditor
closes unexpectedly while deleting resources - 8279 – Cancelling dependency creation hangs transactional feature
- 8281 – Updated task not appearing when it now matches filter after adding dependency
- 8293 – HIGH PRIO Dependency editor is invisible when
infiniteScroll
istrue
- 8298 – HIGH PRIO
Filter
feature is not working for nested columns - 8311 –
validateOnInput
config not being respected when usingDateField
- 8322 – Dependency Store
beforeAdd
Event giving error if it returnsfalse
- 8388 – Manual scheduled and rollup columns affect each other
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.5
2024-01-09BUG FIXES
- 6605 –
taskIconCls
doesn’t work as expected for a milestone - 7403 – Make a guide on how to make a theme selector in frameworks
- 7605 – Cycle when setting ASAP/ALAP on individual tasks level
- 7964 – REACT JSX doesn’t work in Popups
- 7974 – Task copy/paste triggers wrong transition
- 8079 – Task
Segment
name change doesn’t call project sync api - 8089 – Cannot indent a task without
startDate
/endDate
under certain circumstances - 8136 – Print error when gantt chart is collapsed
- 8151 – Crash when right clicking base line group column
- 8161 –
autoEdit
isn’t working for ‘% Done’ column
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.4
2023-12-21FEATURES / ENHANCEMENTS
- The filter field in the picker of a
DependencyField
can now be hidden, by configuring it withfilterable : false
(7740)
BUG FIXES
- 6224 – Add event for
ColumnResize
to catch user resize action - 7542 – Removing partner does not break the
timeAxis
link - 7971 –
TotalSlackColumn
should not show dirty indicator - 8029 – Dragging Task when
fillTicks
andsnap
enabled behaves differently on5.6.0
- 8040 – Gantt doesn’t immediately display remotely appended rows when using
{ overscroll : true }
- 8074 – Some fields of Child Task are uneditable in Task Editor after opening Parent task in Task Editor
- 8080 – Missing
TimelineHistogram
component in Angular / React / Vue packages - 8081 – Missing
TreeGrid
component in Angular / React / Vue packages - 8098 – Should support using fill handle to add predecessors
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.3
2023-12-13FEATURES / ENHANCEMENTS
- Sorters used to always be removed when reordering rows, but now they are optionally kept (by specifying the
preserveSorters
config) if the drop leads to tasks still being in order (7901) - REACT Documentation in "Quick start" and "Guide" is now updated with how to build React application in Vite for higher efficiency and better performance in development
API CHANGES
- DEPRECATED Please kindly note that
@bryntum/babel-preset-react-app
and@bryntum/cra-template-typescript-gantt
,@bryntum/cra-template-javascript-gantt
packages will not get any updates after6.0.0
version
BUG FIXES
- 7615 – ExtJS wrapper class in
extjsmodern
demo crashes - 7716 – Link is created to a task when trying to abort building the link
- 7770 – Exception is triggered when replacing record
id
inhasChanges
listener - 7832 – WBS value is incorrect after cut/paste
- 7925 –
ProgressLine
disappears after zooming - 7933 –
Ctrl + v
creates a new task instead of pasting data in cell - 7936 –
Duration.toString
does not honor locale - 7949 – Assigned resources count overlay misplaced on assigned resources column resize
- 7962 –
hasChanges
event is fired excessively upon task remove when taskStorewbsMode
is set to ‘auto’ - 7963 – Early/Late date indicators are not showing correctly
- 7966 – The browser default
CTRL + C
keyboard shortcut gets prevented even when a text is selected - 7971 –
TotalSlackColumn
should not show dirty indicator - 7976 – Content lost if setting
showDirty
while scrolled down - 7977 – Should not enable cell replication for non-editable columns / cells
- 7995 – Exception in
ZoomToFit
combined withinfiniteScroll
- 7996 – Missing
DateHelper
on Node.js and Core classes - 8014 – Task non-working time calendar rendering incorrectly after sorting
- 8021 – Gantt MspExport throws error if export empty project
- 8036 – Copy to clipboard doesn’t work in some code blocks
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.2
2023-11-24FEATURES / ENHANCEMENTS
- REACT Docs and demos for custom column editors updated to show how to handle async
setState()
calls, to avoid loosing column editor values
BUG FIXES
- 7092 – Feature mixin on-owner events are not exposed on class
- 7395 – Data on tooltip does not align with placement of task
- 7716 – Link is created to a task when trying to abort building the link
- 7741 – Gantt not mapping
dataSource
for task name field - 7886 – Column of type
'check'
is not triggering the setter in the task model - 7898 – Console error when used specific calendar settings together with
fillTicks
feature - 7900 –
TaskNonWorkingTime
elements not updated on splitter repositioning
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.1
2023-11-17FEATURES / ENHANCEMENTS
- Added support for filtering
TimeColumn
s (7692) - Added option to maintain scroll position during remote changes when the viewport is near the end of the scrollable range. Configure Gantt with
preserveScroll : { overscroll : true }
to opt-in to the new behavior (7759)
LOCALE UPDATES
- There is a new locale key
selectATime : 'Select time'
which may be used byFieldFilterPicker
‘s time input
BUG FIXES
- 1075 –
task.copy()
copies original successors and predecessors - 5719 – YARN Can not install
@bryntum
product packages using yarn v2/v3 - 7597 – Gantt
Baseline
duration not persisted in Baseline example - 7732 – Crash when cutting a row and pasting with selected assignment cell
- 7742 – Start date column not working when set min value
- 7745 –
Splitter
should hover above dependencies - 7746 – Extra API calls after project load when using stores CRUD urls
- 7750 – Vite error
@charset must precede all other statements
- 7753 – White space shown when deleting many selected tasks while scrolled down
- 7754 – Frameworks Thin packages not working with
pnpm
- 7768 – CRUD operations for
TaskStore
works different in Chrome and Firefox - 7785 – Multiple resources can be set in Gantt single assignment settings
- 7794 – Calendar intervals stops rendering after some time ahead
- 7820 –
globalThis
should be defined in locales to support LWC - 7830 – Exception when cutting task with collapsed normal region
- 7831 – Thin bundles some classes are not exported from
@bryntum/engine-thin
package - 7842 – Selected tasks missing selection styling
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.0
2023-10-26FEATURES / ENHANCEMENTS
- This release introduces a new set of npm packages and framework components, that allows combining multiple Bryntum products in the same application. These packages contain the product specific code only, as opposed to the current packages that has all code for the products each product builds upon (for example Scheduler contains Grid & Core). The new packages are called
thin
packages, and moving forward it will be the recommended way of using Bryntum products in npm based applications (for all supported frameworks). See the "What’s new" guide for more information - The task bar wrapper element (
.b-gantt-task-wrap
) now uses CSS grid layout to better match event bars in Scheduler. This makes it easier to internally share styling with Scheduler for features like labels. If your app uses custom CSS for task bars that rely on the wrapper usingflexbox
, you might need to adjust it @bryntum/gantt-thin
bundle includes scss theme files insass/themes
folder (7445)- It is now possible to use asymmetrical
resourceMargin
by assigning an object withstart
(margin top in horizontal mode, margin left in vertical mode) andend
(margin bottom / margin right) properties (6185) - Updated
tooltips
demo to show a more customized tooltip design - Updated
custom-rendering
demo to show a clean & minimal Gantt design - New
RowResize
feature allowing users to change the global row height using drag drop. Try it out in the updatedadvanced
example (2843) - The task bar wrapper element (
.b-gantt-task-wrap
) now use CSS grid layout to better match event bars in Scheduler. This makes it easier to internally share styling with Scheduler for features like labels - Added
preserveScroll
config to Gantt, preventing vertical viewport movement during remote changes (7353) - Infer field types for
auto
fields when usingFieldFilterPicker
with store data present (7691) - Added a new
ScrollButtons
feature, which injects buttons in each row that scrolls the task bar into view. The buttons are only visible when the task bar is out of view (5152) - The
custom-rendering
demo was updated both with a fresh new look and with a new demo specific feature that displays time axis scroll buttons in the header
API CHANGES
- BREAKING
Core.util.helper.Point
class has been moved to solve circular module dependencies. It is now a named export of theCore.util.helper.Rectangle
module. Check upgrading guide for the details TaskModel
has got newprojectConstraintResolution
field allowing to specify how a task treats the project border (whether it’s allowed for the task or not to move before the project start date for example). Please check the field docs for more details (7156)isMulti
is now the default mode for the Grid Filter plugin. To configure the filter pickers inside the column filter editor popup, provide aGridFieldFilterPickerGroup
configuration using the Filter feature’spickerConfig
config option. ConfigurelegacyMode : true
to use the previous UI instead (6685)- DEPRECATED The Filter feature context menu items
disableFilter
,removeFilter
, andeditFilter
will be renamedfilterDisable
,filterRemove
, andfilterEdit
, respectively, in6.0.0
. If you are customizing theTaskMenu
to hide or replace any of these menu items, you will need to change their names accordingly - FRAMEWORKSDEPRECATED
BryntumProjectModel
wrapper component has been renamed toBryntumGanttProjectModel
. Please see the upgrade guide for details - TypeScript Functions and events declarations in typings were improved to contain all available parameters and return type (6961, 4456)
ExcelExport
feature now supports exporting to CSV file (5612)- Added a
Print
feature based onPdfExport
feature which allows using browser print dialog and not rely on backend (6218)
LOCALE UPDATES
- New locales for
AdvancedTab
,HonorProjectConstraintResolution
,IgnoreProjectConstraintResolution
andProjectConstraintConflictEffectDescription
classes. Check "What’s new" Gantt guide for the details
BUG FIXES
- 7277 –
scrollTaskIntoView
not working reliably ininfiniteScroll
- 7287 –
visibleDate
not functioning correctly - 7492 – Row being resized should go on top
- 7498 – Collapsing grid part of Gantt when scrolled down results in blank space at top
- 7501 – Gantt Resource column overflowing avatar has no
border-radius
in Firefox - 7686 – Overflow avatar is not the rightmost avatar
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.5.5
2023-10-23BUG FIXES
- 107 – Fields misaligned in dependency editor in Swedish locale
- 6220 – Improved translations for Danish
- 7604 – Crash when removing new invalid predecessors in task editor
- 7608 – Missing some defaults in task context menu guide
- 7623 – Dependencies stay visible after filtering
taskStore
- 7630 –
ColumnAutoWidth
crashes when usingCrudManager
- 7633 –
timeSpanHighlight
is not part ofGanttFeaturesConfigType
- 7680 –
AddNewColumn
combo not aligned to Column header bottom
Version 5.5.4
2023-10-05FEATURES / ENHANCEMENTS
- Single resource assignment mode demo called
single-assignment
was added (6235) - Added
preserveScroll
config to Gantt, preventing vertical viewport movement during remote changes (7353)
BUG FIXES
- 7252 – Tabbing fast to create new rows eventually loses focus to browser
- 7489 – Sorting by
wbsValue
field does not work correctly withapplyChangeset
method - 7499 – Gantt Tooltips demo columns too small
- 7509 – REACT Gantt crashes when using
TAB
in custom editors - 7526 – Dependencies to out of the view rows are wrongfully painted intermediate pages
- 7533 – Resizing to make a task shorter makes it wider
- 7541 –
scrollEventIntoView
throwing error ingantt-schedulerpro
demo - 7550 –
AssignmentField
clears filter applied after second picker show - 7558 – Split tasks option is available in the task menu when eventSegments feature disabled
- 7566 –
RowNumberColumn
size issue when Gantt element is not in the DOM - 7575 –
ResourceUtilization
Timeranges not working - 7602 –
PercentBar
should function for parent tasks whenautoCalculatePercentDoneForParentTasks
isfalse
- 7609 –
TaskEdit
popup not showing up on first click
Version 5.5.3
2023-09-15FEATURES / ENHANCEMENTS
- Added facet filtering demo showing how to filter by specific data values. Demo is located in
examples/facet-filter
folder
BUG FIXES
- 3903 –
ProjectModel
ignores fieldsdataSource
specification - 7309 – Resource combo doesn’t respect chained
resourceStore
- 7322 – Incorrect task non-working time rendering after filtering
- 7344 – Undo/redo doesn’t work as expected when
AssignmentModel
uses field mapping - 7366 – Sorting by
wbsValue
field does not work correctly withapplyChangeset
method - 7368 –
CellEdit
‘s editor’sbeforeCancel
event returningfalse
is ignored - 7371 – Removing filters resets sort of project
- 7390 –
Resourceutilization
group collapse works incorrect after new assignment - 7414 – Error when hovering and scrolling horizontally on task
- 7416 – Filtering total slack column throws error
Version 5.5.2
2023-08-30BUG FIXES
- 7165 – Rapidly changing
percentDone
generates 2 transactions undo/redo - 7311 – WBS is incorrect when applying cut-paste changes
- 7315 – When applying a change converts a leaf to a parent, this parent should be expanded by default
- 7318 – Indenting sorted nodes creates extra nesting level
- 7320 – The auto-sort performed after
applyChangeSet
call for tree store performs purely compared to the regularstore.sort()
call - 7323 – Task is added to the wrong place of the ordered tree when store is sorted
- 7338 –
gantt.project.sync()
throws error when late start and late finish columns are enabled - 7360 – Copy-pasting task calendar between cells not working
- 7361 – Exception on
scrollTaskIntoView
/scrollUnrenderedTaskIntoView
if node collapsed
Version 5.5.1
2023-08-16API CHANGES
- We added two public methods –
suspendChangeTracking
andresumeChangeTracking
to suspend and resumehasChanges
/noChanges
events on aCrudManager
BUG FIXES
- 3663 – Renderer for
CheckColumn
not called when exporting - 7116 – Event removed when returning false from
beforeEventEdit
afterv5.3.3
- 7176 – Non-working intervals hidden for
manuallyScheduled
tasks when skip non-working time in duration disabled - 7220 – "Add task below" behavior is inconsistent with copy/paste
- 7233 – LaterJS bug when enum days from Monday
- 7234 –
non-working-time
doesn’t get rendered properly after 6+ years long timespan - 7248 – Circular progress bar has gaps in certain row heights
- 7255 –
Baselines
shows in wrong order - 7269 – Field labels misplaced in export dialog in Angular demo
- 7278 – No action when clicking task label and selecting Split task
- 7303 – Added record has wrong WBS
Version 5.5.0
2023-07-31This 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.
FEATURES / ENHANCEMENTS
- We have refactored a few features and changed their prototype chain. If you are importing those features directly, or are extending them, you need to use correct base class and import path:
Grid/feature/RowReorder
->Scheduler/feature/RowReorder
,Grid/feature/CellEdit
->SchedulerPro/feature/CellEdit
,Scheduler/feature/Dependencies
->SchedulerPro/feature/Dependencies
BUG FIXES
- 7154 –
FillTicks
andIndicator
placement is not correct after setting start date - 7187 – WBS value is not completely committed after initial commit
- 7221 – VUE Vue vite app doesn’t compile with Bryntum vue wrappers
- 7241 – Should not show task tooltip after drag drop
- 7242 – Whiteouts while scrolling task into view
Version 5.4.2
2023-07-26FEATURES / ENHANCEMENTS
- Added
TaskStore
config optionforceWbsOrderForChanges
to control task order during sync - REACT Added new React Next.js demos showing App Router and Pages Router ways of creating applications. Demos are located in
examples/frameworks/react-nextjs/app-router
andexamples/frameworks/react-nextjs/pages-router
folders
BUG FIXES
- 4376 –
newTaskDefaults
not applied when pressing Enter on last row - 5980 – Outdent records changed nodes in the reversed order
- 7024 – Possible Memory Leak: Tasks of paired Gantt cycled active/inactive may cause the leak
- 7135 – Outdented nodes appear in wrong position within new parent’s children on remote synced client
- 7154 – FillTicks and Indicator Placement is not correct after setting start date
- 7171 – Task record is inserted into wrong position in the tree
- 7186 – Returning from
tooltipTemplate
doesn’t make any changes to the UI
Version 5.4.1
2023-07-13FEATURES / 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
- Scheduler
beforeDependencyEdit
event now supports async handlers (7109)
BUG FIXES
- 4869 – REACT StateTrackingManager configuration triggering an error
- 6077 – TypeScript
Model
constructors should allow second param - 6347 – Store
idChange
event not fired - 6977 – Document
dataReady
event’srecords
argument - 7056 – Updating tasks in
onBeforeTaskEdit
is not possible if returning false - 7089 – Buggy positioning of dependencies when resizing
- 7101 –
TaskNonWorkingTime
renders wrong on expand / collapse tree - 7130 – Updating tasks on
beforeTaskEdit
event provide weird results - 7143 – Drag and drop functionality doesn’t work for task bars in hidden parent element
- 7147 – Constraint data gets cleared when loading
Version 5.4.0
2023-06-30FEATURES / ENHANCEMENTS
- This release introduces a new
TimelineHistogram
class which implements a grid with histogram charts displayed for rows in the time axis section. Please check the new "Timeline histogram" guide for more details - The release also includes refactored
ResourceUtilization
andResourceHistogram
views which now better supportTreeGroup
andGroup
features, and provide some additional APIs for customization. For more details please check the new "Resource histogram" and "Resource utilization" guides and see the updatedresourcehistogram
andresourceutilization
examples - Gantt now supports setting the
eventColor
field on a Task to a pre-defined named color (red
,green
,blue
etc.) or a CSS color value. This changes the background color of the rendered task bar. It is also possible to configure the Gantt with a defaulteventColor
that applies to all tasks, overriding the default coloring (857) - The
TaskCopyPaste
feature has been enhanced to use a page-global internal clipboard and also supports the browser’s native Clipboard API if accessible. This means that it is possible to copy and paste tasks between multiple instances of Gantt or other Grid-based components. It is also possible to copy a task and paste it inside a Spreadsheet app like (4169) - Setting scheduling direction is now supported on the task level. See the docs for
direction
field on the Task model for more details (2131) Widget
has a new config,maximizeOnMobile
which takes effect only onfloating
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 aslidetoggle
widget. The API and value is the same, it is just a more appropriate UI for the platform - We have also added default editors for the
eventColor
field. There is one in theTaskMenu
feature’s context menu and one in theTaskEdit
feature’s task editing panel. Just setshowTaskColorPickers
totrue
and the editors will appear (3157) - There is also a new
EventColorColumn
which can be added to any Gantt. It renders a colored element which the user can click and select a new color for each task (3537) - ANGULAR
taskeditor
demo has been updated to show use ofshowTaskColorPickers
Gantt configuration option - REACT
taskeditor
demo has been updated to show use ofshowTaskColorPickers
Gantt configuration option - VUE
taskeditor
demo has been updated to show use ofshowTaskColorPickers
Gantt configuration option - 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 - Added a set of baseline columns: "Baseline start" (
BaselineStartDateColumn
), "Baseline finish" (BaselineEndDateColumn
), "Baseline duration" (BaselineDurationColumn
), "Baseline start variance" (BaselineStartVarianceColumn
), "Baseline end variance" (BaselineEndVarianceColumn
) & "Baseline duration variance" (BaselineDurationVarianceColumn
). Used in the updatedbaselines
demo
API CHANGES
- Because of the support for
eventColor
in Gantt (mentioned above), changes to the CSS classes coloring Gantt Tasks has been made. If your app customizes the task bar’s background color, we would recommend you to take a look at the result after upgrading to this version. The most notable changes are that$gantt-task-hover-background-color
and$gantt-task-parent-hover-background
has been removed. Instead, hovering now adds alinear-gradient
on top of the background color. Please read the Upgrade guide for more information - The
TaskCopyPaste
feature’scopyRow
andpasteRow
has been made asynchronous due to the enhancements mentioned above - The
TaskCopyPaste
feature’sbeforeCopy
andbeforePaste
events are now asynchronously preventable - The
ScaleColumn
class has been moved from Pro to regular Scheduler classes. This should not affect your application unless it imports the class from its individual file (not the case for the vast majority of customers). The distribution still includesSchedulerPro/column/ScaleColumn.js
file which is now an empty wrapper importing the class from its new location. The wrapper is there till the next major release so please update your code and import the file from its new location if needed (6176)
LOCALE UPDATES
- Localization for the new class
SchedulingDirectionColumn
has been added. Keys are:SchedulingDirectionColumn.schedulingDirection
,SchedulingDirectionColumn.inheritedFrom
,SchedulingDirectionColumn.enforcedBy
- Localization for the new class
SchedulingDirectionPicker
has been added. Keys are:SchedulingDirectionPicker.Forward
,SchedulingDirectionPicker.Backward
,SchedulingDirectionPicker.inheritedFrom
,SchedulingDirectionPicker.enforcedBy
- New entries for
ConstraintTypePicker
:asap
,alap
BUG FIXES
- 4205 – Error when undoing delete action on filtered store
- 6956 – Freeze after copy pasting top level node
- 6959 – Drag proxy misplaced when picking up Name column
- 7009 – Panel height increased when add more items but isn’t decreased when remove items
- 7018 – Exported content is cut-off when normal grid is collapsed
Version 5.3.7
2023-06-20BUG FIXES
- 5908 – Undo/Redo Segmented task change throws
TypeError: a is not iterable
- 6837 – An exception when opening & closing the taskeditor in combination with tooltip
- 6838 – Still possible to add dependency by task editor when gantt is
readOnly
- 6843 – Avatars and Icons not sized the same
- 6849 – Error
Failed to execute 'setEndBefore' on 'Range': the given Node has no parent
- 6851 – Child nodes get duplicated when copy-pasting parent node
- 6868 – "Invalid date input" on manually enter date when custom date format used
- 6873 – Not able to hide units column using showUnits config
- 6881 – The background of the assignment column cells is not cleared after selection
- 6894 – Crash when deleting task from context menu in Gantt Big Data Set Demo
- 6912 – REACT Custom column editor lose value in React 18
- 6944 – Crash when copy pasting split task
- 7006 –
StateProvider
not restoring scroll position of left panel - 7010 – Zoom level state not restored when timeline is collapsed
- 7011 – Gantt
addTaskAbove
andaddTaskBelow
methods do not copy the reference task duration unit
Version 5.3.6
2023-05-26FEATURES / ENHANCEMENTS
ResourceAssignmentColumn
has a newshowAllNames
config used to determine if the names of all overflowing resources are displayed in the tooltip for overflow indicator. TheavatarTooltipTemplate
function also has a new argument for the indicator tooltip, calledoverflowAssignments
, that contains overflowing assignments (6751)
API CHANGES
- The
change
event for theFieldFilterPickerGroup
now includes an additional propertyvalidFilters
, the subset of filters that are complete and valid (6774)
BUG FIXES
- 5585 – Start date of manually scheduled task that is before project start can’t be edited
- 6099 – Delete task takes a while when big dataset used
- 6291 – Date formats are not working properly in startdate column
- 6371 – German localization improvements
- 6655 – Invalid revisions chain error in Gantt test
- 6669 – 2 sync requests triggered when editing last task and pressing
ENTER
- 6761 – Row reordering crashes when combined with
RowNumberColumn
andResourceAvatarColumn
- 6802 –
lagUnit
for newly created dependency inDependencyTab
should use default model field value - 6833 – Enabling/disabling filter checkbox in
FieldFilterPickerGroup
throws error on the console - 6848 – Filter with rounded values not working
Version 5.3.5
2023-05-11FEATURES / ENHANCEMENTS
- Added new event
beforeShowTerminals
to allow preventing dependency terminals from being displayed on a specific task (6609)
BUG FIXES
- 4775 – Error when clicking
Shift + Left/Right
arrow inside an empty Gantt - 6247 – Conflict resolution dialog re-opens in circle when clicked Cancel
- 6431 – Error when trying to undo changes to multiple predecessors
- 6495 –
ReorderFeature
–gripOnly
doesn’t work when first column is a checkbox column - 6586 –
addNewAtEnd
wrong indentation - 6668 – Uneven button spacing in PHP demo
- 6678 – View refresh suspended after multiple sync requests
- 6701 – IONIC
Scrollbar
width could not be determined under Ionic framework - 6713 – Time spans highlights re-appear after calling
unhighlightTimeSpans()
Version 5.3.4
2023-04-28BUG FIXES
- 2234 – Project throws when
effortUnit
isnull
- 5664 – Long time export to MS project
- 6630 – Filter are applied before recalculating schedule
- 6637 – Pin successors not working correctly
- 6648 –
sync
called when expand tree node aftergantt.project.suspendAutoSync()
- 6652 – Minified UMD bundle does not export
bryntum
namespace
Version 5.3.3
2023-04-21FEATURES / ENHANCEMENTS
- TypeScript Type definition files were added for
gantt.node.cjs
andgantt.node.mjs
bundles (6523) - ANGULAR Bryntum Gantt now ships with two npm Angular wrapper packages to support different versions of Angular framework. Existing
@bryntum/gantt-angular
package is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New@bryntum/gantt-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 added to show use of@bryntum/gantt-angular-view
package with Angular 11. Demo is located inexamples/frameworks/angular/angular-11
folder - ANGULAR
pdf-export
,rollups
andtimeranges
demos have been upgraded to use Angular 15. Demos are located in subfolders insideexamples/frameworks/angular/
folder
BUG FIXES
- 2695 – Resource Histogram is not updated when primary partner is zoomed or gets shifted
- 5059 – REACT Histogram not updating when doing
shiftPrevious()
- 6032 –
visibleDate
incorrectly positioned on startup wheninfiniteScroll
used - 6296 – Undo 2 event drop actions throws an error when
nestedEvents
enabled - 6406 – Setting
calendar
in project data throws an error - 6469 – Syncing a new tree data set redraws for each node
- 6528 – TypeError
r.ion
is not a function - 6535 – Add configurable baseline renderer
- 6546 – WBS cells are fillable with
fillHandle
- 6585 – Error in versions demo when clicking "save version"
- 6594 –
GridSelection
should selectively not act for gestures inside aTimeAxisColumn
- 6607 – Timeline breaks when scroll if custom
viewPreset
used with empty data
Version 5.3.2
2023-04-04FEATURES / ENHANCEMENTS
- The backend for the
php
demo was updated to work with PHP 8
BUG FIXES
- 6150 –
scrollToDate
with animation does not work at edges of date buffer - 6280 – After removing Invalid dependency, it’s not clearing invalid dependency error
- 6349 – Optimize dependency hovering performance
- 6358 – Hard to select row in advanced demo
- 6413 – Filter is not working for total slack column
- 6416 – Filter gets reset in when opening number filter
- 6470 – Filtering the data will cause calendar events displacement
- 6491 – Drag-selection issues in Gantt
Version 5.3.1
2023-03-17FEATURES / ENHANCEMENTS
- ANGULAR Added new Angular 15 demo "Drag from a grid". Demo is located in
examples/frameworks/angular/drag-from-grid
folder (6157)
API CHANGES
ProjectModel
convenience getter methods (tasks
,resources
etc.) now returnsallRecords
instead ofrecords
- 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
- 5764 – Gantt performance issues in Firefox with 5k tasks
- 5975 – Error on apply
StateProvider
state - 6241 – Gantt crashes when after page reload with collapsed
timeAxis
subgrid - 6245 – Undo not working with baselines
- 6262 – Engine performance issue
- 6287 – Cell selection styling remains on scroll
- 6289 – Predecessor column with editor +
clearable: true
triggers an error - 6312 – Splitter does not move after updating to
5.3.0
- 6313 – Errors when adding / deleting predecessors using the edit task popup
- 6315 – SALESFORCE PointerEvent is not a constructor error in LWC
- 6320 –
effortDriven
+ fixed duration not working when setting it in the data level initially - 6324 –
ProjectModel.tasks
should return all tasks - 6325 –
'dataChange'
should not trigger for collapse & expand of parent nodes - 6341 – Not possible to replace columns
- 6351 – Components do not render into containers not already in DOM
- 6367 – Gantt’s project
onHasChanges
shows wrong tasks count after task drag operation
Version 5.3.0
2023-03-02FEATURES / ENHANCEMENTS
- CSS changes in Scheduler has cut the size of Gantt’s standalone CSS-bundles roughly in half (because Gantt includes Schedulers styling). See Schedulers upgrade guide for more information
- Support for Time zone conversion has been added to all Bryntum scheduling products. Simply set a IANA time zone identifier as value for the
timeZone
config and that’s it. But, since time zones is not supported natively in JavaScript we strongly recommend to read our Time zone guide (1533) php
demo backend was updated to handle calendar intervals.- Selection in a Grid with a
TreeStore
has been improved by addition of theincludeParents
config. Set it toall
ortrue
to auto select a parent if all its children gets selected. If one gets deselected, the parent will also be deselected. Set it tosome
to select a parent if one of its children gets selected. The parent will be deselected if all its children gets deselected (5726) - Added
Versions
feature, enabling capturing snapshots of projects together with a detailed changelog - Localization demos updated to show up-to-date localization approach
AjaxHelper.fetch
now supports using request body to pass parameters for non-GET requests. Please checkaddQueryParamsToBody
argument in the method documentation (2855)TaskMenu
feature now offers "Add dependencies" and "Remove dependencies" to link and link selected tasks (5846)- 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 asRecord<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) - Gantt Sharepoint example has been upgraded to use latest spfx version and Node 16 (6239)
API CHANGES
- DEPRECATED
LocaleManager.registerLocale
andLocaleManager.extendLocale
are deprecated.LocaleHelper.publishLocale
should be used instead. - When configuring a Gantt with a time zone at initialization, and there’s also a
startDate
and/or aendDate
initially, those days will be treated as in local system time zone and will therefore be converted to the configured time zone. Previously (in5.3.0-alpha-1
and5.3.0-beta-1
) those dates was treated as in the provided time zone
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)
- "Add dependencies" (
linkTasks
) and "Remove dependencies" (unlinkTasks
) added to all locales forTaskMenu
BUG FIXES
- 3213 –
Cmd/Ctrl + Right click
weird behavior - 3733 –
selectedRecords
are in wrong order after shift selection - 4807 – STM not tracking after updating project
- 5400 – Selecting tasks with
Shift + Click
get merged with previous selected task - 5858 – Time zone demo missing scheduled tasks
- 5900 – Allow dragging resource avatars
- 5989 – Timezone conversion of baselines sometimes incorrect
- 6018 – Wrong position of highlighted region when
taskRecord
is set - 6020 – Highlighted task timespan height not adjusting with the height of the rows
- 6091 – Deselect tasks in gantt using
Ctrl
selection not working correctly - 6195 – Inactive + Ignore resource calendar fields missing in docs
- 6201 – Intervals names showing in random places when indicators are on
- 6233 – Exception when resizing splitter by the header part with active cell editor
- 6242 – Copying Calendar not working anymore
- 6246 – Crash when pasting rows if one of the copied tasks is removed
- 6251 – Resources disappearing on unselect in
ResourceAssignmentColumn
- 6260 – Milestone is rendered incorrectly
Version 5.2.10
2023-02-17FEATURES / ENHANCEMENTS
- Added a
trackProjectModelChanges
config to theProjectModel
to optionally track own changes of theProjectModel
(5355) - Added
beforeTaskAdd
event which fires when adding task from the UI (3724)
API CHANGES
- Recently browsers have added support for Unicode 15, which changes the output of
Intl.DateTimeFormat
when formatting time to includeAM
/PM
. Those browsers now use "thin space" (\u202f
) instead of regular space. This affects theDateHelper.format()
function, but likely you do not need to take any action in your application. It also affectsDateHelper.parse()
, which has been updated to support the new unicode space (6193)
BUG FIXES
- 6010 – Project start label too small
- 6012 –
ZoomIn
/ZoomOut
goes to a different location - 6036 – Sync requests should not be issued while typing in
DurationField
- 6082 – Crash when clearing predecessor filter
- 6084 – Escape key has no effect in cell editing in invalid dependency cell
- 6110 –
TaskStore
filter doesn’t work whenTreeGroup
feature used - 6128 –
visibleDateRangeChange
event has not accurate dates - 6135 – Dialog for number filter closes when using arrows
- 6154 – MS Project import demo is broken
- 6165 –
Tooltip
positioning when having other elements with the Gantt
Version 5.2.9
2023-01-30FEATURES / ENHANCEMENTS
- The
php
demo was updated to be compatible with PHP 8.2
API CHANGES
- The
filter
feature of the grid will usesameDay
operator, when filtering by the date field match, (will include all records with that field’s value having the specified date, regardless of time). Previously it was performing the exact match, by both date and time (5976) - As of version 6.0,
remove
event will no longer be fired when moving a node in a tree store. To enable this behavior now (recommended), you can set a newfireRemoveEventForMoveAction
on your tree store tofalse
(5371)
BUG FIXES
- 5905 – Critical path on segmented tasks is set on gap instead of body
- 5924 – Error with invalid dependency with new task
- 5964 – Calendar interval wrongly applied on DST period
- 5966 –
constraintTypeField
needs more space to see content - 5971 – Dependency terminals not shown when enabling feature at runtime
- 6019 – TypeScript Feature classes and configs have
on
event handlers exposed on owner class - 6056 –
StateProvider
not trigger eventonSave
withGanttState
- 6071 –
DomHelper
getRootElement
throwing error on creating dependency - 6076 – Duplicate listeners added if clicking New task quickly
Version 5.2.8
2023-01-19BUG FIXES
- 5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
- 5721 – Exception during undo
- 5797 –
fillTicks
does not look correct for static non working time - 5814 –
StateProvider
throws during component construction - 5855 – Assignment with zero units causes an exception for effort driven tasks
- 5914 – Syncing changes after outdenting node leads to wrong WBS index
- 5921 – Baseline changes do not get synchronized
- 5931 – Deprecated API use. Handle size is from CSS
- 5936 – Wrong milestone layout in "custom-rendering" Gantt demo
Version 5.2.7
2023-01-11FEATURES / ENHANCEMENTS
Tree
feature now supports expanding to multiple nodes (2287)
API CHANGES
- The
StartDateField/EndDateField
fields now sets the default value of theirmax
property to be 200 years after the project’s end date, see the docs for the corresponding classes (5779)
BUG FIXES
Version 5.2.6
2022-12-28FEATURES / ENHANCEMENTS
- REACT React wrapper now supports React components in widgets and tooltips (774)
- REACT New React Redux demo has been added. Demo located in
examples/frameworks/react/javascript/gantt-redux
folder - The
RowCopyPaste
feature will now paste copied or cut row(s) below selected or provided reference record. Previously the documentation stated that the copied or cut row(s) would be pasted above the reference record. However, the behaviour was inconsistent and cut-paste was done above while copy-paste was done below (4890)
BUG FIXES
- 5394 – Non working days not painted after adding a calendar interval programmatically
- 5718 – Replacing calendars with same id causes an error
- 5723 – Non-working events partially disappear during scroll
- 5771 – Gantt Cut/Paste rows freezes gantt with 3k tasks
- 5783 – Calendar dropdown getting focused when click on the label
- 5794 – Hide overflow scrollbar in resource assignment column with no avatars
Version 5.2.5
2022-12-16FEATURES / ENHANCEMENTS
TaskCopyPaste
feature used to trigger excessive events on theTaskStore
. Nowadd
event is fired only for tasks which, after paste, make up top-level siblingsRowCopyPaste
feature supports copying rows in a tree. Copied records will have same hierarchy- Paste after cut and copy behavior is unified, records are moved below the paste target
msprojectimport
demo has been updated to MPXJ v10.14.1 to better support up-to-date MS Project file types
API CHANGES
- DEPRECATED
Gantt/data/Wbs.js
was deprecated and moved toCore/data/Wbs.js
BUG FIXES
- 5287 – WBS should be recalculated correctly on the sorted task store
- 5488 – Dependency arrows overlap task bar
- 5614 – Gantt crashes when dragging a resource to a collapsed grid
- 5676 – Improve
onPaste
event return data - 5709 – Creating invalid dependency to linked task shows green circle
- 5716 – Grouping feature shows duration in tooltip as
NaN
- 5736 – Dependencies incorrectly positioned when hovered if document is scrolled
Version 5.2.4
2022-11-28FEATURES / 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
- Now it is possible to unschedule the task by entering an empty string to its start/end/duration field. Such tasks are not rendered in the scheduling part and does not influence other tasks. To schedule task back, one can enter a missing value (4318)
BUG FIXES
- 5475 – Bryntum Gantt with zoom less than 100% on Firefox not rendering correctly
- 5541 – Timeline header is not rendered when calling
zoomToFit
- 5591 – Error on expand collapsible panel by click on header
- 5595 – Fix panel collapse icon directions
- 5614 – Gantt crashes when dragging a resource to a collapsed grid
- 5626 – Race condition in project model prevents persisting removals
- 5627 – Canceling cell editing with
ESC
key lost the focus from cell - 5631 – Crash when clicking non-editable
DependencyField
Version 5.2.3
2022-11-17BUG FIXES
- 5466 – Gantt crash when setting
visibleDate
- 5542 – Project lines are not rendered properly on
shiftNext()
andshiftPrevious()
- 5556 – Separator class is missing on menu items
- 5562 – Scheduling conflict and exception when reading
lateStartDate
orlateEndDate
properties inside a task store filter - 5563 – Error when disabling key-mapping on copy/paste feature
- 5587 – Do not patch
offsetX
/offsetY
Version 5.2.2
2022-11-08API 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)
BUG FIXES
- 5354 –
ignoreRemoteChangesInSTM
config leads to exception when two clients edit task at the same time - 5485 – Dropping task revert the changes when mouse is over the tooltip
- 5503 – Multi-select not possible with
cmd
key - 5504 – P6 file import issue
- 5531 – Column rename not compatible with
Filter
feature
Version 5.2.1
2022-10-28BUG FIXES
- 1802 – Exception on a scheduling conflict
- 4417 – Typing into Gantt
DateField
freezes browser - 4927 – An error occurs if
task.critical
called with disabledcriticalpaths
feature - 5149 – Angular demos now use component-local styles using
ViewEncapsulation.None
- 5362 –
TimeRange
header element styling bug - 5423 – Gantt
DependencyField
filters using wrong input when filtering using picker’s field - 5429 – Exception "Identifier can not read from higher level identifier"
- 5434 –
DragCreate
exception when dragging right then left beyond start point - 5451 –
DatePicker
animation glitch - 5478 – Enable certain tasks to not allow resizing progress
Version 5.2.0
2022-10-13FEATURES / ENHANCEMENTS
- Gantt has gained built-in support for segmented tasks, by using the new
EventSegments
,TaskSegmentDrag
andTaskSegmentResize
features. The features cover splitting tasks to segments, rendering of such tasks and individual segments dragging. Please check the newsplit-tasks
demo to see how it works (2975) - A new widget,
ViewPresetCombo
, is available to Scheduler, SchedulerPro and Gantt. Put it in the toolbar, and it will provide easy-to-setup view switching. It uses the built-in ViewPresets functionality which is easily customized (4539) - Added a new
collapsible-columns
demo showing how to use collapsible column groups (4878) - The
fillTicks
config from Scheduler was ported over to Gantt. Enable it to stretch tasks to always fill the time cells/ticks (3983) - Menu has a
separator
config to make it easier to visually separate menu items - The responsive state objects used in the
responsive
config of theResponsive
mixin now support aonce
property to allow configs to only be set on first activation of the state - The
Core.helper.DateHelper
class has a new methodformatRange
method which can format date ranges, as well as new formatting options for week numbers - Added new feature
TaskNonWorkingTime
which highlights the non-working time of the tasks, meaning time intervals when they can not be worked on. Try it out in the newcalendars
demo (3260) - Baselines can now be styled by supplying
cls
and/orstyle
as part of their data (2873) - The
TreeGroup
feature was reworked to allow manipulating the tasks in the generated structure, applying the same rules as in the original view - PdfExport feature is refactored to render content directly. This significantly improves performance and robustness by eliminating component scrolling. This behavior is enabled by default. You can revert to the old behavior by setting
enableDirectRendering
config on the export feature tofalse
. (4449) - Baselines are now exported to PDF (4834)
- New
fieldfilters
demo showing how to add multi-filter UI to a Gantt ResourceHistogram
has got a newgenerateScalePoints
event that allows customizing its scale points at runtime (5025)
LOCALE UPDATES
- Added localization for the new task split functionality, key
EventSegments.splitTask
API CHANGES
EventModel
has newignoreResourceCalendar
boolean field. When field is set totrue
the event will not take its assigned resource calendars into account and will perform according to its own calendar only. (3349)
BUG FIXES
- 336 – Task baselines need to track changes and modify Task
- 1947 – Update MSProjectImport demo to use the latest Maven
- 2422 – Wrong baselines dates should not cause crash
- 2755 – Task baselines are not imported correctly
- 4096 –
CalendarIntervalMixin
class uses hardcoded date field formats - 4218 – It is not possible to drag resize manuallyScheduled parent tasks
- 4573 – Issue with the Import MPP
- 4828 – MPP file import throwing error
- 5053 – MPP file import throwing error
- 5055 – MS Project import demo cannot handle a file
- 5143 –
calendarInterval
doesn’t change after an interval is added - 5148 – MPP File import not working
- 5169 –
setBaseline
not triggering sync method - 5249 – Split task outside of task element does nothing
- 5251 – Converting a segmented task into milestone removes it
- 5257 – Gantt split-tasks demo throws on deleting task
- 5259 – PDF export insert extra margin at bottom
- 5268 – Project line is rendered at the start of the timeline if corresponding project date is out of the gantt time span
- 5294 – Extra dependency line is drawn on the exported page
- 5334 – MS Project import demo produces invalid calendar intervals
- 5356 – Exception thrown when trying to export
Gantt
with a dependency which doesn’t have target record - 5387 – Exporter throws exception when trying to render dependency to unscheduled task
- 5399 – MS Project import demo corrupts Japanese characters
Version 5.1.5
2022-10-12FEATURES / ENHANCEMENTS
- New demo
drag-resources-from-utilization-panel
showing how to drag resources from utilization and drop on aGantt
row to assign the resource to a task. - New records are assigned a generated
id
if none is provided. The generatedid
is meant to be temporary (a phantomid
), and should be replaced by the backend on commit. Previously theid
was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameid
during a session, but if an application serialized the generatedid
(note, they should not) and then reloaded it, it would eventually collide with a new generatedid
. To prevent this, the generatedid
s are now based on a random UUID instead - Stores now by default show a warning on console when loading records that has generated
id
s, as a reminder that it should be replaced by the backend on commit
BUG FIXES
- 4645 – Improve error message "Bryntum bundle included twice"
- 4654 – REACT Bryntum widget wrappers don’t accept all component properties in React 18
- 5312 – Crash when partnering with a hidden partner
- 5337 – Angular
ZoneAwarePromise
for Angular 8 and below doesn’t supportPromise.allSettled
- 5343 –
AggregateColumn
not working if added after Grid is painted
Older versions
- Full release version history can be found here.