Releases: uwdata/arquero
Releases · uwdata/arquero
v4.1.2
v4.1.1
v4.1.0
Changes from v4.0.0:
- Add
grouped
option fortable.objects()
method to export nested data. (thanks @lsh!) - Add
shuffle
option for thesample()
verb. All sampled tables are now shuffled by default. - Add
op.parse_json
andop.to_json
functions for wrangling JSON string data. - Add
op.map_agg
andop.entries_agg
aggregate functions, similar to the existingop.object_agg
. - Add
columns
option fortable.objects
andtable.print
output. - Update
table.get(column, row)
to default to row index0
ifrow
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 withMap
input.
v4.0.0
Changes from v3.0.0:
- (Breaking Change) Add
op.array_agg
aggregation function, remove priorop.values
definition . - (Breaking Change) Add
op.array_agg_distinct
aggregation function, remove priorop.unique
definition. - Add
op.object_agg
aggregate function. - Add
op.greatest
andop.least
functions, corresponding toMath.max
andMath.min
. - Add
op.compact
function to filter invalid values from an array. - Add support for Map and Set instances to
op.has()
,op.keys()
, andop.values()
. - Add
op.entries()
function, with support for Object, Map, and Set instances. - Add table
columnArray()
method. - Update parser to rewrite
Math.max
andMath.min
to usegreatest
andleast
. - Fix
dedupe()
to produce ungrouped tables.
v3.0.0
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()
andgetter()
to respect filter and orderby settings. - Add
load()
,loadArrow()
,loadCSV()
, andloadJSON()
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 matchesnumRows()
. (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
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
Changes from v2.1.3:
- Update
table()
constructor to acceptMap
objects and[[key, value], ...]
entry arrays as input. - Update
fromCSV()
parsing to ensure consistent types across column values. - Add
autoMax
option tofromCSV()
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 thesample()
verb. - Add column iterator support. (thanks @mbostock!)
- Add column factory mechanism, export as
internal.columnFactory()
getter/setter. - Add exports for
internal.Transformable
andinternal.Verb
classes. - Add internal performance benchmark scripts.
- Refactor: Consolidate default null / missing value.
- Refactor: Consolidate internal loop unrolling utilities.
- Refactor: Reorganize directory structure.