Skip to main content

Release Notes

ReleaseDateNotes
2.5.42024/06/08
  • Quality improvements
  • 2.5.32024/06/01
  • Feature: Canned searches dropdown for quick toggle when using df.ui.filterDisplayMode = 'inline'
  • Foreign Key related fixes (still WIP)
  • Internal: PercentField merged into NumberField with subtype as percent
  • 2.5.22024/05/22
  • Foreign Key related fixes (still WIP)
  • 2.5.12024/05/20
  • Foreign Key related fixes (still WIP)
  • 2.5.02024/05/18
  • Foreign Key implementation re-design (still WIP)
  • 2.4.02024/05/06
  • Quality improvements
  • Upgrade: Tagify 4.26.2 upgrade due to bugs in 4.24.0
  • 2.3.02024/04/15
  • Performance: Avoid browser freeze for DataFrame layouts and workspaces with large DataFrames
  • Upgrade: Fixes related to echarts 5.5.0 upgrade
  • Upgrade: Fixes related to tagify 4.24.0 upgrade
  • 2.2.02024/04/08
  • Feature: Workspace view type for DataFrame Layouts.
  • Script API: ISOWEEKOFYEAR and ISODAYOFWEEK API.
  • 3rd party library upgrades
  • Quality improvements
  • 2.1.12024/01/02
  • UX: UI enhancements to calculated fields editor
  • Charts: Improved rendering of charts in darkmode
  • UX: Layout improvements for distributions witin DataFrame Explorer
  • 2.1.02023/12/26
  • DataFrame: Fix limit computation to be applied after order by for filtered dataframes (fdf)
  • UX: Simplified pivot table configuration
  • Charts: Improved bar chart layout when using colorBy or partitionBy
  • 2.0.22023/12/18
  • Charts: Improved category axis label ordering in sparse trellis charts
  • 2.0.12023/12/11
  • DataFrame: Ability to specify multiple worksheets when processing an Excel based data source
  • Performance: Improved scroll performance
  • 2.0.02023/11/27
  • Breaking change Dependency on preact/jsx-runtime (moving away from htm)
  • Breaking change Improved security of loading 3rd-party libraries using SRI
  • Breaking change SQL Frames and dependent libraries are loaded in a separate requirejs context for better isolation and compatibility
  • 1.0.72023/09/05Quality release
    1.0.62023/07/10Quality release
    1.0.52023/06/26
  • Ability to use custom fetch API to fetch remote data
  • Fix for pivot table col expand/collapse regression due to preact upgrade
  • 1.0.42023/06/12
  • Charts: Enabled Universal Transition by default to allow morphing between chart types
  • 1.0.32023/06/05
  • New Dependency: IntersectionObserver
  • Charts: Charting API support for pivot tables
  • Breaking change: DataFrame: Percent fields storage change so they can be used correctly in calculated fields
  • 1.0.22023/05/01
  • DataFrame: Improved parsing of date and datetime values in Excel files
  • Excel: Fix for calculations with base items to be consistent with Excel
  • 1.0.12023/04/17
  • DataFrame: Heatmap improvements for aggregate calculated fields
  • 1.0.02023/04/10
  • UX: Various pivot table display options within Pivot config dialog
  • 1.0.0-beta.42023/04/03
  • Breaking change: All css variables prefixed with sf to avoid conflict.
  • UX: Drag and Drop support and transpose option in Pivot Configuration
  • 1.0.0-beta.32023/03/27
  • UX: Default and readonly filters
  • 1.0.0-beta.22023/03/20
  • UI: RTL support in dialogs, dropdowns, tabs, slicers and filter UI
  • 1.0.0-beta.12023/03/13
  • PERF: Improved UI performance of dataframes within a dialog
  • 1.0.0-beta.02023/03/06
  • UI: Reactive containers for dynamic UI
  • UX: VDOM based rendering of containers for better slicers UX
  • 1.0.0-alpha.22023/02/27
  • Breaking change: Some menu options are renamed and reorganized.
  • 1.0.0-alpha.12023/02/13Quality release
    1.0.0-alpha.02023/02/06
  • Slicers: Array fields as slicers
  • Charts: Ability to view the details of a data point using the contextual menu action
  • 0.13.132023/01/30
  • Slicers: Ad-hoc filtering along with slicers
  • 0.13.122023/01/23
  • Slicers: Filtered counts in slicers
  • Formatting: Value mapping data styler
  • 0.13.112023/01/17
  • Improved handling of datetime fields
  • Quality release
  • 0.13.102023/01/09
  • API: detailsOrderBy() to provide default sort order for details dataframe
  • API: trackMergedAt() to track the time stamp of record update/insert during merge
  • 0.13.92022/12/26
  • UI: Redesigned filter builder
  • UI: Ability to view, toggle enable/not of advanced filters
  • 0.13.82022/12/19
  • UI: Field context menu action to delete a calculated field
  • isrollup() API to filter only rollup slices of a given dimension
  • 0.13.72022/12/12
  • Field views
  • 0.13.62022/12/05
  • Canned field filters
  • 0.13.52022/11/21
  • Dynamic sized charts
  • 0.13.42022/10/31
  • UI: Canned Searches
  • max dedupe/merge strategy
  • Access response headers for incremental load strategy
  • 0.13.32022/10/24
  • Delta merge (incremental data loading) using df.merge()
  • Data deduplication while creating a DataFrame
  • Create a DataFrame from multiple urls
  • 0.13.22022/10/18
  • Calculated array fields
  • 0.13.12022/10/10
  • containsAll and containsAny filter operators for array fields.
  • 0.13.02022/10/03
  • SQL: unnest operator in SELECT
  • Ability to create array fields via CSV
  • Breaking change: CSS of katex library is no longer included by default.
  • 0.12.122022/09/26
  • This is a quality release before the next minor version (0.13.0)
  • 0.12.112022/09/19
  • Accessibility: Keyboard navigation of dropdown menus
  • 0.12.102022/09/12
  • UX: Data fetch progress details for csv files
  • API: getCountField() API for displaying number of children in hdf rows
  • 0.12.92022/09/05
  • Accessibility: Keyboard navigation of data grid column headers
  • UI: Enhanced record view with multi-column layout
  • 0.12.82022/08/29
  • Accessibility: In table navigation with arrow keys (similar to WAI example of data grids)
  • UX: Improved csv download experience showing download progress
  • 0.12.72022/08/22
  • UI: Submenus
  • PERF: Better memory management (for CSV files up to 1GB)
  • SQL: compatibility fixes

    1. undefined is output as null in the generated SQL
    2. LIMIT is respected for non-recursive parts of recursive CTE
  • 0.12.62022/08/15
  • PERF: Performance improvements for import/export of large CSV files
  • UI: Tabs and widgets enhancements
  • 0.12.52022/08/08
  • Support formula, dates for .xlsx files and also ability to pick the sheet by index
  • UX: Ability to toggle a dialog to full window mode
  • App: Improvements to REPL
  • 0.12.42022/08/01
  • Ability to create a DataFrame from an Excel file (.xlsx only) (WIP)
  • UI: Field context menu options for Hierarchical DataFrames (Add to hierarchy, No hierarchy)
  • 0.12.32022/07/25
  • UI: Navbar mode for slicers, ability to display slicers at the top of the page
  • UI: Data context menu, ability to invoke context menu for each data grid cell
  • 0.12.22022/07/18
  • New dependency: AbortController
  • PERF: Improvements for hierarchy with large number of children under the root
  • PERF: Memory leak fixes (REPL & Select widget)
  • 0.12.12022/07/11
  • Breaking change: Roboto mono font is no longer pre-loaded. Application needs to import desired fonts.
  • UX: better estimation of default column widths
  • UI: accessibility improvements
  • 0.12.02022/07/04
  • Breaking change: Removed ./react export and associated bundles. This reduces the npm package size (but not the actual library size). This helps with providing framework specific components as sparate packages so that only the necessary dependencies are used by downstream applications
  • UI: Smart scrollbars - scrollbars in one direction won't cause scrollbars in the other direction
  • UI: Column virtualization with more than 1000 columns
  • 0.11.132022/06/27
  • UI: Column virtualization for non-pivot tables with fixed columns
  • PERF: data grid rendering performance improvements
  • 0.11.122022/06/20
  • UI: df.ui.openDownloadDialog() API
  • UI: df.ui.renderFilter() and df.ui.filterDisplayMode APIs
  • UI: Column virtualization for improved performance
  • PERF: pivot table rendering performance improvements
  • 0.11.112022/06/13
  • UI: Pivot column styling
  • UX: Dimension Hierarchies, Part 2 (support for pivot tables)
  • UI: df.ui.openCalculatedFieldDialog() API to open calculated field create/edit
  • UI: Reactivity improvements when adding calculated fields on the fly
  • 0.11.102022/06/06
  • UX: df.ui.colorCoded API to toggle color coding
  • UX: Dimension Hierarchies, Part I
  • 0.11.92022/05/30
  • UX: DataFrame Diff (DataFrame comparision)
  • UI: Striped Styler
  • df.regex() API to easily create regex based calculated fields
  • 0.11.82022/05/23
  • Row Set ID to keep track of rows in the UNION ALL DataFrames
  • UI: Inheritance of row and field stylers
  • UI: Advanced Reporting with Summary Rows
  • UI: Ability to create a Hierarchical Slicer
  • 0.11.72022/05/16
  • UI: Context Menu Component
  • UI: DataFrame Column Context Menu Configuration
  • UI:Filter builder: Ability to do relative comparision (field1 op field2)
  • SQL: NOT of null value based filters (including AND and OR) semantics change to align with SQL
  • 0.11.62022/05/09
  • df.orderByPrefix() API to provide always on sort prefix
  • SQL Generation: Nested WITH clause support for Top M & Other within Top N and Other
  • 0.11.52022/05/02
  • Data Sets plugin - Top N, Bottom N, Extreme N
  • Top N & Other
  • SQL Generation: several fixes, better type casting for PostgreSQL
  • 0.11.42022/04/25
  • prod and prodo aggregate and analytic functions API for product of values
  • SQL: anyValue aggregate Function
  • SQL.groupingId(), SQL.grouping() and SQL.groupId() APIs for calculated fields based on level of detail of the record.
  • slicers.orderBy() API to specify default sort order of slicers
  • UI: Ability to include/exclude in slicers
  • PERF: memory fix to enable two very large dfs rendered back to back
  • 0.11.32022/04/18
  • Charts: Scorecard charts
  • UI: df.ui.addLayout() API for DataFrame layouts
  • UI: df.title API to render a table with a title on top (useful in dashboards)
  • UX: hdf.singleHierarchyField ApI to display hierarchy in single or separate columns
  • UX: Field names augmented with data type icons
  • 0.11.22022/04/11
  • UX: df.filter.slicers() API for creating DataFrame slicers
  • SQL: SQL.hierarchy() and Time.hierarchy() APIs
  • 0.11.12022/04/04
  • Charts: Reactive Charts via chart.refresh() API
  • UI: Responsive table layout (df.ui.fillWidth API)
  • Charts: Pie charts with multiple metrics (concentric pies)
  • SQL: Dynamic offset for LAG and LEAD SQL functions
  • UI: Ability to customize the default DataFrame column widths in the UI
  • UX: Ability to toggle display of column headers above or below the pivot column values.
  • UX: Improved drag & drop in all widgets that select/reorder DataFrame fields.
  • 0.11.02022/03/28
  • Bundling: Monaco editor and acorn are made optional to reduce bundle sizes for end user UI flows
  • UX: Floating dropdowns to avoid clipping (need the optional, dynamic dependency @floating-ui)
  • Stats: Cumulative % shown in number fields distributions (binning)
  • Charts: Chart layout improvements
  • 0.10.122022/03/21
  • Charts: Responsive Charts
  • Charts: Drilldown animations (generalization of bar chart racing)
  • Charts: chart.limit() API so the chart can be plotted against a range of records in the DataFrame
  • PERF: DataFrame.benchmark() API for easy and consistent performance benchmarking
  • PERF: CSV parsing performance optimizations
  • 0.10.112022/03/14
  • UX: Support for * (and alias.* for joins) with pdf()
  • UX: Ability to configure (select and reorder) pivot value fields
  • Charts: drillpath shows all the DataFrames leading to the current level
  • SQL: SQL.bucket() API for numeric bucket fields
  • SQL: local() variables for calculations (makes it easy to generate data as per the final output instead of using pdf())
  • 0.10.102022/03/07
  • calculation.memoize() API to memoize slow computations (like those involving dates)
  • UI: Data Formatters
  • API: unformatted or iso-formatted header values with df.getData() API (useful for date fields in pivot columns)
  • Charts: chart.showDF to show DataFrame below the chart (works with drillpath API too)
  • 0.10.92022/02/28
  • SQL: INTERSECT/EXCEPT SQL operators
  • UX: Auto-suggest of DataFrame fields when editing the script of a calculated field
  • UX: Row sub-totals and grand-totals can be displayed first (left) or last (right)
  • UI: Copy to clipboard (generates csv and copies it to the clipboard)
  • UX: REPL Code editor hide/show UI control
  • SQL: SQL.least() and SQL.greatest() API
  • 0.10.82022/02/21
  • Charts: Dynamic stacked bars
  • PERF: Star schema join optimization (jdf.starFact API)
  • UX: Configurable DataFrame menubar including custom actions
  • SQL: SQL.round()
  • 0.10.72022/02/14
  • df.asHierarchy() API to organize pivot table according to an existing recursive hierarchy
  • UX: Execution Summary Report in DataFrame Explorer
  • SQL: SQL.abs()
  • 0.10.62022/02/07
  • SQL: LIKE operator support (this makes SQL Frames both execute and generate all the 22 TPC-H benchmark queries!)
  • df.getRelated() API to display related data
  • UI: df.ui.explorer API to display the DataFrame Explorer
  • UX: df.ui.excelHeaders API to display Excel-like headers
  • 0.10.52022/02/01
  • UI: DataFrame dependency graph layout improvements in DataFrame Explorer
  • UI: Custom row layouts for jdf and pdf DataFrames
  • Ability to sort by calculated fields of pdf
  • Charts: Chart layout improvements
  • SQL Generation: SQL Generation fixes
  • 0.10.42022/01/23
  • UI: Ability to hide the DataFrame menubar components
  • Charts: Chart layout improvements
  • SQL: SQL.substring() API
  • PERF: Performance improvements
  • SQL Generation: SQL Generation fixes
  • 0.10.32022/01/16
  • SQL: Nested subqueries
  • PERF: Detection of subqueries as uncorrelated
  • SQL: Fixes to support TPC-H benchmark suite
  • 0.10.22022/01/10
  • vdf.sortColumns() API
  • Multipart PK support for recursive hierarchy flattening
  • 0.10.12022/01/02
  • Currency field
  • df.getData() API
  • First release via npm
  • 0.10.02021/12/25
  • Sub selects and Sub queries
  • Pivot tables from derived tables of gdf (grouped df). Earlier pivot tables were only allowed directly on grouped dataframes. That is, only gdf.vdf was allowed. Now, gdf.pdf.vdf, gdf.fdf.vdf and even join(gdf).vdf are also possible.

  • 0.9.302021/12/17DataFrame.Sandbox and User Defined Functions
    0.9.292021/12/14Summary values & tags
    0.9.282021/12/09
  • Recursive Hierarchy Flattening
  • Gauge charts
  • 0.9.272021/12/03Drilldowns
    0.9.262021/11/29Fixing packaging issues
    0.9.252021/11/26First production release for customers