Skip to content

Releases: jtablesaw/tablesaw

v0.43.1

03 Apr 11:10
Compare
Choose a tag to compare

This is a very minor release as a prelude to branching for post-java-8 development.

What's Changed

Full Changelog: v0.43.0...v0.43.1

v.0.43.0

30 Mar 17:49
Compare
Choose a tag to compare

What's Changed

Security vulnerabilities addressed

Bug fixes

  • fix uncaught exception in DoubleParser.canParse. (#1043) by @is in #1044
  • fix for issue #1047 : setPrintFormatter causes NPE, plus test by @lwhite1 in #1072
  • ensured that all copy() and emptyCopy() implementations copy print fo… by @lwhite1 in #1073

Performance-Related Enhancements

  • replaced the implementation of Table method dropDuplicateRows() with … by @lwhite1 in #1058
  • reintroduce parallel sorting of table indices where it is safe to do so by @lwhite1 in #1065
  • eliminated the auto boxing of table values and row numbers by @lwhite1 in #1066

Other Enhancements

  • improved error message; some automated code simplification by @lwhite1 in #1019
  • Cleanup on aggregate functions by @lwhite1 in #1020
  • Wrap io exception on reads by @lwhite1 in #1021
  • added set(Selection, byte) to BooleanColumn, plus Doc cleanup by @lwhite1 in #1027
  • made saw tests run faster, no loss of coverage by @lwhite1 in #1029
  • Removed IOException from write interfaces by @lwhite1 in #1030
  • Provides better error message on column type detection index out of b… by @lwhite1 in #1032
  • Simplify adding new column to table by @lwhite1 in #1034
  • upgrade roaring bitmaps to 0.9.25 by @lwhite1 in #1063
  • Add displayLogo option to jsplot Config by @gbouquet in #1080
  • update the snapshot version as this was apparently done incorrectly e… by @lwhite1 in #1082

Documentation Enhancements

New Contributors

Full Changelog: v0.41.0...v0.43.0

v0.42.0

23 Oct 22:32
Compare
Choose a tag to compare

Documentation:

  • Many JavaDoc additions and extensions.
  • Update documentation readme to include all project javadoc links (#1022)

Enhancements

  • Wrap IOException for file reads (#1021). IOException is caught and re-thrown wrapped in a runtime exception RuntimeIOException. For interactive work, this greatly reduces the number of exceptions that need to be caught. Writes will handled in the next release.
  • Cleanup on aggregate function names (#1020). Abstract AggregateFunctions were given a consistent name structures. All class names now have the form: [columnType][returnType]AggregateFunction (e.g. BooleanIntAggregateFunction). If the column and return type are the same, it is not repeated (e.g. StringAggregateFunction).
  • Some aggregate function classes were made public so library users can subclass
  • A few methods were added to Column subclasses. Notably, an asSet() method was added to columns where it was not already present.
  • improved error message for Column append methods (#1019)

v0.41.0

17 Oct 13:24
Compare
Choose a tag to compare

This is a documentation only release focused on improving JavaDoc coverage.

Documentation

The following are now fully documented for public methods.

In package tech.tablesaw.tables

  • Relation

In package tech.tablesaw.api

  • Table
  • Row
  • ColumnType

In package tech.tablesaw.columns and sub-packages

  • Column
  • AbstractColumn
  • AbstractStringColumn
  • SkipColumnType

All classes and interfaces in the following packages:

  • tech.tablesaw.indexing
  • tech.tablesaw.selection
  • tech.tablesaw.joining
  • tech.tablesaw.aggregation
  • tech.tablesaw.sorting (and comparator subpackage)

v0.40.0

17 Oct 12:59
Compare
Choose a tag to compare

This release focused on minor enhancements that eliminate gaps in functionality.

Note that the change to method Table:shape() modified the String that is returned, changing the functionality of the method slightly.

Enhancements

@lwhite1
Minor extensions (#999)
Added methods:

  • DoubleColumn:asDoubleArray()

  • FloatColumn:asFloatArray()

  • IntColumn:asIntArray()

  • ShortColumn:asShortArray()

  • StringFilters:isIn()

  • StringFilters:iNotIn()

  • IntColumn:isNotIn()

Other enhancement:

  • Made Table:append() accept any Relation as its argument, not just another table.

Made Table:removeColumns() return Table rather than Relation (#1003) …

Added method Date:isNotEqualTo(LocalDate) (#1004) …

Made shape() return the name of the table, along with the shape (#1005)

Standardized names for methods, added missing methods (#1010)

  • Deprecated addRow(Row) and added appendRow(Row) to make the name more consistent with append(Table).
  • Added methods selectColumns() and rejectColumns() to provide variations to removeColumns() and retainColumns() that return new tables rather than modify the table in-place.
  • Added method Relation:containsColumn(String name);
  • other minor enhancements to code and documentation

Made Table:countBy() take varargs so the counts can group on more than one column

V0.38.5

07 Sep 00:38
Compare
Choose a tag to compare

Small release with one important bug fix. There is also a documentation enhancement.

Bug fixes

@lwhite1
SliceGroup TextColumn handling revision (#990). Fixes issue where splitting a large file on a TextColumn (as when using groups in aggregations) could cause a major increase in memory.

Enhancements

@dependabot
Bump jsoup from 1.12.1 to 1.14.2 in /html (#977)

@lwhite1
Allow TextColumn to append StringColumns, and vice-versa (#983)

@lwhite1
made all data fields protected (#991)

Documentation

@lwhite1
Update gettingstarted.md

V0.38.4

21 Aug 14:02
Compare
Choose a tag to compare

This is a relatively small release with a few nice enhancements and several bug fixes. There is also a documentation enhancement publicizing @ccleva's Parquet integration project.

Bug fixes

Fix bug where missing values in numeric columns could not be formatted. This enables arbitrary missing value indicators (e.g. "N/A") to be used in printing and saving to files.
@lwhite1

Replace parallelQuickSort with mergeSort (#968), to avoid incorrect sorting caused by race conditions when a custom sort object is used.
@lwhite1

fix issue #963 (#967) Relation.structure() fails for TableSlice with ClassCastException
@lwhite1

Enhancements

Aggregate by non-primitive column type that extends Number (#973), making it possible to add a column type for BigDecimal
@daugasauron
@Kallur

plotly - added range slider to Axis (#953) …
@smpawlowski

To support annotation in plot.ly javascript. (#944) …
@xcjusuih

Documentation

Added link to the tablesaw-parquet project in README (#966)
@ccleva

v0.38.3

22 Jul 22:25
Compare
Choose a tag to compare

Features

  • Improved Printformatting (#914)
  • Improve innerJoin performance (#903) - Thanks, @DanielMao1
  • Allow reading of malformed CSV (#901) - Thanks, @ChangzhenZhang
  • Fixes #822 and #815 providing more extensive columntype options - Thanks, @lujop
  • Support multiple custom missing value options in Readers
  • Allow default parsing to be overridden per column. (#928) - Thanks, @jglogan
  • Add contour plot (#938) - Thanks, @ArslanaWu
  • Add support for violin plot (#936) - Thanks, @LUUUAN
  • Add options for keep join keys in both table when appling outer join - Thanks, @DanielMao1
  • Assign FixedWidthWriterSettings.fieldLengths (#943) - Thanks, @Kerwinooooo
  • Support percentage by parsing percentage to double (#906) - Thanks, @Kerwinooooo
  • Open default local browser on an arbitrary HTML page #860 (#949)

Bug Fixes

  • Fix bug of leftOuter join when using multi-tables (#905) Thanks @Carl-Rabbit
  • fix bug in appendCell that caused custom parser to be ignored (#912)
  • Corrected surefire plugin argLine (#915) Thanks @ccleva
  • Fix CI on Windows (#904) @lujop
  • Fix implementation of append(String) in TextColumn (#921)
  • Fix rightOuter join on multiple tables (#922) Thanks (again) @Carl-Rabbit
  • Fix XlsxReader doesn't respect calculated tableArea for header column names #887 (#926) - Thanks @lujop
  • Remove print statements in tests writing to system.out (#933)
  • Fix Column Type detection #751 and Integer handling in XlsxReader #882 (#931) - Thanks, @lujop
  • Fix(table): method 'where' apply 2 times selection function (#962) - Thanks, @zhiwen95
  • Support for not closing the output stream opened by user (#941) Thanks, @Kerwinooooo, @ChangzhenZhang

Documentation

  • Update README.md (#917)

Misc

  • Bump guava from 28.2-jre to 29.0-jre in /core (#895)
  • Bump guava version again for security improvements (#932)

v0.38.1

09 May 21:33
Compare
Choose a tag to compare

Features

Bug Fixes

v0.38.0

13 Apr 21:34
Compare
Choose a tag to compare

Features

  • ignoreZeroDecimal option when reading data (#748) - Thanks @larshelge
  • indexOf method (#787) - Thanks @islaterm
  • Ability to add quotes to CSV even if not strictly required (#767)
  • Ability to set layout and config for plots (#690)
  • Pie chart subplots (#777)
  • Plotting of Instant data (#765)
  • Include sheet name when reading from Excel (#758) - Thanks @R1j1t

Bug Fixes

  • Joining an empty table (#783) - Thanks @vanderzee-anl-gov
  • Use same options for reading and writing a CSV by default (#772)
  • Reading of binary data from database
  • Make DoubleColumn.create work on wider range of input
  • Fix column sorting (#778)
  • Fixed equals method on BooleanColumn (#766)
  • Fixed 3D scatter plot (#764)
  • Fixed BoxBuilder (#763)
  • Make Component.engine non-static (#762)
  • Fixed shaded jar
  • Improved handling of missing values when calling get on a column

Documentation