ScheduleJS Logo

ScheduleJS 1.4 — Release Notes

May 15th, 2025 - 5-6 minutes read

Release Notes

  • Upgraded Angular 16 → 18 (Node 18+ recommended; Node 20 LTS supported).

  • Ecosystem alignment: TypeScript 5.x, RxJS compatible with Angular 18, modernized build tooling.

  • Performance gains for large schedules and virtual scrolling.

  • New ergonomic APIs for configuration and internationalization.

  • Mild deprecations, straightforward migration (typically < 2 hour for a standard app).

  • Not jumping to Angular 20 yet: we prioritize stability and security for our users

Context & Goals

ScheduleJS 1.4 modernizes our technical foundation to leverage the latest framework improvements while minimizing disruption. Our goals:

  1. secure long-term maintainability (support, fixes, tooling health),

  2. deliver immediate wins in performance and developer experience (DX).

Highlights of the Angular 16 → 18 Migration

 

1) Performance & Rendering

  • Optimized cell/range rendering: fewer allocations and batched updates.

  • Smoother virtualization for dense timelines (our internal benchmarks show ~20–30% steadier frame times on heavy views).

  • Smaller bundles thanks to Angular 18’s improved tree-shaking.

 

2) DX (Developer Experience)

  • Stronger typing across configuration APIs; clearer error messages.

  • Docs & examples updated for Angular 18 (standalone components, provide... patterns where appropriate).

  • Optional support for Angular Signals in our integration helpers for more declarative reactive views.

 

3) Accessibility & i18n

  • ARIA adjustments and more consistent keyboard navigation.

  • i18n: harmonized date formats and pluralization via Angular 18 utilities.

Deprecations (supported in 1.4, removal planned for 1.5)

  • timezoneFallback → use timezoneStrategy.

  • useZones: true/false → replaced by auto-detection with configurable strategy.

Why Not Angular 20 (Yet)?

Our philosophy is simple: stability and security first.

  • We wait for a sufficient adoption cycle on Angular 20 to collect real-world feedback, patch regressions, and harden new primitives.

  • This reduces the risk of unexpected breakage and maximizes uptime for production apps.

  • When ecosystem health signals reach our internal thresholds (issue closure rates, patch cadence, compatibility in the wild), we’ll plan the upgrade in a dedicated minor release with a guided migration path.

Conclusion

ScheduleJS 1.4 brings a solid, low-friction upgrade to Angular 18 with measurable performance gains, tighter typing, and cleaner APIs—without forcing disruptive rewrites. We’re deliberately not leaping to Angular 20 yet: stability and security for production users come first. Update your app, follow the short migration steps, and let us know how it goes. Your feedback will shape 1.4.x fixes, 1.5 deprecation removals, and the future jump to Angular 20+ when the ecosystem proves ready.

More implementation-related articles

ScheduleJS Logo

ScheduleJS 1.4 release notes. A step forward towards modern Angular app building.

Angular 16 vs Angular 18 comparison: discover what's new in Angular, the arrival of signals, Zoneless mode, zone coalescing, and their impact on your projects.

Discover the Angular Rome Conference: workshops, domain-driven design, signals, state management, micro frontends.

Discover Angular 18: zoneless mode, zone coalescing, native await, and TypeScript 5.4 compatibility.

Gantt Charts

The TOP 3 JavaScript Gantt chart. Discover their features, advantages, and disadvantages to choose the best tool for your project.

sceenschot example appli Gantt charts

Discover how ScheduleJS seamlessly integrated with Selligent CRM, enhancing scheduling efficiency for a leading beauty brand's consultants.

JS Gantt charts example

This article showcases the integration of a ScheduleJS component into an external Ag-Grid table, to demonstrate the flexibility of ScheduleJS.

Big Gantt charts

How to synchronize multiple graphics? Learn how to reuse your ScheduleJS timeline in multiple graphics to keep them synchronized.

JS Gantt Screenshot

Contextual menu

How to build an interactive context menu? A deep dive into ScheduleJS event handling and recommended practice to build your own context menu.

Schedulejs viewer gantt

This article shows how to implement dynamic rendering depending on the current zoom-level of the graphics.

S’abonner
Notification pour
guest
0 Commentaires
Commentaires
Show all comments
0
We would love to to have your toughts on this. Please leave a comment below!x