v7.3.0
SupportExamplesFree Trial

Bryntum Gantt version history

7.3.x - Unreleased

FEATURES / ENHANCEMENTS

  • Added smoothZoom config for fluid zooming that interpolates between view presets. Opt-in, but from v8 it will be the new default (#5037)
  • Added two new view presets, to fill gaps in the zoom levels: amPm and fifteenMinutesAndHour. Also note that some presets have had their tick size adjusted for a better zooming experience
  • ResourceHistogram and ResourceUtilization were refactored to render to a single shared SVG canvas to improve UX and performance
  • New AI time range context chip below the message input for switching between Timeline, In view, and All ranges
  • New AI agent tools for column visibility: getColumns, showColumn, hideColumn
  • New AI agent askUser tool presents clickable options when a decision is needed before proceeding
  • New AI agent grouping tool groups records by a field (requires the Group feature)
  • New AI agent createPlan and completePlanSteps tools break multi-step requests into a tracked plan
  • AI confirmation dialogs now render inline within the chat panel instead of as floating modal popups
  • AI tool responses now use a structured AIToolCallResult format
  • The AI chat panel stop button now interrupts read-aloud playback
  • New stopAudioOnHide config on the AI feature stops recording and audio playback when the chat panel is hidden
  • The autoRecord config on the AI feature now defaults to false
  • The AI chat input now supports @ mentions for referencing records from configured data models
  • To make vibe coding easier, Bryntum structural and theme CSS are now loaded from CDN when not present, while also logging a console warning. This can be disabled with detectCSSCompatibilityIssues: false. For production use, include the CSS in your app
  • TaskDrag feature has been changed to make it more customizable. Please check the release "What's new" guide for more details (#12437)

STYLING CHANGES

  • Removed content: var(--fa) convenience CSS rule from .b-icon::before / .b-fw-icon::before. Font Awesome icon classes like fa-book now require the fa base class (e.g., fa fa-book) (#12790)

DEMOS

  • [ANGULAR] Added theme switching support to all demos (#12129)
  • New "Zooming" demo showing smooth zooming with zoom controls
  • [VUE-3-NUXT] "Basic" (NUXT) demo shows using Gantt in NUXT. The demo is located in frameworks/vue-3-nuxt/basic folder (#10220)

BUG FIXES

  • #9054 - [TypeScript] calendar field on TaskModel now accepts string|number (calendar id) in addition to CalendarModel

7.2.x - Unreleased

DEMOS

  • msprojectimport demo has been updated to use the latest v16.1.0 version of MPXJ library. The demo code related to importing task splits has been improved

BUG FIXES

  • #11424 - [Salesforce] BrowserHelperOverridePointerEvents is no longer needed
  • #11827 - Copy/Paste throws TypeError: Cannot read properties of undefined
  • #11841 - Undo not working when merging split tasks with autoSync enabled
  • #12072 - ResourceAssignmentColumn not refreshing when custom assignment fields are updated
  • #12622 - Wrong total slack calculation in backward scheduling
  • #12730 - Exported PDF highlights last selected row
  • #12988 - Gantt date picker crashes opening startDate/endDate picker when project startDate is an Invalid Date
  • #12992 - Rollups + Grouping combo not working

7.2.3 - 2026-04-09

BUG FIXES

  • #10780 - Undo / Redo goes out of sync between realtime clients
  • #11423 - [HIGH PRIO] Adding tasks with filter ordering issue - WBS incorrect when adding tasks while filter is active
  • #12319 - onInput listener on startDateField in TaskEdit was not triggered when typing in the field
  • #12532 - [HIGH PRIO] Dependency error when changing effort of the assignment (fixed units mode)
  • #12640 - [Salesforce] An artefact appears when applyChangeset called after task update
  • #12761 - TaskEditor save lost dependency field changes when cell editor was still focused
  • #12841 - Timezone resets to local after re-setting task data with syncDataOnLoad enabled
  • #12844 - GridState restoration for collapsible column breaks
  • #12871 - [HIGH PRIO] Added assignment from ResourceTab disappears in TaskEditor
  • #12909 - Cell fill down does not work on effort column
  • #12924 - Tree node expand animation broken
  • #12930 - [BUG] TaskDrag doesn't allow to drag before the task predecessors

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.2.2 - 2026-03-19

DEMOS

  • Angular Advanced demo JavaScript files converted to TypeScript to match the Angular default language. The demo is located in examples/frameworks/angular/advanced folder

BUG FIXES

  • #11787 - WBS not properly updating while filtered
  • #11958 - indent/outdent keymap handlers crash in Salesforce LWS environment
  • #12249 - [HIGH PRIO] Gantt loads with cycle with manually scheduled tasks
  • #12374 - Wrong background being displayed when not setting headerTpl/footerTpl on print feature
  • #12461 - Toggling tree nodes with the Gantt timeline subgrid collapsed no longer causes errors
  • #12585 - Constraint Date indicators rendering incorrectly with fillTicks
  • #12713 - New data series config option barWidth now allows controlling the size of bars in bar charts
  • #12734 - TaskResize handle too narrow
  • #12769 - Make blank space on PDF Export actually white/blank
  • #12795 - New task counter is shared across Gantt instances and projects. Counter exposed as newTaskCounter config
  • #12798 - HSL color definitions missing % on saturation broke colors on older Safari/iOS

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.2.1 - 2026-02-26

DEMOS

  • The login process for the new Gantt AI demo has been fixed, try the demo here: https://bryntum.com/products/gantt/examples/ai-gantt/

BUG FIXES

  • #12206 - [HIGH PRIO] Issue when changing startDate in TaskEditor using arrow buttons
  • #12696 - [DOCS] Renderer docs does not mention JSX

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.2.0 - 2026-02-24

FEATURES / ENHANCEMENTS

  • We've added a new AI feature which provides an AI agent for the Gantt. By using the provided chat panel, the user can ask the agent to interact with the Gantt in different ways. For example, the user can ask the agent to filter the data, sort it, or select specific records. The agent can also perform data manipulation operations such as adding, updating, deleting records. The feature and all its related components are marked as experimental and are subject to change
  • Added allowedDependencyTypes config to DependencyStore to restrict which dependency types can be created (#548)
  • Gantt no longer silences changes made by the Engine on initial data loading if there was a scheduling issue resolved. Please check the release upgrade guide for details (#8986)

DEMOS

  • Added a new Kitchen Sink demo showcasing all the various widgets included in the Bryntum Gantt package. The demo is located in the examples/kitchen-sink folder (#3961)
  • New bigdataset React demo that demonstrates use of JSX task renderers with large data sets. The new demo is located in the examples/frameworks/react-vite/bigdataset folder (#7215)

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.1.3 - 2026-02-18

DEMOS

  • dependencies demo has been updated with new dependency editor fields strokeColor and lineDash, allowing customization of dependency line appearance.

BUG FIXES

  • #10985 - [HIGH PRIO] Pressing [ESC] reverts user input / updates in the real time Gantt demo
  • #11470 - [HIGH PRIO] ResourceHistogram - adding resources after treeGroup levels were applied results in error
  • #11674 - CheckColumn header "Select All" checkbox now respects grid and column readOnly state
  • #12379 - [HIGH PRIO] UI freezes when indenting a task in a large dataset
  • #12469 - Realtime-update - wbsValue on the client goes out of sync
  • #12530 - Incorrect startDate update when "Finish No Later Than" constraint set
  • #12567 - Impossible to hover collapse icon inside grid splitter
  • #12618 - TaskDrag feature should not allow dragging task records that have draggable set to false
  • #12650 - S-curve progress line showed inflated percentage values
  • #12657 - Setting taskRenderer at runtime does not trigger a view refresh

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.1.2 - 2026-02-09

BUG FIXES

  • #3183 - Style in task renderer cannot be configured with object
  • #11332 - Filters not re-applied when sort after task edit
  • #11490 - Revisions: Weird data correction and tasks converts to a milestone
  • #11533 - On copy pasting content and updating in client 2, filtered records are not being updated correctly in client 1
  • #11622 - Should not show scroll button when creating a task using drag create
  • #11911 - [NPM] Incorrect source maps in npm packages (@bryntum/gantt, @bryntum/gantt-trial)
  • #12421 - Filter is not applied correctly upon collapse/expand of the root task
  • #12436 - Changes to fillTicks property in Gantt causes tasks to snap to week start day on drag&drop
  • #12456 - [HIGH PRIO] Gantt successor column dropdown persists checked state incorrectly
  • #12492 - [HIGH PRIO] Adding resources through task editor doesn't work as expected
  • #12511 - Incorrect alignment when icons are used in tree column
  • #12522 - S-Curve progress line incorrectly shows 100% when all tasks have 0% completion
  • #12527 - Double bottom border in time axis header
  • #12528 - Progress bar resize handle jumps to zero after drag drop
  • #12531 - Editing effort in Resources tab updates wrong task when same resource is assigned to multiple tasks
  • #12534 - Button in conflict dialog not enabled

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.1.1 - 2026-01-22

BUG FIXES

  • #11557 - [HIGH PRIO] [Angular] Dependency Tooltip not shown in production build
  • #11831 - [React] Incorrect type information for TaskMenu feature
  • #11953 - Predecessors and Successors columns still showing dirty tags when changes are cleared from the project
  • #12342 - [HIGH PRIO] PDF Export – Project Start/End lines not persisted in exported document
  • #12368 - [TypeScript] Types missing for TimePhasedAssignment and TimePhasedProject classes
  • #12412 - [HIGH PRIO] Subtasks disappear when double-clicking parent task to open editor
  • #12433 - [HIGH PRIO] Last task of the schedule is not visible when exported to PDF
  • #12471 - Cut and then Copy on parent - results in dependencies getting lost from children
  • #12478 - [HIGH PRIO] Page freezes when loading dependencies
  • #12486 - [Salesforce] Successor column Gantt uses IntersectionObserver, an API that is not available with Locker security

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.1.0 - 2025-12-19

FEATURES / ENHANCEMENTS

  • Stores are now Factoryable, which means that app-defined Store subclases may define a static 'type' property, and then store config objects may be passed into widget as { type : 'mytype' } to decide which store class should be used (#5021)

STYLING CHANGES

  • Added a new fluent2 theme, available in both a light and dark variant (#10338)

BUG FIXES

  • #11980 - [HIGH PRIO] DurationColumn values not visible on the exported PDF
  • #12397 - ScrollTop is not being updated in the state

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.0.2 - 2025-12-16

BUG FIXES

  • #11695 - Milestone's jumps to a different date upon toggling the manuallyScheduled state
  • #11826 - [HIGH PRIO] WBS not updating on indent/outdent in manual mode
  • #12274 - Gantt's out-of-view event segments overlapping segment which is in view
  • #12348 - Not able to configure additional columns in the assignment grid of the resource assignment picker
  • #12351 - Inconsistent dependency type labels between DependencyType and DependencyEdit
  • #12356 - [HIGH PRIO] maxCriticalPathsCount default value cannot be overridden
  • #12365 - finalizeCellEdit doesn't work on SuccessorColumn or PredecessorColumn
  • #12370 - Hide toPasteValue config from TaskCopyPaste and EventCopyPaste

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.0.1 - 2025-12-05

BUG FIXES

  • #9433 - [DOCS] Typing and docs for calendar managing
  • #11588 - Negative percent done value seen when using FillHandle to fill values
  • #11791 - [HIGH PRIO] Cell marked as dirty after commiting changes to the store
  • #11820 - [TYPESCRIPT] Incorrect type information for TaskStore on GanttBase
  • #11899 - Deleting dependency with edit dialog doesn't remove x button from UI
  • #12272 - [HIGH PRIO] Extra data correction revision after loading initial data set
  • #12277 - Various fixes in Gantt advanced demo
  • #12286 - taskStore.changes.removed is empty when running taskStore.removeAll()

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

7.0.0 - 2025-11-25

  • We are proud to announce version 7.0 of our products. In this update we have overhauled the look and feel of all products, introducing a new CSS variable based theming system with the following new themes available:
    • Svalbard - our new default theme, flat and modern
    • Visby - inspired by the town's old ring wall, uses more borders
    • Material3 - newer material, up from v1
    • Stockholm - a refreshed classic
    • High contrast - more contrast between text and backgrounds
  • A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable

FEATURES / ENHANCEMENTS

  • All Bryntum products have had a major visual overhaul, modernizing not only their look but also the underlying CSS. See the "Styling changes" section below for more details, and be sure to check out our updated demos
  • Updated versioning scheme: for Alpha and Beta pre-releases now follow semantic versioning format (e.g., 7.0.0-alpha.1, 7.0.0-beta.1)
  • This release introduces a massive number of changes implementing cost calculations support. Among them are: new material and cost resource types, collecting cost based on resource rates, rolling up cost values starting from assignment to resource, task and finally project levels. User interface changes include new resource grid view and resource editor widget. Please check new construction demo and "What's new…" guide for details
  • Assignments can now be time-phased. That is - they can be limited in time and have their own start / end dates, separated from the event's start/end dates. Please refer to the "Time-phased assignments guide" for more details
  • Task model got new actualEffort field showing the amount of effort that has already been done by resources assigned to the task. Please check "What's new" guide for details
  • Baseline model got new effort field. Starting this release, a task snapshot will also have its effort value. Please check "What's new" guide for details
  • Gantt has got new BaselineEffortColumn and ActualEffortColumn columns representing the new model fields. Please check "What's new" guide for details and see the columns in action in the updated baselines demo (#8682)
  • [TypeScript] Improved TypeScript definitions to support function parameters in typedef declarations

API CHANGES

  • [BREAKING] AssignmentField picker has changed its base class from Grid to TabPanel. Since this release it has separate tabs per each resource type: "Work", "Material" and "Cost". And each tab contains a grid of resources of the corresponding type
  • [BREAKING] The effort for assignments is now tracked individually. Previously it was tracked on the event level, which could result in unequal workload for assigned resources. Please refer to the "Time-phased assignments guide" for more details
  • There can be more than one assignment of the same resource to a certain event. This is to accommodate for complex scenarios with time-phased assignments
  • The TaskDrag feature now defaults to dragging all selected tasks, to revert to the previous behavior set its dragAllSelectedTasks config to false
  • When syncing project changes (or querying project.changes), changed project settings are now included by default
  • The task editor is now resizable by default
  • The conflicts postponing logic has been expanded to all scheduling conflicts (previously it covered only cases when a task own constraint contradicted with its dependency)
  • [DEPRECATED] The ProjectModel class autoPostponedConflicts field has been renamed to autoPostponeConflicts to better comply with other similar configs naming. So the old field name has been deprecated and its support will be dropped in a future release.
  • [DEPRECATED] The TaskModel class hasPostponedOwnConstraintConflict field has been renamed to postponedConflict. The old field name has been deprecated and its support will be dropped in a future release
  • [DEPRECATED] The ProjectModel class ignoreConstraintsOnConflictDuringSecondPass field has been deprecated and will be removed in a future release. The field is no longer needed since its logic is applied by default.
  • Added a new parameter clearChanges to the store's applyChangeset method which, when passed as false, applies changes to the store without committing them, keeping the store dirty. By default, it is true. (#11089)

STYLING CHANGES

  • [BREAKING] The styling of all Bryntum products has been migrated from SASS to nested CSS with custom properties (CSS variables). This change makes it much easier to create custom themes, and to change styling settings at runtime. But the change is not backwards compatible, any custom themes will have to be remade using the new system. The built-in themes and how they are applied to an app have also changed, we now ship 4 themes: Material3, Stockholm, Svalbard & Visby + a high contrast theme. Each theme has a light and dark variant. Check out the what's new guide and the updated styling guides for more information
  • [BREAKING] Bryntum CSS selectors have been normalized to use consistent hyphenated names (kebab-casing). For example, the TabPanel class used to have the b-tabpanel class, but is now b-tab-panel. This change is not backwards compatible, so any custom CSS will have to be updated
  • [BREAKING] FontAwesome Free is no longer built into the Bryntum CSS, you will have to include it in your app for the default icons to show up as intended. This also means that the b-fa- prefix no longer exists, any icons in your app relying on that has to be changed to FontAwesome's default fa- prefix. This change was done to reduce bloat for anyone using another icon set, and also makes it easier for apps to use a different version of FontAwesome
  • The b-critical CSS class used by the CriticalPaths feature is now added to the outer .b-gantt-task-wrap element, instead of to the inner .b-gantt-task element. This change allows for more flexible styling of critical tasks
  • When highlighting tasks (using gantt.highlightTasks()), the b-highlighted class is now applied to the task wrapper element instead of the task bar element. This change allows for it to also affect labels, rollups, etc.

LOCALE UPDATES

  • New CostColumn and AssignmentPicker class locales have been added

DEMOS

  • msprojectimport demo has been updated to use the latest stable versions of Java dependencies (#11757)

BUG FIXES

  • #11863 - [HIGH PRIO] Gantt Salesforce Demo breaks when cyclical dependency is resolved
  • #11992 - [HIGH PRIO] Scheduling errors during rendering stage lead to UI bugs
  • #12096 - Proxy is not positioned correctly when dragging a task from unplanned grid
  • #12108 - Allow to disable normalization to show negative slack value
  • #12194 - Silent flag in TaskModel.remove(true) not working as expected

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Remix: >= 2.15.0

6.3.4 - 2025-11-20

FEATURES / ENHANCEMENTS

  • [VUE-3] Vue 3 npm wrapper packages now include types declaration in package.json (#12014)

BUG FIXES

  • #11959 - [HIGH PRIO] Wrong isUser value in logs of Versions feature demo
  • #11995 - Printing an empty Gantt makes the site crash
  • #11998 - Mapping of id field breaks set real id after data sync
  • #12202 - [HIGH PRIO] Can't create events on a single day when snap is used along with fillTicks
  • #12233 - Can't use a decimal in lag time in the PredecessorColumn

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.3.3 - 2025-10-06

FEATURES / ENHANCEMENTS

  • Update Advanced tab documentation for calendarField (#11877)
  • Setting createOnUnmatched to true on a Combo will now create a record for the initial value, or a value programmatically set later, if the value does not exist in the store for the combo (#11781)

DEMOS

  • Our new Salesforce Community page is up and running. It solves the problem caused by recent change in Salesforce policy regarding Non-Revenue Orgs. Look up "Device Activation Is Always Required for Non-Revenue Orgs"

BUG FIXES

  • #11719 - Undo/Redo changes are wiped when cancelling task edit
  • #11872 - Inactive tasks should not return critical as true
  • #11904 - [HIGH PRIO] Disappearing tasks in SchedulerPro in the demo
  • #11917 - [HIGH PRIO] Issue with CrudManagersync when adding task + updating existing dependency in same sync
  • #11924 - [Salesforce] Minified Gantt build for Salesforce throws an error on load

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.3.2 - 2025-09-15

BUG FIXES

  • #11422 - [HIGH PRIO] CheckListFilterCombo is not customizable, and is not accessible
  • #11493 - Task non-working time is not being rendered on the taskBar on smaller zoomLevels
  • #11635 - [HIGH PRIO] Collapse icon not showing for programmatically added Baselines
  • #11652 - Crash with celledit and percentBarDrag
  • #11660 - [HIGH PRIO] Error after drag aggregation task into another aggregator
  • #11697 - The features list in the guides is generated incorrectly
  • #11700 - [DOCS] Add a dedicated Gantt calendar editor user guide
  • #11785 - Event handlers should be error-trapped so that the stack is not destroyed
  • #11796 - TaskNonWorkingTime feature does not work with the RTL layout
  • #11799 - [HIGH PRIO] When TaskEdit is configured to not have delete button, invalid dependency shouldn't be saved

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.3.1 - 2025-08-07

BUG FIXES

  • #10016 - [REACT] Vite advanced example shows an error in console in dev mode
  • #11604 - FixedEffort manually scheduled task should not change its dates on effort change
  • #11672 - Calculate effort on the first assignment when effort is zero
  • #11711 - Project border constraint interferes when dragging a task

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.3.0 - 2025-07-21

FEATURES / ENHANCEMENTS

  • PdfExport feature now supports exporting large datasets by streaming data to the export server using WebSocket connection (#3953)
  • Added new Charts feature, which leverages the new Chart and ChartDesigner widgets to enable developers and end users to easily create charts and visualize data directly from selected cells in Bryntum products. Check the "What's new" guide for details (#8442)
  • When using early rendering (the default, tasks are rendered before scheduling calculations take place), dependency lines are now also rendered early (#10440)
  • New Single Page Unscaled exporter is added. It allows exporting content to a single page without limiting to a specific paper size. PDF export server upgrade to version 2.1.0 is required (#11397)
  • As part of the change described above, we also re-enabled early rendering for data loaded using the projects crud manager functionality. That was unintentionally disabled when support for project settings was added to the crud manager a while back. Please note that this change might affect your app renderers if you are supplying incomplete task data (e.g., without one of startDate, endDate, duration) or rely on the task's calendar to have been set up
  • Bryntum now ships a Chart module (chart.module.thin.js), to easier integrate Chart.js-based charts with our products. Used in the new charts demo
  • Bryntum npm repository provides charts thin package @bryntum/chart-thin and wrapper packages for major frameworks: Angular (@bryntum/chart-angular-thin), React (@bryntum/chart-react-thin) and Vue 3 (@bryntum/chart-vue-3-thin)
  • To pave the way for future improvements, Grid cells are now absolutely positioned inside the rows. A cell size is matched with the size of its column's header using a ResizeObserver. If you see any side effect of this change in your app, please report it to us

API CHANGES

  • [DEPRECATED] The eventsData/tasksData, resourcesData, assignmentsData and dependenciesData configs and properties on the ProjectModel have been deprecated. Use events/tasks, resources, assignments and dependencies instead (#9778)
  • Added a new config highlightCriticalRows on the CriticalPaths feature to highlight the critical task rows in the Grid. Please check the "Upgrade guide" for more details (#11072)

LOCALE UPDATES

  • Es.CalendarEditor.save locale text has been changed

DEMOS

  • The taskeditor demo was updated to show how to use a rich text editor in the task editor, using the TinyMCE editor (#2698)
  • New charts demo, showcasing how to combine the new Charts feature

BUG FIXES

  • #11457 - Add an option to export task store range
  • #11614 - Raw HTML on tooltip hover
  • #11621 - Wrong Spanish locale text for Calendar Editor

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.2.5 - 2025-07-09

FEATURES / ENHANCEMENTS

  • ProjectModel has got new maxCriticalPathsCount parameter limiting the number of critical paths it collects. Please check "What's new…" guide for more details

DEMOS

  • [REACT] timeranges demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/timeranges folder (#11374)
  • [REACT] baselines demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/baselines folder (#11375)
  • [REACT] inline-data demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/inline-data folder (#11545)
  • [REACT] pdf-export demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/pdf-export folder (#11546)
  • [REACT] rollups demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/rollups folder (#11547)
  • [REACT] timeline demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/timeline folder (#11548)
  • [REACT] gantt-schedulerpro demo has been updated to use modern React + Vite framework with TypeScript. The new demo is located in examples/frameworks/react-vite/gantt-schedulerpro folder (#11373)

BUG FIXES

  • #8889 - [HIGH PRIO] [REACT] Error when data loaded with loadCrudManagerData
  • #11477 - Copy pasting a newly added task does not trigger hasChanges event in chained store
  • #11478 - Task reordering in Gantt doesn’t work for a chained tree task store
  • #11483 - Dependencies of parent tasks are not visible in Gantt with a store created using chainTree
  • #11486 - Deleting a task from a chained task store throws error
  • #11496 - Error is thrown when opening a task edit dialog in Gantt with chainTree store
  • #11508 - Task editing not working with chainTree task store
  • #11528 - Submenu closes when focusOnHover is set to false
  • #11564 - calculateCriticalPaths call causes browser hang
  • #11569 - ResourceAssignmentColumn does not respect the custom `renderer
  • #11586 - afterRenderCell is not called when exporting data
  • #11596 - indent/outdentreadOnly tasks should be disabled via shortcuts
  • #11607 - Aggregate columns editable on readOnly records

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.2.4 - 2025-06-18

FEATURES / ENHANCEMENTS

  • CalendarIntervalModel class got a new field for specifying a timezone in which recurrentStartDate and recurrentEndDate rules are provided. Please check "What's new" guide for details
  • showDirty can be configured now to show red tag for all the cells for the new records. Set newRecord : true on showDirty to enable it (#10344)

BUG FIXES

  • #10802 - [HIGH PRIO] Setting timezone for Gantt Project in config crashes
  • #11264 - [HIGH PRIO] DependencyField's onChange handler gets previous value in params
  • #11268 - [HIGH PRIO] Partnered gantt crashes while updating viewPreset
  • #11272 - Gantt 6.2+ affects taskNonWorkingTime performance
  • #11310 - [HIGH PRIO] Task selection changes when clicking on empty gantt area
  • #11361 - Exception not catchable in Gantt NodeJS
  • #11370 - [REACT] Segmented events turn into milestones with set timeZone
  • #11379 - [HIGH PRIO] [REACT] Vertical scroll position is not restored from state
  • #11390 - [DOCS] TaskStore has no PartOfProject mixin in the docs
  • #11418 - TaskEditor not showing when datetime field is required

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.2.3 - 2025-05-27

FEATURES / ENHANCEMENTS

  • The PDF Export and Print feature has a new paper format A0 (#11083)

API CHANGES

  • FixedEffort scheduling mode has been changed. Since this release, it's possible to disable empty effort values normalization for tasks without assignments (#11086). Please check "What's new…" guide for details

BUG FIXES

  • #10861 - crudManager.revertChanges() not reverting changes properly
  • #11004 - [HIGH PRIO] Sorting not working with chained store
  • #11007 - [HIGH PRIO] Task reordering results in being added to removed array in project.changes with a chained store
  • #11313 - [HIGH PRIO] SharePoint demos across Bryntum Suite are broken
  • #11349 - [HIGH PRIO] Row reordering not working with chained task store

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.2.2 - 2025-05-13

BUG FIXES

  • #11115 - Export fails when dependency source or target is not visible
  • #11130 - Resource Names are not checked in assignment field picker when grid was filtered previously
  • #11141 - Arabic day names in date picker in arabic locale are same
  • #11231 - Import dependency lag calendar setting from Primavera files
  • #11235 - [REACT] Async cell renderer can throw if the Row being rendered is destroyed during the await
  • #11245 - Task editor data wiped out when collapsing a tree node
  • #11262 - Right clicking below last task randomly changes scroll position and selection
  • #11288 - Reverting changes crash with FillHandle feature enabled
  • #11291 - Dependency delete icon misplaced after editing lag in the dependency editor
  • #11292 - PDF export shows double thick borders
  • #11293 - Resource filter dialog is empty
  • #11311 - Task editor allows time editing when gantt is read-only
  • #11323 - ResourceAssignmentColumn dirty state not cleared when cells are reused

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.2.1 - 2025-04-23

API CHANGES

  • The type of hasPostponedOwnConstraintConflict field of the TaskModel has been changed to Object (previously it was Boolean). Now null value indicates the absence of the conflict and any other value indicates its presence. This value can be cast to Boolean to get the backward-compatible behavior

BUG FIXES

  • #11005 - [HIGH PRIO] Not able to move to previous years in the Year Date Picker
  • #11046 - ResourceAssignment column placeholder text not working
  • #11051 - [HIGH PRIO] Infinite loop when opening dataset
  • #11064 - Removing a split task results in error
  • #11077 - Selecting multiple rows and pressing the [Delete] or [Backspace] key deletes info for the first record
  • #11088 - CalendarEditor widget doesn't save changes to color for intervals
  • #11103 - Too much padding in s-curve demo toolbar

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.2.0 - 2025-04-10

FEATURES / ENHANCEMENTS

  • Readonly tasks now consistently display a non-editable information modal, that can be invoked by double-click or context menu. The associated menu item Edit is no longer disabled, but replaced by Show details when the task item cannot be edited
  • New ProjectEdit feature has been added. The feature displays a special popup allowing user to edit a project's parameters (name, start date, scheduling direction, working time setting and duration unit settings). Please check "What's new…" guide for more details (#1639)
  • We've improved search in the documentation with new context-aware algorithms, delivering more accurate and relevant results from the API, guides & examples
  • Implemented support for S-Curve in the Gantt chart. Try it out in the new s-curve demo (#3436)
  • The Predecessors and Successors tabs now include a new column for the active value of the dependencies (#3171)
  • [BREAKING] Since most apps have a build process that includes a transpilation step, starting with v6.2.0 we use the minimum possible transpile polyfills for the source code inside the @bryntum/gantt-thin npm package to ensure that it works for all currently supported frameworks. Previously, each source file was transpiled with more polyfills, which introduced unnecessary overhead from transpilation helper functions. After this change, the size of your built app should be reduced. If you encounter issues with your framework's builder parsing the code, consider upgrading to a newer framework version that supports the latest ECMAScript specification (#10797)

API CHANGES

  • [BREAKING] The AjaxHelper.fetch() utility function no longer applies credentials: 'include' by default, to better match how the native fetch API works. This change also affects AjaxStore and ProjectModel, if used by your app to handle remote data (#10886)

DEMOS

  • New s-curve demo, which demonstrates how the Gantt chart can show a customizable s-curve. The new demo is located in examples/s-curve folder

BUG FIXES

  • #10001 - Task editor is not opened for read-only tasks but for read-only Gantt
  • #10441 - Issue when changing color for multiple tasks from taskMenu
  • #10598 - [SALESFORCE] The accessibility flag throws exception in LockerService
  • #10635 - ResourceAssignmentColumn filter should use multi-select picker
  • #10729 - [HIGH PRIO] Making duration zero crashes on s-curve demo

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.1.9 - 2025-04-07

BUG FIXES

  • #8782 - [Salesforce] LWS support in Firefox
  • #11003 - Event and drag drop on the available slot time consideration issue
  • #11015 - Gantt - Task removal not tracked in changes for filtered children
  • #11020 - Support for async handlers for Project beforeSync
  • #11031 - Copy task without baselines throws error
  • #11040 - scrollButtonClick event is not being fired

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.1.8 - 2025-04-01

API CHANGES

  • We've launched nightly npm package builds on our Bryntum npm server. Versions follow the format X.Y.Z-nightly.YYYYMMDD (e.g. 6.1.8-nightly.20250330), reflecting the current version and publish date
  • The rtl config property of widgets is now public. By default, widgets conform to the writing direction of the element they are rendered to. But with the now public rtl property, you can force a widget, and all descendant widgets to lay out from right to left (#10859)
  • There are new hooks allowing to customize duration and lag units conversion. Please read the release "What's new…" guide for details (#10681)

DEMOS

  • We have introduced UI localization for our Vanilla JavaScript demos, supporting all 45 currently available locales
  • New joint-js demo demonstrating how to integrate JointJS for a PERT Chart view. The demo is located in examples/joint-js folder

BUG FIXES

  • #9706 - [HIGH PRIO] Improve clarity for websockets documentation
  • #9855 - TaskEditCancel method clears all the input and does not close the task editor
  • #10012 - [HIGH PRIO] acceptChanges method should also clear the cells dirty state
  • #10246 - Dirty cell indicator is lagging the visual feedback for percentDone field
  • #10353 - MS Project import demo messes up generated record identifiers
  • #10449 - Applying TimeZone to ProjectModel throws TypeError: store.hasPlugin is not a function error
  • #10475 - Task jumps when outdent then indent while awaiting response
  • #10590 - [HIGH PRIO] Dependencies on child tasks are not pasted when copying parent task
  • #10703 - [HIGH PRIO] [REACT] Gantt Id collision error when loadCrudManagerData used few times
  • #10795 - [SALESFORCE] Remove Map/Set polyfills
  • #10820 - Gantt Dependency and Resource columns not showing as dirty on change
  • #10827 - eventColor property not being updated on Timeline widget with eventRenderer
  • #10838 - [HIGH PRIO] Scroll jumps after pressing [ESC] key
  • #10860 - [HIGH PRIO] Gantt having larger height than it needs with inline data and autoHeight enabled
  • #10875 - Exception when calling clearChildren on a copy of a task
  • #10898 - [HIGH PRIO] Undo of a delete in the realtime example does not restore the children on the other client
  • #10899 - [HIGH PRIO] Undo does not work from overflow widget
  • #10903 - Cannot select PercentDone cell in circle mode
  • #10913 - Should be possible to prevent using elapsed units in duration fields
  • #10914 - Maximizable TaskEditor is empty after opening it again
  • #10931 - [HIGH PRIO] [REACT] Gantt performance issue when update tasks
  • #10935 - Gantt throws unhandled exception on certain scheduling cycles
  • #10938 - [HIGH PRIO] Incorrect CSS sourceMappingURL in Bryntum thin npm packages
  • #10953 - parentIndex not honored at the root level.
  • #10974 - Indicators drawn behind the tasks in the new version
  • #10981 - [HIGH PRIO] Gantt - copy & pasted tasks getting extra assignments
  • #11022 - Issue with mspExport feature when grouping is enabled

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.1.7 - 2025-02-21

FEATURES / ENHANCEMENTS

  • New roundedSplit config introduced in EventSegments feature that allows user to split tasks using either the exact clicked date, or the rounded one (#10314)

API CHANGES

  • Tree stores got a new keepExpandedOnLoad config in v6.1.4, but it fell out of the changelog. When set to true, the tree will restore matching nodes expansion state after a reload (#10017)

DEMOS

  • msprojectimport demo has been updated to use the latest v13.10.0 version of MPXJ library. The demo has also been improved to import task splits info into the Gantt

BUG FIXES

  • #10477 - [HIGH PRIO] Duplicate creation of Gantt tasks in real-time when trying to edit the newly created task
  • #10580 - [HIGH PRIO] Setting baseline start or end date does not update baseline duration
  • #10593 - Giant Tooltips for timeline indicators when multiple indicators are defined
  • #10640 - Should show emptyText in resourcesTab when a single task does not have any assignments
  • #10659 - [HIGH PRIO] Adding subtasks without persisting parentIndex results in wrong ordering in realtime sync
  • #10660 - Inconsistency between Gantt constraint date column, and taskEdit constraint date field
  • #10661 - [HIGH PRIO] TaskEditModal generates unexpected change when adding and removing before save
  • #10671 - [HIGH PRIO] Copy/paste activity with a child on client1 at the root/project level
  • #10680 - [HIGH PRIO] Scheduling information is wrongly displayed in the conflict resolver pop up
  • #10687 - [HIGH PRIO] LinkTasks crashes when revisions is enabled
  • #10715 - StateProvider doesn't preserve the scrollTop
  • #10744 - loadMask getting disabled too early
  • #10752 - Calendar field overlapping default value and label in Advanced Tab in TaskEdit
  • #10759 - [HIGH PRIO] New task included in both added and modified in sync call
  • #10790 - Progress line feature toggle not working

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.78.0
  • Remix: >= 2.15.0

6.1.6 - 2025-01-31

FEATURES / ENHANCEMENTS

  • You can now configure the Cancel and Save buttons in the bottom toolbar of the AssignmentPicker (#9042)
  • Starting with this release, msprojectimport demo represents suspended and then resumed tasks with segments field. Please check "What's new…" guide for the details

BUG FIXES

  • #883 - [HIGH PRIO] [ACCESSIBILITY] Assigned resources editor keyboard navigation
  • #7940 - Timespan highlight spans linked to task not cleared when filtering out all tasks
  • #10383 - scrollTaskIntoView function with includeLabel argument works only on second click
  • #10435 - Gantt view showing range before 1970 has trouble showing tasks with nullstartDate / endDate
  • #10459 - [HIGH PRIO] Column Filter inconsistency when applied from state
  • #10494 - Versioning grid breaks when expand row with Ar locale
  • #10505 - [TYPESCRIPT] issues when integrating Revisions
  • #10517 - Column renderer does not get called after field value update using Calculate method on model field
  • #10537 - [HIGH PRIO] Error when changing the dataset using state
  • #10555 - Assignment tooltip gets wrong information after task reorder
  • #10556 - createRecord should be called for new tasks added via task context menu
  • #10571 - [HIGH PRIO] Error when syncing custom dependency model with extra fields
  • #10572 - Crash after assignment column tooltip is shown
  • #10577 - [HIGH PRIO] Gantt crash when rowHeight is an odd number and rowHeight/2is less than barMargin
  • #10588 - Errors when pasting tasks from one project to another
  • #10609 - Problem with edays lag on predecessor column
  • #10614 - Color field in TaskEdit editor is not overriding the default colors for event color picker
  • #10626 - "Must finish On" constraint is violated
  • #10638 - Performance issue when reapplySortersOnUpdate enabled
  • #10650 - Error on setting baseline for unscheduled task

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.38.0

6.1.5 - 2024-12-25

BUG FIXES

  • #9993 - [HIGH PRIO] [SALESFORCE] Scheduler Pro / Gantt task editor loses focus and cancels on click
  • #10240 - [HIGH PRIO] Gantt cells don't mark dirty after cell editing
  • #10317 - When copying/pasting rows, subtasks did not have assigned resources
  • #10410 - Project start line is rendered on wrong place with fillTicks: true
  • #10425 - Toggling ResourceUtilization visibility doesn't keep the date sync with gantt
  • #10438 - [HIGH PRIO] Bryntum ResourceUtilization column renderer executes infinitely
  • #10444 - Assignment model has units field as null when using event resourceId field
  • #10482 - Project clears child records added collection when applying a record sync response
  • #10488 - [HIGH PRIO] gantt-taskboard demo code is not available in online Code Editor
  • #10510 - Configuring a store and items leaves a combo store misconfigured

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.38.0

6.1.4 - 2024-12-09

FEATURES / ENHANCEMENTS

  • Added a new config closeOnEscape to control whether pressing the [ESC] key will close the popup
  • Starting with the 6.1.4 release, there are now trial versions of thin NPM packages available on our NPM server. These can be used to evaluate combining multiple products before purchasing a license. Please check the "What's new" guide for the details

API CHANGES

  • Classes extending Base got a new is{{ClassName}} boolean property indicating instances of the corresponding class or subclasses of thereof. Please check "What's new…" guide for details
  • ProjectModel and EventSegmentModel got some new public properties. Please check "What's new…" guide for details

DEMOS

  • [ANGULAR] Added new Angular basic-thin demo showing use of thin NPM packages. Demo is located in examples/frameworks/angular/basic-thin folder
  • [REACT] Added new React basic-thin demo showing use of thin NPM packages. Demo is located in examples/frameworks/react-vite/basic-thin folder
  • [VUE-3] Added new Vue-3 basic-thin demo showing use of thin NPM packages. Demo is located in examples/frameworks/vue-3-vite/basic-thin folder
  • [WEBPACK] Added new Webpack basic-thin demo showing use of thin NPM packages. Demo is located in examples/frameworks/webpack/basic-thin folder

BUG FIXES

  • #8876 - Gantt state was not persisting columns added using addNew column
  • #10283 - [HIGH PRIO] Progress line is not fully printed
  • #10291 - [HIGH PRIO] When adding a predecessor, siblings disappeared in the column editor
  • #10328 - Versioning Grid not rendering correct intervals
  • #10333 - Task editor still closing when closable config set to false
  • #10356 - Cannot read properties of null (reading 'beforeFloatReparent')
  • #10374 - Pin successors feature does not work with task resize
  • #10376 - ConstraintTypePicker does not show full list if used without contextual TaskRecord
  • #10380 - Discrepancy between using default stm config object and using the StateTrackingManager class
  • #10400 - EventSegments feature need to add few properties as public
  • #10445 - Dependency creation tooltip content should not wrap to multiple lines
  • #10448 - [REACT] JSX renderers are not supported with React 19

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.38.0

6.1.3 - 2024-11-18

FEATURES / ENHANCEMENTS

  • Salesforce LWC build now using generators instead of async/await as a workaround for Firefox bug. LWC bundle is now compiled with "chrome": "54" babel target (#7849)

API CHANGES

  • [VUE 2] reached end of life on December 31, 2023. As a result, we will no longer be updating our Vue 2 components. While the components will continue to exist, we will remove them in a future release and recommend that you upgrade to Vue 3 for continued support
  • Added config parentOffsetY to specify vertical offset for ProgressLine summary connection

STYLING CHANGES

  • Certain color adjustment functions in SASS has been deprecated and will be removed from SASS in a future version. To be prepared for that, we have replaced our usages of these functions with the new ones. In general, this should not affect the look of components, with reservation for minor color variations (for more information, see https://sass-lang.com/documentation/breaking-changes/color-functions)

BUG FIXES

  • #8960 - [HIGH PRIO] Calling CrudManagersync method causes hasChanges listener to fire
  • #9018 - [HIGH PRIO] Localization doesn't work for Microsoft Dynamics CRM Online
  • #9498 - An error after filter out all records with specific selectionMode settings
  • #9798 - [HIGH PRIO] Non-working intervals are calculated incorrectly in certain time zone
  • #10103 - [HIGH PRIO] Progress line display was broken on RTL viewports
  • #10118 - [HIGH PRIO] Wrong Effort values on the Resources tab
  • #10173 - Click handler not working correctly on example
  • #10187 - Crash on creating an event in Gantt + SchedulerPro demo with filter applied in Gantt
  • #10229 - Error appears when clicked on dateRange picker in header menu
  • #10245 - allowCrossGridDrag.transferData does not work for TreeData
  • #10249 - sync is not triggered when tab out from cell when column is configured with instantUpdate set to
  • #10346 - Very slow drag drop interaction with 50k tasks in the bigdataset demo

VERSIONS SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 3.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0
  • Sass: >= 1.38.0

6.1.2 - 2024-10-11

DEMOS

  • [VUE-3-VITE] New basic demo (Vue 3 vite) shows how to use Bryntum Gantt in Vue 3 project with TypeScript. The demo is located in examples/frameworks/vue-3-vite/basic folder (#9808)

BUG FIXES

  • #8263 - CRUD manager loses changes when applying sync response
  • #10004 - [HIGH PRIO] Task duration "M" is incorrectly converted to minutes
  • #10067 - WBS index is out of sync
  • #10080 - Hidden columns should be included in excel export if exportable set to true

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.1.1 - 2024-09-27

FEATURES / ENHANCEMENTS

  • We have published the first parts of the Bryntum Design System over at https://www.figma.com/@bryntum. It currently covers Gantt, but will evolve to cover all our products

API CHANGES

  • Previously, the presence of an onCellClick method on a column would prevent cell editing when the cellEdit feature was configured with triggerEvent: 'cellclick'. Now, to prevent cell editing at the column level, configure the column with editor: false instead.

BUG FIXES

  • #9981 - Editor does not open on single click for assigned resources column with triggerEvent : 'cellclick'
  • #10079 - No available dependency to select when importing .mpp file
  • #10085 - [HIGH PRIO] Not possible to navigate cells using ['LEFT']/[RIGHT] keys
  • #10090 - Bug MSP Export: task calendars not exported correctly
  • #10097 - Elapsed duration units throw exception on converting

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.1.0 - 2024-09-18

FEATURES / ENHANCEMENTS

  • Task model has got elapsed duration units support. Please check "What's new …" guide for more details (#8350)
  • With some configurations, zooming in and out of the Gantt could lead to a very long time axis, which degraded performance. To prevent this, it now limits how many ticks (the bottommost unit) its time axis can contain to 10,000 (which will give a very long scroll range even with small tick sizes)
  • You can now drag multiple selected task bars at once in the schedule area. Enable this with the new dragAllSelectedTasks property available on the TaskDrag feature. This property will be default true from v7.0 (#7408)
  • Added a new config option, showUnscheduledTasks, to display unscheduled tasks in the Gantt Chart. It defaults to true, which show tasks that have either startDate or both duration and endDate set to null in the Gantt chart as icons (#7536, #8417)
  • It is now possible to postpone resolution of certain scheduling conflicts - either via conflict popup dialog or automatically. Task with postponed conflict will be marked with a flag. Please refer to the documentation of allowPostponedConflicts and autoPostponedConflicts options (#9393)
  • The regular non-Ajax Store now has the ability to accept remote paging, sorting and filtering
  • ExcelExport feature got a minor refactoring, and now uses more feature-rich write-excel-file library (#6089)

DEMOS

  • New postponed-conflicts demo, showing how to postpone resolution of conflicts between dependencies and task's own hard constraint. This demo also shows how to apply custom processing logic for task's constraints

BUG FIXES

  • #9854 - Gantt crash if multi-dragging an unscheduled task
  • #9953 - Crash if trying to multi resize including unscheduled task
  • #9961 - Multi-drag of constrained task not restored after drop
  • #9968 - Gantt crashes when dragging multiple selected tasks
  • #9982 - Gantt throws error when rendered with infiniteScroll: true and splitter offscreen
  • #9995 - Incorrect manual task duration when effort is fixed
  • #10052 - Gantt TreeGroup throws exception when grouping by assignment column
  • #10053 - Gantt TreeGroup doesn't rollup effort values

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.6 - 2024-09-13

API CHANGES

  • The default value of ProjectModeltrackProjectModelChanges will be true from v7.0.

DEMOS

  • msprojectimport demo has been updated to use MPXJ v13.3.0
  • [REACT-VITE] Migrated "Basic setup" demo to React Vite. New demo is located in frameworks/react-vite folder (#9932)

BUG FIXES

  • #3661 - [HIGH PRIO] Gantt - parent tasks disappear at extreme zoom level(s)
  • #9449 - [HIGH PRIO] Error when between filter is used in Duration column
  • #9789 - Drag and fill creates unexpected/invalid values when dragging horizontally
  • #9848 - Changing ProjectModel's calendar does not trigger sync
  • #9866 - [HIGH PRIO] Empty line shown after adding pressing [Enter] while editing with addToCurrentParent set to true
  • #9888 - Error when clicking zoomToFit with infiniteScroll enabled and Gantt chart collapsed
  • #9895 - Errors when opening gantt with infinite scroll and collapsed graph
  • #9952 - Buttons with Menus converted to checkable MenuItems in overflow Menu
  • #9977 - MSProject import demo displays incorrect data
  • #9979 - Calendar editor New exception is not localized
  • #9984 - TaskModel.isEditable should take the record readOnly into account
  • #10013 - Cannot read properties of undefined (reading 'getTime')

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.5 - 2024-08-30

DEMOS

  • Added relative-timeaxis demo to show how to render a relative timeaxis with integers instead of dates (#9589)
  • [REACT-VITE] React JavaScript "Advanced" demo has been updated to use React + Vite + TypeScript. New demo is located in frameworks/react-vite/advanced folder. Old demo has been removed (#9827)

BUG FIXES

  • #3660 - Event durationMS is not synced with duration value
  • #5233 - [ANGULAR] Frameworks wrappers components not triggering some events
  • #5619 - [HIGH PRIO] [REACT] PDF Export Missing Cells
  • #7387 - [HIGH PRIO] ResourceUtilization should not expand a collapsed resource when assigning it
  • #8798 - [HIGH PRIO] Setting duration as field goes to infinity on edit
  • #9021 - Setting new fields using setConfig method on existing project instance resulting in crash
  • #9256 - [HIGH PRIO] Gantt tasks rendering bug after applying print feature
  • #9698 - TaskNonWorkingTime elements not updated on rowHeight change
  • #9718 - [VUE-3] Preventable events don't work in Vue wrapper
  • #9719 - TimeSelection feature isn't working for Gantt
  • #9728 - [HIGH PRIO] STM cannot undo a transaction, which moves event and reassigns it
  • #9741 - Exception thrown when loading data into individual stores with loadDataAsync
  • #9753 - Duration column editor is not respecting decimalPrecision
  • #9757 - focusOnHover not working for submenu
  • #9806 - ResourceHistogram w/ NonWorkingTime feature changes project default calendar intervals
  • #9819 - Font awesome tree arrows too big on touch screen
  • #9835 - [HIGH PRIO] Code editor shows error on editing demo code
  • #9867 - Overflow twins of Buttons have a checkbox
  • #9878 - Percent done rendering with too many decimals
  • #9879 - Delay after editing in percentDone cell and hitting Enter

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.4 - 2024-08-02

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.3 - 2024-07-26

FEATURES / ENHANCEMENTS

  • The plugin processing has been updated to correctly handle multiple plugin configurations

BUG FIXES

  • #9637 - Gantt issues in RTL
  • #9668 - Dependency tooltip not customizable

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.2 - 2024-07-24

FEATURES / ENHANCEMENTS

  • TimelineHistogram, ResourceHistogram and ResourceUtilization views got two new hooks providing more control over the rendered charts DOM elements. Please check "What's new" guide for more details (#9037)
  • Updated multiple-gantt-charts demo to enable dragging of task rows between Gantt instances
  • Bumped the built-in version of FontAwesome Free to v6.6.0, which includes a new table-cells-row-unlock icon sponsored by Bryntum

API CHANGES

  • The Gantt introduces a new config affecting started tasks scheduling. Such tasks can now be treated as manually scheduled to preserve their dates. The rationale behind this is starting a task implies its start date gets established and thus should not be calculated dynamically. Please see the release "What's new" guide for details (#3211, #6769)
  • [DEPRECATED] TimelineHistogram, ResourceHistogram and ResourceUtilization classes getRectClass config in favor of new getBarClass config to make naming more consistent

DEMOS

  • [REACT-REMIX] "Basic" (React + Remix) demo shows using Gantt component in Remix. The demo is located in frameworks/react-remix/basic folder (#4912)
  • [SHAREPOINT] Updated the SharePoint Framework (SPFx) in the frameworks/react/typescript/sharepoint-fabric to be compatible with recent versions of SharePoint (#9224)

BUG FIXES

  • #9423 - Bryntum gantt baseline bar is smaller than actual task bar when start and end date is same
  • #9481 - Filter lost when no results present with remote filtering
  • #9528 - Successors removed after using FillHandle
  • #9529 - Move cursor shown instead of row resize cursor
  • #9534 - Crash when using UndoRedo in narrow window
  • #9536 - Input field misplaced on pinch zoom while editing in custom TaskBar
  • #9537 - [ANGULAR] Providing a type attribute for widget throws an exception
  • #9559 - STM do not reset first step after load and call resetQueue
  • #9564 - Crash when copying and pasting into SequenceColumn cell
  • #9630 - [HIGH PRIO] Task edit error relating to calendarfield after updating to v6.0

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.1 - 2024-07-05

BUG FIXES

  • #8996 - resetQueue does not clear STM queue when called after project model revertChanges method
  • #9077 - Filter combo not showing correct text when set to false when filtering ManuallyScheduled column
  • #9354 - [HIGH PRIO] Project start date not calculated under certain conditions
  • #9447 - revertChanges resets startDate even if it persisted on load
  • #9461 - showCurrentTimeline isn't working when setting name in Timeline widget
  • #9472 - Rollup tooltip misrendered in portfolio-planning demo
  • #9474 - Use real user names + avatars in realtime demo

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

6.0.0 - 2024-06-28

  • We are thrilled to announce version 6.0 of our Gantt product. This release marks a significant milestone for us after more than two years of dedicated development. In this update, we are excited to bring you:
  • Live updates via websocket
  • A calendar editor
  • New column types
  • Improved TypeScript typings
  • A new code editor in the examples for easy fiddling
  • Cool new demos
  • Bug fixes and other enhancements requested by our community
  • A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable

FEATURES / ENHANCEMENTS

  • This release introduces the calendar editor - a special widget visualizing and allowing to edit a calendar's data. The editor can be opened using a new trigger added to the calendar combo, used in the task editor, and the resource calendar column. Please check the "Upgrade guide", "What's new" and "Calendar editor guide" (#356)
  • New data column PlannedPercentDoneColumn is available for Gantt (#790)
  • Custom styling for milestones in the Timeline widget was removed, it did not work for overlapping milestones. The component now uses milestoneLayoutMode: 'measure' by default instead (#5351)
  • We implemented new feature called revisions which is meant to bring live updates to the Gantt chart. It requires a server-side implementation, which should conform to the protocol described in the documentation. This feature is demonstrated in the new realtime-updates demo (#6226)
  • PDF export server has been moved from examples/_shared/server folder to its own GitHub repository: https://github.com/bryntum/pdf-export-server (#6820)
  • The TaskCopyPaste feature has been enhanced. It now creates clones of the copied records immediately on a copy action. This makes the copied data unaffected by any Store changes between the time of copying and the time of pasting. It also makes it possible to modify the copied data in the beforePaste event. Additionally, when copy-pasting between different Gantt instances, the complete record will be copied, not just the fields that has a corresponding column, as it was previous (#7814, #3682)
  • The code editor in examples is now implemented with the VS Code engine. Code folding, search and replace, full undo/redo is now available when editing examples
  • [TypeScript] Class configs *Config (e.g. ButtonConfig) now provide type declarations for listeners parameter in *.d.ts files
  • [TypeScript] Class configs *Config (e.g. ButtonConfig) types now have optional parameters in *.d.ts files. *Config type can be used instead of Partial<*Config> declaration
  • New data field statusDate on the ProjectModel. This date is used as a reference point for various reports and data calculations
  • Bumped the built-in version of FontAwesome Free to v6.5.2, which includes a new table-cells-row-lock icon sponsored by Bryntum
  • The Filter feature now supports columns with a filterable config in the new multi-filter UI
  • Task bars and time ranges now use the direction neutral inset-block-start and inset-inline-start styles for positioning, rather than top and left. This puts them in the same place in LTR and RTL directions without additional processing
  • [Angular] Bryntum Angular wrapper now exports Bryntum...Props types (e.g. BryntumGanttProps) which match the config required for a wrapper components (e.g. BryntumGanttComponent). Wrappers code is now delivered with documentation inside, that helps in setting up the components
  • EventHelper no longer mutates the DOM event object to fix browser quirks and add utility properties. It now wraps the DOM event with a Proxy, which exposes all the properties of the DOM event and also accepts any new properties added to it. The original DOM event is available in the browserEvent property.
  • ProjectModel now supports a new autoSetConstraints mode, which is useful if you are loading a dataset without using constraints, dependencies or manuallyScheduled tasks. Setting the autoSetConstraints flag to true will help show your data based on the startDate / endDate task fields. When set to false, the Project will schedule unpinned tasks as-soon-as-possible (i.e., the project start date).

API CHANGES

  • [VUE-3] Bryntum Vue-3 wrapper now exports Bryntum...Props types (e.g. BryntumGanttProps) which match the configs available for a wrapper component (e.g. <bryntum-gantt>). Wrappers code is now delivered with documentation and TypeScript sources inside (#3085)
  • [BREAKING] EventModeColumn has been removed (#4115)
  • [DEPRECATED] The WidgetHelper utility class has been deprecated and will be removed in a future release. Use the corresponding widget class instead - Widget, Toast or Mask (#6103)
  • In previous versions, a call to project.commitAsync() caused a UI refresh even if nothing was changed by the commit. This has been fixed so that the UI is only refreshed if the commit actually changed something. This is a slight behavioral change (for the better), which we think should have minimal impact on apps (#7924)
  • [BREAKING] The useRawData setting on Store is now enabled by default, but with all sub-settings disabled. This means that the incoming data object will be used as is, without being cloned. Which will boost data loading performance, but is potentially a breaking change if the data object is reused / used in other parts of the application (#8335)
  • [BREAKING] Gantt ProjectModel#toJSON format has been changed. Now it returns tasksData instead of eventsData (#8449)
  • [BREAKING] In 6.0.0-alpha-2 we changed the default value for useRawData on stores to true. This boosted record creation performance by not cloning the incoming data object. However, this change has lead to some issues, and we are now taking a step back. It will once again default to false when supplying data inline, and instead only to true when data is loaded remotely using an AjaxStore or a CrudManager (#9289)
  • Rollup task elements are now inheriting eventColor from their origin task
  • The EventCopyPaste feature's copy event has gotten its parameters slightly changed. The parameter records now contains clones of the copied records, and the original copied records can be found in the parameter originalRecords (these parameters are wrapped in a single event object)
  • With the recent introduction of individual layers for positioned elements, z-indexes have now been normalized. If you have overridden z-index of the layers, please adjust your CSS to ensure it looks as you expect
  • The nonworking-time layer has been moved up in the z-index stack to float above the time axis tick lines
  • [DEPRECATED] @bryntum/babel-preset-react-app, @bryntum/cra-template-typescript-grid, @bryntum/cra-template-javascript-grid npm packages are deprecated, and will not get any further updates. Versions prior to 6.0.0 are still accessible
  • [BREAKING] [ANGULAR] [REACT] [VUE] BryntumProjectModel framework wrapper is no longer available since 6.0.0. Use BryntumGanttProjectModel instead. Check the upgrade guide for the details
  • [BREAKING] In addition to the APIs mentioned in Scheduler's & Grid's changelogs, the following previously deprecated APIs were removed:
  • The Wbs class was moved to Core
  • Dependencies.drawForTask() (5.1.0)
  • [BREAKING] GridSelectionrowNumber now uses Gantt´s SequenceColumn (previously RowNumberColumn)
  • If statusDate is not provided for the ProjectLines feature, it is now taken from the project model
  • RowReorder now has dropOnLeaf set to true by default to allow for adding dragged task as a subtask of a target leaf task
  • The ScheduledByDependenciesEarlyEventMixin mixin in the scheduling engine has been renamed to ConstrainedByDependenciesEventMixin
  • As part of improving the task-level ASAP/ALAP implementation, scheduling engine has undergone certain refactoring, which generally should not affect public API. If you were using some private APIs, which have been changed, please let us know
  • TaskMenu option for splitting tasks was simplified to just say Split instead of Split task
  • Relayed events name for onFunctions is capitalized when used with prefix i.e. onGridRowbeforeDragStart is now onGridRowBeforeDragStart

STYLING CHANGES

  • The Stockholm theme got some slight tweaks to panel header (removed bottom border) and tab panel styling (replaced active tab background with thick bottom border) for a more modern look (#8440)
  • [STYLING] SequenceColumn now aligns its contents to end

LOCALE UPDATES

  • Localization for the new column PlannedPercentDone was added with a single key plannedPercentDone
  • New key statusDate in the localization for ProjectLines class

DEMOS

  • New multiple-gantt-charts demo showing how to synchronize scrolling across multiple Gantt charts (#188).
  • New realtime-updates demo has been added to show use of Websockets with Gantt. Demo is located in examples/realtime-updates folder (#2012)
  • New portfolio-planning demo showing how to visualize and plan multiple projects in one Gantt chart (#8755)
  • The php demo has been updated to support calendars
  • New dependencies demo showing how to customize the Dependencies feature
  • New export-to-ics demo showing how to export tasks to iCal format
  • New Planned percent done demo, showing the calculation of "planned percent done" value. The demo is located in examples/planned-percent-done folder
  • New auto-constraints demo showing how to auto-pin tasks that do not use constraints, dependencies or the manuallyScheduled flag

BUG FIXES

  • #3833 - [HIGH PRIO] Dependencies list performance issue when a project has many tasks
  • #4902 - EmptyCalendarEffect description is not clear enough
  • #4933 - Toggleable button loses state when moved to toolbar overflow menu
  • #7223 - Add a way to apply multiple project changes in bulk
  • #7685 - Percent done filter uses raw fractional value
  • #7760 - [HIGH PRIO] [TypeScript] Type intersection with any might be wrong
  • #7772 - Copy/paste feature should freeze copied data
  • #7784 - Structured tree is not synchronized correctly between projects
  • #7858 - Constraint removed from a task record on copy-paste
  • #7955 - Undo of delete dependency in task edit broken
  • #7993 - Duration from applied remote change gets reverted
  • #8008 - addTask method should behave similar to transactional features
  • #8171 - FieldFilterPickerGroup config limitToProperty should also apply to configured filters
  • #8309 - Duration column decimal separator is not localized
  • #8459 - [HIGH PRIO] Carousel should support swipe gesture scrolling for mobile/touch
  • #8577 - Add calendar popup should be centered
  • #8611 - Crash when advanced demo opens code editor
  • #8698 - Panel header changes size when collapsing / expanding panel in Stockholm theme
  • #8741 - PercentDoneColumn should extend PercentColumn
  • #8745 - [HIGH PRIO] Dependency wrongly moved task with no reason
  • #8864 - [HIGH PRIO] Error: Effect resolved to promise in the synchronous context, check that you marked the asynchronous calculations accordingly
  • #9108 - No option to enter value for a filter in Infinite Scroll Demo
  • #9180 - onFunctions not working for relayed events
  • #9432 - Rollup tasks with duration > 0 are not rendered

FRAMEWORK SUPPORT

  • NodeJS: >= 20.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.13 - 2024-06-26

FEATURES / ENHANCEMENTS

  • Rollups feature now offers to rollup children to all parents and grandparents (#9250)

API CHANGES

  • Filter feature column header tooltips now display localized text for active filter operators, e.g. equals instead of = (#9338)

BUG FIXES

  • #8772 - Scroll button's action doesn't take task labels into account
  • #9242 - ResourceUtilization throws exception when aggregating data
  • #9392 - Inherited parent dependencies are not collected into critical paths
  • #9424 - Gantt crashes after collapse all with event selected

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.12 - 2024-06-13

API CHANGES

  • [VUE] [REACT] When using wrappers for Vue or React, syncDataOnLoad is by default set to true on all stores configured on the wrapped Widget. Staring from 5.6.12, stores with a configured readUrl or that belongs to a project configured with a loadUrl, will have their syncDataOnLoad default to null

BUG FIXES

  • #9060 - Weight of taskEdit fields can not be customized in beforeTaskEditShow
  • #9094 - STM does not record changes when timeZone is set
  • #9096 - [HIGH PRIO] Resources not shown in resource assignment column after loading data from backend
  • #9136 - Make Indicators z-index higher than task bars
  • #9196 - [HIGH PRIO] Fields being wrongly rendered when scrolling
  • #9202 - Dependency arrows change their style after loadInlineData if critical paths are enabled
  • #9227 - Evaluate editor height on every show
  • #9262 - Copying a task does not copy the assignment units correctly
  • #9263 - Unable to use "is one of" operator in Grid filter feature when using AjaxStore and filterParam
  • #9280 - Bug when clearing out Constraint Type in Pop Up Task Editor when date spans are out of view
  • #9359 - Late end date position is incorrect

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.11 - 2024-05-21

FEATURES / ENHANCEMENTS

  • A new static boolean property, Widget.accessibility was added, which, when set to true causes tooltips to be activated on focus in addition to mouseover (#5539)
  • Copying a Task with assigned resources, and then pasting it into the same Gantt instance, will now also copy the assignment records (#3655)
  • Vanilla JavaScript documentation has a new section on Multiple Products, showing how to use multiple components in a single page using thin components (#8756)
  • [DOCS] Added docs to ConstraintTypePicker class showing how to restrict the available constraint types when editing in a cell editor or the task editor (#8100)
  • Project has a new config called includeChildrenInRemoveRequest, that controls if a remove request includes the id of a removed parent and all its children, or just the id of the removed parent (#8099)

API CHANGES

  • A default value for a new task's name provided in the newTaskDefaults config was applied inconsistently depending on if the task was added using cell editing or context menus. This has now been normalized to behave as documented for the config, that is to not include the name (the name is determined by the current locale)
  • After a docs regression, several APIs flagged to be hidden in subclasses were still visible in the docs. These APIs are now correctly hidden (#9140)

DEMOS

  • Updated CSS for the timeline demo to better handle milestones with background color (#9059)

BUG FIXES

  • #7450 - Calendar column doesn't load data when setting project after gantt initialization
  • #8643 - [HIGH PRIO] Returning "" or null from JSX column renderer uses the previous cell renderer values in virtualization
  • #8833 - [HIGH PRIO] TaskNonWorkingTime doesn't respect fillTicks
  • #8883 - [HIGH PRIO] Crash when drag scheduling unscheduled task with infiniteScroll
  • #8951 - Dependency record's fields are missing on project.load()
  • #8978 - [HIGH PRIO] Gantt ASPNET frontend example not building
  • #9009 - Task cut/copy resulting in crash on opening cell menu
  • #9013 - [HIGH PRIO] TaskResize triggered without longpress on touch screens
  • #9019 - Milestones not considered in parent % Done rollup
  • #9048 - Gantt MSP Export duplicates Resource calendars on each export
  • #9051 - Resizing or moving task selects the row
  • #9057 - [DOCS] FieldFilterPicker docs inline example doesn't apply filter at initial startup
  • #9062 - CellEdit does not expect newTaskDefaults to be a fn in Gantt
  • #9063 - Children tasks are not removed from timeline widget when deleting the parent task
  • #9081 - [HIGH PRIO] Data disappears from the ResourceAssignmentEditor
  • #9145 - Column autoHeight doesn't work with Gantt
  • #9153 - Task effort is not updated
  • #9161 - decimalPrecision config of DurationColumn has no effect
  • #9165 - Pan feature not working correctly when taskNonWorkingTime is enabled
  • #9176 - TaskCopyPaste options are disabled in Gantt if the store is chained
  • #9181 - WBS value is calculated incorrectly when applying changeset with removed record

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.10 - 2024-04-24

BUG FIXES

  • #7685 - Percent done filter uses raw fractional value
  • #7860 - Allow specifying custom default operator by data type for Grid filter feature
  • #8725 - [HIGH PRIO] TreeGroup ID collision when multiple groups are applied and column with array data is at the top
  • #8958 - [HIGH PRIO] Two commits initially, leads to two refreshes
  • #8965 - [HIGH PRIO] Toolbar overflow synced excessively
  • #8973 - [HIGH PRIO] DependencyModel handling of immutable data
  • #8985 - [HIGH PRIO] Smarter EventStore sync behavior for start / end dates
  • #8988 - Not possible to reach submenu of timeAxisHeaderMenu unless moving over the anchor icon
  • #8992 - [ANGULAR] implement support of ViewEncapsulation.ShadowDom
  • #9001 - [HIGH PRIO] Error when slowly scrolling the Gantt

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.9 - 2024-04-09

FEATURES / ENHANCEMENTS

  • Now it is possible to specify the maximum units capacity of the resource, using maxUnits field. Default value is 100%, but if resource represents a team of several people maxUnits can be increased accordingly. This field is taken into account in the resource histogram and resource utilization widgets (#833)
  • The rules of calendar intervals prioritization in case of their intersection have been properly documented. Now the index of the interval in the dataset is also taken into account. Please refer to the updated Calendars guide and priority field documentation for the details (#8754)
  • New resourceAssignmentClick event triggered by the Gantt instance when clicking a resource avatar in cells of the ResourceAssignmentColumn (#8882)
  • ProjectModel.toJSON() now includes data from all registered crudStores (#8803)
  • ProjectModel has a new toJSONResultFormat config that controls the output format of the ProjectModel.toJSON method. Please check the config docs for more details. (#8814)

API CHANGES

  • A change in Gantt v5.3.0 fell out of the upgrade guide, repeating it here: CalendarModel class intervals field definition has been changed to behave as a store when performing CRUD operations. Please check "Upgrade guide" for the details

LOCALE UPDATES

  • Added Brazilian Portuguese translation ('PtBr') (#8747)

DEMOS

  • [VUE-3-VITE] "Undo/Redo" (Vue 3 JavaScript) demo is now converted to Vue 3 Vite TypeScript. New demo is located in frameworks/vue-3-vite/undoredo folder (#8090)
  • [REACT-VITE] "Undo/Redo" (React JavaScript) demo is now converted to React Vite TypeScript. New demo is located in frameworks/react-vite/undoredo folder (#8091)
  • Custom theme demo (JavaScript) shows how to create a custom theme by modifying scss variables. New demo is located in custom-theme folder (#8726)

BUG FIXES

  • #7267 - Request for improved API for custom cell editors
  • #7805 - [ANGULAR] Collapse/expand button doesn't work in Gantt Undo/Redo demo
  • #8346 - [HIGH PRIO] Crash while removing cyclic dependency while indenting tasks
  • #8471 - [HIGH PRIO] Filter is not shown and not working in hidden parent element
  • #8514 - [HIGH PRIO] Conflict resolution popup: Odd behavior on Cancel
  • #8644 - [TYPESCRIPT] Typings for onBeforeTaskResizeFinalize are wrong
  • #8687 - Resizing region does not always fill last column width
  • #8690 - [HIGH PRIO] CSV exported data shows special character  for indentation in Windows OS
  • #8710 - Adding resources from resources tab crashes
  • #8712 - Gantt collapsing last group of tasks doesn't recalculate scroll range
  • #8719 - [DOCS] Document getVersionContent method of Versions feature
  • #8731 - [HIGH PRIO] Not able to resize task when it is very small
  • #8736 - Not possible to provide renderer to PercentDoneColumn
  • #8778 - Entering duplicate predecessors should not be allowed
  • #8779 - Allow for configuration of Combo box used by AddNewColumn
  • #8802 - [HIGH PRIO] Remove Mask from Gantt big dataset demo after dependency lines have been generated
  • #8844 - Renderer problem when fillHandle used during editing
  • #8853 - Memory not freed after destroying gantt instance in the "bigdataset" example
  • #8869 - [HIGH PRIO] Not possible to reach submenu unless moving over the anchor icon
  • #8905 - Styling issues with Gantt Critical Path
  • #8930 - Input value first char gets deleted in combo

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.8 - 2024-03-04

FEATURES / ENHANCEMENTS

  • An exception with a meaningful message will now be thrown if parsing of the calendar interval's recurrent date string has failed (#8705)

BUG FIXES

  • #8164 - Gantt - assigning null to custom property on task record is no longer possible
  • #8670 - Task PercentDone tooltip disappears while dragging the percentage with mouse is not over the task
  • #8676 - [HIGH PRIO] Conflict resolution popup: Does not clear the previous message and stack them up
  • #8697 - Vertical misalignment of filter field check box
  • #8713 - Collapsing a selected cell with FillHandle feature active leads to crash

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.7 - 2024-02-22

FEATURES / ENHANCEMENTS

  • If Gantt is not provided with the viewport start date on creation, it now tries to use the project's start date, or calculates the earliest start date among all events
  • Gantt now offers to not automatically merge two task segments when placed next to each other, via the new ProjectModelautoMergeAdjacentSegments config (#8018)
  • The effort field on the AssignmentModel is now documented and public (#8427)
  • MspExport feature got a new replaceResourceNameCommas config. Set it to true to replace commas in resource names with semicolons. The reason is resource names with commas shows a warning in MS Project

API CHANGES

  • The StateTrackingManager (STM) will by default (if autoRecord is true) merge update actions on the same record (in same transaction), keeping the oldest, and the newest values. A transaction will almost always only contain one update action per record. If the previous behaviour is desired, you can configure the StateTrackingManager with autoRecordMergeUpdateActions set to false. If you're not using autoRecord, then the transaction action can be merged by calling the StateTrackingManager's new mergeTransactionUpdateActions function before the end of the transaction

BUG FIXES

  • #6599 - [HIGH PRIO] Indenting manually scheduled task issue
  • #7859 - [HIGH PRIO] Engine exception when reapply data on filtered dataset
  • #7968 - [HIGH PRIO] Non-critical task is highlighted as critical if "Project Border" field is "Ignore"
  • #8289 - [HIGH PRIO] [REACT] Gantt crashes in RTL container
  • #8302 - [HIGH PRIO] PercentBar change on drag should only update value in STM once the drag is complete
  • #8307 - [HIGH PRIO] TaskDrag and TaskResize should only update value in STM once the drag/resize is complete
  • #8404 - Improve WidgetColumn API docs
  • #8408 - Allow setting empty name for a new task when created using addTaskAbove/addTaskBelow
  • #8423 - [HIGH PRIO] [LWC] Engine performance is too low with LWS enabled
  • #8466 - [HIGH PRIO] TreeGroup crash when grouping on startDate with one task having startDate: null
  • #8481 - [HIGH PRIO] Auto scheduled child not following manually scheduled parent constraints
  • #8491 - [HIGH PRIO] Make AddNewColumn more configurable
  • #8492 - Crash when cutting resource assignment cell
  • #8496 - Exception thrown during task editing
  • #8502 - Cell selection broken after reordering columns with selection present
  • #8504 - [HIGH PRIO] Cell selection broken when column position/width changes
  • #8515 - [MS Project] exporter: replace commas in resource names
  • #8526 - Nonworking time only shading half the lowest header row
  • #8539 - Crash when toggling full screen
  • #8549 - Incorrect color of taskBar when percent done is set to null

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.6 - 2024-01-31

FEATURES / ENHANCEMENTS

  • Bumped built-in FontAwesome Free to version 6.5.1
  • All frameworks demo applications have been verified and updated to be compatible with Node.js 20
  • When editing very long tasks where the task bar extends outside the visible viewport, only the nearest 100 pixels of the bar are scrolled into the viewport rather than attempting to scroll the whole width into view. The minimum width to scroll in may be configured in the taskEdit feature using the minEditSize config property (#8315)

API CHANGES

  • To boost record creation performance, records now cache their id (it is accessed very frequently, helps performance a bit) and join their store(s) in a more efficient way. As a side effect, a record no longer has a stores array prior to joining a store, previously it was there as an empty array from start. We don't think this will affect any code, but wanted to share the change in case it does
  • [DEPRECATED] [ANGULAR] [REACT] [VUE] BryntumProjectModel framework wrapper will be removed starting from 6.0.0 version. Use BryntumGanttProjectModel instead. Check the upgrade guide for the details

BUG FIXES

  • #6978 - Should be possible to show chart with no columns by setting columns to an empty array
  • #7530 - Wbs is undefined on grouped row
  • #7856 - Undoing removal of children changes children orders
  • #7869 - [HIGH PRIO] Cell edit feature behaves incorrectly when double-clicking to edit next cell
  • #7904 - Duplicate WBS created on cut/paste
  • #7961 - [HIGH PRIO] Assignment Model dataSource with nested fields breaks ResourceAssignment column
  • #7994 - [HIGH PRIO] Changes to start/end of the dependent tasks are ignored, which does not allow it to pass the filter
  • #8200 - Webpack build failed with .min.css file
  • #8236 - [HIGH PRIO] Editing the baseline startDate of newly added task results in a crash
  • #8239 - ContextMenus aligned below click point instead of to the side
  • #8249 - Group menu position issue
  • #8257 - WBS is wrong after cut/paste when orderedParentIndex is persisted
  • #8260 - [HIGH PRIO] TaskEditor closes unexpectedly while deleting resources
  • #8279 - Cancelling dependency creation hangs transactional feature
  • #8281 - Updated task not appearing when it now matches filter after adding dependency
  • #8293 - [HIGH PRIO] Dependency editor is invisible when infiniteScroll is true
  • #8298 - [HIGH PRIO] Filter feature is not working for nested columns
  • #8311 - validateOnInput config not being respected when using DateField
  • #8322 - Dependency Store beforeAdd Event giving error if it returns false
  • #8388 - Manual scheduled and rollup columns affect each other

FRAMEWORK SUPPORT

  • NodeJS: >= 14.0.0
  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.5 - 2024-01-09

BUG FIXES

  • #6605 - taskIconCls doesn't work as expected for a milestone
  • #7403 - Make a guide on how to make a theme selector in frameworks
  • #7605 - Cycle when setting ASAP/ALAP on individual tasks level
  • #7964 - [REACT] JSX doesn't work in Popups
  • #7974 - Task copy/paste triggers wrong transition
  • #8079 - Task Segment name change doesn't call project sync api
  • #8089 - Cannot indent a task without startDate/endDate under certain circumstances
  • #8136 - Print error when gantt chart is collapsed
  • #8151 - Crash when right clicking base line group column
  • #8161 - autoEdit isn't working for '% Done' column

FRAMEWORK SUPPORT

  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.4 - 2023-12-21

FEATURES / ENHANCEMENTS

  • The filter field in the picker of a DependencyField can now be hidden, by configuring it with filterable : false (#7740)

BUG FIXES

  • #6224 - Add event for ColumnResize to catch user resize action
  • #7542 - Removing partner does not break the timeAxis link
  • #7971 - TotalSlackColumn should not show dirty indicator
  • #8029 - Dragging Task when fillTicks and snap enabled behaves differently on 5.6.0
  • #8040 - Gantt doesn't immediately display remotely appended rows when using { overscroll : true }
  • #8074 - Some fields of Child Task are uneditable in Task Editor after opening Parent task in Task Editor
  • #8080 - Missing TimelineHistogram component in Angular / React / Vue packages
  • #8081 - Missing TreeGrid component in Angular / React / Vue packages
  • #8098 - Should support using fill handle to add predecessors

FRAMEWORK SUPPORT

  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.3 - 2023-12-13

FEATURES / ENHANCEMENTS

  • Sorters used to always be removed when reordering rows, but now they are optionally kept (by specifying the preserveSorters config) if the drop leads to tasks still being in order (#7901)
  • [REACT] Documentation in "Quick start" and "Guide" is now updated with how to build React application in Vite for higher efficiency and better performance in development

API CHANGES

  • [DEPRECATED] Please kindly note that @bryntum/babel-preset-react-app and @bryntum/cra-template-typescript-gantt, @bryntum/cra-template-javascript-gantt packages will not get any updates after 6.0.0 version

BUG FIXES

  • #7615 - ExtJS wrapper class in extjsmodern demo crashes
  • #7716 - Link is created to a task when trying to abort building the link
  • #7770 - Exception is triggered when replacing record id in hasChanges listener
  • #7832 - WBS value is incorrect after cut/paste
  • #7925 - ProgressLine disappears after zooming
  • #7933 - Ctrl + v creates a new task instead of pasting data in cell
  • #7936 - Duration.toString does not honor locale
  • #7949 - Assigned resources count overlay misplaced on assigned resources column resize
  • #7962 - hasChanges event is fired excessively upon task remove when taskStore wbsMode is set to 'auto'
  • #7963 - Early/Late date indicators are not showing correctly
  • #7966 - The browser default [CTRL + C] keyboard shortcut gets prevented even when a text is selected
  • #7971 - TotalSlackColumn should not show dirty indicator
  • #7976 - Content lost if setting showDirty while scrolled down
  • #7977 - Should not enable cell replication for non-editable columns / cells
  • #7995 - Exception in ZoomToFit combined with infiniteScroll
  • #7996 - Missing DateHelper on Node.js and Core classes
  • #8014 - Task non-working time calendar rendering incorrectly after sorting
  • #8021 - Gantt MspExport throws error if export empty project
  • #8036 - Copy to clipboard doesn't work in some code blocks

FRAMEWORK SUPPORT

  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.2 - 2023-11-24

FEATURES / ENHANCEMENTS

  • [REACT] Docs and demos for custom column editors updated to show how to handle async setState() calls, to avoid loosing column editor values

BUG FIXES

  • #7092 - Feature mixin on-owner events are not exposed on class
  • #7395 - Data on tooltip does not align with placement of task
  • #7716 - Link is created to a task when trying to abort building the link
  • #7741 - Gantt not mapping dataSource for task name field
  • #7886 - Column of type 'check' is not triggering the setter in the task model
  • #7898 - Console error when used specific calendar settings together with fillTicks feature
  • #7900 - TaskNonWorkingTime elements not updated on splitter repositioning

FRAMEWORK SUPPORT

  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.1 - 2023-11-17

FEATURES / ENHANCEMENTS

  • Added support for filtering TimeColumns (#7692)
  • Added option to maintain scroll position during remote changes when the viewport is near the end of the scrollable range. Configure Gantt with preserveScroll : { overscroll : true } to opt-in to the new behavior (#7759)

LOCALE UPDATES

  • There is a new locale key selectATime : 'Select time' which may be used by FieldFilterPicker's time input

BUG FIXES

  • #1075 - task.copy() copies original successors and predecessors
  • #5719 - [YARN] Can not install @bryntum product packages using yarn v2/v3
  • #7597 - Gantt Baseline duration not persisted in Baseline example
  • #7732 - Crash when cutting a row and pasting with selected assignment cell
  • #7742 - Start date column not working when set min value
  • #7745 - Splitter should hover above dependencies
  • #7746 - Extra API calls after project load when using stores CRUD urls
  • #7750 - Vite error @charset must precede all other statements
  • #7753 - White space shown when deleting many selected tasks while scrolled down
  • #7754 - [Frameworks] Thin packages not working with pnpm
  • #7768 - CRUD operations for TaskStore works different in Chrome and Firefox
  • #7785 - Multiple resources can be set in Gantt single assignment settings
  • #7794 - Calendar intervals stops rendering after some time ahead
  • #7820 - globalThis should be defined in locales to support LWC
  • #7830 - Exception when cutting task with collapsed normal region
  • #7831 - [Thin bundles] some classes are not exported from @bryntum/engine-thin package
  • #7842 - Selected tasks missing selection styling

FRAMEWORK SUPPORT

  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.6.0 - 2023-10-26

FEATURES / ENHANCEMENTS

  • This release introduces a new set of npm packages and framework components, that allows combining multiple Bryntum products in the same application. These packages contain the product specific code only, as opposed to the current packages that has all code for the products each product builds upon (for example Scheduler contains Grid & Core). The new packages are called thin packages, and moving forward it will be the recommended way of using Bryntum products in npm based applications (for all supported frameworks). See the "What's new" guide for more information
  • The task bar wrapper element (.b-gantt-task-wrap) now uses CSS grid layout to better match event bars in Scheduler. This makes it easier to internally share styling with Scheduler for features like labels. If your app uses custom CSS for task bars that rely on the wrapper using flexbox, you might need to adjust it
  • @bryntum/gantt-thin bundle includes scss theme files in sass/themes folder (#7445)
  • It is now possible to use asymmetrical resourceMargin by assigning an object with start (margin top in horizontal mode, margin left in vertical mode) and end (margin bottom / margin right) properties (#6185)
  • Updated tooltips demo to show a more customized tooltip design
  • Updated custom-rendering demo to show a clean & minimal Gantt design
  • New RowResize feature allowing users to change the global row height using drag drop. Try it out in the updated advanced example (#2843)
  • The task bar wrapper element (.b-gantt-task-wrap) now use CSS grid layout to better match event bars in Scheduler. This makes it easier to internally share styling with Scheduler for features like labels
  • Added preserveScroll config to Gantt, preventing vertical viewport movement during remote changes (#7353)
  • Infer field types for auto fields when using FieldFilterPicker with store data present (#7691)
  • Added a new ScrollButtons feature, which injects buttons in each row that scrolls the task bar into view. The buttons are only visible when the task bar is out of view (#5152)
  • The custom-rendering demo was updated both with a fresh new look and with a new demo specific feature that displays time axis scroll buttons in the header

API CHANGES

  • [BREAKING] Core.util.helper.Point class has been moved to solve circular module dependencies. It is now a named export of the Core.util.helper.Rectangle module. Check upgrading guide for the details
  • TaskModel has got new projectConstraintResolution field allowing to specify how a task treats the project border (whether it's allowed for the task or not to move before the project start date for example). Please check the field docs for more details (#7156)
  • isMulti is now the default mode for the Grid Filter plugin. To configure the filter pickers inside the column filter editor popup, provide a GridFieldFilterPickerGroup configuration using the Filter feature's pickerConfig config option. Configure legacyMode : true to use the previous UI instead (#6685)
  • [DEPRECATED] The Filter feature context menu items disableFilter, removeFilter, and editFilter will be renamed filterDisable, filterRemove, and filterEdit, respectively, in 6.0.0. If you are customizing the TaskMenu to hide or replace any of these menu items, you will need to change their names accordingly
  • [FRAMEWORKS][DEPRECATED] BryntumProjectModel wrapper component has been renamed to BryntumGanttProjectModel. Please see the upgrade guide for details
  • [TypeScript] Functions and events declarations in typings were improved to contain all available parameters and return type (#6961, #4456)
  • ExcelExport feature now supports exporting to CSV file (#5612)
  • Added a Print feature based on PdfExport feature which allows using browser print dialog and not rely on backend (#6218)

LOCALE UPDATES

  • New locales for AdvancedTab, HonorProjectConstraintResolution, IgnoreProjectConstraintResolution and ProjectConstraintConflictEffectDescription classes. Check "What's new" Gantt guide for the details

BUG FIXES

  • #7277 - scrollTaskIntoView not working reliably in infiniteScroll
  • #7287 - visibleDate not functioning correctly
  • #7492 - Row being resized should go on top
  • #7498 - Collapsing grid part of Gantt when scrolled down results in blank space at top
  • #7501 - Gantt Resource column overflowing avatar has no border-radius in Firefox
  • #7686 - Overflow avatar is not the rightmost avatar

FRAMEWORK SUPPORT

  • TypeScript: >= 3.6.0
  • Angular: >= 9.0.0
  • React: >= 16.0.0
  • Vue: >= 2.0.0
  • Ionic: >= 5.0.0
  • Vite: >= 4.0.0
  • Webpack: >= 4.0.0

5.5.5 - 2023-10-23

BUG FIXES

  • #107 - Fields misaligned in dependency editor in Swedish locale
  • #6220 - Improved translations for Danish
  • #7604 - Crash when removing new invalid predecessors in task editor
  • #7608 - Missing some defaults in task context menu guide
  • #7623 - Dependencies stay visible after filtering taskStore
  • #7630 - ColumnAutoWidth crashes when using CrudManager
  • #7633 - timeSpanHighlight is not part of GanttFeaturesConfigType
  • #7680 - AddNewColumn combo not aligned to Column header bottom

5.5.4 - 2023-10-05

FEATURES / ENHANCEMENTS

  • Single resource assignment mode demo called single-assignment was added (#6235)
  • Added preserveScroll config to Gantt, preventing vertical viewport movement during remote changes (#7353)

BUG FIXES

  • #7252 - Tabbing fast to create new rows eventually loses focus to browser
  • #7489 - Sorting by wbsValue field does not work correctly with applyChangeset method
  • #7499 - Gantt Tooltips demo columns too small
  • #7509 - [REACT] Gantt crashes when using [TAB] in custom editors
  • #7526 - Dependencies to out of the view rows are wrongfully painted intermediate pages
  • #7533 - Resizing to make a task shorter makes it wider
  • #7541 - scrollEventIntoView throwing error in gantt-schedulerpro demo
  • #7550 - AssignmentField clears filter applied after second picker show
  • #7558 - Split tasks option is available in the task menu when eventSegments feature disabled
  • #7566 - RowNumberColumn size issue when Gantt element is not in the DOM
  • #7575 - ResourceUtilization Timeranges not working
  • #7602 - PercentBar should function for parent tasks when autoCalculatePercentDoneForParentTasks is false
  • #7609 - TaskEdit popup not showing up on first click

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

  • #3903 - ProjectModel 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
  • #7368 - CellEdit's editor's beforeCancel event returning false is ignored
  • #7371 - Removing filters resets sort of project
  • #7390 - Resourceutilization group collapse works incorrect after new assignment
  • #7414 - Error when hovering and scrolling horizontally on task
  • #7416 - Filtering total slack column throws error

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
  • #7338 - gantt.project.sync() throws error when late start and late finish columns are enabled
  • #7360 - Copy-pasting task calendar between cells not working
  • #7361 - Exception on scrollTaskIntoView/scrollUnrenderedTaskIntoView if node collapsed

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
  • #7234 - non-working-time doesn't get rendered properly after 6+ years long timespan
  • #7248 - Circular progress bar has gaps in certain row heights
  • #7255 - Baselines shows in wrong order
  • #7269 - Field labels misplaced in export dialog in Angular demo
  • #7278 - No action when clicking task label and selecting Split task
  • #7303 - Added record has wrong WBS

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

  • #7154 - FillTicks and Indicator placement is not correct after setting start date
  • #7187 - WBS value is not completely committed after initial commit
  • #7221 - [VUE] Vue vite app doesn't compile with Bryntum vue wrappers
  • #7241 - Should not show task tooltip after drag drop
  • #7242 - Whiteouts while scrolling task into view

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

  • #4376 - newTaskDefaults not applied when pressing Enter on last row
  • #5980 - Outdent records changed nodes in the reversed order
  • #7024 - Possible Memory Leak: Tasks of paired Gantt cycled active/inactive may cause the leak
  • #7135 - Outdented nodes appear in wrong position within new parent's children on remote synced client
  • #7154 - FillTicks and Indicator Placement is not correct after setting start date
  • #7171 - Task record is inserted into wrong position in the tree
  • #7186 - Returning from tooltipTemplate doesn't make any changes to the UI

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

  • #4869 - [REACT] StateTrackingManager configuration triggering an error
  • #6077 - [TypeScript] Model constructors should allow second param
  • #6347 - Store idChange event not fired
  • #6977 - Document dataReady event's records argument
  • #7056 - Updating tasks in onBeforeTaskEdit is not possible if returning false
  • #7089 - Buggy positioning of dependencies when resizing
  • #7101 - TaskNonWorkingTime renders wrong on expand / collapse tree
  • #7130 - Updating tasks on beforeTaskEdit event provide weird results
  • #7143 - Drag and drop functionality doesn't work for task bars in hidden parent element
  • #7147 - Constraint data gets cleared when loading

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

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

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

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

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
  • #6648 - sync called when expand tree node after gantt.project.suspendAutoSync()
  • #6652 - Minified UMD bundle does not export bryntum namespace

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
  • #5059 - [REACT] Histogram not updating when doing shiftPrevious()
  • #6032 - visibleDate 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"
  • #6594 - GridSelection should selectively not act for gestures inside a TimeAxisColumn
  • #6607 - Timeline breaks when scroll if custom viewPreset used with empty data

5.3.2 - 2023-04-04

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

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

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

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

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

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
  • #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 event onSave with GanttState
  • #6071 - DomHelpergetRootElement throwing error on creating dependency
  • #6076 - Duplicate listeners added if clicking New task quickly

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

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

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

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

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

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

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

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

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

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

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

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"
  • #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 support Promise.allSettled
  • #5343 - AggregateColumn not working if added after Grid is painted

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

5.1.3 - 2022-09-09

BUG 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 a TabPanel no longer animates that tab into view
  • #5158 - TaskRecord should be available in the params of beforeTaskResizeFinalize
  • #5189 - Project throws exception when trying to apply changes for copied tasks hierarchy

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

5.1.1 - 2022-07-28

BUG FIXES

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

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

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
  • #4916 - Fullscreen is not working on mobile Safari
  • #4919 - Engine throws exception on referencing a destroyed project

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

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

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

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

  • #4127 - [LWC] DomHelper.isInView() throws
  • #4222 - [LWC] Performance degradation in 5.0 release
  • #4238 - [WRAPPERS] 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
  • #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 be true 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

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

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

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

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.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 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

4.3.8 - 2022-02-07

BUG FIXES

  • #4072 - Container.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

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

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

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

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

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

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
  • #3639 - wbsValue 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%
  • #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

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

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

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

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

4.2.6 - 2021-09-15

BUG FIXES

  • #3382 - visibleDate works incorrect if startDate is not provided
  • #3400 - Export to MS Project throws error when startDate or endDate is null
  • #3408 - Updated typings to support spread operator for method parameters

4.2.5 - 2021-09-08

FEATURES / ENHANCEMENTS

  • New gantt.node.mjs and gantt.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 or Date but always outputs a Date (#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 than task.id
  • #3365 - Indicators config is mutated preventing reuse
  • #3371 - Label editor misaligned
  • #3379 - Crash when dates missing when using critical path

4.2.4 - 2021-08-27

FEATURES / 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 is false 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 to true (#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

4.2.3 - 2021-08-05

FEATURES / 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. Use export 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

4.2.2 - 2021-07-21

FEATURES / ENHANCEMENTS

  • Added a new hideRangesOnZooming config to NonWorkingTime 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, use MspExport instead GanttMspExport 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

4.2.1 - 2021-07-07

FEATURES / ENHANCEMENTS

  • [FRAMEWORKS] Added taskCopyPasteFeature to frameworks wrappers (#3135)

BUG FIXES

  • #3136 - [NPM] Running npm install twice creates modified package-lock.json file

4.2.0 - 2021-06-30

FEATURES / 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. Added infinite-scroll demo. (#3048)
  • The TaskResize feature now uses the task's data to change the appearance by updating endDate 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

4.1.6 - 2021-06-23

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

4.1.5 - 2021-06-09

FEATURES / ENHANCEMENTS

  • Gantt now has a minHeight of 10em 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 default minHeight 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 a minHeight 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

4.1.4 - 2021-05-28

FEATURES / 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 has b-task-baseline and milestones have b-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

4.1.3 - 2021-05-13

FEATURES / ENHANCEMENTS

  • Percent Bar feature allows to use a custom field instead of percentDone (#2739)
  • Bumped the built-in version of FontAwesome Free to 5.15.3 and added missing imports to allow stacked icons etc
  • Bumped the @babel/preset-env config target to chrome: 75 for the UMD and Module bundles. This decreased bundle sizes and improved performance for modern browsers
  • TaskResize now has a configurable tooltipTemplate so you can easily show custom contents in the resizing tooltip See updated 'tooltips' demo to try it out (#2244)
  • Updated Angular Wrappers to be compatible with Angular 6-7 in production mode for target es2015

API CHANGES

  • The locale key that defines the width of the task editor was moved to Scheduler Pro, since it can also use Gantt's task editor. If you are using a locale based custom width for it, you will need to update your locale. Please see the upgrade guide (#2789)
  • [DEPRECATED] TaskDrag#dragTipTemplate was renamed to tooltipTemplate to better match the naming scheme of other features
  • [DEPRECATED] The startText, endText, startClockHtml, endClockHtml, dragData params of the TaskDrag dragTipTemplate / tooltipTemplate methods have been deprecated and will be removed in 5.0

BUG FIXES

  • #2313 - Filter operator should use contains search if "*" used
  • #2543 - Task editor doesn't reset not saved data if clicked Cancel and reopen
  • #2604 - Gantt trial LWC does not render task elements
  • #2665 - Timeline does not render events when used as container item
  • #2766 - Max call stack error if schedulingconflict event has listeners
  • #2772 - When task resize feature is disabled, cursor should not change to ew-resize in start-resize areas
  • #2773 - Uncaught TypeError with certain feature combinations
  • #2776 - WBS column exports padded value
  • #2778 - Wrong module declaration in typings file
  • #2818 - Milliseconds are not displayed correctly in Gantt headers
  • #2871 - Export - Percent done column doesn't render when showCircle is true

4.1.2 - 2021-04-27

BUG FIXES

  • #2760 - [WRAPPERS] Missing taskDragFeature, TaskDragCreateFeature, TaskResizeFeature configs in Gantt
  • #2761 - Task editor padding missing

4.1.1 - 2021-04-23

FEATURES / ENHANCEMENTS

  • Scheduler / Gantt / Calendar will now react when CTRL-Z key to undo / redo recent changes made. Behavior can be controlled with the new enableUndoRedoKeys config (#2532)
  • New React Gantt Resource Histogram demo has been added

BUG FIXES

  • #868 - Should be possible to show all available context menus programmatically
  • #1913 - "Already entered replica" error when setting taskStore.data with syncDataOnLoad flag
  • #1987 - DOCS: React guide needs a section on how to listen for events
  • #2138 - ResourceHistogram is not refreshed after inline data reset and load again
  • #2266 - Extra icons are displayed during row reordering in advanced demo
  • #2488 - TaskEditor tab configuration in beforeTaskEditShow does not work correct
  • #2493 - GeneralTab defines the height of the TaskEditor
  • #2538 - Error when closing assignment field picker with filter applied
  • #2618 - Crash when using Gantt without 'dependenciesFeature'
  • #2635 - Milestone Resize Error
  • #2636 - [WRAPPERS] Features are not updated at runtime
  • #2647 - Timeline doesn't render without appendTo config
  • #2679 - on-owner events should be added to owner too in docs
  • #2681 - Yarn. Package trial alias can not be installed
  • #2728 - Lag unit should be based on task durationUnit (if omitted) when setting lag for predecessors/successors

4.1.0 - 2021-04-02

FEATURES / ENHANCEMENTS

  • We are happy to announce that Bryntum Gantt now can be directly installed using our npm registry We've updated all our frameworks demos to use @bryntum npm packages. See them in examples/frameworks folder Please refer to "Npm packages" guide in docs for registry login and usage information
  • Improved styling guide with more examples
  • New "custom-taskbar" example showing how to customize the task bar to include a number for every time axis tick (#2572)
  • ProjectModel now exposes a changes property returning an object with the current changes in its stores
  • Bryntum demos were updated with XSS protection code. StringHelper.encodeHtml and StringHelper.xss functions were used for this
  • Parent task bars now have 2em max-height to look nicer in taller rows
  • Added new Vue Cell Renderer demo to show Vue Components as cell renderers (Partial fix #946)
  • Added new Vue 3 example for Gantt (#1435)
  • ResourceAssignmentColumn now shows resource initials if no avatar image exists. ResourceAssignmentGrid resource column now shows a resource avatar, or initials if no avatar image exists (#2202)
  • Updated React SharePoint Fabric demo to use Gantt toolbar component
  • Added new React 17 demo for Gantt with Timeline widget. The example also implements theme switching (#1823 and #2213)
  • Added new Vue 3 Simple demo to show how to use Bryntum Gantt in Vue 3 (#1315)
  • Rollups Angular demo was updated for Angular 10 (#2361)
  • Updated Angular/React/Vue frameworks Advanced demos to not use wrapping Panel (#2165)

API CHANGES

  • [BREAKING] Removed RequireJS demos and integration guides in favor of modern ES6 Modules technology (#1963)
  • [BREAKING] init method is no longer required in Lightning Web Components and was removed from the LWC bundle
  • [DEPRECATED] CrudManager/ProjectModel commit was deprecated in favor of acceptChanges
  • [DEPRECATED] CrudManager/ProjectModel commitCrudStores was deprecated in favor of acceptChanges
  • [DEPRECATED] CrudManager/ProjectModel reject was deprecated in favor of revertChanges
  • [DEPRECATED] CrudManager/ProjectModel rejectCrudStores was deprecated in favor of revertChanges
  • [DEPRECATED] In the DependencyCreation feature, the data param of all events was deprecated. All events now have useful documented top level params

BUG FIXES

  • #888 - Copy / Cut / Paste task API + context menu entries
  • #1525 - Improve Localization guide
  • #1678 - The dirty indicator is not shown after changing duration when showDirty is enabled
  • #1689 - Investigate sharing static resource between multiple LWC on the same page
  • #1964 - Selecting one record highlights two elements on specific screen size
  • #1968 - MS Project import demo should make imported data phantom
  • #1983 - [REACT] JSX renderer not supported for TreeColumn
  • #2065 - Adding manually scheduled parent task as predecessor from the cell editor fails
  • #2089 - Adding new assignments from ResourceAssignmentColumn should respect data field mapping
  • #2117 - TaskStore reports having changes after filtering tasks
  • #2203 - Improve Project data loading / syncing docs
  • #2211 - Add test coverage for XSS
  • #2220 - Exception when modifying new task in advanced demo
  • #2221 - Task start/end/duration go blank when pressing Enter in duration field of new task
  • #2226 - Undo button reacts when critical path button is clicked
  • #2297 - Hiding task menu subitems is broken
  • #2249 - MSP importer returns success response with java exception as data
  • #2323 - Dependency drag creation fails
  • #2330 - Assignment change not recorded correctly
  • #2335 - Changes returned in onSync are sent back in the next onSync call
  • #2342 - Wrong validation successor when change successor to dependent task
  • #2351 - Crash when changing Start Date after setting new project
  • #2359 - Update readme files in all framework demos in all products
  • #2363 - TaskModel should have public "expanded" field
  • #2372 - TaskEditor doesn't reset cell editor on reopen if invalid value entered
  • #2373 - Some cyclic dependencies for Successors incorrectly validated by TaskEditor
  • #2377 - Prevent End Date from being set before start date
  • #2379 - Add minified version of *.lite.umd.js to the bundle
  • #2382 - project.load() throws an error when called on filtered store
  • #2400 - Sync failure messages displayed in syncMask where not auto-closing
  • #2420 - Duration filter is not restored from state properly when custom filterFn is specified
  • #2434 - Content encoding issues (XSS related)
  • #2441 - Demo control sizes and styling issues
  • #2460 - Comma should be a valid decimal separator in DurationField
  • #2464 - WBS field is now updated correctly on indent/outdent
  • #2486 - Month/year picker is not aligned to date picker properly
  • #2491 - Make a field on a dependency model to disable it
  • #2492 - Removed dependency is rendered
  • #2517 - Crash when deleting task
  • #2578 - Progress circle display artefacts

4.0.8 - 2021-01-27

FEATURES / ENHANCEMENTS

  • Task Editor start/end date fields now support entering of time if they are configured with keepTime config as entered (#1685) and if the fields format includes time info
  • Project (Crud Manager) now supports less strict sync response format allowing to respond only server side changes See supportShortSyncResponse config for details
  • Added preventable beforeIndent/beforeOutdent events on TaskStore (#2288)

API CHANGES

  • [BREAKING] Project (Crud Manager) default behaviour has been changed to allow sync response to include only server-side changes Previously it was mandatory to mention each updated/removed record in the response to confirm the changes With this release the project automatically confirms changes of all updated/removed records mentioned in corresponding request To revert to previous strict behaviour please use supportShortSyncResponse config

BUG FIXES

  • #1970 - Infinite requests if wrong response received
  • #2214 - Exception when creating new task tree in PHP demo
  • #2217 - Task editor throws when constraint type field is disabled
  • #2263 - Dependency is not redrawn after changing dependency type
  • #2286 - Non persistable field modification should not add record to update request package if writeAllFields is true

4.0.7 - 2021-01-12

BUG FIXES

  • #1815 - Dependency lines missing after changing project start date on filtered task store
  • #2118 - Undo/redo popup titles are not localized
  • #2178 - ResourceAssignmentColumn#itemTpl config is broken

4.0.6 - 2020-12-29

FEATURES / ENHANCEMENTS

  • The picker for DependencyField now also displays a dependencies identifier, as defined by the dependencyIdField config (#2078)
  • Added support of imageUrl field to ResourceAssignmentColumn (#1914)
  • Tasks in the predecessor / successor tabs in the TaskEditor are now sorted by name
  • Tasks in the name column combo editor inside the predecessor / successor tabs in the TaskEditor are now sorted by name (#1790)

BUG FIXES

  • #1388 - Dependency creation tooltip styling broken in Safari
  • #1992 - Manually scheduled summary tasks should allow editing of their duration and end date
  • #1993 - Port task/dependency isEditable method from Ext Gantt
  • #2025 - Predecessor and Successor don't work as expected with locales
  • #2060 - Add sequenceNumber column to examples
  • #2095 - Task editor shows incorrect set of constraints for the parent task
  • #2136 - Changing task dependencies in cell editor leads to remove + add actions
  • #2171 - Resource assignment cell content is rendered incorrectly for the first task

4.0.5 - 2020-12-15

API CHANGES

  • [DEPRECATED] TaskModel#wbsIndex is deprecated in favor of TaskModel#wbsValue

BUG FIXES

  • #1314 - Fix for ASPNET demo build in Windows cmd environment
  • #1938 - Sorter should be reapplied after initial project calculation
  • #2050 - Duration filter is applied incorrectly
  • #2070 - wbsIndex field removed by mistake
  • #2079 - WBS filter doesn't work from the context menu
  • #2080 - WBS filter is not applied correctly
  • #2081 - TaskModel.setBaseline call with the index greater than 1 when task has no baselines fails
  • #2087 - CellEdit#addNewAtEnd not respected

4.0.4 - 2020-12-09

API CHANGES

  • TaskEdit feature now exposes an 'isEditing' boolean to detect if the editor is currently visible (#1935)

FEATURES / ENHANCEMENTS

  • Added config to specify allowed units (DurationField.allowedUnits) for the duration field (#1891)
  • A new config discardPortals on the React wrapper, that controls the behaviour of cell renderers using React components. Set to false (default) to enhance performance. Set to true to limit memory consumption
  • A new config dependencyIdField to set the Task field to use when creating / displaying a dependency between two tasks (#681)

BUG FIXES

  • #1229 - Dependency fields fromTask/toTask are not serialized
  • #1485 - Task Editor centered config doesn't have effect
  • #1812 - Make tables look better in docs
  • #1842 - Resource assignment column does not trigger beforeFinishCellEdit and finishCellEdit events
  • #1869 - Very low performance of React cell renderers
  • #1881 - Incorrect response to CrudManager sync leads to infinite request loop
  • #1885 - WBS column filter returns no results when you type visible WBS value
  • #1920 - Crash when setting constraint
  • #1931 - Gantt demos localization issues
  • #1934 - Crash when replacing gantt dataset while task editor is open
  • #1940 - TaskEditor´s beforeClose event is not triggered when clicking on Cancel button
  • #1946 - Multi sort UI is broken columns with sortable function
  • #1962 - Dependencies are not refreshed when replace resources
  • #2013 - Code editor styles broken in Custom Task menu demo
  • #2020 - Spin up does not honor instantUpdate setting
  • #2026 - Row reorder broken when header menu is disabled

4.0.3 - 2020-11-17

FEATURES / ENHANCEMENTS

  • A new Scheduler widget type undoredo has been added which, when added to the tbar of a scheduling widget (such as a Scheduler, Gantt, or Calendar), provides undo and redo functionality
  • gantt.umd.js and gantt.lite.umd.js bundles are now compiled with up-to-date @babel/preset-env webpack preset with no extra polyfilling. This change decreases size for the bundle by ~20% and offers performance enhancements for supported browsers
  • [DEPRECATED] gantt.lite.umd.js was deprecated in favor of gantt.umd.js and will be removed in version 5.0
  • The behaviour of our WBS column now more closely matches that of MS Project, keeping the initial values when sorting and filtering instead of always generating new (#1788)

BUG FIXES

  • #1681 - React applications are compiled with patched react-scripts presets. Check examples/react/_scripts/readme.md for more information
  • #1724 - Crash after drag drop with manually scheduled parent task
  • #1773 - Duration column filter issue
  • #1774 - Filter popup closes when field trigger is clicked
  • #1809 - Browser hangs on when certain data is loaded
  • #1838 - Resource assignment column sorting doesn't work
  • #1849 - Rollups and baselines combined are overlapping
  • #1866 - Negative Lag calculation is broken
  • #1867 - TaskEditor will not show if it ever hides without stopping editing

4.0.2 - 2020-11-04

BUG FIXES

  • #1745 - MS Project Export version 2013 compatibility
  • #1787 - After loading a Project without date range set on the Gantt chart, it should set Gantt start/end dates based on the project

4.0.1 - 2020-11-03

FEATURES / ENHANCEMENTS

  • Constraint type column now has a proper list based filter (#1772)
  • Resource assignment column is now filterable (#1767)

API CHANGES

  • [BREAKING] AssignmentField now has a picker which is an AssigmentGrid, where as previously the field's picker contained the grid. Please update any configuration code for the 'grid' of the picker to instead configure the picker directly. See the upgrade guide for more information

BUG FIXES

  • #1377 - Grouping and sorting is available in predecessors grid header context menu, but features don't work
  • #1669 - Assignment picker malfunctioning if groups are collapsed
  • #1706 - Toolbar should not be exported
  • #1708 - Changing rowHeight and barMargin breaks dependency rendering
  • #1712 - Skip non-exportable columns in export dialog window
  • #1723 - Exception when exporting gantt to multiple pages

4.0.0 - 2020-10-19

FEATURES / ENHANCEMENTS

  • [BREAKING] Dropped Support for Edge 18 and older. Our Edge <=18 fixes are still in place and active, but we will not be adding more fixes. Existing fixes will be removed in a later version
  • [BREAKING] The Core/adapter directory has been removed. There are no Widget adapters. All Widget classes register themselves with the Widget class, and the Widget class is the source of Widget type mapping and Widget registration and lookup by id
  • Gantt ships with a new version of the built-in calculation engine, which should greatly improve its performance in many scenarios - especially on larger datasets. A lighter version of the engine is also used in the new Scheduler Pro, allowing them to pair up easily. To highlight this, a new gantt-schedulerpro demo was added. It shows Gantt sharing a project with Scheduler Pro (#892)
  • Context menu features refactoring: naming was simplified by removing the word "Context" in feature names and in event names, introduced named objects for menu items, split context menu features by area of responsibility, made TaskMenu feature responsible for cell menu items. Please check out the upgrade guide for details (#128)
  • New resourcehistogram demo showing the Histogram widget paired with the Gantt chart
  • Added new exporter: MultiPageVertical. It fits content horizontally and then generates vertical pages to fit vertical content. (#1092)
  • Added new configuration toggleParentTasksOnClick. It disables the default behaviour of collapsing/expanding parent tasks when clicking their task bar. (#1240)
  • Added new exporter feature: mspExport. It generates a XML file locally that can be imported in Microsoft Project. A new msprojectexport demo was added. (#1250)
  • Gantt now extends Panel instead of Container. This allows you to easily add toolbars to it (#1417)
  • New custom-rendering demo showing how to add custom HTML markup to the task bar content element
  • Added gantt.lite.umd.js module that does not include Promise polyfill. This module is primarily intended to be used with Angular to prevent zone.js polyfills overwrite
  • Added a property to get critical paths information from the project. See the Gantt ProjectModel.criticalPaths for details
  • Added a new way of cycles handling that basically ignores them. That mode is used by default for data loading stage So instead of throwing exceptions when loading the data, cycles will be reported in the browser console (fixed #1640)
  • Assigning a calendar to a task/resource/project model (via setCalendar call or using calendar property) will automatically cause adding of the calendar to the calendar manager store
  • Calendars guide has been updated: added more examples and details on calendars effect on the scheduling process
  • Added experimental support for Salesforce Locking Service (#359). The distributed bundle only supports modern browsers (no IE11 or non-chromium based Edge), since Salesforce drops support for these in January 1st 2021 too
  • Added Lightning Web Component demo, see examples/salesforce/src/lwc

API CHANGES

  • [BREAKING] TaskModel.calendar property behavior has been changed. Now it returns the task own calendar only (so it could be null if the task has no own calendar specified). To get the effective calendar used by the task please use TaskModel.effectiveCalendar which refers to the actual calendar used by the task (either the tasks own calendar if provided or the project calendar)
  • [BREAKING] The Default, Light and Dark themes were renamed to Classic, Classic-Light and Classic-Dark This change highlights the fact that they are variations of the same theme, and that it is not the default theme (Stockholm is our default theme since version 2.0)
  • [DEPRECATED] TaskContextMenu feature was renamed to TaskMenu
  • [DEPRECATED] TaskEditor#durationDecimalPrecision config was renamed to durationDisplayPrecision. Its value is now always provided from the Gantt instance upon creation
  • Cell context menu items are handled by TaskMenu feature now, because grid row and all cells in it represent a task record (Partial fix #128)
  • Localization GanttCommon.dependencyTypes moved to DependencyType.short
  • Cycle exceptions format has been changed. Now it consists of two parts The first part is less detailed and more user friendly. It just enumerates tasks that build the cycle And second part shows full list of involved identifiers for those who need detailed info
  • Task menu for the TimeAxis schedule area is shown by default now. For details, see the enableCellContextMenu of Gantt.column.TimeAxisColumn
  • Gantt CrudManager class has beed removed in favor of ProjectModel using which also implements Crud Manager API
  • Propagation caused by data loading has been changed and now supports two alternative ways (fixed #1346) The changes happened due to the propagation are applied either:
  1. silently: no store change/update events are triggered, records aren't modified after the propagation. This mode is used by default
  2. not silently: store change/update events are triggered, records are modified after the propagation. Which in turn might cause data persisting if project autoSync is enabled Please check Project silenceInitialCommit config for details
  • Gantt's "main" stores (EventStore, ResourceStore, AssignmentStore and DependencyStore) has had their event triggering modified to make sure data is in a calculated state when relevant events are triggered. This affects the timing of the add, remove, removeAll, change and refresh events. Please see the upgrade guide for more information (#1486)

  • Model fields in derived classes are now merged with corresponding model fields (by name) in super classes. This allows serialization and other attributes to be inherited when a derived class only wants to change the defaultValue or other attribute of the field

  • The dateFormat config for type='date' model fields has been simplified to format

  • Model date fields are serialized by default according to the field format

  • Field serialize function this has been changed to refer the field definition (it used to refer the model instance before)

  • The following previously deprecated members/classes was removed:

  • TaskEditorTab

  • CalendarField*

  • ConstraintTypePicker*

  • DependencyTypePicker*

  • EffortField*

  • ModelCombo*

  • SchedulingModePicker*

  • EventLoader*

  • ReadyStatePropagator*

  • AdvancedTab*

  • DependencyTab*

  • FormTab*

  • GeneralTab*

  • NotesTab*

  • PredecessorsTab*

  • ResourcesTab*

  • SuccessorsTab*

    * - removed from Gantt sources but still available from SchedulerPro

BUG FIXES

  • #267 - Preserve endDate for "Manually scheduled" summary task
  • #534 - Dependency line jumps while scrolling vertically
  • #812 - Adding incorrect predecessor throws exception
  • #853 - Add-> Predecessor from context menu stuck in disabled mode
  • #856 - Sync triggered (fromSide and toSide removed) after opening and saving unmodified dependency
  • #958 - Column sorting causes record modifications
  • #1001 - Typings missing for Gantt
  • #1043 - Critical paths lines stay highlighted after move or resize the task to non critical
  • #1046 - Critical milestone gets extra background applied
  • #1049 - Unintended baseline transitions on drop
  • #1074 - Duplicated task when reordering while a filter exists
  • #1090 - Milestone task label overlaps dependency arrow
  • #1208 - Should show indicators when are outside of timeline but in date interval
  • #1218 - ComboBox list should be anchored to top/bottom sides only
  • #1249 - Columns lines are not exported correctly
  • #1252 - Adding predecessor removes dependency line to the successor
  • #1255 - Zooming performance tuning
  • #1270 - Adding a new task registered as 2 transactions when computer is slow
  • #1288 - Gantt taskRender event does not pass task element
  • #1294 - Dependencies line are not redrawn on sorting
  • #1331 - Constraint removal is not revertable in task editor
  • #1340 - TaskStore doesn't extend AjaxStore
  • #1347 - Translation missing in bigdataset demo
  • #1348 - Dependencies not rendered after changing to 10k tasks in bigdataset demo
  • #1383 - Scale column in resource histogram should not be editable
  • #1387 - Focus outline broken for parent tasks
  • #1390 - Parent task not rendered in rollups demo
  • #1433 - Critical paths lines stay partially gray when has more than 1 dependency
  • #1467 - MSProject export demo issue
  • #1470 - Replacing dataset is very slow
  • #1475 - Deprecate tabsConfig and extraItems properly
  • #1540 - Unquoted column.id in selectors
  • #1543 - Paths disappearing on scroll
  • #1548 - [ANGULAR] Investigate zone.js loading order and set it to Angular default
  • #1559 - Show task menu for empty part of timeaxis
  • #1633 - Re-applying JSON to DependencyStore removes newly created dependency
  • #1643 - Propagating text not translated in big dataset demo
  • #1644 - Fixed NumberField enforcement of min/max values to allow typing beyond those ranges
  • #1646 - Error on project.setCalendar method call
  • #1652 - Document STM on ProjectModel
  • #1657 - Setting tasks on Vue wrapper reinitialises STM

2.1.9 - 2020-08-26

FEATURES/ENHANCEMENTS

  • No Gantt specific changes, but Grid and Scheduler changes are included

2.1.8 - 2020-08-11

BUG FIXES

  • #1214 - Gantt error on applyState
  • #1244 - Initial export options are shown incorrectly in the export dialog
  • #1284 - Exception when trying to open context menu on row border

2.1.7 - 2020-07-24

BUG FIXES

  • #910 - Crash when exporting to PDF if schedule area has no width
  • #933 - Exported PDF corrupt after adding task
  • #953 - Load mask appearing on top of export progress
  • #969 - Multi page export of more than 100 tasks fails
  • #970 - Export feature yields corrupted PDF when chart is scrolled down
  • #972 - Export feature does not export dependencies unless visible first
  • #973 - Export feature does not respect left grid section width
  • #988 - Deleted tasks appear after reapplying filters
  • #1172 - Wrapper should not relay store events to the instance
  • #1180 - Exported grid should end with the last row

2.1.6 - 2020-07-10

FEATURES/ENHANCEMENTS

  • Added Docker image of the PDF Export Server. See server README for details. (#905)

API CHANGES

  • [DEPRECATED] To avoid risk of confusing the Gantt instance with the calculation engine, ganttEngine has been deprecated in favor of ganttInstance for all framework wrappers (Angular, React, Vue). #776

BUG FIXES

  • #858 - Sync tries to remove assignment added on a previous cancelled task edit
  • #968 - Task editing is broken after saving new resource
  • #984 - Indenting a lot of tasks causes incorrect indentation
  • #1056 - enableCellContextMenu: false doesn't disable context menu in Gantt
  • #1131 - Task editing is broken after canceling new resource
  • #1139 - Duration column error Tooltip not show up when finalizeCellEditor returns false

2.1.5 - 2020-06-09

FEATURES/ENHANCEMENTS

  • Updated Font Awesome Free to v5.13.0

BUG FIXES

  • #801 - Document wrapperCls param in taskRenderer
  • #815 - Gantt %-done bar should be semi-transparent
  • #827 - nonWorkingTime feature stops working with large resources
  • #838 - Unexpected lag between tasks with dependencies and assignment
  • #852 - Project lines appear even if feature is disabled
  • #859 - Crash when dragging task and mouse moves over timeline element
  • #860 - Crash if dragging task with dependency to a filtered out task
  • #862 - Crash if opening Gantt demo in Iran timezone

2.1.4 - 2020-05-19

BUG FIXES

  • #772 - undefined query parameter in CrudManager URLs
  • #783 - Crash if schedule grid is collapsed with progressline enabled

2.1.3 - 2020-05-14

BUG FIXES

  • #257 - Task not rendered correctly after drag drop
  • #268 - Wrong sync request on dependency creation
  • #527 - Gantt sends wrong server request when adding a resource
  • #553 - Loadmask not hidden after load fails
  • #558 - Crash when mouseout happens on a task terminal of a task being removed
  • #559 - Crash if zooming with schedule collapsed
  • #566 - Constraint type: "MUST START ON" not working
  • #577 - Moving task that is partially outside the view fails with an exception
  • #580 - Child calendars does not include intervals from parent
  • #649 - autoSync not triggered when deleting task in TaskEditor
  • #671 - Gantt localization of New task/milestone is broken
  • #675 - Task context menu localization is broken
  • #733 - Changing start date of manual task does not move successors
  • #740 - Should be possible to pass task instance to from/to fields when create a new dependency
  • #744 - Drag drop / resize using touch shows empty tooltip
  • #748 - Effort is updated for effort driven task

2.1.2 - 2020-04-17

FEATURES / ENHANCEMENTS

  • The gantt.module.js bundle is now lightly transpiled to ECMAScript 2015 using Babel to work with more browsers out of the box
  • The PDF Export feature scrolls through the dataset in a more efficient manner (#578)

BUG FIXES

  • #123 - Successors and predecessors stores in TaskEditor should not be filtered when task nodes are collapsed
  • #367 - No 'change' event fired after indent operation
  • #464 - Dependencies are not refreshed after filtering with schedule region collapsed
  • #490 - Project can't be loaded with console error Cannot read property 'startDate' of undefined
  • #495 - Ctrl/Cmd Drag a task fails with exception
  • #506 - Adding a milestone for a task fails if the task is ahead the project start date
  • #508 - Wrong rollup rendering on changing zoom level
  • #543 - Having TaskEdit feature disabled breaks TaskContextMenu
  • #544 - Task indicators shown even if they are not part of the time axis

2.1.1 - 2020-03-27

FEATURES / ENHANCEMENTS

  • Added new demo showing integration with .NET backend and .NET Core backend (#300)
  • New .NET integration guide added to the docs

API CHANGES

  • GanttDateColumn no longer shows its step triggers by default. Enable the triggers by setting the step value available on the DateColumn class

BUG FIXES

  • #399 - Task incorrectly rendered after duration change
  • #409 - Crash when clicking next time arrow in event editor if end date is cleared
  • #418 - Resource assignment column not refreshed after resource update
  • #424 - New resource record throws exception when serializing if propagate wasn't called
  • #426 - Gantt throws when trying to load invalid empty calendar id
  • #429 - Crash if project is loaded with task editor open
  • #430 - Gantt selection not updated after project reload
  • #436 - Crash when exporting to PDF in Angular demo
  • #438 - Rollups are not rendered for collapsed parent node
  • #442 - Default resource images not loaded
  • #444 - Phantom parent id is not included to changeset package and children are
  • #445 - React: Scheduler crashes when features object passed as prop
  • #446 - TaskEditor does not detach from project on consecutive edits
  • #447 - Should round percentDone value for tasks in task editor
  • #449 - Issues when using filter field in assignment editor
  • #450 - Date column too narrow to fit its cell editor
  • #451 - collapseAll does not update selection
  • #457 - Docker container with gantt ASP.NET Core demo cannot connect to MySQL container
  • #458 - Crash when clicking leaf row in undo grid
  • #463 - Filter not applied when deleting character

2.1.0 - 2020-03-11

FEATURES / ENHANCEMENTS

  • Indicators for constraint date, early and late dates and more can be added per task row using the new Indicators feature. See the new indicators demo
  • Deadline support was added in form of a field on TaskModel and a DeadlineDateColumn to display and edit it Compatible with the new Indicators feature (#235)
  • Resource Assignment column can now show avatars for resources. See new showAvatars config used in the updated advanced demo (#381)
  • AssignmentGrid's selection model can now be customised like any regular Grid (#370)
  • Font Awesome 5 Pro was replaced with Font Awesome 5 Free as the default icon font (MIT / SIL OFL license)

API CHANGES

  • [DEPRECATED] The tplData param to taskRenderer was renamed to renderData to better reflect its purpose. The old name has been deprecated and will be removed in version 4

BUG FIXES

  • #255 - Tasks disappear after adding tasks with schedule region collapsed
  • #330 - Id collision happens when you add or move records after filters are cleared
  • #338 - Crash when mouse over splitter during dependency creation
  • #352 - Crash when clicking Units cell of newly added assignment row in task editor
  • #353 - Crash upon load if using Iran Standard Time zone
  • #366 - writeAllFields is not honored in ProjectModel
  • #391 - Crash when clicking outside assignment editor with cell editing active

2.0.4 - 2020-02-24

API CHANGES

  • [DEPRECATED] PercentDoneCircleColumn, use PercentDoneColumn instead with showCircle config enabled

BUG FIXES

  • #159 - Context menu differs in schedule vs grid
  • #215 - PDF export feature doesn't work on zoomed page
  • #286 - Parent node expanded after reorder
  • #296 - Missing title for "New column" in Gantt demos
  • #297 - Note column not updated after set to empty value
  • #317 - Outdent should maintain task parent index
  • #326 - "Graph cycle detected" exception when reordering node
  • #331 - Crash when trying to scroll a task into view if gantt panel is collapsed

2.0.3 - 2020-02-13

FEATURES / ENHANCEMENTS

  • ProgressBar feature now has an allowResize config to enable or disable resizing (#242)
  • Added a new Rollup column allowing control of which tasks should roll up. Added a new Rollup field to the Advanced tab (#259)

BUG FIXES

  • #040 - Focusing a task partially outside of timeaxis extends timeaxis
  • #067 - Wrong typedef of ProjectModel in gantt.umd.d.ts
  • #139 - Dependencies not painted after converting task to milestone
  • #154 - Cannot type into duration field of new task
  • #244 - Dependency drawn after being deleted
  • #256 - Progress line not redrawn after an invalid drop
  • #262 - Resizing to small width which doesn't update data gets UI out of sync
  • #240 - Crash when editing assignment twice
  • #272 - TaskEdit allows to assign same resource to a Task multiple times
  • #274 - Crash after adding subtask
  • #283 - Gantt Baselines example tooltips not localized

2.0.2 - 2020-01-30

FEATURES / ENHANCEMENTS

  • PDF export server was refactored. Removed websocket support until it is implemented on a client side Added logging. Added configuration file (see app.config.js) which can be overriden by CLI options Multipage export performance was increased substantially (see max-workers config in server readme) (#112)

BUG FIXES

  • #95 - Task end date moves to the previous day when business calendar is used
  • #155 - Task editor displaced upon show
  • #237 - Project lines not shown after project load

2.0.1 - 2020-01-17

FEATURES / ENHANCEMENTS

  • Added new Angular examples: Rollups and Time ranges
  • PDF Export feature uses first task's name or Gantt as the default file name (#117)

BUG FIXES

  • #53 - Cell editing is broken when a column uses a field that is missing in the model
  • #94 - Non-symmetric left/right margin for labels
  • #103 - Wrong date format in timeline labels
  • #115 - Project Start field highlighted as invalid while page is loading
  • #118 - Constraint / Start date columns should not include hour info by default
  • #126 - Scheduling engine docs missing
  • #132 - Not possible to open task editor for new task while it's open
  • #134 - 'b-' CSS class seen in task editor element
  • #140 - Crash if calling scrollTaskIntoView on an unscheduled task
  • #142 - Crash when adding a task below an unscheduled task
  • #149 - Timeline widget only shows tasks in expanded parent nodes
  • #160 - Task label not vertically centered
  • #161 - Drag creating dates on an unscheduled task does not set duration
  • #162 - Gantt is not restored properly after export
  • #165 - Name field turns red/invalid upon save
  • #166 - Cannot save unscheduled task with ENTER key
  • #172 - Should not be possible to create dependency between already linked tasks

2.0.0 - 2019-12-19

FEATURES / ENHANCEMENTS

  • Gantt has a new rendering pipeline, built upon a method of syncing changes to DOM developed for the vertical mode in Scheduler. This change allows us to remove about 1000 lines of code in this release, making maintenance and future development easier
  • Added support for exporting the Gantt chart to PDF and PNG. It is showcased in several examples, pdf-export for Angular, React and Vue frameworks, as well as in examples/export. The feature requires a special export server, which you can find in the examples/_shared/server folder. You will find more instructions in the README.md file in each new demo. (#6268)

API CHANGES

  • [BREAKING] (for those who build from sources): "Common" package was renamed to "Core", so all our basic classes should be imported from lib/Core/
  • [BREAKING] Gantt nonWorkingTime feature class replaced with SchedulerPro/feature/ProNonWorkingTime which uses project's calendar to obtain non-working time
  • Gantt nonWorkingTime feature is now enabled by default

1.2.2 - 2019-11-21

BUG FIXES

  • #13 - Dragging progress bar handle causes task move

1.2.1 - 2019-11-15

BUG FIXES

  • exporttoexcel demo broken with bundles

1.2.0 - 2019-11-06

FEATURES / ENHANCEMENTS

  • Added support for rollups feature (#4774)
  • Added a thinner version of Gantt called GanttBase. It is a Gantt without default features, allowing smaller custom builds using for example WebPack. See the new custom-build demo for a possible setup (#7883)
  • Experimental: The React wrapper has been updated to support using React components (JSX) in cell renderers and as cell editors. Please check out the updated React demos to see how it works (#7334, #9043)
  • Added Export to Excel demo (#9133)
  • Added a new 'Aggregated column demo' that shows how to add a custom column summing values (#9211)
  • Support for disabling features at runtime has been improved, all features except Tree can now be disabled at any time
  • Widgets may now adopt a preexisting DOM node to use as their encapsulating element. This reduces DOM footprint when widgets are being placed inside existing applications, or when used inside UI frameworks which provide a DOM node. See the adopt config option (#9414)
  • The task context menu has been augmented to add indent and outdent. (#4779)

BUG FIXES

  • #8976 - Prevent task editor from closing if there is an invalid field
  • #9146 - "No rows to display" shown while loading data
  • #9161 - Locked grid scroll is reset upon task bar click
  • #9243 - Date columns change format after zooming
  • #9253 - Recreating Gantt when a tab in taskeditor is disabled leads to exception
  • #9416 - Adding a resource in the TaskEditor, then clicking Save throws an error
  • #9304 - Tasks duplicated on drag
  • #9240 - Duration misrendered when editing
  • #9242 - Sync is called on TaskEdit dialog cancel when autosync is true

1.1.5 - 2019-09-09

FEATURES / ENHANCEMENTS

  • Added a new showCircle config to PercentDoneColumn that renders a circular progress bar of the percentDone field value (#9162)

BUG FIXES

  • #8548 - DOCS: propagate missing in Project docs
  • #8763 - Crash after editing predecessors
  • #8967 - PHP demo: error when removing tasks with children
  • #9092 - TaskStore id collision
  • #9148 - Crash after resizing task progress bar in Timeline demo
  • #9163 - STYLING: Milestone displaced

1.1.4 - 2019-08-28

FEATURES / ENHANCEMENTS

  • Added Tooltips demo that shows how to customize the task tooltip (#9109)

API CHANGES

  • The TaskEdit#getEditor() function was made public, can be used to retrieve the TaskEditor instance

BUG FIXES

  • #8560 - Adding task below last task creates empty row
  • #8618 - STYLING: Dark theme nonworking time headers look bad
  • #8619 - STYLING: Dark theme check column unchecked checkboxes are invisible
  • #8690 - STYLING: Selected task innerEl rendition needs to be more of a contrast so that the current, possibly multiple selection can be seen at a glance
  • #8844 - PHP demo: dragging and tooltip are broken after a newly created task is saved
  • #9008 - Progress bar resizable in readOnly mode
  • #9073 - vue drag-from-grid demo cannot be built with yarn
  • #9084 - Task row disappears on Drag'n'Drop
  • #9087 - Resource Avatar images reloaded upon every change to Task model
  • #9093 - Phantom dependencies are rendered after clearing task store
  • #9097 - STYLING: Toolbar fields misaligned in advanced demo
  • #9108 - 'beforeTaskEdit' only fired once if listener returns false

1.1.3 - 2019-08-19

FEATURES / ENHANCEMENTS

  • Added React Basic Gantt demo with TypeScript (#8977)
  • Added support for importing MS Project MPP files (see 'msprojectimport' demo). Requires JAVA and PHP on the backend See README in the example dir for details (#8987)

BUG FIXES

  • Fixes #8336 - Switching locale in advanced demo takes ~2 seconds
  • #8653 - Unexpected task scheduling after undo operation
  • #8712 - PHP demo: after creating a new task and saving it, when try to interact with the task demo fails with exceptions
  • #8715 - PHP demo: after creating a new task and saving it selection is broken
  • #8716 - Dependency line for a deleted dependency is redrawn after it's "to" side is appended to its "from" side
  • #8884 - Critical paths demo is broken online
  • #8885 - tabsConfig is not taken into account by TaskEditor
  • #8966 - PHP demo: task sort order is not stored
  • #8988 - React demo in trial distribution refers to scheduler folder which may not exist
  • #8995 - Progress bar in some tasks cannot be resized after some point
  • #9006 - Pan feature doesn't work in Gantt
  • #9027 - ColumnLines feature doesn't work in Gantt

1.1.2 - 2019-07-05

BUG FIXES

  • #8804 - Error / warnings in console of web components demo
  • #8805 - Animations not working
  • #8811 - Crash when using context menu in web components demo
  • #8839 - Save/Delete/Cancel button order in TaskEditor should match order in EventEditor

1.1.1 - 2019-06-27

FEATURES / ENHANCEMENTS

  • Added Integration Guide for Vue, Angular and React (#8686)
  • Added new config option tabsConfig for taskEdit feature (#8765)

BUG FIXES

  • #8754 - Sluggish drag drop experience in advanced demo
  • #8778 - Baselines disappear if scrolling down and back up
  • #8785 - Passing listeners to editor widget in TaskEditor removes internal listeners

1.1.0 - 2019-06-20

FEATURES / ENHANCEMENTS

  • There is now a Baselines feature which shows baselines for tasks. A task's data block may now contain a baselines property which is an array containing baseline data blocks which must contain at least startDate and endDate. See the new example for details. (#6286)
  • New CriticalPaths feature which visualizes the project critical paths. Check how it works in the new criticalpaths demo. (#6269)
  • New ProgressLine feature - a vertical graph that provides the highest level view of schedule progress. Check how it works in the new progressline demo. (#8643)
  • New EarlyStartDate, EarlyEndDate, LateStartDate, LateEndDate and TotalSlack columns. Check how they works in the new criticalpaths demo. (#6285)

BUG FIXES

  • #8539 - Some task editor fields turns red moments before editor is closed after clicking save
  • #8602 - TaskEditor should invalidate an end date < start date
  • #8603 - STYLING: Milestones lack hover color
  • #8604 - Clicking task element does not select the row
  • #8632 - Task end date/duration is not properly editing after cancel
  • #8665 - Task interaction events are not documented
  • #8707 - Resizing column expands collapsed section

1.0.2 - 2019-06-03

FEATURES / ENHANCEMENTS

  • New integration demo with Ext JS Modern toolkit (#8447)
  • New webcomponents demo (#8495)
  • TaskEdit feature now fires an event before show to prevent editing or to show a custom editor (#8510)
  • TaskEdit feature now optionally shows a delete button
  • Gantt repaints dependencies asynchronously when dependency or task is changed. Use dependenciesDrawn event to know when dependency lines are actually painted. draw, drawDependency and drawForEvent are still synchronous

API CHANGES

  • [DEPRECATED] TaskEditor's extraWidgets config was deprecated and will be removed in a future version. Please use extraItems instead

BUG FIXES

  • #7925 - Dependency line should only be drawn once on dependency change
  • #8517 - Angular demo tasks animate into view
  • #8518 - React + Vue demos broken rendering
  • #8520 - Labels demo timeaxis incorrectly configured
  • #8529 - Pan feature reacts when dragging task bar
  • #8516 - Customizing resourceassignment picker demo issues
  • #8532 - Adding task above/below of a milestone creates a task with wrong dates
  • #8533 - Cannot destroy ButtonGroup
  • #8556 - Add Task button throws in extjs modern demo
  • #8586 - Add new column header not localized properly

1.0.1 - 2019-05-24

FEATURES / ENHANCEMENTS

  • Delimiter used in Successors and Predecessors columns is now configurable, defaulting to ; (#8292)

  • New timeranges demo showing how to add custom date indicator lines as well as date ranges to the Gantt chart (#8320)

  • Demos now have a built-in code editor that allows you to play around with their code (Chrome only) and CSS (#7210)

  • [BREAKING] Context menu Features are configured in a slightly different way in this version. If you have used the extraItems or processItems options to change the contents of the shown menu, this code must be updated. Instead of using extraItems, use items

    The items config is an Object rather than an array. The property values are your new submenu configs, and the property name is the menu item name. In this way, you may add new items easily, but also, you may override the configuration of the default menu items that we provide

    The default menu items now all have documented names (see the defaultItems config of the Feature), so you may apply config objects which override default config. To remove a provided default completely, specify the config value as false

    This means that the various showXxxxxxxInContextMenu configs in the Gantt are now ineffective. Simply use for example, items : { addTaskAbove : false } to remove a provided item by name

    processItems now recieves its items parameter as an Object, so finding predefined named menu items to mutate is easier. Adding your own entails adding a new named config object. Use the weight config to affect the menu item order. Provided items are weight : 0. Weight values may be negative to cause your new items (#8287)

BUG FIXES

  • #7561 - Should be able to use Grid & Scheduler & Gantt bundles on the same page
  • #8075 - TimeRanges store not populated if incoming CrudManager dataset contains data
  • #8210 - Terminals not visible when hovering task after creating dependency
  • #8261 - ProjectLines not painted after propagation complete
  • #8264 - Reordering a task into a parent task doesn't recalculate the parent
  • #8275 - Framework integrations missing value in start date field
  • #8276 - Crash if invoking task editor for unscheduled task
  • #8279 - Gantt PHP demo requestPromise.abort is not a function in AjaxTransport.js
  • #8293 - Gantt advanced demo. Graph cycle detected
  • #8295 - Gantt umd bundle doesn't work in angular
  • #8296 - Typings for gantt.umd bundles are incomplete
  • #8325 - Some translations are missing (NL)
  • #8334 - Clicking on a blank space selects a task and scrolls it into view
  • #8341 - Task elements are missing after adding new tasks
  • #8342 - Collapsing all records fails in advanced demo
  • #8357 - TaskEditor needs to provide a simple way of adding extra fields to each tab
  • #8381 - loadMask not shown if Project is using autoLoad true
  • #8384 - Crash in React demo when clicking Edit button
  • #8390 - Undoing project start date change doesn't update project start line
  • #8391 - Progress bar element overflows task bar on hover if task is narrow
  • #8394 - CrudManager reacts incorrectly and tries to save empty changeset
  • #8397 - Inserting two tasks at once breaks normal view
  • #8404 - addTaskBelow fails on 2nd call
  • #8457 - Rendering broken after adding subtask to parent
  • #8462 - Error throw in undoredo example when second transaction is canceled
  • #8475 - STYLING: Misalignment of resource assignment filter field
  • #8494 - Exception thrown when adding task via context menu
  • #8496 - Crash in Gantt docs when viewing ResourceTimeRanges

1.0.0 - 2019-04-26

  • Today we are super excited to share with you the 1.0 GA of our new Bryntum Gantt product. It is a powerful and high performance Gantt chart component for any web application. It is built from the ground up with pure JavaScript and TypeScript, and integrates easily with React, Angular, Vue or any other JS framework you are already using
  • For a full introduction, please see our blog post for more details about this release. In our docs page you will find extensive API documentation including a getting started guide
  • Blog post: https://bryntum.com/blog/announcing-bryntum-gantt-1-0