Skip to content

Releases: uwdata/mosaic

v0.18.0

26 Jun 06:53
Compare
Choose a tag to compare

Changelog:

  • Port mosaic-core and mosaic-sql packages to TypeScript.
  • Expose database connector classes (SocketConnector, DuckDBWasmConnector), deprecate initializer methods (socketConnector, wasmConnector).
  • Reorganize monorepo structure, grouping related packages into subfolders.
  • Fix inclusion of type definitions in published packages.
  • Update dependencies.

Full Changelog: v0.17.0...v0.18.0

v0.17.0

15 Jun 01:39
Compare
Choose a tag to compare

Changelog:

  • Breaking: Drop rows and range methods from SQL aggregate and window function AST nodes, instead use new frame method to set window frame leveraging new WindowFrame AST node support.
  • Breaking: Simplify server API, remove support for saving and loading data bundles.
  • Add more expressive SQL AST node for WindowFrame.
  • Add SQL AST support for aggregate and window function argument ORDER BY.
  • Add SQL AST helpers for time intervals: years, months, days, hours, minutes, seconds, milliseconds, microseconds.
  • Add support for count_star aggregate function (used internally by DuckDB).
  • Add SQL AST sample support to FromClause node.
  • Add SQL AST support for LIMIT and OFFSET clause expressions (not just constant numbers).
  • Add SQL AST support for percentage-based LIMIT clauses.
  • Add SQL AST support for COLLATE expressions.
  • Add options type hint for SQL AST Verbatim node.
  • Add improved support for cloning SQL AST nodes.
  • Add declarative spec support for some SQL AST updates.
  • Add new window-frame example test specification.
  • Update TypeScript setup, unify config, and export types from all packages.
  • Update docs to load data from Cloudflare R2.
  • Update vitest packages config.
  • Update dependencies.

Full Changelog: v0.16.2...v0.17.0

v0.16.2

07 May 22:08
Compare
Choose a tag to compare

Changelog

  • Fix SQL rewrite helper so that it does not mutate input.

Full Changelog: v0.16.1...v0.16.2

v0.16.1

07 May 19:53
Compare
Choose a tag to compare

Changelog

  • Breaking: Modify Rest and Socket connector methods to accept an options object, not a URI string. The server uri is now passed as an option instead.
  • Add ipc option to connectors to pass Flechette extraction options for Arrow IPC decoding.
  • Add types for database connectors, move to class-based implementations.
  • Add types for inputs package.
  • Add DuckDB ENUM type interpretion support. (thanks @kwonoh!)
  • Fix Param mutation issue in Jupyter widget.
  • Fix some Mosaic client types. (thanks @kwonoh!)
  • Update lint rules, fix violations.
  • Update dependencies.

New Contributors

Full Changelog: v0.16.0...v0.16.1

v0.15.0

17 Mar 22:16
Compare
Choose a tag to compare

Highlights

  • This version adds the ability to selectively enable/disable clients.
  • It also simplifies and streamlines the client lifecycle to use a single prepare call as part of client initialization. It includes the breaking change of removing the Mosaic client field and fieldInfo lifecycle methods. Instead of these methods, clients can directly call mosaic-core's queryFieldInfo within a client's prepare lifecycle method.

Changelog

  • Breaking: Drop client fields and fieldInfo lifecycle methods, rely solely on prepare instead. The queryFieldInfo can be used instead to lookup field info directly; it uses the same types as the removed methods.
  • Add client enabled property. When enabled is set to false, the client will not initialize nor respond to query requests and selection updates. This setting can improve performance, for example by suppressing updates to off-screen interface components. When enabled is set to true, any pending initialization or query requests will then proceed.
  • Add enabled and filterStable options to makeClient helper utility.
  • Update inputs and plot package to call queryFieldInfo within the client prepare method.
  • Refactor initialization logic between coordinator and client.
  • Add tests for client enabled property.

Full Changelog: v0.14.1...v0.15.0

v0.14.1

13 Mar 15:30
Compare
Choose a tag to compare

Changelog

  • Add exports for histogram binning utility methods in the sql package.
  • Fix preaggregator to abort if active clause is null.

Full Changelog: v0.14.0...v0.14.1

v0.14.0

13 Mar 04:33
Compare
Choose a tag to compare

Changelog

  • Add selection reset method to clear a selection of all clauses.
  • Add coalesce SQL function, which returns the first non-null argument.
  • Add histogram and date time binning transforms to sql package.
  • Fix examples to not await the WASM connector.
  • Fix preaggregation count measures to return zero (not null) for "empty" counts.
  • Fix preaggregator to abort if active clause is null.
  • Fix preaggregator to ensure group by columns are correctly pushed to subqueries that perform aggregation.
  • Fix client update requests to no-op when clients are not registered with a coordinator.
  • Fix lerna config to include examples directory.
  • Update dependencies.
  • Add simple vanilla HTML example of Mosaic use.

Full Changelog: v0.13.0...v0.14.0

v0.13.0

01 Mar 00:34
Compare
Choose a tag to compare

Changelog

  • Add dedicated WITH clause support, including for SetOperation. (thanks @spren9er!)
  • Add cte(...) method for direct construction of WITH clause nodes.
  • Add materialized property to WITH clause nodes to control explicit CTE materialization.
  • Update M4 transform to use a CTE and enforce CTE materialization. (thanks @spren9er!)
  • Add geomean aggregate function and preaggregation support. (thanks @spren9er!)
  • Add Activatable interface type for components that perform selection activation. (thanks @rpechuk!)
  • Add makeClient effect API for using Mosaic in other web frameworks. (thanks @donghaoren and @domoritz!)
  • Update inputs package class hierarchy and types.
  • Update documentation.
  • Use vitest workspaces to run test cases across all packages.
  • Use pure ESM packages, update package.json exports.
  • Move example projects to dedicated examples monorepo folder.
  • Add svelte and react usage examples.
  • Miscellaneous bug fixes.

New Contributors

Full Changelog: v0.12.2...v0.13.0

v0.12.2

13 Dec 22:33
Compare
Choose a tag to compare

Changelog

  • Add multi-density (groupby) and stack option support to density 1D marks.
  • Add normalize option to to density 1D marks.
  • Add density groups example.
  • Add queryFieldInfo and jsType utilities to mosaic-core exports. (thanks @kwonoh!)
  • Fix stack option support, treat them as constant mark channels.
  • Fix menu input to support null value options.
  • Fix dynamic column handling.

Full Changelog: v0.12.1...v0.12.2

v0.12.1

25 Nov 21:25
Compare
Choose a tag to compare

Changelog

  • Add waffle mark. (Example)
  • Add selection activation to inputs.
  • Fix hexbin query y-coordinate calculation.
  • Fix examples for better dark mode viewing. (#600)

Full Changelog: v0.12.0...v0.12.1