v0.43.1
This is a very minor release as a prelude to branching for post-java-8 development.
What's Changed
- Update pom.xml to upgrade apache poi-ooxml by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1085
- fixed remaining javadoc warnings by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1086
Full Changelog: https://github.com/jtablesaw/tablesaw/compare/v0.43.0...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 https://github.com/jtablesaw/tablesaw/pull/1045
- Bump Jackson version by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1070
Bug fixes
- fix uncaught exception in DoubleParser.canParse. (#1043) by @is in https://github.com/jtablesaw/tablesaw/pull/1044
- fix for issue #1047 : setPrintFormatter causes NPE, plus test by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1072
- ensured that all copy() and emptyCopy() implementations copy print fo… by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1073
Performance-Related Enhancements
- replaced the implementation of Table method dropDuplicateRows() with … by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1058
- reintroduce parallel sorting of table indices where it is safe to do so by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1065
- eliminated the auto boxing of table values and row numbers by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1066
Other Enhancements
- improved error message; some automated code simplification by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1019
- Cleanup on aggregate functions by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1020
- Wrap io exception on reads by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1021
- added set(Selection, byte) to BooleanColumn, plus Doc cleanup by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1027
- made saw tests run faster, no loss of coverage by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1029
- Removed IOException from write interfaces by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1030
- Provides better error message on column type detection index out of b… by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1032
- Simplify adding new column to table by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1034
- upgrade roaring bitmaps to 0.9.25 by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1063
- Add displayLogo option to jsplot Config by @gbouquet in https://github.com/jtablesaw/tablesaw/pull/1080
- update the snapshot version as this was apparently done incorrectly e… by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1082
Documentation Enhancements
- Update moneyball tutorial by @jbsooter in https://github.com/jtablesaw/tablesaw/pull/1052
- Java doc2 by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1018
- Update documentation readme to include all project javadoc links by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1022
- Complete Javadoc for the Table package by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1024
- Javadoc interpolation by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1025
- Update README.md by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1077
- Update README.md again by @lwhite1 in https://github.com/jtablesaw/tablesaw/pull/1079
New Contributors
- @jbsooter made their first contribution in https://github.com/jtablesaw/tablesaw/pull/1052
- @is made their first contribution in https://github.com/jtablesaw/tablesaw/pull/1044
- @gbouquet made their first contribution in https://github.com/jtablesaw/tablesaw/pull/1080
Full Changelog: https://github.com/jtablesaw/tablesaw/compare/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
- Bump guava from 28.2-jre to 29.0-jre in /core (#895)
- Bump guava version again for security improvements (#932)
v0.38.1
Features
- More options for creating a bubble plot (https://github.com/jtablesaw/tablesaw/pull/781) - thanks @rayeaster
Bug Fixes
- Fix support for
java.sql.Time
(https://github.com/jtablesaw/tablesaw/pull/791) - thanks @brainbytes42 - Allow empty slices when aggregating (https://github.com/jtablesaw/tablesaw/pull/795) - thanks @emillynge
- Fix NPE in
ColumnType.compare
(https://github.com/jtablesaw/tablesaw/pull/799) - Fix NPE in
set
(https://github.com/jtablesaw/tablesaw/pull/800)
v0.38.0
Features
ignoreZeroDecimal
option when reading data (https://github.com/jtablesaw/tablesaw/pull/748) - Thanks @larshelgeindexOf
method (https://github.com/jtablesaw/tablesaw/pull/787) - Thanks @islaterm- Ability to add quotes to CSV even if not strictly required (https://github.com/jtablesaw/tablesaw/pull/767)
- Ability to set layout and config for plots (https://github.com/jtablesaw/tablesaw/pull/690)
- Pie chart subplots (https://github.com/jtablesaw/tablesaw/pull/777)
- Plotting of
Instant
data (https://github.com/jtablesaw/tablesaw/pull/765) - Include sheet name when reading from Excel (https://github.com/jtablesaw/tablesaw/pull/758) - Thanks @R1j1t
Bug Fixes
- Joining an empty table (https://github.com/jtablesaw/tablesaw/pull/783) - Thanks @vanderzee-anl-gov
- Use same options for reading and writing a CSV by default (https://github.com/jtablesaw/tablesaw/pull/772)
- Reading of binary data from database
- Make
DoubleColumn.create
work on wider range of input - Fix column sorting (https://github.com/jtablesaw/tablesaw/pull/778)
- Fixed
equals
method onBooleanColumn
(https://github.com/jtablesaw/tablesaw/pull/766) - Fixed 3D scatter plot (https://github.com/jtablesaw/tablesaw/pull/764)
- Fixed
BoxBuilder
(https://github.com/jtablesaw/tablesaw/pull/763) - Make
Component.engine
non-static (https://github.com/jtablesaw/tablesaw/pull/762) - Fixed shaded jar
- Improved handling of missing values when calling
get
on a column
Documentation
- Fix broken link to data import docs (https://github.com/jtablesaw/tablesaw/pull/773) - Thanks @bantu
- Add docs for reading from Excel (https://github.com/jtablesaw/tablesaw/pull/759) - Thanks @R1j1t
- Fixed CSV reading docs (https://github.com/jtablesaw/tablesaw/commit/6fc6a4d013e4cb92b5a8dc13d2d5e2fc62ec1460) - Thanks @salticus