Gantt – Change Log

Version 5.5.3

2023-09-15

FEATURES / ENHANCEMENTS

  • Added facet filtering demo showing how to filter by specific data values. Demo is located in examples/facet-filter folder

BUG FIXES

  • #3903ProjectModel ignores fields dataSource 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 with applyChangeset method
  • #7368CellEdit's editor's beforeCancel event returning false is ignored
  • #7371 – Removing filters resets sort of project
  • #7390Resourceutilization 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-30

BUG 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 regular store.sort() call
  • #7323 – Task is added to the wrong place of the ordered tree when store is sorted
  • #7338gantt.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-16

API CHANGES

  • We added two public methods – suspendChangeTracking and resumeChangeTracking to suspend and resume hasChanges/noChanges events on a CrudManager

BUG FIXES

  • #3663 – Renderer for CheckColumn not called when exporting
  • #7116 – Event removed when returning false from beforeEventEdit after v5.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
  • #7234non-working-time doesn't get rendered properly after 6+ years long timespan
  • #7248 – Circular progress bar has gaps in certain row heights
  • #7255Baselines 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-31

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

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

  • #7154FillTicks and Indicator placement is not correct after setting start date
  • #7187 – WBS value is not completely committed after initial commit
  • #7221VUE 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-26

FEATURES / ENHANCEMENTS

  • Added TaskStore config option forceWbsOrderForChanges 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 and examples/frameworks/react-nextjs/pages-router folders

BUG FIXES

  • #4376newTaskDefaults 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-13

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #4869REACT StateTrackingManager configuration triggering an error
  • #6077TypeScript Model constructors should allow second param
  • #6347 – Store idChange event not fired
  • #6977 – Document dataReady event's records argument
  • #7056 – Updating tasks in onBeforeTaskEdit is not possible if returning false
  • #7089 – Buggy positioning of dependencies when resizing
  • #7101TaskNonWorkingTime 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-30

FEATURES / 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 and ResourceHistogram views which now better support TreeGroup and Group features, and provide some additional APIs for customization. For more details please check the new "Resource histogram" and "Resource utilization" guides and see the updated resourcehistogram and resourceutilization 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 default eventColor 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 on floating widgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard. This will make event editing much easier to use on mobile devices (#6522)
  • On mobile devices, type : 'checkbox' is rendered as a slidetoggle widget. The API and value is the same, it is just a more appropriate UI for the platform
  • We have also added default editors for the eventColor field. There is one in the TaskMenu feature's context menu and one in the TaskEdit feature's task editing panel. Just set showTaskColorPickers to true 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 of showTaskColorPickers Gantt configuration option
  • REACT taskeditor demo has been updated to show use of showTaskColorPickers Gantt configuration option
  • VUE taskeditor demo has been updated to show use of showTaskColorPickers 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 updated baselines 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 a linear-gradient on top of the background color. Please read the Upgrade guide for more information
  • The TaskCopyPaste feature's copyRow and pasteRow has been made asynchronous due to the enhancements mentioned above
  • The TaskCopyPaste feature's beforeCopy and beforePaste 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 includes SchedulerPro/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-20

BUG 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
  • #6912REACT Custom column editor lose value in React 18
  • #6944 – Crash when copy pasting split task
  • #7006StateProvider not restoring scroll position of left panel
  • #7010 – Zoom level state not restored when timeline is collapsed
  • #7011 – Gantt addTaskAbove and addTaskBelow methods do not copy the reference task duration unit

Version 5.3.6

2023-05-26

FEATURES / ENHANCEMENTS

  • ResourceAssignmentColumn has a new showAllNames config used to determine if the names of all overflowing resources are displayed in the tooltip for overflow indicator. The avatarTooltipTemplate function also has a new argument for the indicator tooltip, called overflowAssignments, that contains overflowing assignments (#6751)

API CHANGES

  • The change event for the FieldFilterPickerGroup now includes an additional property validFilters, 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 and ResourceAvatarColumn
  • #6802lagUnit for newly created dependency in DependencyTab 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-11

FEATURES / 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
  • #6495ReorderFeaturegripOnly doesn't work when first column is a checkbox column
  • #6586addNewAtEnd wrong indentation
  • #6668 – Uneven button spacing in PHP demo
  • #6678 – View refresh suspended after multiple sync requests
  • #6701IONIC Scrollbar width could not be determined under Ionic framework
  • #6713 – Time spans highlights re-appear after calling unhighlightTimeSpans()

Version 5.3.4

2023-04-28

BUG FIXES

  • #2234 – Project throws when effortUnit is null
  • #5664 – Long time export to MS project
  • #6630 – Filter are applied before recalculating schedule
  • #6637 – Pin successors not working correctly
  • #6648sync called when expand tree node after gantt.project.suspendAutoSync()
  • #6652 – Minified UMD bundle does not export bryntum namespace

Version 5.3.3

2023-04-21

FEATURES / ENHANCEMENTS

  • TypeScript Type definition files were added for gantt.node.cjs and gantt.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 in examples/frameworks/angular/angular-11 folder
  • ANGULAR pdf-export, rollups and timeranges demos have been upgraded to use Angular 15. Demos are located in subfolders inside examples/frameworks/angular/ folder

BUG FIXES

  • #2695 – Resource Histogram is not updated when primary partner is zoomed or gets shifted
  • #5059REACT Histogram not updating when doing shiftPrevious()
  • #6032visibleDate incorrectly positioned on startup when infiniteScroll 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"
  • #6594GridSelection should selectively not act for gestures inside a TimeAxisColumn
  • #6607 – Timeline breaks when scroll if custom viewPreset used with empty data

Version 5.3.2

2023-04-04

FEATURES / ENHANCEMENTS

  • The backend for the php demo was updated to work with PHP 8

BUG FIXES

  • #6150scrollToDate 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-17

FEATURES / 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 returns allRecords instead of records
  • 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
  • #6315SALESFORCE PointerEvent is not a constructor error in LWC
  • #6320effortDriven + fixed duration not working when setting it in the data level initially
  • #6324ProjectModel.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-02

FEATURES / 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 the includeParents config. Set it to all or true to auto select a parent if all its children gets selected. If one gets deselected, the parent will also be deselected. Set it to some 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 check addQueryParamsToBody 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 as Record<keyType, valueType>, and for functions that accept object arguments many are replaced with anonymous type declarations, such as { foo: string, bar: number } (Partially fixed #5176)
  • Gantt Sharepoint example has been upgraded to use latest spfx version and Node 16 (#6239)

API CHANGES

  • DEPRECATED LocaleManager.registerLocale and LocaleManager.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 a endDate initially, those days will be treated as in local system time zone and will therefore be converted to the configured time zone. Previously (in 5.3.0-alpha-1 and 5.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 for TaskMenu

BUG FIXES

  • #3213Cmd/Ctrl + Right click weird behavior
  • #3733selectedRecords 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-17

FEATURES / ENHANCEMENTS

  • Added a trackProjectModelChanges config to the ProjectModel to optionally track own changes of the ProjectModel (#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 include AM/PM. Those browsers now use "thin space" (\u202f) instead of regular space. This affects the DateHelper.format() function, but likely you do not need to take any action in your application. It also affects DateHelper.parse(), which has been updated to support the new unicode space (#6193)

BUG FIXES

  • #6010 – Project start label too small
  • #6012ZoomIn/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
  • #6110TaskStore filter doesn't work when TreeGroup feature used
  • #6128visibleDateRangeChange event has not accurate dates
  • #6135 – Dialog for number filter closes when using arrows
  • #6154 – MS Project import demo is broken
  • #6165Tooltip positioning when having other elements with the Gantt

Version 5.2.9

2023-01-30

FEATURES / ENHANCEMENTS

  • The php demo was updated to be compatible with PHP 8.2

API CHANGES

  • The filter feature of the grid will use sameDay 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 new fireRemoveEventForMoveAction on your tree store to false (#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
  • #5966constraintTypeField needs more space to see content
  • #5971 – Dependency terminals not shown when enabling feature at runtime
  • #6019TypeScript Feature classes and configs have on event handlers exposed on owner class
  • #6056StateProvider not trigger event onSave with GanttState
  • #6071DomHelper getRootElement throwing error on creating dependency
  • #6076 – Duplicate listeners added if clicking New task quickly

Version 5.2.8

2023-01-19

BUG FIXES

  • #5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
  • #5721 – Exception during undo
  • #5797fillTicks does not look correct for static non working time
  • #5814StateProvider 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-11

FEATURES / ENHANCEMENTS

  • Tree feature now supports expanding to multiple nodes (#2287)

API CHANGES

  • The StartDateField/EndDateField fields now sets the default value of their max property to be 200 years after the project's end date, see the docs for the corresponding classes (#5779)

BUG FIXES

  • #3901DateField validation do not allows to change date manually for foreign locales
  • #5729 – Dependency creation difficult on touch devices
  • #5877 – Dependencies between tasks not copied

Version 5.2.6

2022-12-28

FEATURES / 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-16

FEATURES / ENHANCEMENTS

  • TaskCopyPaste feature used to trigger excessive events on the TaskStore. Now add event is fired only for tasks which, after paste, make up top-level siblings
  • RowCopyPaste 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 to Core/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-28

FEATURES / ENHANCEMENTS

  • We recently launched a new homepage over at bryntum.com, and have now slightly updated the styling for demos and docs to better match it (new logo, new header color, new font). Please note that this is not a change to our themes, only the look of the demos, and it won't affect your application
  • 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-17

BUG FIXES

  • #5466 – Gantt crash when setting visibleDate
  • #5542 – Project lines are not rendered properly on shiftNext() and shiftPrevious()
  • #5556 – Separator class is missing on menu items
  • #5562 – Scheduling conflict and exception when reading lateStartDate or lateEndDate 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-08

API CHANGES

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

BUG FIXES

  • #5354ignoreRemoteChangesInSTM 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-28

BUG FIXES

  • #1802 – Exception on a scheduling conflict
  • #4417 – Typing into Gantt DateField freezes browser
  • #4927 – An error occurs if task.critical called with disabled criticalpaths feature
  • #5149 – Angular demos now use component-local styles using ViewEncapsulation.None
  • #5362TimeRange 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"
  • #5434DragCreate exception when dragging right then left beyond start point
  • #5451DatePicker animation glitch
  • #5478 – Enable certain tasks to not allow resizing progress

Version 5.2.0

2022-10-13

FEATURES / ENHANCEMENTS

  • Gantt has gained built-in support for segmented tasks, by using the new EventSegments, TaskSegmentDrag and TaskSegmentResize features. The features cover splitting tasks to segments, rendering of such tasks and individual segments dragging. Please check the new split-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 the Responsive mixin now support a once property to allow configs to only be set on first activation of the state
  • The Core.helper.DateHelper class has a new method formatRange method which can format date ranges, as well as new formatting options for week numbers
  • 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 new calendars demo (#3260)
  • Baselines can now be styled by supplying cls and/or style 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 to false. (#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 new generateScalePoints 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 new ignoreResourceCalendar boolean field. When field is set to true 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
  • #4096CalendarIntervalMixin 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
  • #5143calendarInterval doesn't change after an interval is added
  • #5148 – MPP File import not working
  • #5169setBaseline 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-12

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #4645 – Improve error message "Bryntum bundle included twice"
  • #4654REACT Bryntum widget wrappers don't accept all component properties in React 18
  • #5312 – Crash when partnering with a hidden partner
  • #5337Angular ZoneAwarePromise for Angular 8 and below doesn't support Promise.allSettled
  • #5343AggregateColumn not working if added after Grid is painted

Version 5.1.4

2022-09-29

FEATURES / ENHANCEMENTS

  • New filterbar demo added showing the FilterBar feature (#5208)
  • New p6-import demo added for importing Primavera P6 projects (#5300)

BUG FIXES

  • #5047 – Conflict dialog looks bad in dark theme
  • #5173FilterBar doesn't work for startDate/endDate columns when date has hour/minute provided
  • #5180 – Dependency contents are misaligned when fromSide and toSide 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-09

BUG FIXES

  • #415 – Improve docs on formatting currency values on NumberField
  • #3680 – Support Salesforce Winter 22 release
  • #4457React Error when change locale for gantt in routing page
  • #5125 – Setting an initial value for activeTab on a TabPanel no longer animates that tab into view
  • #5158TaskRecord should be available in the params of beforeTaskResizeFinalize
  • #5189Project throws exception when trying to apply changes for copied tasks hierarchy

Version 5.1.2

2022-08-29

FEATURES / 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 the Filter and FilterBar 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 to Partial<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, and Alt + Shift + Left for outdenting. Note that the Alt key matches the Option key on Mac Configurable with the KeyMap 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 the ProjectModel) (#5083)

API CHANGES

  • CalendarModel expanded field now defaults to true

BUG FIXES

  • #3729 – Assignment field selection is cleared when picker store has a filter
  • #4110selectionchange event is fired too often
  • #4984 – Infinite loop when reordering rows
  • #5017TypeScript Property type is missing in DataFieldConfig
  • #5018Vue 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 uses wbsMode: '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.1

2022-07-28

BUG FIXES

  • #3427 – Infinite sync loop if percentDone value is incorrect

Version 5.1.0

2022-07-21

FEATURES / 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 as dock: string is now dock : 'top'|'right'|'bottom'|'left'
  • Create React App templates now available
  • Configuring the crud manager functionality of the project was made a little easier by introducing shortcuts for setting load and sync urls using the new loadUrl and syncUrl configs
  • Updated the built-in version of FontAwesome Free to 6.1.1
  • 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 to Widget and therefore available to all Widget's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)
  • 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. Configure forceSync : 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 is gantt.wc.module.js
  • DEPRECATED The drawForTask() fn of the Dependencies 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-13

FEATURES / ENHANCEMENTS

  • The AssignmentField now lets you configure its tooltip using the tooltipTemplate 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 with Esc
  • #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
  • #4916Fullscreen is not working on mobile Safari
  • #4919 – Engine throws exception on referencing a destroyed project

Version 5.0.6

2022-06-20

BUG 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-30

BUG 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
  • #4590highlightTimeSpan function throwing error when taskStore is filtered
  • #4591response.message not shown in error mask in case of response code not 200
  • #4598unhighlightTimeSpans=true breaks the TimeSpanHighlight feature
  • #4599 – Timeline not updated after changing task with custom mapped fields
  • #4601ResourceHistogram still partnered with gantt even after using removePartner
  • #4607VUE Incorrect prop types in Vue wrapper
  • #4624 – XSS security bugs
  • #4625 – Dropdown editor not working for new subtask

Version 5.0.4

2022-05-11

API CHANGES

  • ProjectModel has got new maxCalendarRange 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
  • #4562REACT React wrappers have incorrect source mapping urls
  • #4574highlightTimeSpans works even though the timeSpanHighlight feature is disabled

Version 5.0.3

2022-04-26

API CHANGES

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

BUG FIXES

  • #4127LWC DomHelper.isInView() throws
  • #4222LWC Performance degradation in 5.0 release
  • #4238WRAPPERS Use ProjectModel wrapper component as project 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
  • #4432LWC Mouse events do not work
  • #4439 – Add public event to track task edit cancel action
  • #4461Vue wrapper triggers doubled dataChange events with different params
  • #4515validateResponse should be true by default
  • #4531DOCS "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-13

FEATURES / ENHANCEMENTS

  • The beforeTaskEdit, beforeTaskSave and beforeTaskDelete 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

  • #4049beforeEventEdit does not fire on Scheduler Pro, whereas beforeTaskEdit 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
  • #4363REACT Advanced example – recreates project when any params updated for its react wrapper component
  • #4370 – Assigning tasks to project when syncDataOnLoad:true results in empty Gantt
  • #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() with replace: true

Version 5.0.1

2022-03-04

API 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, add SubTask should be disabled
  • #4295 – Edit / View task modal will not open when gantt view is collapsed

Version 5.0.0

2022-02-21

We 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 new grouping 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 name product.theme.thin.cssgantt.stockholm.thin.css for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times Read more about it in the What's new section in docs (#3276)
  • Model has a new readOnly field that is respected by UI level editing features to disallow editing records having readOnly : true. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)
  • 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 for assignments, 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 with globalThis which is supported in all modern browsers and across different JS environments (#4071)
  • Gantt now triggers beforeMspExport and mspExport events when MspExport 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. Run gantt.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 a cls 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 class allocation property has been changed from an Array to an Object with two properties total and byAssignments. The total property contains an array of the resource allocation intervals. And the byAssignments is a Map 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 new barTooltipTemplate 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 its persist config to false
  • The following previously deprecated Gantt configs, functions etc. where removed:
  • TaskContextMenu feature – previously replaced by TaskMenu feature
  • Arguments startText, endText, startClockHtml, endClockHtml & dragData of TaskDrag#tooltipTemplate()
  • Config TaskEdit#tabsConfig – previously replaced by items
  • Config ProjectModel#eventModelClass – previously replaced by taskModelClass
  • Config ProjectModel#eventStoreClass – previously replaced by taskStoreClass
  • Field TaskModel#wbsIndex – previously replaced by wbsValue
  • Argument tplData of Gantt#taskRenderer() – previously replaced by renderData
  • Config AssignmentPicker#grid – previously replaced by configuring AssignmentPicker directly
  • Config TaskEditor#durationDecimalPrecision – previously replaced by durationDisplayPrecision
  • Event Gantt#beforeExport – in favor of beforePdfExport event
  • Event Gantt#export – in favor of pdfExport 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-07

BUG FIXES

  • #4072Container.setValues should use each widget's defaultBindProperty, 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 in assignmentStore

Version 4.3.7

2022-02-02

FEATURES / 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 and export events (triggered by PdfExport feature) were deprecated in favor of the beforePdfExport and pdfExport 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
  • #4029autoEdit should not react when CTRL / CMD key is used to copy & paste
  • #4033taskKeyDown, taskKeyUp event parameter missing
  • #4037 – Resource name in Assignment Picker is too escaped
  • #4041TextArea 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-13

BUG FIXES

  • #3788 – Minimum value for duration field in Task Editor works incorrect
  • #3981 – Predecessor/successor column filter shows incorrect value when clicked Equals
  • #3990 – Chrome & Content Security Policy causes failure because of debug code section
  • #4008 – Filter icon disappears when a column is hidden

Version 4.3.5

2021-12-24

BUG 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
  • #3896TypeScript Wrong typings of model class configs
  • #3900 – MS Project export feature uses wrong UID type
  • #3907TypeScript 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-13

FEATURES / ENHANCEMENTS

  • Updated advanced, gantt-schedulerpro and taskeditor Angular demos to use Angular 13 (#3742)
  • Enhanced wbsMode to allow an object indicating what triggers renumbering WBS values (#3858)

BUG FIXES

  • #3621TypeScript Improve typings of mixins
  • #3777 – Online angular pdf export demo has wrong export server configured
  • #3803 – Can't change dependency type using column editor
  • #3850TypeScript Missing static properties in typings
  • #3854DependencyColumn does not produce valid value for the Filter Feature
  • #3878DependencyField renders (undefined) if used out of scope of the project

Version 4.3.3

2021-11-30

FEATURES / ENHANCEMENTS

  • ResourceAssignmentColumn has a new avatarTooltipTemplate 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
  • #3639wbsValue is now correctly updated when sorting the TaskStore and wbsMode: 'auto' is enabled
  • #3645 – Dependency links are not shown up at browser zoom level 75%
  • #3648DOCS 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
  • #3720dataSource property not working on dependency from and to fields
  • #3726 – Remove outline when using mouse
  • #3734 – Resource Assignment Picker needs a minHeight
  • #3743DOCS web.config file for Windows IIS server
  • #3751 – Gantt localization bundle contains unwanted Core code
  • #3794ProjectLines feature doesn't react to project change
  • #3807beforeTaskDrag event is fired on mouse down
  • #3821MspExport feature exports only expanded node tasks

Version 4.3.2

2021-10-29

FEATURES / ENHANCEMENTS

  • New summary demo showing how to add a summary bar to the Gantt (#3601)
  • The WBS field can now be automatically refreshed by setting wbsMode: 'auto' on the TaskStore class (#2721)
  • TaskCopyPaste feature now fires beforeCopy and beforePaste events to let you prevent the actions (#3303)

BUG FIXES

  • #3464 – Infinite loop when earlystart is displayed with a null startDate/endDate
  • #3572wbsValue 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
  • #3599readOnly flag allows task drag drop
  • #3605 – Pressing ESC during task drag schedule leaves an element
  • #3610readOnly not disabling actions in Task Context Menu
  • #3612TaskModelClass 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-21

FEATURES / 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 a resetUndoRedoQueuesAfterLoad 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-12

FEATURES / 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 new menuIcon config, which better matches the naming of other configs

BUG FIXES

  • #3457 – Filter field inside toolbar overflow hides after every keypress
  • #3484 – Gantt does not handle if resource store is grouped

Version 4.2.7

2021-10-01

FEATURES / ENHANCEMENTS

  • Added new setCalculations method to the ProjectModel class. The method toggles the project owned model fields calculation functions, which allows changing the behavior of standard fields dynamically Please check the new static 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

Older versions

  • Full release version history can be found here.