Gantt – Change Log
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
Version 5.1.4
2022-09-29FEATURES / ENHANCEMENTS
- New
filterbar
demo added showing theFilterBar
feature (#5208) - New
p6-import
demo added for importing Primavera P6 projects (#5300)
BUG FIXES
- #5047 – Conflict dialog looks bad in dark theme
- #5173 –
FilterBar
doesn't work forstartDate
/endDate
columns when date hashour
/minute
provided - #5180 – Dependency contents are misaligned when
fromSide
andtoSide
set in the console - #5212 – Duration is exported incorrectly for localized gantt
- #5219 – PNG export doesn't render dependency arrows
- #5260 – Rendering artefact in Angular and React timeranges demos
- #5309 – Project throws when applying changes with a task outdented to the top level
Version 5.1.3
2022-09-09BUG FIXES
- #415 – Improve docs on formatting currency values on
NumberField
- #3680 – Support Salesforce Winter 22 release
- #4457 – React Error when change locale for gantt in routing page
- #5125 – Setting an initial value for
activeTab
on aTabPanel
no longer animates that tab into view - #5158 –
TaskRecord
should be available in the params ofbeforeTaskResizeFinalize
- #5189 –
Project
throws exception when trying to apply changes for copied tasks hierarchy
Version 5.1.2
2022-08-29FEATURES / ENHANCEMENTS
- An application's filters on a store may now be configured with an
internal
property. This indicates that they are fixed, and must not be ingested and modified by filtering UIs such as theFilter
andFilterBar
features (#4980) - 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 toPartial<TooltipConfig>
in typings) when using such configs, but also improves our docs by linking to the configs of the type - Gantt now supports using keyboard shortcuts for indenting and outdenting tasks. Defaults are
Alt + Shift + Right
for indenting, andAlt + Shift + Left
for outdenting. Note that theAlt
key matches theOption
key on Mac Configurable with theKeyMap
mixin **Guides/Customization/Keyboard shortcuts** - Added a config to allow State Tracking Manager to ignore remote changes coming in a sync response. This allows user
to only undo/redo local changes (
ignoreRemoteChangesInSTM
config on theProjectModel
) (#5083)
API CHANGES
- CalendarModel
expanded
field now defaults totrue
BUG FIXES
- #3729 – Assignment field selection is cleared when picker store has a filter
- #4110 –
selectionchange
event is fired too often - #4984 – Infinite loop when reordering rows
- #5017 – TypeScript Property type is missing in
DataFieldConfig
- #5018 – Vue Prop Validation fails for
String
options - #5023 – Error
menuFeature.hideContextMenu is not a function
when dragging - #5033 – Dependency creation always create dependency end to start even if dragged end to end
- #5040 – Dependency tooltip contents are misaligned
- #5041 – Gantt crashes when destroyed while the React editor is open
- #5054 – New tasks now display their
wbsCode
in Predecessors/Successors picker. Advanced example now useswbsMode: 'auto'
- #5086 – Wrong constraint is set on parent task if child gets modified during the active sync
- #5102 – Calendars missing unless parent calendar is
expanded
- #5114 – Gantt SharePoint fabric demo fails on
npm install
Version 5.1.0
2022-07-21FEATURES / ENHANCEMENTS
- The
Dependencies
feature was refactored, it now continuously redraws dependencies during transitions. It also allows customizing the marker (arrow head) and applying a radius to line corners for a more rounded look - 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 asdock: string
is nowdock : '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
andsyncUrl
configs - Updated the built-in version of FontAwesome Free to
6.1.1
- Added new Angular Gantt + Resource Utilization combination demo
KeyMap
is a mixin that allows for standardized and customizable keyboard shortcuts functionality.KeyMap
is by default mixed in toWidget
and therefore available to allWidget
's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)- Added
applyProjectChanges
method to the Project model which allows applying changes object from another project. Projects should be isomorphic - Project optionally allows
sync()
calls without local changes, to retrieve changes from the backend. ConfigureforceSync : true
to enable this new behaviour (#4575)
API CHANGES
- 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
gantt.lite.umd.js
bundle is no longer available - BREAKING WebComponents has been removed from
gantt.module.js
ES modules bundle. New bundle with WebComponents isgantt.wc.module.js
- DEPRECATED The
drawForTask()
fn of theDependencies
feature was deprecated. Calling it should no longer be necessary
BUG FIXES
- #4301 – Fixed radio button keyboard navigation is conflict dialog
- #4696 – Parents sorted below children in docs
- #4697 – Too dark code background in docs
- #4884 – UI bug when editing a task duration and expanding a parent task
- #4926 – Scrollbar remains after removing all rows
- #4935 – Editing last record in gantt moves focus to the first cell if
autoSync
is enabled - #4947 – Tasks are duplicated in the view when collapsing nodes
Version 5.0.7
2022-07-13FEATURES / ENHANCEMENTS
- The
AssignmentField
now lets you configure its tooltip using thetooltipTemplate
config (#4821) - Added preventable
beforeSelectionChange
event which fires before selection changes (#4705)
BUG FIXES
- #3980 – Dependency creation target changes if moving mouse quickly after mouse up after creating dependency
- #4681 – STM issues when using with backend
- #4756 – PDF export hangs trying to restore component
- #4805 – Changes not reverted when close
TaskEditor
withEsc
- #4815 – Paste event doesn't fire
- #4852 – Assignments editing broken when using mapped fields
- #4863 – Setting task calendar to null does not trigger sync request
- #4916 –
Fullscreen
is not working on mobile Safari - #4919 – Engine throws exception on referencing a destroyed project
Version 5.0.6
2022-06-20BUG FIXES
- #4430 – PDF Export dialog is still masked after failed export
- #4431 – Fix docs for
isValidDependency
method to allow pass instances - #4476 – Task date resets after deleting 3 last chars of start date
- #4719 – Toggling parent task with collapsed grid causes a crash
- #4736 – Task editor not shown when task is not scrolled into view
- #4754 – Auto-scroll for dependency creation doesn't work
- #4759 – Using mapped
lag
field breaks cell editing - #4779 – Crash when adding empty
bbar
- #4784 – Lag not copied when copying tasks
- #4789 – Wrong drag behavior when trying to select text of a task
- #4803 – Circular Dependency Dialog edit box is too small
- #4808 – Typings are wrong for async functions
- #4813 – Scheduling Cycle combo shows previous content on resolving next conflict
- #4820 – ExcelExporter encoding problem with resourceAssignment when showAvatars is true
Version 5.0.5
2022-05-30BUG FIXES
- #4444 – Tooltip not displayed when calling showBy targeting a widget
- #4537 – Crash when toggling parent node with timeline section collapsed
- #4567 – Using too new
replaceChildren
API in Row - #4580 – Crash when dragging task card on to Gantt chart
- #4581 – Cut and paste tasks removes dependencies
- #4590 –
highlightTimeSpan
function throwing error when taskStore is filtered - #4591 –
response.message
not shown in error mask in case of response code not200
- #4598 –
unhighlightTimeSpans=true
breaks theTimeSpanHighlight
feature - #4599 – Timeline not updated after changing task with custom mapped fields
- #4601 –
ResourceHistogram
still partnered with gantt even after usingremovePartner
- #4607 – VUE Incorrect prop types in Vue wrapper
- #4624 – XSS security bugs
- #4625 – Dropdown editor not working for new subtask
Version 5.0.4
2022-05-11API CHANGES
ProjectModel
has got newmaxCalendarRange
option that allows supporting long running projects. For more details, see What's new (#2962)
BUG FIXES
- #4309 – Baseline with no dates is shown as full task's duration baseline
- #4365 – Fullscreen button should not have a border in framework demos
- #4513 – Sync response format documentation missing in Gantt guide
- #4562 – REACT React wrappers have incorrect source mapping urls
- #4574 –
highlightTimeSpans
works even though thetimeSpanHighlight
feature is disabled
Version 5.0.3
2022-04-26API CHANGES
- The
validateResponse
flag onProjectModel
has been changed to default totrue
. 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 tofalse
). When set totrue
, the events fired by stores are relayed to the Bryntum Grid instance - REACT React wrappers now include TypeScript definitions (#3378)
BUG FIXES
- #4127 – LWC
DomHelper.isInView()
throws - #4222 – LWC Performance degradation in 5.0 release
- #4238 – WRAPPERS Use
ProjectModel
wrapper component asproject
parameter - #4289 – Using
TreeGroup
modifies tasks - #4337 – Tasks disappear when clicking Change data in demo
- #4387 – ASPNet demos should use trial packages in trial distribution
- #4432 – LWC Mouse events do not work
- #4439 – Add public event to track task edit cancel action
- #4461 – Vue wrapper triggers doubled
dataChange
events with different params - #4515 –
validateResponse
should betrue
by default - #4531 – DOCS "Include in your app" section missing in Gantt
- #4532 – Hovered row looks bad while row reordering
TreeGrid
with handle enabled - #4533 – Duration column updates multiple times when using spinner triggers
Version 5.0.2
2022-04-13FEATURES / ENHANCEMENTS
- The
beforeTaskEdit
,beforeTaskSave
andbeforeTaskDelete
events triggered by the TaskEdit feature now handle async flows. Use async / await in your listener or return a Promise and it will be awaited before execution continues. Useful for example to ask for a confirmation on save etc (#4421)
BUG FIXES
- #4049 –
beforeEventEdit
does not fire on Scheduler Pro, whereasbeforeTaskEdit
does - #4224 – Fix background applied to selected parent milestones
- #4257 – Selecting a milestone task does not change its background
- #4291 – React editors are not working in new version
- #4304 – MS Project export issues
- #4308 – Problems with rendering React component in column renderer and as cell editor
- #4320 – Crash when drag dropping in LWC
- #4333 – Gantt task editor end date datepicker arrows are not working
- #4344 – Replace
%
lag values in MS Project importer - #4363 – REACT Advanced example – recreates project when any params updated for its react wrapper component
- #4370 – Assigning tasks to project when
syncDataOnLoad:true
results in emptyGantt
- #4381 – Pin successors feature calculates lag incorrectly for calendars with less than 24h per day
- #4385 – Problem with encoding on export to excel
- #4405 – Exception occurred on task drag if snap is enabled
- #4406 – Fixed items in disabled
fieldset
/radiogroup
not being disabled - #4482 – Gantt not refreshed when supplying empty array to
store.filter()
withreplace: true
Version 5.0.1
2022-03-04API CHANGES
- WRAPPERS New
ResourceUtilization
widget wrapper available for Angular, React and Vue frameworks (#4276)
BUG FIXES
- #3861 – Bug in Baseline Demo after setting baseline
3
- #4162 – Left arrow key does not navigate from selected task
- #4252 – No dependencies in
CycleResolutionPopup
combo - #4286 – When
TreeGroup
feature is active,Indent
,Outdent
, addSubTask
should be disabled - #4295 – Edit / View task modal will not open when gantt view is collapsed
Version 5.0.0
2022-02-21We are thrilled to announce version 5.0 of our Gantt product. This release marks a big milestone for us, after more than a year of development. This update includes performance improvements, a new ResourceUtilization widget, a TreeGroup feature as well as bug fixes 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
- Added a new Resource Utilization view displaying resource allocation. Please check its demo for details (#2348)
- With this release Gantt starts displaying a popup informing users of scheduling conflicts, cycles and calendar misconfigurations. The popup allows the user to pick an appropriate resolution for the case at hand. On the data level the cases are indicated by new events triggered on the project (#1264, #1265)
- Gantt now performs the initial rendering of tasks quicker than before, by rendering them using raw data prior to performing calculations. Especially on large datasets this makes it feel much snappier. Requires loading normalized data to work optimally. Depending on how much non-UI manipulating your app does on the tasks the delayed calculations might affect your code, be sure to check out the upgrade guide (#2251)
- Gantt has a new
TreeGroup
feature that can transform the task tree on the fly. It generates a new tree structure based on an array of field names (or functions), each entry yields a new level in the resulting tree. Check it out in the newgrouping
demo (#3543) - 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 nameproduct.theme.thin.css
–gantt.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 theWhat's new
section in docs (#3276) Model
has a newreadOnly
field that is respected by UI level editing features to disallow editing records havingreadOnly : true
. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)- Manually scheduled tasks are changed to not skip non-working time for proposed start/end date values. Check the upgrade guide if you want to revert to the previous behaviour (#2326)
- Added a
pinSuccessors
config that allows successors to stay in place by adjusting lag when dragging a task (#3998) - Gantt's task rendering now uses absolute positioning instead of translation to position the task bars. This was changed to match changes in Scheduler and Scheduler Pro (#4055)
- New
ParentArea
feature highlighting the area encapsulating all child tasks (#1290) - New
ProjectModel
setters/getters forassignments
,calendars
,dependencies
,resources
,tasks
,timeRanges
(#4043) - New
highlight-time-spans
demo showing how to visualize time spans - New
grid-regions
demo showing how to place columns on the right side of the timeline window
references are replaced withglobalThis
which is supported in all modern browsers and across different JS environments (#4071)- Gantt now triggers
beforeMspExport
andmspExport
events whenMspExport
feature is used (#3565) - 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. Rungantt.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
- When configured with a StateProvider and
stateId
, Gantt state is stored automatically as stateful properties change (#1859) - You can now style
CalendarIntervals
by providing acls
field in their data. This makes it very easy to style non working time elements (#3255) - WRAPPERS Gantt has a new
ProjectModel
framework wrapper available for React, Vue and Angular. It simplifies sharing data between multiple Bryntum components (#4877) - ANGULAR New demo showing use of inline data. Demo located in
examples/frameworks/angular/inline-data
folder - REACT New demo showing use of inline data. Demo located in
examples/frameworks/react/javascript/inline-data
folder - VUE New demo showing use of inline data. Demo located in
examples/frameworks/vue/javascript/inline-data
folder - VUE-3 New demo showing use of inline data. Demo located in
examples/frameworks/vue-3/javascript/inline-data
folder For more details, see What's new and Upgrade guide in docs
API CHANGES
- BREAKING The Engine
ResourceAllocationInfo
classallocation
property has been changed from anArray
to anObject
with two propertiestotal
andbyAssignments
. Thetotal
property contains an array of the resource allocation intervals. And thebyAssignments
is aMap
keeping individual assignment allocation intervals with assignments as keys and arrays of allocation intervals as values Please check Upgrade guide if your code uses that class - 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)
- DEPRECATED ResourceHistogram
getBarTip
config has been deprecated in favour of newbarTooltipTemplate
config Please check the upgrade guide and update your code accordingly - Store's
toJSON()
method now ignores all local filters and returns all records (#4101) DependencyModel.active
field has been changed to be persistable by default. To revert to the old behavior please override the field and set itspersist
config tofalse
- The following previously deprecated Gantt configs, functions etc. where removed:
TaskContextMenu
feature – previously replaced byTaskMenu
feature- Arguments
startText
,endText
,startClockHtml
,endClockHtml
&dragData
ofTaskDrag#tooltipTemplate()
- Config
TaskEdit#tabsConfig
– previously replaced byitems
- Config
ProjectModel#eventModelClass
– previously replaced bytaskModelClass
- Config
ProjectModel#eventStoreClass
– previously replaced bytaskStoreClass
- Field
TaskModel#wbsIndex
– previously replaced bywbsValue
- Argument
tplData
ofGantt#taskRenderer()
– previously replaced byrenderData
- Config
AssignmentPicker#grid
– previously replaced by configuringAssignmentPicker
directly - Config
TaskEditor#durationDecimalPrecision
– previously replaced bydurationDisplayPrecision
- Event
Gantt#beforeExport
– in favor ofbeforePdfExport
event - Event
Gantt#export
– in favor ofpdfExport
event
BUG FIXES
- #209 – TaskArea layer plugin for Gantt
- #1771 – Parent task not rerendered on expand or collapse
- #1965 – Exception is thrown when adding a dependency results in constraint violation
- #3786 – Erratic dragging when using
getDateConstraints
- #3898 – MS Project import fails for MPX files using wk duration unit
- #3957 – Gantt label editing only works once
- #3966 – Dependency error message should be shown on the field
- #3993 – MS Project import demo fails to import MPX file
- #4003 – Bigdataset initial rendering artefacts
- #4113 – Calendar is not applies when switching via projects
- #4142 – Timeline demo issue
- #4165 – Exception in custom task bar demo
- #4179 – Events disappear when clicking size buttons
- #4232 – Rollups + loading nodes on demand causes a crash
Version 4.3.8
2022-02-07BUG FIXES
- #4072 –
Container.setValues
should use each widget'sdefaultBindProperty
, not hardcode value - #4104 – MS Project export feature does not extract assignments
- #4107 – MS Project export feature retrieves wrong duration for manually scheduled tasks
- #4118 – Assigning resource via
ResourceAssignmentColumn
doesn't trigger events inassignmentStore
Version 4.3.7
2022-02-02FEATURES / ENHANCEMENTS
- The new
newTaskDefaults
allows you to customize values applied to newly created tasks through UI (#4004) - CellEdit can now be configured to stop editing after clicking another cell via its new
continueEditingOnCellClick
config (#4046)
API CHANGES
- DEPRECATED Gantt
beforeExport
andexport
events (triggered byPdfExport
feature) were deprecated in favor of thebeforePdfExport
andpdfExport
events respectively. The old events names will be dropped in v5.0.0
BUG FIXES
- #3997 – Store id property documentation is not clear
- #4007 – End to end dependency is not drawn in some cases
- #4012 – Unexpected scheduling conflict
- #4029 –
autoEdit
should not react when CTRL / CMD key is used to copy & paste - #4033 –
taskKeyDown
,taskKeyUp
event parameter missing - #4037 – Resource name in Assignment Picker is too escaped
- #4041 –
TextArea
ignores arrowDown key press - #4064 – Unexpected constraint when setting a dependency lag
- #4082 – Relayed listeners do not trigger onFunctions
Version 4.3.6
2022-01-13BUG FIXES
Version 4.3.5
2021-12-24BUG FIXES
- #3746 – Minimum value violated error for end date field in the task editor
- #3750 – Resizing task end date puts start date constraint
- #3887 – Calendar applies wrong if it's startDate is far in the past
- #3896 – TypeScript Wrong typings of model class configs
- #3900 – MS Project export feature uses wrong UID type
- #3907 – TypeScript Cannot pass Scheduler instance to
Store.relayAll
- #3923 – Dependency line has extra points with certain system scaling
- #3928 – DateHelper
k
format behaves incorrectly
Version 4.3.4
2021-12-13FEATURES / ENHANCEMENTS
- Updated
advanced
,gantt-schedulerpro
andtaskeditor
Angular demos to use Angular 13 (#3742) - Enhanced
wbsMode
to allow an object indicating what triggers renumbering WBS values (#3858)
BUG FIXES
- #3621 – TypeScript Improve typings of mixins
- #3777 – Online angular pdf export demo has wrong export server configured
- #3803 – Can't change dependency type using column editor
- #3850 – TypeScript Missing static properties in typings
- #3854 –
DependencyColumn
does not produce valid value for the Filter Feature - #3878 –
DependencyField
renders (undefined) if used out of scope of the project
Version 4.3.3
2021-11-30FEATURES / ENHANCEMENTS
ResourceAssignmentColumn
has a newavatarTooltipTemplate
config that lets you supply custom content for the avatar tooltip (#2954)
BUG FIXES
- #3626 – Tasks overlap each other on vertical drag
- #3628 – Task Editor combo
listItemTpl
has no effect - #3639 –
wbsValue
is now correctly updated when sorting theTaskStore
andwbsMode: 'auto'
is enabled - #3645 – Dependency links are not shown up at browser zoom level 75%
- #3648 – DOCS Content navigation is broken
- #3676 – Error when using predecessor/successor filters
- #3677 – Crash in
cellEdit
when starting edit record in collapsed parent - #3689 – Implement support of PDF export feature on Salesforce
- #3720 –
dataSource
property not working on dependency from and to fields - #3726 – Remove outline when using mouse
- #3734 – Resource Assignment Picker needs a
minHeight
- #3743 – DOCS
web.config
file for Windows IIS server - #3751 – Gantt localization bundle contains unwanted
Core
code - #3794 –
ProjectLines
feature doesn't react to project change - #3807 –
beforeTaskDrag
event is fired on mouse down - #3821 –
MspExport
feature exports only expanded node tasks
Version 4.3.2
2021-10-29FEATURES / ENHANCEMENTS
- New
summary
demo showing how to add a summary bar to the Gantt (#3601) - The
WBS
field can now be automatically refreshed by settingwbsMode: 'auto'
on theTaskStore
class (#2721) TaskCopyPaste
feature now firesbeforeCopy
andbeforePaste
events to let you prevent the actions (#3303)
BUG FIXES
- #3464 – Infinite loop when
earlystart
is displayed with anull
startDate/endDate - #3572 –
wbsValue
updates are not included into sync pack after it set to be persistent - #3584 – Project start date is not updated after task addition, when initially no tasks have start/end/duration data
- #3597 – Removing the
startDate
/endDate
of a task with dependencies prevent you from scheduling it again - #3599 –
readOnly
flag allows task drag drop - #3605 – Pressing ESC during task drag schedule leaves an element
- #3610 –
readOnly
not disabling actions in Task Context Menu - #3612 –
TaskModelClass
cannot be defined in project settings - #3618 – LockerService exception: The addEventListener method on ShadowRoot does not support any options
Version 4.3.1
2021-10-21FEATURES / ENHANCEMENTS
- Bumped builtin Font Awesome Free to version 5.15.4
- Added new demo
drag-from-grid
showing how to drag unplanned tasks onto the Gantt - Added new config
scrollTaskIntoViewOnCellClick
which scrolls the task bar into when clicking a cell in the table ProjectModel
now has aresetUndoRedoQueuesAfterLoad
flag to optionally clear undo / redo queues after each load (#3549)- A group column can now be
sealed
meaning you are not allowed to drop columns into it (#3536)
BUG FIXES
- #802 – Rollup elements should be rendered same way as task itself
- #3389 – Tasks copy/paste doesn't copy dependencies nor maintain tree indent level properly
- #3425 – Infinite cycle in the Engine
- #3429 – Reload dependencies as
inlineData
causes error when visible in React - #3558 – Id column in TaskEditor´s
DependencyTab
is not sortable - #3561 – Crash after right clicking columns on Gantt Predecessor / Successor, only works on the first one
- #3563 – Gantt – Feature toggle event for baselines feature does not fire
- #3567 – Minified css bundle contains unicode chars
- #3576 – Gantt
TaskDragCreate
must not delete task on ESC - #3578 – Crash when setting calendar column editor to false
Version 4.3.0
2021-10-12FEATURES / ENHANCEMENTS
- Inactive tasks support has been added. Such tasks don't take part in the scheduling yet stay in the project plan. For more details please check "Inactive tasks" guide and see this new demo (#2981, #807)
ResourceHistogram
now supports resource grouping. It displays the aggregated resources allocation on the group level (#2608)- IONIC Added Ionic framework integration demo. Demo located in
examples/frameworks/ionic/ionic-4
folder (#2622)
API CHANGES
- DEPRECATED Buttons
menuIconCls
config was deprecated in favor of the newmenuIcon
config, which better matches the naming of other configs
BUG FIXES
Version 4.2.7
2021-10-01FEATURES / ENHANCEMENTS
- Added new
setCalculations
method to theProjectModel
class. The method toggles the project owned model fields calculation functions, which allows changing the behavior of standard fields dynamically Please check the newstatic
demo for details (#2284, #2327)
BUG FIXES
- #2909 – MS Project importer doesn't support project calendar recurring exceptions
- #3243 – Dependency links are misplaced when browser zoom level is 75%
- #3272 – Expanding last node sometimes doesn't increase scroll size
- #3382 – visibleDate works incorrect if
startDate
is not provided (re-fix) - #3396 – MSProjectReader does not import calendar intervals properly
- #3424 – Crash when showing id column of predecessor grid in task editor
- #3426 – Button with menu should show extra menu arrow icon
- #3441 – Invalid dependency format errors when filtered
- #3450 – Unable to set columns store data on Gantt instance
- #3453 – QuickFind feature doesn't work in Gantt
- #3454 – Timeline tasks should use 'cls' field
- #3458 – Document nested fields
- #3459 – Add an event when expanding/collapsing subgrids
- #3460 – Dependency terminals not hidden after task resize
- #3462 – Exception in the Gantt when Project endDate is not calculated
- #3465 – Gantt ResourceAssignmentColumn too many decimal places
- #3466 – An error if totalslack column used and Saturday work scheduled
Version 4.2.6
2021-09-15BUG FIXES
Version 4.2.5
2021-09-08FEATURES / ENHANCEMENTS
- New
gantt.node.mjs
andgantt.node.cjs
bundles are available. Both are compatible with the Node.js environment (#3224) - Added
keyMap
config to reconfigure or disable cut / copy / paste keyboard shortcuts for TaskCopyPaste (#3351) - ProjectModel now fires a
dataReady
event when the engine has finished its calculations and the result has been written back to the records (#2019) - The API documentation now better communicates when a field or property accepts multiple input types but uses a single
type for output. For example date fields on models, which usually accepts a
String
orDate
but always outputs aDate
(#2933) - New
custom-headers
demo showing how to customize the rows shown in the time axis header
BUG FIXES
- #1847 – Gantt bundle does not export Engine classes
- #3120 – Cannot read property 'map' of undefined in task store toJSON
- #3283 – Resources grouping works incorrect with some data set
- #3322 – Add
dataChange
event to framework guides - #3337 – Gantt
ProjectModel#sync
Promise does not return response data - #3345 – AspNet demos use wrong
@bryntum
npm package version - #3346 – Gantt web component does not show critical paths
- #3347 – Inconsistent Language – Start to Finish/Start to End
- #3350 – Disabling task copy paste feature leaves keyboard shortcuts still active
- #3359 – Dependency id column in predecessors tab render the
dependencyIdField
rather thantask.id
- #3365 – Indicators config is mutated preventing reuse
- #3371 – Label editor misaligned
- #3379 – Crash when dates missing when using critical path
Version 4.2.4
2021-08-27FEATURES / ENHANCEMENTS
- MS Project export feature now exports task baselines (#3278)
- Project now triggers a
change
event when data in any of its stores changes. Useful to listen for to keep an external data model up to date for example (#3281) - Project got a new config
adjustDurationToDST
which isfalse
by default, meaning project will no longer try to keep task duration in hours an integer multiple of 24. This change fixes the problem with task end date shifting 1 hour from midnight in certain cases. To return to the old behavior set this config totrue
(#3329)
BUG FIXES
- #794 – Dependency creation tooltip is initially misaligned
- #1432 – Gantt doesn't take DST into account for task duration
- #3116 – Gantt throws on task terminal drag
- #3127 – appendChild function of task model is not working
- #3132 – Add support of "mo" units to MS Project import
- #3170 – Tasks are not rescheduled after adding intervals to calendar
- #3250 – Menus do not work in fullscreen mode
- #3264 – Progress line ignores milestones
- #3265 – Docs are not scrolled to the referenced member
- #3270 – Cutting and Pasting tasks does not preserve the order
- #3283 – Resources grouping works incorrect with some data set
- #3284 – PercentDoneColumn cannot use other model field
- #3291 – Gantt dependency tooltip should render the dependencyIdField rather than
task.id
- #3296 – Task editor does not show if triggered when schedule region is collapsed
- #3301 – Copy/Paste should not react if cell or editor text is selected
- #3305 – Guides look bad in the docs search results
- #3306 – Doc browser does not scroll to member
- #3311 – alwaysWrite field causing stack overflow for task 'calendar'
- #3321 – Baseline bars misrendered if task has no start / end dates
- #3324 – Not possible to select end date after editing
Version 4.2.3
2021-08-05FEATURES / ENHANCEMENTS
- Project can now log warnings to the browser console when it detects an unexpected response format. To enable these
checks please use the
validateResponse
config (#2668) - NPM Bryntum Npm server now supports remote private repository access for Artifactory with username and password authentication (#2864)
- The PdfExport feature now supports configuring its ExportDialog to pre-select columns to export or to customize any of the child widgets (#2052)
- TYPINGS Type definitions now contain typed
features
configs and properties (#2740)
API CHANGES
- DEPRECATED PdfExport feature
export
event is deprecated and will be removed in 4.3.0. Useexport
event on the Gantt instead - DEPRECATED Gantt
beforeExport
event signature is deprecated and will be removed in 4.3.0. New signature wraps config object to the corresponding key
BUG FIXES
- #431 – Baseline index is NaN in tooltip
- #3116 – Gantt throws on task terminal drag
- #3184 – Visual artifact with full % Done column in circle mode
- #3202 – Bug with scrolling the column visibility pop-up
- #3204 – TimeRanges data provided inline is not rendered
- #3206 – Selection is not updated when triggering contextmenu on expander icon
- #3214 – Resizing or dragging column in a grid inside a Popup starts drag & drop of outer popup
- #3229 – Filter by typing in Predecessor and Successor field doesn't filter by wbsCode
- #3235 – Export to MSProject does not support cyrillic symbols
- #3247 – Scroller position reset to 0 when filtering using FilterBar with no results
- #3248 – Crash when dragging task if no 'locked' region exists
Version 4.2.2
2021-07-21FEATURES / ENHANCEMENTS
- Added a new
hideRangesOnZooming
config toNonWorkingTime
feature (#2788). The config allows to disable the feature default behavior when it hides ranges shorter than the base timeaxis unit on zooming out - NPM Bryntum Npm server now supports
npm token
command for managing access tokens for CI/CD (#2703)
API CHANGES
- DEPRECATED Class
GanttMspExport
exported from the bundle is deprecated, useMspExport
insteadGanttMspExport
will be removed from the bundle in 5.0
BUG FIXES
- #416 – TreeNode children field cannot be mapped
- #435 – Cannot map baselines field and baseline start/end fields
- #2071 – Support configuring eventeditor / taskeditor child items with 'true' value
- #3114 – TaskEdit crashes when tab panel items configured with true
- #3153 – Critical Paths feature does not include all paths
- #3159 – Gantt Task Editor Resources tab user combo should be editable for filtering
- #3160 – ResourceAssignmentColumn throws an error after closed with filtered data
- #3167 – LWC bundle is missing from trial packages
- #3169 – Unhovered task dependency terminals not properly hidden
- #3176 – Dependency arrow not pointing task for end-to-start relationship if target task is short
- #3178 – Syntax highlighter messes up code snippets in docs
- #3185 – Add CSS class to indicate that an event is being created
- #3196 – MspExport feature is missing from the angular wrapper
Version 4.2.1
2021-07-07FEATURES / ENHANCEMENTS
- FRAMEWORKS Added
taskCopyPasteFeature
to frameworks wrappers (#3135)
BUG FIXES
- #3136 – NPM Running
npm install
twice creates modifiedpackage-lock.json
file
Version 4.2.0
2021-06-30FEATURES / ENHANCEMENTS
- Gantt has a new config option
infiniteScroll
meaning that as the user scrolls the timeline back or forward in time, the "window" of time encapsulated by the time axis is moved. Addedinfinite-scroll
demo. (#3048) - The
TaskResize
feature now uses the task's data to change the appearance by updatingendDate
live but in batched mode so that the changes are not propagated until the operation is finished. (#2541) - Dependencies can now be created by dropping on the target task without hitting the terminal circle element. The
defaultValue of the DependencyModel
type
field will be used in this case. (#3003) - Dependency creation can now be finalized asynchronously, for example after showing the user a confirmation dialog
- Name column in predecessors / successors grid is now editable by default for easy filtering of tasks (#3045)
- Added "Upgrade Font Awesome icons to Pro version" guide
- Added "Replacing Font Awesome with Material Icons" guide
- FRAMEWORKS Added SchedulerPro component wrappers and
gantt-schedulerpro
demos for frameworks (#2970)
LOCALE UPDATES
removeRows
label of CellMenu & GridBase was removed- Value of
removeRow
label of CellMenu & GridBase was updated to say just 'Remove' - RowCopyPaste locales were updated to just say 'Copy', 'Cut' & 'Paste'.
copyRows
,cutRows
&pasteRows
keys were removed - EventCopyPaste locales were updated to just say 'Copy', 'Cut' & 'Paste'.
copyRows
,cutRows
&pasteRows
keys were removed - TaskCopyPaste locales were updated to just say 'Copy', 'Cut' & 'Paste'.
copyRows
,cutRows
&pasteRows
keys were removed - Gantt
Edit
text was updated to be just 'Edit' - Gantt
Delete task
text was updated to be just 'Delete'
BUG FIXES
- #164 – No drag proxy visible while setting start/end dates by dragging
- #516 – Cannot create dependencies if showCreationTooltip is false
- #3074 – Throwing exception when create dependency on drag
- #3091 – Wrong label for Delete task when several tasks are selected
- For more details, see What's new and Upgrade guide in docs
Version 4.1.6
2021-06-23FEATURES / ENHANCEMENTS
- TaskEdit has a new
scrollIntoView
boolean config allowing to opt-out of scrolling the task being edited into view (#997) - Indicators feature now support a
tooltipTemplate
defining the tooltip markup (#3032)
BUG FIXES
- #2267 – Parent row is expanded on task drop, even if task is added as a sibling
- #2738 – Not possible to set initial value for combo if ajaxstore used
- #3005 – VUE-3 Problem with Critical Paths due to Vue Proxy and double native events firing bug
- #3012 – Labels demo functionality is broken
- #3014 – Collapsed tasks do not appear as options in dependency column editors
- #3024 – Task context menu should hide when drag drop starts on touch device
- #3026 – VUE-2 and VUE-3 typescript type declarations are missing
- #3028 – Parent task turned into leaf after removing child task
- #3029 – Child nodes not removed after collapsing parent node in tree grid
- #3030 – editorClass has no effect on TaskEdit config
- #3041 – Should be possible to define a type on editorConfig of TaskEdit feature
Version 4.1.5
2021-06-09FEATURES / ENHANCEMENTS
- Gantt now has a
minHeight
of10em
by default. This assures that the Gantt will get a size even if no other sizing rules are applied for the element it is rendered to. When the defaultminHeight
is driving the height, a warning is shown on the console to let the dev know that sizing rules are missing. The warning is not shown if aminHeight
is explicitly configured (#2915) - TYPINGS API singleton classes are correctly exported to typings (#2752)
BUG FIXES
- #674 – Setting field value or visibility does not work in beforeTaskEditShow when field has "name" property specified
- #2889 – ANGULAR Project model event listeners do not fire on production angular build
- #2955 – Constraint type column combo filtering issue
- #2985 – RowReorder drag proxy element misplaced
- #2986 – ResourceAssigmentColumn initials duplicated after resizing column
- #2990 – ANGULAR Preventable async events don't work
- #3001 – Excel export – excel reports error when percent done column is exported
Version 4.1.4
2021-05-28FEATURES / ENHANCEMENTS
- TypeScript definitions updated to use typed
Partial<>
parameters where available - New migration guide describing how to migrate an Ext JS-based Gantt demo app to use Bryntum Gantt (#378)
- You can now access the combo box for the "Add New" column using its
combo
property (#2938) - Buttons now has a new style
b-transparent
that renders them without background or borders (#2853) - NPM repository package
@bryntum/gantt
now includes source code (#2723) - NPM repository package
@bryntum/gantt
now includes minified versions of bundles (#2842) - FRAMEWORKS Frameworks demos packages dependencies updated to support Node v12
API CHANGES
- CSS classes for baseline elements changed slightly so make sure to revise any styling you have used based on
b-baseline-milestone
CSS class (removed). Each baseline task now hasb-task-baseline
and milestones haveb-task-baseline-milestone
BUG FIXES
- #1848 – Manually scheduled summary tasks slack value
- #2104 – "Core" code not isomorphic
- #2119 – Manually scheduled tasks are always critical
- #2702 – Baseline duration is calculated differently than for regular tasks
- #2775 – Combo replaces its store data on set value if filterParamName defined
- #2828 – Memory leak when replacing project instance
- #2834 – Core should not use b-fa for icon prefix
- #2914 – Crash after destroying Gantt with custom tip config object
- #2921 – Timeaxis configuration error on wrongly calculated project date range
- #2931 – Baseline milestone lack unique CSS class for styling
Older versions
- Full release version history can be found here.