All notable changes to meeple-cli will be documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
API
- More gracefully handle BGG API 503 response
meeple campaigns
- List active crowdfunding campaigns.meeple open
:--campaign
- Open an item's crowdfunding campaign page.
README
:FAQ
- Add faq statement about slow collection imports.CI
- Add Python 3.12 support. (#90)
meeple import
- Add progress bar to indicate status of collection fetch from BGG.meeple info
- Show a list of collections the item is contained in. (#56)
- Add designers, artists, and publishers to
-v
/--verbose
output.
README
:Usage
- Update usage documentation to reflect current help message text.CI
- Updatepre-commit
linters.
meeple import --verbose
- Fix crash.meeple collections
- Prevent update warning message from printing more than once.meeple collections
- Fix sort order of NA Last Updated values.GENERAL
- Fix justification of numeric values in tables. (#83)GENERAL
- Print a more elegant error message when BGG API rate limit is exceeded.
meeple add
- Add multiple items to a collection at once. (#77)
- Update help text wording to be consistent with action.
- Dim 'already added' message text.
meeple drop
- Drop multiple items from a collection at once. (#78)
- Update help text wording to be consistent with action.
- Dim 'already dropped' message text.
meeple collections
- Update 'pending update' warning message text.
meeple add
- Prevent adding duplicate items in collections when collection data has not yet been updated.meeple list
/meeple find
- Order items with NA rank values last when sorting by rank. (#81)
DEPENDENCY
- Updatepyyaml
to v6.0.1.
- Fix homebrew install dependency crash.
meeple add
:--update
- Automatically update collection data. (#26)meeple drop
:--update
- Automatically update collection data. (#26)meeple move
:--update
- Automatically update collection data. (#26)meeple collections
:--update
- Update collection data before showing results.meeple list
:--verbose
- Summarize output above table. (#40)meeple find
:--verbose
- Summarize output above table. (#40)
DATA
- Migrate collection state files to new location and format (NON-BREAKING - these migrations happen automatically)
- Move location of collection state files from
.meeple/collections/
to.meeple/collections/state/
. Automatically migrate existing files. - Add
version
attribute to allow for more seamless data changes in the future. - Rename
bgg_ids
attribute toactive
.
- Move location of collection state files from
- Update collection data storage pattern (BREAKING - historical data is no longer tracked)
- Move existing collection data files from
.meeple/data/
to.meeple/archives/v0/
- Move location of new collection data files from
.meeple/data/
to.meeple/collections/data/
- Only store data for the most recent update
- Note: Historical data storage may return in the future, but at this time it only increases complexity without benefit.
- Add
version
attribute to allow for more seamless data changes in the future. - Add
date
attribute. - Replace
boardgames
andexpansions
attributes with a singleitems
attribute. - Add
type
attribute toitems
objects.
- Move existing collection data files from
- Migrate collection state files to new location and format (NON-BREAKING - these migrations happen automatically)
meeple collections
- Update--sort
option help text.meeple find
- Update
-b/--boardgames
option help text. - Update
-e/--expansions
option help text. - Update
--players
option help text. - Update
--max-time
option help text. - Update
--weight
option help text. - Update
--sort
option help text and move to bottom of options.
- Update
meeple list
- Update
-b/--boardgames
option help text. - Update
-e/--expansions
option help text. - Update
--sort
option help text.
- Update
meeple stats
- Update output summary message and table format.
- Update
-b/--boardgames
option help text. - Update
-e/--expansions
option help text.
GENERAL
- Rename
COLLECTION/S
argument--help
references toCOLLECTION_NAME/S
- Rename
ID
argument--help
references toBGG_ID
- Rename
meeple import
- Import BoardGameGeek user collections. (#46)- Import as either one large collection or as separate collections based on item status.
--one
- Import as one collection.--many
- Import as separate collections by status.--dry-run
- Simulate import operations without persisting.-v/--verbose
- Output additional details.
meeple delete
- Delete multiple collections at once. (#69)meeple new
- Create multiple collections at once. (#70)meeple update
- Update multiple specific collections at once. (#66)
meeple find
- Fix error message collection name formatting.meeple rename
- Fix help message wording.
GENERAL
- Code cleanup and increased test coverage.
meeple list
- Show warning message when the collection has pending changes.meeple move
- Gracefully handle the re-removal of items slated to be added to the source collection.
- Gracefully handle the re-addition of items slated to be dropped from the destination collection.
meeple add
/meeple drop
/meeple move
/meeple update
- Update output message wording.meeple update
- Skipped collection output is now dimmed.GENERAL
- Reduce duplicate code.
meeple add
- Remove rogue
'
character in output. - Properly colorize collection name in output.
- Remove rogue
meeple search
- Properly show error message when no results found matching query.meeple collections
- Properly dim NA Last Updated value.
meeple stats
:-b/-e
- Fix output format issue.
meeple add
- Gracefully handle the re-addition of items slated to be dropped.
- Recommend
meeple update
in output.
meeple collections
- Show pending changes indicators and warning message.meeple drop
- Gracefully handle the re-removal of items slated to be added.
- Recommend
meeple update
in output.
meeple find
/meeple list
/meeple search
/meeple stats
- Show warning message when no items match provided filters.meeple move
- Recommendmeeple update
in output.meeple stats
- Show pending changes warning message.meeple update
:-f/--force
- Force update regardless of collection state.INSTALL
- Install via Homebrew. See project README for details.
meeple completions
- Simplify output style.meeple delete
/meeple open
- Confirmation input must now matchy/Y/n/N
or a re-prompt will occur.meeple update
- By default, only update collections that are either outdated or have pending changes.
- Output is more readable.
GENERAL
- Item names now appear blue and italicized in output messages.
- Collection names now appear magenta and underlined in output messages.
- Commands now appear green in output messages.
- Item Ids and other values now appear yellow in error and warning messages.
- Output message ontainer borders now appear dimmer.
DATA
- Update collection yaml file format to accomodate pending changes. (NON-BREAKING - Collection modifying commands such
meeple add/drop/move/update
will automatically convert old files to the new format when possible.)
- Update collection yaml file format to accomodate pending changes. (NON-BREAKING - Collection modifying commands such
meeple find
- Exit with error when no collections exist to search.GENERAL
- Properly print out messages as Errors instead of Warnings when the result is a process termination.
GENERAL
- Sortedby column indicator in sorted output.meeple list
- Type column included if output contains both board games and expansions.TESTS
- Increase test coverage.CI
- Report test coverage to Codecov.CI
- Speed up test github action withpre-commit
caching.
meeple info
:-v/--verbose
- Output additional details.meeple open
:-y/--yes
- Bypass confirmation.meeple find
/meeple list
:--sort
- Sort output by time.
GENERAL
- Output Play Time values as expected duration instead of a range.GENERAL
- Update Time column header text to Play Time.
ROADMAP
- Remove roadmap from README. Move to GitHub issues.
meeple find
- Search collections for board games and expansions.- Search in just one, multiple, or all collections at once.
-b/--boardgames
- Output only board games.-e/--expansions
- Output only expansions.--players
- Output only board games/expansions that support the provided player count.--max-time
- Output only board games/expansions that fit the provided play time (Min).--weight
- Output only board games/expansions that match the provided weight range.--sort
- Sort output by id, name, year, rank, rating, or weight.
GENERAL
- Shell tab completion support forbash
,zsh
, andfish
.- Tab completion support for all commands.
- Tab completion support for all command
COLLECTION
arguments. - Tab completion support for all command options.
meeple completions
- Setup shell tab completions.README
- Disclaimer section.
- FAQ section.
meeple
:-h/--help
- Group like commands in output.GENERAL
:-h/--help
- Standardize help messages.GENERAL
:ID
arg - Improve argument type checking and error handling.CHANGELOG
: Standardize release notes format.
meeple search
- Fix data serialization crash.GENERAL
- Properly format missing board game or expansion data as "NA".
meeple collections
:--sort
- Sort output by name, board game count, expansion count, or updated date.meeple list
:--sort
- Sort output by id, name, year, rank, rating, or weight.
GENERAL
- Update minimum supported python version from3.8
to3.10
.GENERAL
- play time outputs display with their appropriate unit (Min).GENERAL
- weight outputs no longer display with scale ("/ 5").meeple update
- Update output format.meeple collections
:-h/--help
- Update help message.meeple list
:-h/--help
- Update help message.meeple stats
- Avg. Max Players output now calculates items with a max player count greater than 10 as 10 to avoid skewed results from outliers.CI
- Replacetrunk
code lint manager withpre-commit
.- Various code lint fixes and improvements.
meeple list
- Fix format of rank output when value is "NA".
meeple rename
- Rename a collection.DEPENDENCY
-rich
.
meeple search
- Include year published column in output.
- Sort results by ID by default.
meeple info
- Include min age in output.GENERAL
- Standardize and tabulate command output formats.
DEPENDENCY
-tabulate
.
meeple stats
- no longer crash when the collection only contains unrated, unranked, or unweighted items.
meeple search
- Search BoardGameGeek for a board game or expansion.meeple info
- Get and display detailed info for a board game or expansion.meeple open
- Open a board game or expansion on BoardGameGeek.meeple hot
- Ability to get and display the current BoardGameGeek hotness list.meeple new
- Create a new collection.meeple collections
- List all collections.-v/--verbose
- Output additional details.
meeple delete
- Delete a collection.-y/--yes
- Bypass confirmation.
meeple add
- Add a board game/expansion to a collection.meeple list
- List all board games/expansions in a collection.-b/--boardgames
- Output only board games.-e/--expansions
- Output only expansions.-v/--verbose
- Output additional details.
meeple drop
- Remove a board game/expansion from a collection.meeple stats
- Calculate and display average board game stats for a collection.-b/--boardgames
- Output only board games.-e/--expansions
- Output only expansions.
meeple update
- Update local collection data with snapshot from BoardGameGeek.meeple move
- Move a board game/expansion from one collection to another.