Scheduler Pro – Change Log

Version 5.3.6

2023-05-26

FEATURES / ENHANCEMENTS

  • Event segments can now have eventColor HEX values, e.g. #000000 (#6531)

BUG FIXES

  • #6740REACT Set same events data with segments shows different result
  • #6747 – Exception when filtering the segmented event
  • #6762WidgetHelper.showContextMenu does not display the context menu when using Number

Version 5.3.5

2023-05-11

API CHANGES

  • The internal feature mixin ProTaskEditStm has been moved to Scheduler codebase and renamed to TaskEditStm. It is available now as TaskEditStm entry in Scheduler bundle

BUG FIXES

  • #6610 – Scheduler Pro crashes when trying to undo after copy/paste multievent selection (CTRL + Click)
  • #6684 – Cannot read properties of null (reading 'activeTransaction')
  • #6691 – Events render to early when timeZone is set on a Scheduler Pro
  • #6699 – Should record only 1 STM transaction for drag-create and following task edit user actions
  • #6701IONIC Scrollbar width could not be determined under Ionic framework
  • #6713 – Time spans highlights re-appear after calling unhighlightTimeSpans()
  • #6749 – Event editor body cropped and not scrollable

Version 5.3.4

2023-04-28

FEATURES / ENHANCEMENTS

  • New config option on the SchedulerPro's ProjectModel: skipNonWorkingTimeInDurationWhenSchedulingManually. Please refer to the documentation for details

BUG FIXES

  • #6582 – Event's endDate jumps when start editing manually scheduled event
  • #6644 – Edit Task option missing in EventMenu
  • #6652 – Minified UMD bundle does not export bryntum namespace

Version 5.3.3

2023-04-21

FEATURES / ENHANCEMENTS

  • TypeScript Type definition files were added for schedulerpro.node.cjs and schedulerpro.node.mjs bundles (#6523)
  • ResourceNonWorkingTime now offers a enableMouseEvents config to enable showing tooltips for its rendered elements. See updated resource-non-working-time demo (#6545)
  • ResourceNonWorkingTime now supports showing the name interval field in the rendered element (#6493)
  • ANGULAR Bryntum Scheduler Pro now ships with two npm Angular wrapper packages to support different versions of Angular framework. Existing @bryntum/schedulerpro-angular package is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New @bryntum/schedulerpro-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/schedulerpro-angular-view package with Angular 11. Demo is located in examples/frameworks/angular/angular-11 folder

BUG FIXES

  • #1372 – Pro Constraints demo doesn't update constraint icon
  • #2695 – Resource Histogram is not updated when primary partner is zoomed or gets shifted
  • #5059 – Histogram not updating when doing shiftPrevious()
  • #6439 – Timeline jumps to wrong dates when change direction to RTL at runtime with infiniteScroll enabled
  • #6521 – Task Editor disappears when entering invalid time
  • #6527ANGULAR Resource Utilization – custom tick context is not updated when shift timeline
  • #6539eventRecord member missing in EventTooltip feature
  • #6542 – Wrong text color when hovering event
  • #6562 – Broken drag-select + drag & drop of parent events
  • #6576 – Timelines appear when filter non-working time with custom viewPreset

Version 5.3.2

2023-04-04

FEATURES / ENHANCEMENTS

  • REACT Added new React 18 demo "Highlighting time spans". Demo is located in examples/frameworks/react/highlight-time-spans folder (#6277)
  • The custom event layout function eventLayout.layoutFn is now passed the resource record being laid out as the second parameter. (#6504)

BUG FIXES

  • #3765 – Returning false from beforeUpdate does not revert event D&D
  • #3789 – UndoRedo widget doesn't catch the project if configured standalone in Angular
  • #6037 – Inconsistent event menu actions when multiple events are selected
  • #6064 – Incorrect rendering of a timeaxis when forceFit enabled
  • #6105 – Inconsistent event menu copy/cut/paste actions when multiple events are selected
  • #6297 – Not possible to drag event that dropped from grid when nestedEvents enabled
  • #6369 – Issues with timezones on scheduler
  • #6376 – Resource calendar not shown when using nested events
  • #6390 – Type for CalendarModel's intervals too strict
  • #6394project.changes still available after project.revertChanges()
  • #6425NestedEvents not working in vertical mode
  • #6430taskEditCanceled event is not triggering
  • #6444 – Error on load function after dragging
  • #6484 – Invisible cells repainted with wrong data
  • #6510 – Event segment eventColor not applied

Version 5.3.1

2023-03-17

API CHANGES

  • ProjectModel convenience getter methods (events, 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

  • #5084 – React orders demo not working properly
  • #6025 – Uncaught error in populateEventMenu when dropping an event on the first resource
  • #6041getDateConstraints() bounds works not correct with not rounded time in start/end dates
  • #6129 – Dependencies not refreshed after dropping event on non-working time
  • #6274 – SENCHA + Scheduler Pro + Chrome : Strange behaviour after zoom
  • #6279 – Add a new tree node with empty children throws an exception
  • #6320effortDriven + fixed duration not working when setting it in the data level initially
  • #6326GroupSummary data not updating on event deletion
  • #6351 – Components do not render into containers not already in DOM

Version 5.3.0

2023-03-02

FEATURES / ENHANCEMENTS

  • CSS changes in Scheduler has cut the size of Scheduler Pro's standalone CSS-bundles roughly in half. See Schedulers upgrade guide for more information
  • Added basic support for recurring events, see "What's new" for more information. And be sure to try it out in the new recurrence demo (#792)
  • 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)
  • Added Versions feature, enabling capturing snapshots of projects together with a detailed changelog
  • Localization demos updated to show up-to-date localization approach
  • Event model has got new schedulingMode, effort and effortDriven fields. The fields add support for a new scheduling mode in which user provided effort gets distributed across the event duration. Please check the new effort demo to see how it works
  • AjaxHelper.fetch now supports using request body to pass parameters for non-GET requests. Please check addQueryParamsToBody argument in the method documentation (#2855)
  • 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)
  • Added new "Nested events configuration options" Angular demo. Demo is located in examples/frameworks/angular/nested-events-configuration folder (#5188)
  • While resizing the PercentBar, the owning component now trigger percentBarDragStart, percentBarDrag and percentBarDrop events. The task record is also updated in realtime triggering continuous UI updates for a nicer UX (#6146)

API CHANGES

  • DEPRECATED LocaleManager.registerLocale and LocaleManager.extendLocale are deprecated. LocaleHelper.publishLocale should be used instead.
  • When configuring a SchedulerPro 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
  • The default value for ResourceHistogram's effortFormat was changed from 0 to 0.#, to round values to one decimal place. Previously it was not rounding at all

LOCALE UPDATES

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

BUG FIXES

  • #5889 – Events are not rendered according to the timezone when scheduler has a timezone
  • #5981 – Scrolling close to edges hides highlightEventCalendars
  • #6018 – Wrong position of highlighted region when taskRecord is set
  • #6020 – Highlighted task timespan height not adjusting with the height of the rows
  • #6156eventRecord.set only works first time for preamble/postamble
  • #6260 – Milestone is rendered incorrectly
  • #6271 – Timeline enables eventEdit feature if any features config provided

Version 5.2.10

2023-02-17

FEATURES / ENHANCEMENTS

  • Added a trackProjectModelChanges config to the ProjectModel to optionally track own changes of the ProjectModel (#5355)

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

  • #6112 – Exception is thrown after rejecting a conflicting change
  • #6114scrollEventIntoView doesn't handle nested events
  • #6133 – Crash when dragging events between two schedulers
  • #6142 – DST Adjustment issue adding 1h on events
  • #6147 – Undo/redo adding a calendar crashes

Version 5.2.9

2023-01-30

FEATURES / ENHANCEMENTS

  • The TaskEditor's Advanced tab's combos has been made wider which required some additional styling and some fields have been rearranged as well. If your app is customizing the Advanced tab, you should check that your customization still gives same result with the new default layout (#5966)

BUG FIXES

  • #5925 – Adding workingTime cause the event tooltip to start from the eventBuffer start date
  • #5979 – Summary on vertical mode "disappears" on double click
  • #6017 – Scheduler Pro not assigning resourceId to new events
  • #6019TypeScript Feature classes and configs have on event handlers exposed on owner class
  • #6038 – Event drag copy throws with mapped fields
  • #6069 – Params lost if defined in class config

Version 5.2.8

2023-01-19

BUG FIXES

  • #5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
  • #5788 – Automatic dependency setting not working after resetting events array
  • #5814StateProvider throws during component construction
  • #5904 – TypeError in Scheduler Pro on Drag/Drop event
  • #5917 – When load data with schedulerPro.project.loadCrudManagerData Scheduler Pro crashes
  • #5923applyProjectChanges does not account for mapped id field
  • #5931 – Deprecated API use. Handle size is from CSS
  • #5935 – Scheduler drag to create on a linked record does not work
  • #5950 – Crash when resizing event being created
  • #5953 – Event record disappears after changing to zero duration

Version 5.2.7

2023-01-11

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

  • #4862 – Scheduler Pro percent bar in vertical mode wrong UI
  • #5474 – Wrong endDate when dragging events over days at which DST/STD change
  • #5849 – Store exception event triggered when create a new event with backend used
  • #5882 – Rendering content from eventRenderer disappearing when scrolling

Version 5.2.6

2022-12-28

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #2176 – Adding non-working interval dynamically does not recalculate tasks
  • #4851 – Infinite requests if server response is malformed
  • #5394 – Non working days not painted after adding a calendar interval programmatically
  • #5786 – Store autoCommit gets disabled by CRUDManager

Version 5.2.5

2022-12-16

FEATURES / ENHANCEMENTS

  • RowCopyPaste feature supports copying rows in tree. Copied records will have same hierarchy
  • Paste after cut and copy behavior is unified, records are moved below the paste target

BUG FIXES

  • #5408EventDragCreate doesn't take ignoreResourceCalendar into account
  • #5668 – Chained resourceStores from one CrudManager works incorrect
  • #5693 – Nested events drag from Grid example crashes when dragging after code edit
  • #5731 – Time axis cells are recycled when making schedule area small
  • #5776Radiobutton not circular in small popup
  • #5778 – Dragging resources to the last row causes crash in group

Version 5.2.4

2022-11-28

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #5242 – Create styling guide for Scheduler Pro
  • #5564 – Crash when drag creating with task editor open
  • #5595 – Fix panel collapse icon directions

Version 5.2.3

2022-11-17

BUG FIXES

  • #5551 – Store allRecords includes group footers twice

Version 5.2.2

2022-11-08

API CHANGES

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

Version 5.2.1

2022-10-28

FEATURES / ENHANCEMENTS

  • Documentation for EventModel mistakenly listed support for effort, related fields and functions. The concept currently only exists in Gantt, docs has been cleaned up. (#5411)

BUG FIXES

  • #2605 – Setting new resources to the store fails when all resources are filtered out
  • #4392 – Error when using store instance in ProjectModel definition
  • #5149 – Angular demos now use component-local styles using ViewEncapsulation.None
  • #5322 – Getting Error "Unknown identifier ClassDefEx-1.$.startDate" when dynamically loading Data
  • #5406ResourceHistogram view fails when eventStore config is passed
  • #5420 – Exception thrown when using event tree store in SchedulerPro
  • #5435 – Error after call loadInlineData with resource tree structure

Version 5.2.0

2022-10-13

FEATURES / ENHANCEMENTS

  • Scheduler Pro has gained built-in support for segmented events, by using the new EventSegments, EventSegmentDrag and EventSegmentResize features. The features cover splitting events to segments, rendering of such events and individual segments dragging Please check the new split-events 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)
  • 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
  • A new EventNonWorkingTime feature was added to Scheduler. When enabled in Scheduler Pro, the combined calendar for an event (a merge of project / resource + event calendars) is visualized by shading the parts of an event that intersects non-working time. Can be tried in the new event-non-working-time demo
  • 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)
  • ResourceHistogram has got a new generateScalePoints event that allows customizing its scale points at runtime (#5025)

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)

LOCALE UPDATES

  • Added localization for the new event split functionality, keys EventSegments.splitEvent and EventSegments.renameSegment

BUG FIXES

  • #4096 – CalendarIntervalMixin class uses hardcoded date field formats
  • #5241 – Cannot reach dependency terminals for segmented events
  • #5243 – Task editor too narrow in classic themes
  • #5290 – Error on triggering zoomToFit on ResourceHistogram

Version 5.1.5

2022-10-12

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #4645 – Improve error message "Bryntum bundle included twice"
  • #4654REACT Bryntum widget wrappers don't accept all component properties in React 18
  • #5352 – Exception thrown when refreshing the data with event selected
  • #5372 – Not able to remove events in Vertical mode

Version 5.1.4

2022-09-29

BUG FIXES

  • #4374 – Console error if return false on preventable beforeAdd event on dependency store
  • #5050 – Events are not rendered correctly after exporting to PDF
  • #5170 – When first region has width and last region is collapsed, Scheduler Pro doesn't resize with container
  • #5196 – Task editor in Scheduler Pro gets empty when opened too fast after closing
  • #5199 – When resourceTimeRanges feature enabled description is displayed twice

Version 5.1.3

2022-09-09

BUG FIXES

  • #415 – Improve docs on formatting currency values on NumberField
  • #3680 – Support Salesforce Winter 22 release
  • #5133 – Custom layout function scope should have a reference to the scheduler

Version 5.1.2

2022-08-29

FEATURES / ENHANCEMENTS

  • Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed config object rather than a plain object. For example instead of {Object} tooltip - A tooltip configuration object, it is now {TooltipConfig} tooltip - A tooltip configuration object. This improves our TypeScript typings (transforms to Partial<TooltipConfig> in typings) when using such configs, but also improves our docs by linking to the configs of the type
  • 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)

BUG FIXES

  • #4943 – Changing the time by dragging an event triggering an error
  • #4965 – Dependency creation still working when readOnly is true
  • #4968change event doesn't fire when canceling event editor
  • #5010 – Group expanders still visible after stopping grouping
  • #5017TypeScript Property type is missing in DataFieldConfig
  • #5018Vue Prop Validation fails for String options
  • #5028 – UI does not refresh when certain fields are changed
  • #5056 – Project mutes events in stores not managed by the engine

Version 5.1.1

2022-07-28

BUG FIXES

  • #3427 – Infinite sync loop if percentDone value is incorrect
  • #4963 – Undoing two scheduled nested events causes crash

Version 5.1.0

2022-07-21

FEATURES / ENHANCEMENTS

  • Scheduler Pro has gained built-in support for nested events, by using a tree EventStore and the new NestedEvents feature. On display in the new nested-events-configuration and nested-events-drag-from-grid demos, as well as in the updated nested-events demo (#1519, #3564)
  • Our TypeScript typings for string types that have a predefined set of alternatives was improved to only accept those alternatives. For example previously the dock config which was previously declared as dock: string is now dock : 'top'|'right'|'bottom'|'left'
  • Create React App templates now available
  • Configuring the crud manager functionality of the project was made a little easier by introducing shortcuts for setting load and sync urls using the new loadUrl and syncUrl configs
  • Updated the built-in version of FontAwesome Free to 6.1.1
  • KeyMap is a mixin that allows for standardized and customizable keyboard shortcuts functionality. KeyMap is by default mixed in to Widget and therefore available to all Widget's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)
  • Project optionally allows sync() calls without local changes, to retrieve changes from the backend. Configure forceSync : true to enable this new behaviour (#4575)

API CHANGES

  • 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 schedulerpro.lite.umd.js bundle is no longer available
  • BREAKING WebComponents has been removed from schedulerpro.module.js ES modules bundle. New bundle with WebComponents is schedulerpro.wc.module.js

BUG FIXES

  • #4378 – Dependencies not redrawn when rows reordered
  • #4608 – Nested events ugly with scrollbars on
  • #4689 – Drag creating a new event in nested-events-drag-from-grid should create a container
  • #4696 – Parents sorted below children in docs
  • #4697 – Too dark code background in docs
  • #4945 – Dropping nested event causes crash when not constraining drag to timeline
  • #4948EventTooltip buggy for nested events
  • #4955 – Removing parent when nested event is selected causes crash

Version 5.0.7

2022-07-13

BUG FIXES

  • #4681 – STM issues when using with backend
  • #4737 – Paste events are not generating the assignments in the request
  • #4756 – PDF export hangs trying to restore component
  • #4892 – Unexpected change events after drag or resize if preamble/postamble used
  • #4916Fullscreen is not working on mobile Safari
  • #4919 – Engine throws exception on referencing a destroyed project

Version 5.0.6

2022-06-20

BUG FIXES

  • #4146TaskEditor clears time when editing events with datetime picker
  • #4626 – Exception when pressing enter in event editor in timeline demo
  • #4731 – Reverting assignment change does not update the view
  • #4749 – Assignment record for new event does not appear in project changes in task editor is disabled
  • #4778 – Body mask now tracks grid resize to maintain cover of the body
  • #4808 – Typings are wrong for async functions
  • #4813 – Scheduling Cycle combo shows previous content on resolving next conflict

Version 5.0.5

2022-05-30

FEATURES / ENHANCEMENTS

  • Added public afterTaskEdit event which is triggered at the end of the task editing after task editor is closed

BUG FIXES

  • #4503 – Returning false from beforeTaskEdit event breaks autoSync
  • #4519TimeAxis stopped refreshing data after loadInlineData call
  • #4547LWC Exception when dragging scheduler pro event on lightning tab
  • #4584TimeSpanHighlight: surrounding and non-surrounding simultaneously
  • #4607VUE Incorrect prop types in Vue wrapper
  • #4624 – XSS security bugs
  • #4653 – Event and dependency are not rendered after reverting changes made in the task editor
  • #4657 – Can not navigate out of the datetime field using Shift + Tab
  • #4668StartDate not updated with syncDataOnLoad and project.load()

Version 5.0.4

2022-05-11

FEATURES / ENHANCEMENTS

  • The EventCopyPaste feature is since its inception documented as being enabled by default, but that only applied to the basic Scheduler, code was changed to make it enabled by default also in Scheduler Pro

API CHANGES

  • ProjectModel has got new maxCalendarRange option that allows to supporting long running projects. For more details, see What's new (#2962)

BUG FIXES

  • #4294 – Not possible to reach horizontal time axis scrollbar
  • #4490 – Dragging events between Scheduler Pro instances freezes
  • #4562REACT React wrappers have incorrect source mapping urls
  • #4574highlightTimeSpans works even though the timeSpanHighlight feature is disabled

Version 5.0.3

2022-04-26

FEATURES / ENHANCEMENTS

  • Added new examples/inline-data demo showing assigning inline data to SchedulerPro
  • WRAPPERS ProjectModel wrapper component reference can now be used as project parameter for Bryntum Scheduler Pro wrapper component in Angular and Vue applications (#4238)
  • WRAPPERS Scheduler Pro has a new ProjectModel framework wrapper available for React, Vue and Angular. It simplifies sharing data between multiple Bryntum components (#4382)
  • ANGULAR New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/angular/inline-data folder
  • REACT New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/react/javascript/inline-data folder
  • VUE-3 New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/vue-3/javascript/inline-data folder
  • REACT New basic React demo with TypeScript. Demo located in examples/frameworks/react/typescript/basic folder

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

  • #4031 – First Redo action works incorrect
  • #4127LWC DomHelper.isInView() throws
  • #4222LWC Performance degradation in 5.0 release
  • #4432LWC Mouse events do not work
  • #4439 – Add public event to track task edit cancel action
  • #4461Vue wrapper triggers doubled dataChange events with different params

Version 5.0.2

2022-04-13

FEATURES / ENHANCEMENTS

  • The beforeTaskEdit, beforeTaskSave and beforeTaskDelete events triggered by the TaskEdit feature now handle async flows. Use async / await in your listener or return a Promise and it will be awaited before execution continues. Useful for example to ask for a confirmation on save etc (#4421)
  • TaskEditor now offers a blurAction config to not reject changes when clicking outside the editor (#4445)

BUG FIXES

  • #4049beforeEventEdit does not fire on Scheduler Pro, whereas beforeTaskEdit does
  • #4310 – Wrong console tip for Scheduler Pro
  • #4332 – Crash when double clicking histogram
  • #4370 – Assigning tasks to project when syncDataOnLoad:true results in empty SchedulerPro
  • #4389 – Scheduler with infiniteScroll throws when trying to render already loaded project
  • #4406 – Fixed items in disabled fieldset/radiogroup not being disabled
  • #4479DependencyEdit dialog not include fromSide/toSide update into changes param of datachange event

Version 5.0.1

2022-03-04

API CHANGES

  • WRAPPERS New ResourceUtilization widget wrapper available for Angular, React and Vue frameworks (#4276)

BUG FIXES

  • #4264 – Collapse / expand icons too far apart
  • #4265 – Highlighted time span elements animate after zooming
  • #4266 – Time span highlight elements not updated after resizing window
  • #4267 – Disabling resources field breaks task editor

Version 5.0.0

2022-02-21

We are thrilled to announce version 5.0 of our Scheduler Pro product. This release marks a big milestone for us, after more than a year of development. This update makes it much easier to combine multiple Bryntum products, and also includes lots of new demos, an EventBuffer feature (for travel time), a ResourceUtilization widget 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 Scheduler Pro starts displaying a popup informing users of scheduling conflicts, cycles and calendar misconfigurations. The popup allows 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)
  • Scheduler Pro now performs the initial rendering of events 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 events the delayed calculations might affect your code, be sure to check out the upgrade guide (#2251)
  • 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.cssschedulerpro.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)
  • New feature – Event Buffer – which allows visualizing things like travel time (#2822)
  • 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)
  • New drag-unplanned-tasks which shows how to drag tasks from an external grid, and highlighting available resource slots in the schedule while dragging
  • Scheduler Pro's event rendering now uses absolute positioning instead of translation to position the event bars. This was changed to make native position: sticky work, the stickyEvents feature is now very thin and more performant (#4055)
  • New ProjectModel setters/getters for assignments, dependencies, events, resourceTimeRanges, resources, timeRanges (#4043)
  • New drag-unplanned-tasks which shows how to drag tasks from an external grid, and highlighting available resource slots in the schedule while dragging
  • window references are replaced with globalThis which is supported in all modern browsers and across different JS environments (#4071)
  • 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)
  • 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 schedulerPro.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, Scheduler Pro state is stored automatically as stateful properties change (#1859) For more details, see What's new and Upgrade guide in docs

API CHANGES

  • BREAKING React wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2787)
  • BREAKING The Engine ResourceAllocationInfo class allocation property has been changed from an Array to anObject 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
  • DEPRECATED ResourceHistogram getBarTip config has been deprecated in favour of new barTooltipTemplate config Please check the upgrade guide and update your code accordingly
  • DependencyModel.active field has been changed to persisted. To revert to the old behavior please override the field and set its persist config to false
  • Code of drag-from-grid and similar demos have been simplified and if you have used that code in your application you should make sure to review and update your code accordingly
  • The following previously deprecated Scheduler Pro configs, functions etc. where removed:
  • Configs hoursPerDay, daysPerWeek, daysPerWeek from CalendarModel – previously moved to ProjectModel
  • Config TaskEdit#showDeleteButtton – previously replaced by editorConfig
  • Config TaskEdit#extraItems – previously replaced by items
  • Config TaskEdit#tabsConfig – previously replaced by items
  • Function ProjectModel#propagate() – previously replaced by commitAsync()
  • Event SchedulerPro#beforeExport – in favor of beforePdfExport event
  • Event SchedulerPro#export – in favor of pdfExport event

BUG FIXES

  • #3985 – Timeline time axis header not visible
  • #4144 – Big data example – Console error after open TaskEditor if 10k events loaded
  • #4156 – Duplicate assignment Event error when assign resource in Maps demo
  • #4203 – Big dataset demo broken
  • #4235 – Wrong start date after copy pasting event

Version 4.3.9

2022-02-17

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 4.3.8

2022-02-07

BUG FIXES

  • #4100DependencyStore does not sync when updating dependency

Version 4.3.7

2022-02-02

API CHANGES

  • DEPRECATED SchedulerPro 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

  • #4012 – Unexpected scheduling conflict
  • #4082 – Relayed listeners do not trigger onFunctions

Version 4.3.6

2022-01-13

BUG FIXES

  • #3788 – Minimum value for duration field in Task Editor works incorrect
  • #3835 – Scheduler Pro task edit resources combo store filter reset on value change
  • #3990 – Chrome & Content Security Policy causes failure because of debug code section

Version 4.3.5

2021-12-24

BUG FIXES

  • #3896TypeScript Wrong typings of model class configs
  • #3907TypeScript Cannot pass Scheduler instance to Store.relayAll
  • #3928 – DateHelper k format behaves incorrectly

Version 4.3.4

2021-12-13

FEATURES / ENHANCEMENTS

  • Updated resource-histogram Angular demo to use Angular 13 (#3742)

BUG FIXES

  • #3621TypeScript Improve typings of mixins
  • #3759 – Touch drag starts event drag creation
  • #3850TypeScript Missing static properties in typings
  • #3852 – Crash if zooming while hovering event resize handle

Version 4.3.3

2021-11-30

BUG FIXES

  • #3532 – Performance issues when resize events for big data apps
  • #3648DOCS Content navigation is broken
  • #3668 – Map demo resets timeSpan bounds to 1 work day instead of using user defined start/end dates
  • #3691 – Resource Histogram renders empty initially
  • #3743DOCS web.config file for Windows IIS server

Version 4.3.2

2021-10-29

FEATURES / ENHANCEMENTS

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

Version 4.3.1

2021-10-21

FEATURES / ENHANCEMENTS

  • ProjectModel now has a resetUndoRedoQueuesAfterLoad flag to optionally clear undo / redo queues
  • Bumped builtin Font Awesome Free to version 5.15.4

BUG FIXES

  • #3539 – Resource time ranges are not rendered for initially invisible resource rows
  • #3560 – Timeline demo is rendered with visual artifacts in chrome
  • #3567 – Minified css bundle contains unicode chars
  • #3579 – Crash when combining resourceTimeRanges and eventRenderer with custom content

Version 4.3.0

2021-10-12

FEATURES / ENHANCEMENTS

  • ResourceHistogram now supports resource grouping. It displays the aggregated resources allocation on the group level (#2608)
  • Events can be grouped or manually positioned inside the row. See this demonstrated in the new examples/custom-layouts demo (#1854)

API CHANGES

  • TimeAxisColumn now subclasses WidgetColumn (before it was a Column), this should not affect your code. This opens up for rendering widgets embedded in row cells, see this demonstrated in the new examples/embedded-chart example
  • DEPRECATED Buttons menuIconCls config was deprecated in favor of the new menuIcon config, which better matches the naming of other configs

Version 4.2.7

2021-10-01

BUG FIXES

  • #2284 – Gantt should support disabling the calculation engine
  • #3166 – Dependency editor Lag field does not use dependency.lagUnit value
  • #3411 – Noticeable delay before new event is seen when drag creating in big data set scenario
  • #3428dataChange event does not fire on SchedulerPro
  • #3458 – Document nested fields
  • #3471 – Crash when finalizing drop async on a group header row

Version 4.2.6

2021-09-15

FEATURES / ENHANCEMENTS

  • The ResourceNonWorkingTime elements are no longer focusable/interfering with tab navigation (#3391)

BUG FIXES

  • #3384 – Error when loading inline data twice on the same schedule
  • #3408 – Updated typings to support spread operator for method parameters

Version 4.2.5

2021-09-08

FEATURES / ENHANCEMENTS

  • Added schedulerpro.node.mjs and schedulerpro.node.cjs bundles without UI components for Node.js environment compatibility (#3224)
  • 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)

BUG FIXES

  • #3313 – Allow String, String and Object in cls getter for subclassing EventModel
  • #3322 – Add dataChange event to framework guides
  • #3343 – Scrolling Scheduler Pro while dragging from outside does not resolve correct resource record
  • #3358 – Event gets broken after quick drag create

Version 4.2.4

2021-08-27

BUG FIXES

  • #1432 – Scheduler doesn't take DST into account for event duration
  • #2906 – Labels are visible on non working time entries
  • #2971 – ResourceTimeRangeStore updates not tracked by STM
  • #3116 – Gantt throws on task terminal drag
  • #3265 – Docs are not scrolled to the referenced member
  • #3295 – Sync requests triggered during drag-create
  • #3305 – Guides look bad in the docs search results
  • #3306 – Doc browser does not scroll to member
  • #3319 – Should not show event editor when double clicking nonworking time range
  • #3320 – Non working resource time ranges removed after double clicking to create a new event

Version 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)
  • 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 SchedulerPro instead
  • DEPRECATED SchedulerPro beforeExport event signature is deprecated and will be removed in 4.3.0. New signature wraps config object to the corresponding key

BUG FIXES

  • #1727 – Error when drag event over the histogram
  • #3116 – Gantt throws on task terminal drag
  • #3182 – Create React version of drag-batches example
  • #3191 – New event misrendered when drag creating
  • #3203 – Crud Manager not sending assignment record

Version 4.2.2

2021-07-21

FEATURES / ENHANCEMENTS

  • NPM Bryntum Npm server now supports npm token command for managing access tokens for CI/CD (#2703)

BUG FIXES

  • #3167 – LWC bundle is missing from trial packages
  • #3178 – Syntax highlighter messes up code snippets in docs
  • #3190 – Crash when drag creating in SchedulerPro partnered with Gantt

Version 4.2.1

2021-07-07

FEATURES / ENHANCEMENTS

  • FRAMEWORKS Added scheduleContextFeature to frameworks wrappers (#3135)

BUG FIXES

  • #3117 – Improve the docs to show how to access eventRecord in beforeShow listener
  • #3136NPM Running npm install twice creates modified package-lock.json file
  • #3139 – Support on and un methods for eventTooltip feature instance

Version 4.2.0

2021-06-30

FEATURES / ENHANCEMENTS

  • Scheduler Pro 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 TimeAxis is moved (#1114)
  • The EventResize feature now uses the task's data to change the appearance by updating endDate or startDate 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 event 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
  • For more details, see What's new and Upgrade guide in docs

API CHANGES

  • DEPRECATED The resources param of the beforeEventAdd event fired by SchedulerPro was renamed to resourceRecords and will be removed in 5.0

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

BUG FIXES

  • #3075 – Task editor behaviour changed after drag create

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

BUG FIXES

  • #3005VUE-3 Problem with Critical Paths due to Vue Proxy and double native events firing bug
  • #3026VUE-2 and VUE-3 typescript type declarations are missing

Version 4.1.5

2021-06-09

FEATURES / ENHANCEMENTS

  • Scheduler Pro now has a minHeight of 10em by default. This assures that the Scheduler Pro 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
  • #2889ANGULAR Project model event listeners do not fire on production angular build
  • #2990ANGULAR Preventable async events don't work
  • #2991 – Events disappear after scrolling

Version 4.1.4

2021-05-28

FEATURES / ENHANCEMENTS

  • TypeScript definitions updated to use typed Partial<> parameters where available
  • Buttons now has a new style b-transparent that renders them without background or borders (#2853)
  • NPM repository package @bryntum/schedulerpro now includes source code (#2723)
  • NPM repository package @bryntum/schedulerpro now includes minified versions of bundles (#2842)
  • FRAMEWORKS Frameworks demos packages dependencies updated to support Node v12

BUG FIXES

  • #2104 – "Core" code not isomorphic
  • #2691 – Docs for ResourceNonWorkingTime feature
  • #2828 – Memory leak when replacing project instance
  • #2834 – Core should not use b-fa for icon prefix
  • #2858 – Crash when reloading project if groups are collapsed
  • #2865 – CrudManager should disable autoSync / autoLoad for all its stores
  • #2885 – Fast switching tabs in TaskEditor is shows blank tab

Older versions

  • Full release version history can be found here.