- Fixes to rating change notes:
- Content of the note is capitalized.
- Private notes are ignored.
- Added note dates.
- Added note rating changes, so that a note like "Downgraded rating from 4 to 3" is reflected in the parsed data.
- Added filters related to rating changes.
- Added an alias (
TODO) to the planned date indicator (??). - Added support for the
:gameformat (🎲).
- Changed Ruby version to >= 3.4.
- Fixed a bug in the History column where the implied date after a date range wasn't properly incremented.
- Fixed a bug related to stats of items with progress marked in pages or time.
- Changed from an interactive CLI to executing a single query passed in as a command-line argument. This removes the friction between the terminal and app environment, e.g. previous queries can be repeated simply by repeating the last command in the terminal.
- Bug fixes in CLI output.
- Fixed the minimum Ruby version requirement (>= 3.2). Ruby 3.4.4 was unintentionally being required.
- Added a default config to transform "¦" (broken pipe) to "|" (pipe) in all columns. Since the default column separator is the pipe, it can't be used in e.g. notes that include a code snippet. So the broken pipe can be used instead, and it will be parsed as a pipe.
- Added stats operations:
top experiences(reread count) andtop notes(notes word count). - Renamed the
donefilter toprogress, and it now includes items with statuses other than:done. - Added minimum Ruby version requirement (>= 3.2).
- Bug fixes in the History column.
- Improved the
by genregrouping to operate based on combinations of genres, e.g.history, science. The original grouping of single genres is preserved in the new groupingby eachgenre.
- Added statistics-querying functionality (
Reading::stats). - In the top-level API, renamed
streamkeyword argument tolines. - In the top-level API, made the
pathargument into a keyword argument. - Added the
readingcommand for querying a file for statistics, or for showing raw output from parsing a CSV string. (Replaces the formerreadingandreadingfilecommands.)
- Added
ItemandFilterfor more convenient output and filtering of it. - Fixed a bug where ASCII-encoded input led to an error.
- Changed the behavior of
Reading::parseso that if both astreamand apathare given, thestreamis 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
CSVis initialized with afeedand invalidpath. (Thepathis now ignored.)
- Improved the docs.
- Expanded the CSV Format Guide.
- Added a Parsed Item Guide.
- Changed
CSV#parseto return Structs instead of Hashes, for more convenient dot access. - Added a
readingexecutable for testing CSV lines. - Changes to output structure and default values:
- Added a question mark to the end of two
notesub-attributes:#private?and#blurb?. - Moved
progressfromexperiencesdown intospans. - Moved
seriesdown intovariants. - Made
progressdefault to1.0forspanswith an end date. - Made
amountdefault 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
articledefault 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
:skipis 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)