Scheduler Pro – Change Log
Version 5.3.6
2023-05-26FEATURES / ENHANCEMENTS
BUG FIXES
Version 5.3.5
2023-05-11API CHANGES
- The internal feature mixin
ProTaskEditStm
has been moved to Scheduler codebase and renamed toTaskEditStm
. It is available now asTaskEditStm
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
- #6701 – IONIC
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-28FEATURES / ENHANCEMENTS
- New config option on the
SchedulerPro
'sProjectModel
:skipNonWorkingTimeInDurationWhenSchedulingManually
. Please refer to the documentation for details
BUG FIXES
Version 5.3.3
2023-04-21FEATURES / ENHANCEMENTS
- TypeScript Type definition files were added for
schedulerpro.node.cjs
andschedulerpro.node.mjs
bundles (#6523) ResourceNonWorkingTime
now offers aenableMouseEvents
config to enable showing tooltips for its rendered elements. See updatedresource-non-working-time
demo (#6545)ResourceNonWorkingTime
now supports showing thename
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 inexamples/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
- #6527 – ANGULAR Resource Utilization – custom tick context is not updated when shift timeline
- #6539 –
eventRecord
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-04FEATURES / 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
'sintervals
too strict - #6394 –
project.changes
still available afterproject.revertChanges()
- #6425 –
NestedEvents
not working in vertical mode - #6430 –
taskEditCanceled
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-17API CHANGES
ProjectModel
convenience getter methods (events
,resources
etc.) now returnsallRecords
instead ofrecords
- Date parsing was made more forgiving in regard to character used to separate date parts. For example these strings are
now all acceptable as
HH:mm
:10:20
,10 20
,10-20
,10/20
(#6344)
BUG FIXES
- #5084 – React orders demo not working properly
- #6025 – Uncaught error in
populateEventMenu
when dropping an event on the first resource - #6041 –
getDateConstraints()
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
- #6320 –
effortDriven
+ fixed duration not working when setting it in the data level initially - #6326 –
GroupSummary
data not updating on event deletion - #6351 – Components do not render into containers not already in DOM
Version 5.3.0
2023-03-02FEATURES / 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
andeffortDriven
fields. The fields add support for a new scheduling mode in which user provided effort gets distributed across the event duration. Please check the neweffort
demo to see how it works AjaxHelper.fetch
now supports using request body to pass parameters for non-GET requests. Please checkaddQueryParamsToBody
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 asRecord<keyType, valueType>
, and for functions that accept object arguments many are replaced with anonymous type declarations, such as{ foo: string, bar: number }
(Partially fixed #5176) - 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 triggerpercentBarDragStart
,percentBarDrag
andpercentBarDrop
events. The task record is also updated in realtime triggering continuous UI updates for a nicer UX (#6146)
API CHANGES
- DEPRECATED
LocaleManager.registerLocale
andLocaleManager.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 aendDate
initially, those days will be treated as in local system time zone and will therefore be converted to the configured time zone. Previously (in5.3.0-alpha-1
and5.3.0-beta-1
) those dates was treated as in the provided time zone - The default value for
ResourceHistogram
'seffortFormat
was changed from0
to0.#
, 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
- #6156 –
eventRecord.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-17FEATURES / ENHANCEMENTS
- Added a
trackProjectModelChanges
config to theProjectModel
to optionally track own changes of theProjectModel
(#5355)
API CHANGES
- Recently browsers have added support for Unicode 15, which changes the output of
Intl.DateTimeFormat
when formatting time to includeAM
/PM
. Those browsers now use "thin space" (\u202f
) instead of regular space. This affects theDateHelper.format()
function, but likely you do not need to take any action in your application. It also affectsDateHelper.parse()
, which has been updated to support the new unicode space (#6193)
BUG FIXES
Version 5.2.9
2023-01-30FEATURES / 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 theAdvanced
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 theeventBuffer
start date - #5979 – Summary on vertical mode "disappears" on double click
- #6017 – Scheduler Pro not assigning resourceId to new events
- #6019 – TypeScript 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-19BUG FIXES
- #5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
- #5788 – Automatic dependency setting not working after resetting events array
- #5814 –
StateProvider
throws during component construction - #5904 – TypeError in Scheduler Pro on Drag/Drop event
- #5917 – When load data with
schedulerPro.project.loadCrudManagerData
Scheduler Pro crashes - #5923 –
applyProjectChanges
does not account for mappedid
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-11API CHANGES
- The
StartDateField/EndDateField
fields now sets the default value of theirmax
property to be 200 years after the project's end date, see the docs for the corresponding classes (#5779)
BUG FIXES
Version 5.2.6
2022-12-28FEATURES / ENHANCEMENTS
- REACT React wrapper now supports React components in widgets and tooltips (#774)
BUG FIXES
Version 5.2.5
2022-12-16FEATURES / 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
- #5408 –
EventDragCreate
doesn't takeignoreResourceCalendar
into account - #5668 – Chained
resourceStores
from oneCrudManager
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
- #5776 –
Radiobutton
not circular in small popup - #5778 – Dragging resources to the last row causes crash in group
Version 5.2.4
2022-11-28FEATURES / ENHANCEMENTS
- We recently launched a new homepage over at bryntum.com, and have now slightly updated the styling for demos and docs to better match it (new logo, new header color, new font). Please note that this is not a change to our themes, only the look of the demos, and it won't affect your application
BUG FIXES
Version 5.2.2
2022-11-08API CHANGES
- DEPRECATED The behaviour of the
store.data
getter will be changed in 6.0. Currently, it returns the **initial** raw dataset, in 6.0 it will be changed to have the more expected behaviour of returning the data objects for the **current** state instead. See Grid's upgrade guide for more information (#5499)
Version 5.2.1
2022-10-28FEATURES / ENHANCEMENTS
- Documentation for
EventModel
mistakenly listed support foreffort
, 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
- #5406 –
ResourceHistogram
view fails wheneventStore
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-13FEATURES / ENHANCEMENTS
- Scheduler Pro has gained built-in support for segmented events, by using the new
EventSegments
,EventSegmentDrag
andEventSegmentResize
features. The features cover splitting events to segments, rendering of such events and individual segments dragging Please check the newsplit-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 theResponsive
mixin now support aonce
property to allow configs to only be set on first activation of the state - The
Core.helper.DateHelper
class has a new methodformatRange
method which can format date ranges, as well as new formatting options for week numbers - 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 newevent-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 tofalse
(#4449) ResourceHistogram
has got a newgenerateScalePoints
event that allows customizing its scale points at runtime (#5025)
API CHANGES
EventModel
has newignoreResourceCalendar
boolean field. When field is set totrue
the event will not take its assigned resource calendars into account and will perform according to its own calendar only (#3349)
LOCALE UPDATES
- Added localization for the new event split functionality, keys
EventSegments.splitEvent
andEventSegments.renameSegment
BUG FIXES
Version 5.1.5
2022-10-12FEATURES / ENHANCEMENTS
- New records are assigned a generated
id
if none is provided. The generatedid
is meant to be temporary (a phantomid
), and should be replaced by the backend on commit. Previously theid
was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameid
during a session, but if an application serialized the generatedid
(note, they should not) and then reloaded it, it would eventually collide with a new generatedid
. To prevent this, the generatedid
s are now based on a random UUID instead - Stores now by default show a warning on console when loading records that has generated
id
s, as a reminder that it should be replaced by the backend on commit
BUG FIXES
Version 5.1.4
2022-09-29BUG 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-09BUG FIXES
Version 5.1.2
2022-08-29FEATURES / 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 toPartial<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
istrue
- #4968 –
change
event doesn't fire when canceling event editor - #5010 – Group expanders still visible after stopping grouping
- #5017 – TypeScript Property type is missing in
DataFieldConfig
- #5018 – Vue 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-28BUG FIXES
Version 5.1.0
2022-07-21FEATURES / 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
andnested-events-drag-from-grid
demos, as well as in the updatednested-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 asdock: string
is nowdock : 'top'|'right'|'bottom'|'left'
- Create React App templates now available
- Configuring the crud manager functionality of the project was made a little easier by introducing shortcuts for
setting load and sync urls using the new
loadUrl
andsyncUrl
configs - Updated the built-in version of FontAwesome Free to
6.1.1
KeyMap
is a mixin that allows for standardized and customizable keyboard shortcuts functionality.KeyMap
is by default mixed in toWidget
and therefore available to allWidget
's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)- Project optionally allows
sync()
calls without local changes, to retrieve changes from the backend. ConfigureforceSync : true
to enable this new behaviour (#4575)
API CHANGES
- BREAKING ANGULAR Angular wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2786)
- BREAKING
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 isschedulerpro.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 acontainer
- #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
- #4948 –
EventTooltip
buggy for nested events - #4955 – Removing parent when nested event is selected causes crash
Version 5.0.7
2022-07-13BUG 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
- #4916 –
Fullscreen
is not working on mobile Safari - #4919 – Engine throws exception on referencing a destroyed project
Version 5.0.6
2022-06-20BUG FIXES
- #4146 –
TaskEditor
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-30FEATURES / 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 breaksautoSync
- #4519 –
TimeAxis
stopped refreshing data afterloadInlineData
call - #4547 – LWC Exception when dragging scheduler pro event on lightning tab
- #4584 –
TimeSpanHighlight
: surrounding and non-surrounding simultaneously - #4607 – VUE 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
- #4668 –
StartDate
not updated withsyncDataOnLoad
andproject.load()
Version 5.0.4
2022-05-11FEATURES / 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 newmaxCalendarRange
option that allows to supporting long running projects. For more details, see What's new (#2962)
BUG FIXES
Version 5.0.3
2022-04-26FEATURES / ENHANCEMENTS
- Added new
examples/inline-data
demo showing assigning inline data toSchedulerPro
- WRAPPERS
ProjectModel
wrapper component reference can now be used asproject
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 inexamples/frameworks/angular/inline-data
folder - REACT New demo showing use of inline data and
ProjectModel
wrapper. Demo located inexamples/frameworks/react/javascript/inline-data
folder - VUE-3 New demo showing use of inline data and
ProjectModel
wrapper. Demo located inexamples/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 onProjectModel
has been changed to default totrue
. When enabled, it validates responses from the backend and outputs a message on console if the format isn't valid. This is helpful during the development phase, but can be turned off in production - New Vue 2/3 wrapper config option
relayStoreEvents
(defaults tofalse
). When set totrue
, the events fired by stores are relayed to the Bryntum Grid instance - REACT React wrappers now include TypeScript definitions (#3378)
BUG FIXES
- #4031 – First Redo action works incorrect
- #4127 – LWC
DomHelper.isInView()
throws - #4222 – LWC Performance degradation in 5.0 release
- #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
Version 5.0.2
2022-04-13FEATURES / ENHANCEMENTS
- The
beforeTaskEdit
,beforeTaskSave
andbeforeTaskDelete
events triggered by the TaskEdit feature now handle async flows. Use async / await in your listener or return a Promise and it will be awaited before execution continues. Useful for example to ask for a confirmation on save etc (#4421) - TaskEditor now offers a
blurAction
config to not reject changes when clicking outside the editor (#4445)
BUG FIXES
- #4049 –
beforeEventEdit
does not fire on Scheduler Pro, whereasbeforeTaskEdit
does - #4310 – Wrong console tip for Scheduler Pro
- #4332 – Crash when double clicking histogram
- #4370 – Assigning tasks to project when
syncDataOnLoad:true
results in emptySchedulerPro
- #4389 – Scheduler with
infiniteScroll
throws when trying to render already loaded project - #4406 – Fixed items in disabled
fieldset
/radiogroup
not being disabled - #4479 –
DependencyEdit
dialog not includefromSide
/toSide
update into changes param ofdatachange
event
Version 5.0.1
2022-03-04API CHANGES
- WRAPPERS New
ResourceUtilization
widget wrapper available for Angular, React and Vue frameworks (#4276)
BUG FIXES
Version 5.0.0
2022-02-21We 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 nameproduct.theme.thin.css
–schedulerpro.stockholm.thin.css
for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times. Read more about it in theWhat's new
section in docs (#3276) Model
has a newreadOnly
field that is respected by UI level editing features to disallow editing records havingreadOnly : true
. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)- 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, thestickyEvents
feature is now very thin and more performant (#4055) - New
ProjectModel
setters/getters forassignments
,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 withglobalThis
which is supported in all modern browsers and across different JS environments (#4071)- You can now style
CalendarIntervals
by providing acls
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. RunschedulerPro.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
classallocation
property has been changed from anArray
to anObject
with two propertiestotal
andbyAssignments
. Thetotal
property contains an array of the resource allocation intervals. And thebyAssignments
is aMap
keeping individual assignment allocation intervals with assignments as keys and arrays of allocation intervals as values Please check Upgrade guide if your code uses that class - DEPRECATED ResourceHistogram
getBarTip
config has been deprecated in favour of newbarTooltipTemplate
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 itspersist
config tofalse
- 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
fromCalendarModel
– previously moved toProjectModel
- Config
TaskEdit#showDeleteButtton
– previously replaced byeditorConfig
- Config
TaskEdit#extraItems
– previously replaced byitems
- Config
TaskEdit#tabsConfig
– previously replaced byitems
- Function
ProjectModel#propagate()
– previously replaced bycommitAsync()
- Event
SchedulerPro#beforeExport
– in favor ofbeforePdfExport
event - Event
SchedulerPro#export
– in favor ofpdfExport
event
BUG FIXES
Version 4.3.9
2022-02-17FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
Version 4.3.7
2022-02-02API CHANGES
- DEPRECATED SchedulerPro
beforeExport
andexport
events (triggered byPdfExport
feature) were deprecated in favor of thebeforePdfExport
andpdfExport
events respectively. The old events names will be dropped in v5.0.0
BUG FIXES
Version 4.3.6
2022-01-13BUG FIXES
Version 4.3.5
2021-12-24BUG FIXES
Version 4.3.4
2021-12-13FEATURES / ENHANCEMENTS
- Updated
resource-histogram
Angular demo to use Angular 13 (#3742)
BUG FIXES
Version 4.3.3
2021-11-30BUG FIXES
- #3532 – Performance issues when resize events for big data apps
- #3648 – DOCS 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
- #3743 – DOCS
web.config
file for Windows IIS server
Version 4.3.2
2021-10-29FEATURES / ENHANCEMENTS
EventCopyPaste
feature now firesbeforeCopy
andbeforePaste
events to let you prevent the actions (#3303)
Version 4.3.1
2021-10-21FEATURES / 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
Version 4.3.0
2021-10-12FEATURES / 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 subclassesWidgetColumn
(before it was aColumn
), this should not affect your code. This opens up for rendering widgets embedded in row cells, see this demonstrated in the newexamples/embedded-chart
example- DEPRECATED Buttons
menuIconCls
config was deprecated in favor of the newmenuIcon
config, which better matches the naming of other configs
Version 4.2.7
2021-10-01BUG 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
- #3428 –
dataChange
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-15FEATURES / ENHANCEMENTS
- The ResourceNonWorkingTime elements are no longer focusable/interfering with tab navigation (#3391)
BUG FIXES
Version 4.2.5
2021-09-08FEATURES / ENHANCEMENTS
- Added
schedulerpro.node.mjs
andschedulerpro.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
orDate
but always outputs aDate
(#2933)
BUG FIXES
Version 4.2.4
2021-08-27BUG 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-05FEATURES / ENHANCEMENTS
- Project can now log warnings to the browser console when it detects an unexpected response format. To enable these
checks please use the
validateResponse
config (#2668) - NPM Bryntum Npm server now supports remote private repository access for Artifactory with username and password authentication (#2864)
- TYPINGS Type definitions now contain typed
features
configs and properties (#2740)
API CHANGES
- DEPRECATED PdfExport feature
export
event is deprecated and will be removed in 4.3.0. Useexport
event on the 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
Version 4.2.2
2021-07-21FEATURES / ENHANCEMENTS
- NPM Bryntum Npm server now supports
npm token
command for managing access tokens for CI/CD (#2703)
BUG FIXES
Version 4.2.1
2021-07-07FEATURES / ENHANCEMENTS
- FRAMEWORKS Added
scheduleContextFeature
to frameworks wrappers (#3135)
BUG FIXES
Version 4.2.0
2021-06-30FEATURES / 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 updatingendDate
orstartDate
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 thebeforeEventAdd
event fired by SchedulerPro was renamed toresourceRecords
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-23FEATURES / ENHANCEMENTS
- TaskEdit has a new
scrollIntoView
boolean config allowing to opt-out of scrolling the task being edited into view (#997)
BUG FIXES
Version 4.1.5
2021-06-09FEATURES / ENHANCEMENTS
- Scheduler Pro now has a
minHeight
of10em
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 defaultminHeight
is driving the height, a warning is shown on the console to let the dev know that sizing rules are missing. The warning is not shown if aminHeight
is explicitly configured (#2915) - TYPINGS API singleton classes are correctly exported to typings (#2752)
BUG FIXES
Version 4.1.4
2021-05-28FEATURES / 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.