Skip to content

Releases: mrufsvold/ExpandNestedData.jl

Resolve World Age Issue

03 Aug 16:51
Compare
Choose a tag to compare

The generated get_index function could cause world age errors if the user set lazy_columns=true. This forces invokelatest to avoid this problem.

Fix Column Stacking Bug

03 Aug 14:42
59d0c74
Compare
Choose a tag to compare

There were come correctness problems due to the container that collects iteration information being mutable. They are now immutable and the bugs are squashed.

This release also significantly increases the speed of stacking large arrays by compiling a custom switching function

v1.1.0 Release

07 Jul 20:32
a3bdbd6
Compare
Choose a tag to compare

The principle change of this minor release is a total overhaul of the internals which significantly reduces allocations and dramatically improves performance on large inputs. The primary improvements are:

  1. Adding a ColumnSetManager type which reuses allocated containers for columns (#26)
  2. Saving keys and values in a dictionary of IDs so that the main hot path can be type stable (#26 & #30)
  3. Use SumTypes.jl to make the instruction stack type stable (#29)

No new features were added in this release.

What's Changed

Full Changelog: v1.0.0...v1.1.0

1.0.0

07 Jun 17:31
5f54adf
Compare
Choose a tag to compare

First stable release of ExpandNestedData

v0.1.2

20 Mar 17:51
cd25f4e
Compare
Choose a tag to compare

Improve performance of internals by building closures from custom structs, not anonymous functions.

v0.1.1

07 Dec 15:48
c63bead
Compare
Choose a tag to compare

This release incorporates feedback from this request for comment on Discourse. Specifically:

  1. Rename the package to ExpandNestedData.jl and the main function to expand()
  2. All user to set column_style. When set to nested_columns the columns are nested in the same hierarchy as the source data. rows() access also returns a nested NamedTuple
  3. Improved formatting of the docs
  4. Roadmap for further improvements added to README.md

Initial Release

29 Nov 20:52
afa40db
Compare
Choose a tag to compare

An initial public release of Normalize.jl. It currently supports unguided normalize(data::Any) with some global keyword argument options and a more targeted normalize(data::Any, defs::Vector{ColumnDefinition}) which only pulls specified fields from the data.