Releases: jtablesaw/tablesaw
v0.43.1
v.0.43.0
What's Changed
Security vulnerabilities addressed
- Bump h2 from 1.4.200 to 2.1.210 in /core by @dependabot in #1045
- Bump Jackson version by @lwhite1 in #1070
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
- Update moneyball tutorial by @jbsooter in #1052
- Java doc2 by @lwhite1 in #1018
- Update documentation readme to include all project javadoc links by @lwhite1 in #1022
- Complete Javadoc for the Table package by @lwhite1 in #1024
- Javadoc interpolation by @lwhite1 in #1025
- Update README.md by @lwhite1 in #1077
- Update README.md again by @lwhite1 in #1079
New Contributors
- @jbsooter made their first contribution in #1052
- @is made their first contribution in #1044
- @gbouquet made their first contribution in #1080
Full Changelog: v0.41.0...v0.43.0
v0.42.0
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
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
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
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
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
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
v0.38.1
Features
- More options for creating a bubble plot (#781) - thanks @rayeaster
Bug Fixes
- Fix support for
java.sql.Time
(#791) - thanks @brainbytes42 - Allow empty slices when aggregating (#795) - thanks @emillynge
- Fix NPE in
ColumnType.compare
(#799) - Fix NPE in
set
(#800)
v0.38.0
Features
ignoreZeroDecimal
option when reading data (#748) - Thanks @larshelgeindexOf
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 onBooleanColumn
(#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