isbndb 2.4.0
isbndb: ^2.4.0 copied to clipboard
Dart service for isbndb.com API. Returns book details from an ISBN, or a list of books from an author name, etc.
2.4.0 - 2026-10-24 #
- Refreshed the ISBNdb OpenAPI 2.8.3 snapshot and documentation for updated-book statuses and the feed pagination deadline.
- Added
UpdatedBook.statusandUpdatedBookStatus:newBookmaps to the API valuenew, andupdatedmaps toupdated. Older responses without a status and unrecognized future values useunknown, which is also the constructor default. - Preserved the two-field
UpdatedBook.when,maybeWhen, andwhenOrNullcallbacks; access the new status directly on the entry. - Documented the end of offset pagination for the updated-books feed: from November 6, 2026 at 00:00 UTC (01:00 in Paris),
pagevalues other than1return HTTP 400. Usenextcursors to fetch following pages.
2.3.0 - 2026-10-19 #
- Aligned the bundled API contract and documentation with ISBNdb OpenAPI 2.8.3.
- Deprecated
getSubject,getSubjects,Book.subjects, andBookColumn.subjectsahead of their removal by ISBNdb; existing calls and response parsing remain supported. - Updated pagination documentation for the end of the legacy allowance: search and detail endpoints reject
pageSizeabove 100; the updated-books feed retains its separate limit of 1,000. - Updated cover image and language documentation.
2.2.0 - 2026-10-08 #
- Aligned the API contract with ISBNdb OpenAPI 2.8.1.
- Added optional
cursortogetUpdatedBookFeedand nullableUpdatedBookFeed.nextfor cursor pagination. Offset pagination remains supported. - Updated feed plan requirements and language documentation.
- Preserved the four-field
UpdatedBookFeed.when,maybeWhen, andwhenOrNullcallbacks; access the new cursor throughfeed.next.
2.1.0 - 2026-09-25 #
- Aligned the bundled API contract and documentation with ISBNdb OpenAPI 2.8.0.
- Added
Book.editionNumberand the currency-awareBook.listPricemodel. - Deprecated
Book.edition,Book.msrp, andBook.excerptin line with ISBNdb while keeping them for backwards compatibility. - Migration: Freezed-generated
whenandmaybeWhencallbacks forBooknow receiveeditionNumberandlistPrice. - Added per-key quota details to
PlanLimit:keyTotal,keySpent,keyLeft, andlimitedBy. - Kept decoding compatible with older
/keyresponses and unknown futurelimited_byvalues. - Migration: Freezed-generated
whenandmaybeWhencallbacks forPlanLimitnow receive the four newly added fields. - Aligned the bundled API contract and documentation with ISBNdb OpenAPI 2.7.5.
- Documented the new
pageSizelimit of 100 for search and detail endpoints. Existing subscriptions retain the previous limit of 1,000 until October 10, 2026; the updated-books feed remains limited to 1,000. - Improved API drift diagnostics to distinguish version metadata, structural contract changes, and behavioral descriptions, and to include the resulting report in automated issues.
2.0.0 - 2026-09-02 #
- Aligned the bundled API contract and documentation with ISBNdb OpenAPI 2.7.2.
- Added the current subscription plan name to
KeyDetails. - Added pagination metadata to
BookQueryResultfor text-search responses. - Added support for the current
errorMessageerror field while preserving legacy error payloads. - Added support for partial publication dates:
YYYYmaps to January 1st andYYYY-MMmaps to the first day of that month. - Migration: Freezed-generated
whenandmaybeWhencallbacks forKeyDetailsandBookQueryResultnow receive the newly added fields. Update callbacks that destructure these models.
1.0.4 - 2026-04-20 #
- Added support for ISBNdb's
publishedFromandpublishedTofilters on book search and detail endpoints. - Refreshed the bundled OpenAPI snapshot and API documentation to match the live API contract.
- Expanded contract and request tests to catch this kind of API drift earlier.
1.0.3 - 2026-03-31 #
- ISBNdb changed the updated-books feed endpoint from
/feeds/books/updated-isbnsto/feeds/books/updates;getUpdatedBookFeed()now follows the new path. - The feed response may no longer include
total;UpdatedBookFeed.totalis now nullable. - Refreshed the bundled OpenAPI snapshot and API docs, and updated contract/tests to catch this type of drift earlier.
- Migration note: if your app used
feed.totalas non-null, handle the nullable value (for examplefeed.total ?? 0).
1.0.2 - 2026-03-28 #
- Added support for ISBNdb's new
/feeds/books/updated-isbnsendpoint. - You can now fetch the recent ISBN update feed, including each book's
isbn13,updated_attimestamp, and pagination metadata. - Refreshed the bundled API snapshot and package documentation to match the latest ISBNdb contract.
1.0.1 - 2026-03-17 #
- Aligned the client with the current ISBNdb API contract (notably
pageSize,shouldMatchAll, andcolumnfor book search). - Added/updated optional query support on details endpoints (
language, and pagination for subject details) to match the live API behavior. - Expanded contract and live smoke tests to cover these API changes and prevent silent regressions.
- Improved API drift monitoring in CI with clearer diagnostics and automatic issue creation/updates.
1.0.0 - 2026-03-05 #
- Unify API failures under ISBNdbException (41dfb37)
- Align books endpoints with official API behavior (df9437c)
- Support
oneOfresponse parsing across models (1f579d7) - Expand error handling coverage and API message extraction (165b172)
- Add
/keyand/statsendpoints (2fe17df)
0.5.1 - 2026-03-04 #
- Add local release helper script (1eaad1e)
- Upgrade Dart/Flutter dependencies in lockfile (6354396)
- Run live API workflow on pushes to main (ef11a54)
- Harden API client tests and add CI/live workflows (f34f44e)
- Fix JSON decoding and list parsing for ISBN batch endpoint (7dfdc34)
0.5.0 #
- Added a converter for
dewey_decimalsince ISBNdb can return either string or array of dynamic
0.4.0 #
- Updated freezed to 3.0.0: if you are also using freezed in your project, it may be a breaking change Please check https://github.com/rrousselGit/freezed/blob/master/packages/freezed/migration_guide.md
- Removed depedency to universal_io
0.3.2 #
- Updated packages to last versions
0.3.1 #
- Updated packages to last versions
0.3.0 #
- Back to extensions for var
isEmptyto avoid freezed errors when generating main class
0.2.8 #
- Moved
isEmptyto main class instead of extension to avoid documentation boilerplate - Made DateConveter and MsrpConveter private and protected
0.2.7 #
- Added flutter_lints and fixed warnings
0.2.6 #
- Reorganization of code with only one freezed file
0.2.5 #
- Updated packages to last versions
0.2.4 #
- Added nullable String for the list of authors (sometimes ISBNdb returns a null value inside the array)
- Added uppercase to the date because sometimes ISBNdb returns a date with lowercase "t" and "z" which fail the parsing
0.2.3 #
- Fixed small issues
0.2.2 #
- Completed documentation
0.2.1 #
- Added documentation for most of API
0.2.0 #
- Now supports Flutter web by replacing dart:io with universal_io package
0.1.0+6 #
- Changed reponse body from Dio to bytes to handle better special chars decoding
0.1.0+5 #
- msrp can be either a double or a String in the API... needed to handle both cases in MsrpConverter
0.1.0+4 #
- Updated book.g.dart class to conform to new MsrpConverter
0.1.0+3 #
- Fixed an issue in MsrpConverter
0.1.0+2 #
- Preview screenshot updated
0.1.0+1 #
- Fixed small isue in example
0.1.0 #
- Initial release