Unplanned
Last Updated: 29 Oct 2026 17:25 by ADMIN
Created by: Paul
Comments: 1
Category: DatePicker
Type: Feature Request
1
Currently, the DatePicker requires a Date object for min/max inputs, which is difficult in some cases when they need to be set programmatically and the value may need to be "unset" in some configurations (e.g. it depends on another date which may be null). 

In contrast, other component libraries allow for null min/max dates e.g. Material or PrimeNG. It would be good for the same to be provided with Telerik. If null/undefined it could default to the standard min/max dates.

The same would be good to have for the DateTimePicker.
Unplanned
Last Updated: 29 Oct 2026 11:50 by ADMIN

`ZonedDate.fromLocalDate(new Date('2025-10-26T00:00:00.000Z'), TIME_ZONE_ID_EUROPE_BERLIN)`returns hour **1**, although the correct local hour is **2** (CEST, UTC+2). Berlin switches back at **2025-10-26T01:00:00Z**, not at midnight UTC. The two consecutive UTC instants `00:00Z` and `01:00Z` must both display `02:00`, with different offsets.

I tested the behavior with time zones 'Europe/Berlin' and 'Australia/Hobart'.

I tried to attach a Markdown file here, but upload failed for whatever reason. You wiil find the detailed description in the Markdown below:

# ZonedDate.fromLocalDate returns the wrong Berlin hour before the autumn DST transition
## Affected package and environment
- `@progress/kendo-date-math`: **1.5.17**.
- Reproduced with Node.js **24.18.0** on Linux.
- Reproduced with host timezones **UTC** and **Europe/Berlin**.
- The required Berlin timezone data is loaded explicitly in the reproduction.
- Angular is not required to reproduce this issue.
## Summary
`ZonedDate.fromLocalDate(new Date('2025-10-26T00:00:00.000Z'), TIME_ZONE_ID_EUROPE_BERLIN)`
returns hour **1**, although the correct local hour is **2** (CEST, UTC+2).
Berlin switches back at **2025-10-26T01:00:00Z**, not at midnight UTC.
The two consecutive UTC instants `00:00Z` and `01:00Z` must both display
`02:00`, with different offsets.
## Minimal reproduction
In an empty directory, install the affected version:
```sh
npm init -y
npm install @progress/kendo-date-math@1.5.17
```
Run the following as `repro.cjs` using `node repro.cjs`:
```javascript
const assert = require('node:assert/strict');
const { ZonedDate } = require('@progress/kendo-date-math');
require('@progress/kendo-date-math/tz/Europe/Berlin');
const inputs = [
    '2025-10-25T22:00:00.000Z',
    '2025-10-25T23:00:00.000Z',
    '2025-10-26T00:00:00.000Z',
    '2025-10-26T01:00:00.000Z',
    '2025-10-26T02:00:00.000Z',
];
const hours = inputs.map((iso) =>
    ZonedDate.fromLocalDate(new Date(iso), 'Europe/Berlin').getHours());
console.log('Actual Berlin hours:', hours);
assert.deepEqual(hours, [0, 1, 2, 2, 3]);
```
Actual output: `[0, 1, 1, 2, 3]`, followed by an assertion failure.
Expected output: `[0, 1, 2, 2, 3]`.
On Linux, both `TZ=UTC node repro.cjs` and
`TZ=Europe/Berlin node repro.cjs` reproduce the failure.
| Input UTC instant | Expected Berlin time | Actual hour |
| --- | --- | --- |
| 2025-10-25 22:00 | 2025-10-26 00:00 CEST | 0 |
| 2025-10-25 23:00 | 2025-10-26 01:00 CEST | 1 |
| 2025-10-26 00:00 | 2025-10-26 02:00 CEST | **1** |
| 2025-10-26 01:00 | 2025-10-26 02:00 CET | 2 |
| 2025-10-26 02:00 | 2025-10-26 03:00 CET | 3 |
## Diagnosis
In the installed `dist/npm/tz/zoned-date.js`, `fromLocalDate()` calls
`convertTimezoneUTC(date, 'Etc/UTC', timezone)`.
For `2025-10-26T00:00:00Z`, that function:
1. Calculates a base shift of +120 minutes.
2. Creates an intermediate date of `2025-10-26T02:00:00Z`.
3. Looks up the target offset again at that intermediate date.
4. Finds a different offset and applies a -60-minute correction.
The intermediate date encodes wall-clock fields; it is not the original
instant. Looking up its offset as another instant causes the wrong hour.
Simply deleting the second lookup is not a verified general fix. Additional
probes show that Kendo's internal `offset()` lookup itself disagrees with
`Intl` at some transition instants: for Berlin it returns -60 at
`2025-03-30T01:00:00Z` (expected -120), and -120 at
`2025-10-26T01:00:00Z` (expected -60). Existing corrections compensate for
some of these cases. The UTC-instant-to-wall-clock operation should not
depend on resolving an ambiguous wall-clock time back into an instant.
## Proposed upstream changes
The following is a source-level proposal, not a released Telerik patch.
It uses the runtime's IANA timezone implementation through `Intl`.
Please adapt it to the package's source layout and supported-browser policy.
### 1. Preserve a known instant in the constructor
Add an optional third parameter to the existing constructor. Insert this
branch before its existing `timezone === ''` branch; leave the existing
floating-date and wall-clock-input branches unchanged:
```diff
-constructor(utcDate: Date, timezone: string) {
+constructor(utcDate: Date, timezone: string, instant?: Date) {
     this._utcDate = cloneDate(utcDate);
     this.timezone = timezone;
-    if (timezone === '') {
+    if (instant && timezone !== '') {
+        this.timezoneOffset = (instant.getTime() - utcDate.getTime()) / MS_PER_MINUTE;
+        this._localDate = cloneDate(instant);
+    } else if (timezone === '') {
```
This also preserves the distinct instants behind the two occurrences of
`02:00`, instead of attempting to infer the instant from ambiguous fields.
`MS_PER_MINUTE` and `cloneDate` already exist in the implementation.
### 2. Replace the explicit-timezone path in fromLocalDate
Retain the existing `timezone === ''` path. Replace the remainder of
`fromLocalDate()` with the following code:
```typescript
const formatter: Intl.DateTimeFormat = new Intl.DateTimeFormat('en-GB', {
    timeZone: timezone,
    calendar: 'gregory',
    numberingSystem: 'latn',
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    hour: '2-digit',
    minute: '2-digit',
    second: '2-digit',
    hourCycle: 'h23',
});
const parts: Array<Intl.DateTimeFormatPart> = formatter.formatToParts(date);
const getPart: (type: Intl.DateTimeFormatPartTypes) => number =
    (type: Intl.DateTimeFormatPartTypes): number =>
        Number(parts.find((part: Intl.DateTimeFormatPart): boolean => part.type === type)?.value);
const utcDate: Date = new Date(0);
utcDate.setUTCFullYear(getPart('year'), getPart('month') - 1, getPart('day'));
utcDate.setUTCHours(getPart('hour'), getPart('minute'), getPart('second'), date.getUTCMilliseconds());
return new ZonedDate(utcDate, timezone, date);
```
Here, `utcDate` is deliberately a carrier of wall-clock fields in its UTC
components, matching Kendo's existing internal representation. It is not
the original UTC instant. No browser-local `Date` setters are used.
The use of `hourCycle: 'h23'` prevents midnight from being encoded as hour 24.
Milliseconds are preserved directly from the original instant.
## Regression coverage and review scope
Please verify:
- The five expected hours in the reproduction, under UTC and Berlin hosts.
- Full calendar fields and milliseconds around both spring and autumn transitions.
- `toLocalDate().getTime()` and `getTime()` still equal the input instant.
- `getTimezoneOffset()` distinguishes the two occurrences of Berlin `02:00`:
  -120 for `00:00Z`, and -60 for `01:00Z`.
- Zones with negative offsets and southern-hemisphere DST.
- Existing behavior when the timezone argument is omitted or empty.
The constructor/factory proposal addresses conversion from a known instant.
It is not a complete redesign of ambiguous/nonexistent wall-clock input.
Please also audit `clone()` and `toTimezone()`: the current implementation
reconstructs values from wall-clock fields and can lose repeated-hour identity.
Other arithmetic and `fromUTCDate()` paths require the vendor's full regression
suite before release. Formatter caching may be appropriate after correctness
and browser-support requirements are established.
### Validation performed
The reproduction above fails on the installed package with exactly the
documented hours and passes with the proposed changes applied in memory.
The proposal also passed 11,580 conversion checks: five target zones
(`Europe/Berlin`, `Europe/Athens`, `America/New_York`, `Australia/Hobart`,
`Etc/UTC`), two host timezones (UTC and Berlin), and 15-minute samples within
24 hours either side of six 2025 spring/autumn transition instants.
These checks compared full calendar fields against `Intl`, verified
milliseconds and instant round trips, and checked offset consistency.
Separate checks verified the two Berlin repeated-hour offsets and unchanged
floating-date conversion for the sampled instant. Installed dependency files
were not modified. This is focused validation, not Telerik's full test suite.
## Application workaround
Our application bypasses `ZonedDate.fromLocalDate()` for its display-date
conversion and obtains calendar fields through `Intl.formatToParts()` instead.
All active timestamp tests pass with UTC and Berlin host timezones.
The original epoch value remains authoritative. A browser-local `Date` used
as a display carrier cannot itself retain an arbitrary timezone or distinguish
both occurrences of a repeated hour, and can normalize nonexistent host-local
times during spring-forward transitions.

Unplanned
Last Updated: 20 Oct 2026 11:51 by ADMIN
Created by: Julien
Comments: 4
Category: Drawer
Type: Feature Request
1

Hi,

Please provide similar functionality to Material's BreakpointObserver:

https://material.angular.io/cdk/layout/api#BreakpointObserver

that will allow changing the default options of the Drawer automatically based on the screen size.

Thank you

Unplanned
Last Updated: 19 Oct 2026 14:46 by ADMIN

In firefox, open the Kendo Radio Button documentation and slowly resize the window (https://www.telerik.com/kendo-angular-ui/components/inputs/radiobutton)

The radio button will kind of jiggle around and occasionally the white dot in the radio button will become off-center.

image-2026-01-15-14-27-31-711.png

This also seems to happen in response to some material bouncy (cubic-bezier) animation transitions.

Unplanned
Last Updated: 19 Oct 2026 14:46 by ADMIN

Hi, 

Optimize the internal selection mechanism to enhance overall performance and prevent browser hangs when a large number of items are selected. This enhancement will significantly improve the user experience and ensure smooth functionality within the application.

Example - https://stackblitz.com/edit/angular-83jvpr?file=src%2Fapp%2Fapp.component.ts

 

Unplanned
Last Updated: 19 Oct 2026 14:45 by ADMIN
Created by: Kendo UI
Comments: 2
Category: Scheduler
Type: Feature Request
2

Hi, 

This will allow the developer to update the view of the Scheduler component without reloading the data.

Unplanned
Last Updated: 19 Oct 2026 14:45 by ADMIN
Created by: Marc
Comments: 2
Category: Scheduler
Type: Feature Request
1

Please provide a TimeLineMultiWeekView. It should allow the TimeLine view to display a start date from one month up to an end date in the following month. It should be similar to the available MultiWeekView.

thank you

Unplanned
Last Updated: 19 Oct 2026 14:44 by ADMIN
Created by: Evgeniy
Comments: 2
Category: Tooltip
Type: Feature Request
2
It would be nice to have a built-in way to show the tooltip for overflowing text only instead of writing a function as defined in this KB article.
Unplanned
Last Updated: 19 Oct 2026 14:44 by ADMIN

Hi Team, 

Currently, there is no designated event that is being fired when selecting an already selected item in the PanelBar component. I would like to have an event that is being fired in such a use case.

In React and jQuery, the PanelBar component seems to be firing an event in such cases:

- React: https://www.telerik.com/kendo-react-ui/components/layout/panelbar/events/

- jQuery: https://demos.telerik.com/kendo-ui/panelbar/events

 

Unplanned
Last Updated: 19 Oct 2026 14:44 by ADMIN
Provide an option to clear the value of the DropDownTree and MultiSelectTree with a keyboard shortcut (like Esc key for the Combobox).
Unplanned
Last Updated: 19 Oct 2026 14:43 by ADMIN
Created by: Rayane
Comments: 2
Category: PivotGrid
Type: Feature Request
1

Hi,

The inclusion of grouping support in the PivotGrid would be a valuable enhancement. This could potentially involve enabling drag-and-drop functionality for grouping, and it could also be integrated into the configurator for added convenience.

Unplanned
Last Updated: 19 Oct 2026 14:43 by ADMIN
Created by: Kendo UI
Comments: 2
Category: DropDownList
Type: Feature Request
1

Hi,

At present, the DropDowns have the capability to accommodate just a single level of grouping. Enhancing this feature to support multiple levels of grouping would be highly beneficial.

Unplanned
Last Updated: 19 Oct 2026 14:42 by ADMIN
Created by: Kendo UI
Comments: 2
Category: ComboBox
Type: Feature Request
0

Hi,

The current scenario involves the itemDisabled function being invoked five times for each item when the popup is active.

Example - https://stackblitz.com/edit/angular-natpq9-5uzrh5?file=src%2Fapp%2Fapp.component.ts

It would be preferable to optimize this such that the function is called only once per item.

Unplanned
Last Updated: 19 Oct 2026 14:41 by ADMIN

Hi,

Presently, there isn't a feature that permits the programmatic selection of a custom item. The only approach accessible is to utilize the "Enter" key for item selection. It would be appreciated if an option could be implemented to manually add typed custom items to the MultiSelect value.

https://stackblitz.com/edit/angular-ikoxq1-x3xnsf?file=src%2Fapp%2Fapp.component.ts

Unplanned
Last Updated: 19 Oct 2026 14:41 by ADMIN
Created by: Mikhail
Comments: 2
Category: Editor
Type: Feature Request
2

Hi,

It would be a nice feature for the Editor toolbar to have built-in copy, paste, and cut tools.

Unplanned
Last Updated: 19 Oct 2026 14:41 by ADMIN
Created by: Simon
Comments: 2
Category: Gantt
Type: Feature Request
1
https://docs.telerik.com/kendo-ui/api/javascript/ui/gantt/configuration/hourspan
Unplanned
Last Updated: 19 Oct 2026 14:40 by ADMIN
Created by: Kendo UI
Comments: 2
Category: DateMath
Type: Feature Request
0
Be able to get the calculation in a number of days between two dates in a similar manner as durationInMonths, durationInYears, durationInDecades, and durationInCenturies.
Unplanned
Last Updated: 19 Oct 2026 14:39 by ADMIN
Created by: Kendo UI
Comments: 2
Category: TreeView
Type: Feature Request
2

Request related to - https://github.com/telerik/kendo-angular/issues/3452

Currently, the default filtering mode, known as "lenient", halts its search as soon as a match is identified, showcasing all child elements of that match irrespective of their correspondence with the filter term. However, due to this design, using "lenient" mode while simultaneously auto-expanding child elements matching the filter term is not feasible.

In the "lenient" mode, the algorithm terminates its comparison upon encountering a match. Consequently, utilizing "lenient" mode along with automatic expansion of potential child matches requires switching to the "strict" filtering mode. This compels the algorithm to perform comprehensive comparisons throughout the entire tree, ensuring explicit identification and expansion of all matches.

https://stackblitz.com/edit/angular-5oxrjd-m3qsi6?file=app%2Fapp.component.ts

An enhancement can be introduced by incorporating a setting that drives the algorithm to perform exhaustive comparisons even within "lenient" mode, introducing the capability to expand matches while maintaining the current operational design.

Unplanned
Last Updated: 19 Oct 2026 14:38 by ADMIN
Created by: Kendo UI
Comments: 2
Category: Menu
Type: Feature Request
0


Currently, there is no easy way to add attributes to the <li> elements of the ContextMenu items. It will be a nice addition, which will allow additional customization of the list items.

 
Unplanned
Last Updated: 19 Oct 2026 14:37 by ADMIN
It would be nice if you supported specific row selection based on user-defined conditions, without disabling the entire row. The goal is to eliminate the need for additional customization required to handle multi selection behavior on the user's end.

Implementing this functionality would greatly benefit applications that heavily rely on grid usage. Currently, each usage of the grid component requires a custom implementation to override default behavior.
1 2 3 4 5 6