- Renamed the
done
filter toprogress
, and it now includes items with statuses other than:done
.
- Bug fixes, mostly in the History column.
- Change the
by genre
grouping to operate based on combinations of genres, e.g.history, science
. The original grouping of single genres is preserved in the new groupingby eachgenre
. - Update to Ruby 3.3.
- Added statistics-querying functionality (
Reading::stats
). - In the top-level API, renamed
stream
keyword argument tolines
. - In the top-level API, made the
path
argument into a keyword argument. - Added the
reading
command for querying a file for statistics, or for showing raw output from parsing a CSV string. (Replaces the formerreading
andreadingfile
commands.)
- Added
Item
andFilter
for more convenient output and filtering of it. - Fixed a bug where ASCII-encoded input led to an error.
- Changed the behavior of
Reading::parse
so that if both astream
and apath
are given, thestream
is the one that is used.
- Added parsing of the History column.
- Changed the parsing API. See the "Usage" section of the README.
- Fixed a bug in cases where
CSV
is initialized with afeed
and invalidpath
. (Thepath
is now ignored.)
- Improved the docs.
- Expanded the CSV Format Guide.
- Added a Parsed Item Guide.
- Changed
CSV#parse
to return Structs instead of Hashes, for more convenient dot access. - Added a
reading
executable for testing CSV lines. - Changes to output structure and default values:
- Added a question mark to the end of two
note
sub-attributes:#private?
and#blurb?
. - Moved
progress
fromexperiences
down intospans
. - Moved
series
down intovariants
. - Made
progress
default to1.0
forspans
with an end date. - Made
amount
default tolength
.
- Added a question mark to the end of two
- Simplified the Source column by removing custom URL names.
- Added features to compact planned rows:
- Single-item compact planned rows (optionally with Sources column).
- Naming a source at the beginning of the row.
- Multiple genres at the beginning of the row.
- Certain config-defined emojis are ignored.
- Added docs.
- Added date validations.
- Parse each date string into a
Date
. - Removed unused features: date added, visibility, multiple format emojis in compact planned items.
- Removed two little-used columns, Blurb and Private Notes, making them specially-marked Notes instead. Notes are now structured as an array of hashes rather than a simple array of strings.
- Renamed to Reading.
- Removed dependency on ActiveSupport.
- High-level cleanup/refactor.
- Added configurable default values for custom columns.
- Multiple format emojis allowed in compact planned items.
- ActiveSupport 7 allowed.
- Renamed the
article
default format topiece
, and changed its emoji. - Fixed a bug where custom formats were not being incorporated into the regex config.
- Added the ability to omit the last parsed item from the list when
:skip
is returned fromselective_continue
.
- Fixed the default value of
config[:errors][:max_length]
so that it does not rely on "io/console".
- Added "experiences" and "variants" which allow for more sophisticated tracking of re-readings.
- Added custom columns.
- Added compact planned item lists.
- Heavily refactored and rewrote tests from scratch.
- All this was to make Reading ready for use in Plain Reading.
- Initial release (under the old name "reading-csv-load", now yanked from RubyGems)