Skip to content

Release v1.2.66

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Jun 10:18
· 89 commits to development since this release
de69e97

Ivy Framework Weekly Notes - Week of 2026-06-03

Note

We usually release on Fridays every week. Sign up on https://ivy.app/ to get release notes directly to your inbox.

New Features

Activity Heatmap Builder API

We have introduced a powerful new ActivityHeatmapBuilder<TSource> to simplify binding and aggregating structured data sources into a GitHub-style activity calendar. Instead of manually constructing arrays of Activity records, you can now use fluent builder methods to perform server-side grouping and aggregation.

Key capabilities include:

  • Fluent Aggregation: Support for standard aggregation metrics via ToActivityHeatmap (e.g., Sum, Count, Average, Min, Max).
  • Auto-detected Granularity: Automatically groups timestamps into daily or hourly calendar cells.
  • Hourly Granularity: Full support for hourly interval rendering (ActivityInterval.Hourly), displaying activity distributions across hours of the day.

Example Usage

using Ivy;
using Ivy.Widgets.ActivityHeatmap;

public class MyHeatmapApp : ViewBase
{
    private IQueryable<UserAction> _actions;

    public override object Build() =>
        _actions.ToActivityHeatmap(
            dimension: action => action.Timestamp,
            measure: action => action.PayloadSize
        )
        .ColorScheme(Colors.Emerald)
        .ShowTooltip(true)
        .ValueLabel("Bytes Transferred")
        .OnDayClick(action => {
            Console.WriteLine($"Day clicked: {action.Date}, Value: {action.Value}");
        });
}

Bug Fixes and Improvements

Desktop Window Icon Extraction Console Noise

Removed redundant console debug logs generated when extracting embedded window icons in DesktopWindow.cs (#4559), resulting in cleaner startup logs for desktop-deployed applications.

Activity Heatmap Pivot Aggregations

Fixed an issue where multiple timestamps falling on the same day/hour cell were improperly flattened. The builder now groups pivots by granular cell timestamps before performing the selected aggregation (Average/Min/Max/Count), and eliminates duplicate date entries in the data grid.

Markdown Spacings

Resolved a spacing bug in MarkdownRenderer.tsx that caused incorrect layout gaps when rendering nested media elements (like images or videos inside list items or customized block layouts).