Skip to content

Releases: uwdata/arquero

v4.1.0

22 Mar 22:15
Compare
Choose a tag to compare

Changes from v4.0.0:

  • Add grouped option for table.objects() method to export nested data. (thanks @lsh!)
  • Add shuffle option for the sample() verb. All sampled tables are now shuffled by default.
  • Add op.parse_json and op.to_json functions for wrangling JSON string data.
  • Add op.map_agg and op.entries_agg aggregate functions, similar to the existing op.object_agg.
  • Add columns option for table.objects and table.print output.
  • Update table.get(column, row) to default to row index 0 if row is unspecified.
  • Update aggregate value collector to avoid unnecessary array copies.
  • Fix table expression code generation for computed object keys ({['a'+'b']: 'c'}).
  • Fix aq.table() bug with Map input.

v4.0.0

14 Mar 21:21
Compare
Choose a tag to compare

Changes from v3.0.0:

  • (Breaking Change) Add op.array_agg aggregation function, remove prior op.values definition .
  • (Breaking Change) Add op.array_agg_distinct aggregation function, remove prior op.unique definition.
  • Add op.object_agg aggregate function.
  • Add op.greatest and op.least functions, corresponding to Math.max and Math.min.
  • Add op.compact function to filter invalid values from an array.
  • Add support for Map and Set instances to op.has(), op.keys(), and op.values().
  • Add op.entries() function, with support for Object, Map, and Set instances.
  • Add table columnArray() method.
  • Update parser to rewrite Math.max and Math.min to use greatest and least.
  • Fix dedupe() to produce ungrouped tables.

v3.0.0

16 Feb 09:25
Compare
Choose a tag to compare

Summary:

  • (Breaking Change) Update table getter methods to respect filter and orderby.
  • Add the arquero-arrow package into the core Arquero package.
  • Add file loading methods for URLs and local files.
  • Update build system to use separate node.js and browser builds.

Changes from v2.3.0:

  • Breaking: Update table get() and getter() to respect filter and orderby settings.
  • Add load(), loadArrow(), loadCSV(), and loadJSON() file loading methods.
  • Add table toArrow() method.
  • Add table toArrowBuffer() method.
  • Add top-level toArrow() method that encodes either Arquero tables or arrays-of-objects.
  • Add top-level Type object to export Arrow type ids.
  • Add table size property, which matches numRows(). (thanks @mbostock!)
  • Update fromArrow() to also support Arrow buffer byte array input.
  • Update fromJSON() for consistent auto-typing and to improve performance.
  • Fix table reify() bug for Arrow columns with null values. (See also #99)
  • Split node.js and browser builds.
  • Add tests.

v2.3.0

03 Feb 22:03
Compare
Choose a tag to compare

Changes from v2.2.0:

  • Add an internal dictionary column abstraction.
  • Add "pay-as-you-go" extractors for nested Arrow types, rather than unpacking.
  • Add inlined table scans in performance critical sections (includes derive, filter, groupby, and aggregate).
  • Add extensibility API for custom table methods, verbs, and package bundles.
  • Update expression parser to optimize equality checks for dictionary/literal comparisons.
  • Update expression parser to annotate direct column and operator references.
  • Update groupby() verb to directly use dictionary keys when applicable.
  • Update rollup() logic to generate table-compatible column arrays and assign them when applicable.
  • Update from() with a more performant path for ingesting an array of objects.
  • Add performance benchmarks for direct Arrow and Arrow-Arquero operations.
  • Add performance benchmarks for table-object serialization.
  • Fix AST tree walker bug for list types.

v2.2.0

22 Jan 10:39
Compare
Choose a tag to compare

Changes from v2.1.3:

  • Update table() constructor to accept Map objects and [[key, value], ...] entry arrays as input.
  • Update fromCSV() parsing to ensure consistent types across column values.
  • Add autoMax option to fromCSV() to control how many initial rows are used for type inference.
  • Add assign() method to bind columns from multiple tables into a new table.
  • Add slice() verb to extract contiguous rows from table groups.
  • Add frac() helper to generate expressions for per-group row counts. Useful as input to the sample() verb.
  • Add column iterator support. (thanks @mbostock!)
  • Add column factory mechanism, export as internal.columnFactory() getter/setter.
  • Add exports for internal.Transformable and internal.Verb classes.
  • Add internal performance benchmark scripts.
  • Refactor: Consolidate default null / missing value.
  • Refactor: Consolidate internal loop unrolling utilities.
  • Refactor: Reorganize directory structure.

v2.1.3

15 Jan 20:42
Compare
Choose a tag to compare

Changes from v2.1.2:

  • Fix expression parser to evaluate non-literal column reference expressions. (#74)

v2.1.2

12 Jan 14:04
Compare
Choose a tag to compare

Changes from v2.1.1:

  • Update JSDoc comments and improve generated TypeScript typings.
  • Update Table API docs.
  • Fix table iterator filter check bug.

v2.1.1

08 Jan 15:45
Compare
Choose a tag to compare

Changes from v2.1.0:

  • Fix JSDoc comments for table() method. (thanks @vsimko!)

v2.1.0

07 Jan 17:49
Compare
Choose a tag to compare

Changes from v2.0.0:

v2.0.0

29 Dec 12:58
Compare
Choose a tag to compare

Changes from v1.3.1:

  • Breaking: Add schema metadata to fromJSON() and toJSON().
  • Breaking: Add drop option to spread() verb to drop input columns, set default to true.
  • Breaking: Revise spread() to use undefined for missing values.
  • Breaking: Revise spread() to use _ separator between column name and index number in auto-generated names.
  • Breaking: Revise spread() to use the length of the as option as an implicit limit when limit is unspecified.
  • Breaking: Revise pivot() to place value name before key name when multiple values are specified.
  • Breaking: Consolidate internal Query and QueryBuilder classes.
  • Add impute() verb.
  • Add column reference checks to pivot() and rollup().
  • Add more flexible join key specification for lookup().
  • Update sample() weight calculation to drop unneeded columns.
  • Update verb JSDoc comments / TypeScript types.
  • Fix input type checks for sequence op functions.
  • Fix code generation for safer output.
  • Refactor: Expose row_number op for internal use.
  • Refactor: Update expression parser error messages.
  • Refactor: Add Transformable base class for both Table and Query.
  • Refactor: Update ColumnTable constructor.