Repository navigation
Changelog
[2.3.0] - 2026-09-05
Counting without paging, Guzzle 8 alongside Guzzle 7, and full endpoint coverage.
Backward compatible; no breaking changes.
Added
-
count()on every endpoint (and onEndpointInterface), returning how many records
match a query without fetching them. It posts the given apicalypse body to the
counting variant of the endpoint (POST /v4/<endpoint>/count) and returns the
reported number; without a query it counts everything on the endpoint. Only the
filters of a query are meaningful while counting, so a query built for a list call
can be passed in unchanged.$igdb->game()->count(); //Count all games $igdb->game()->count('where rating > 75;'); //Count all games matching a filter
-
Support for Guzzle 8 next to Guzzle 7. Nothing in this package depends on behaviour
specific to either major; the suite runs green on both. -
The 40 endpoints IGDB has added since the package was last completed, bringing the
coverage to all 79 documented endpoints. Among them are the endpoints the deprecated
fields point at: game_types, platform_types, character_genders,
character_species, date_formats, external_game_sources, game_release_formats,
game_statuses, website_types, image_types, age_rating_organizations,
age_rating_categories and age_rating_content_descriptions_v2.
Changed
- Widened guzzlehttp/guzzle to ^7.15.2 || ^8.0. The floor was raised from ^7.11
because 7.11 through 7.15.1 carry the advisories fixed in 7.15.2. - The constructors of IGDB, Authentication, WebhookService, the endpoints and the
requests accept a GuzzleHttp\ClientInterface instead of the concrete
GuzzleHttp\Client, so the package is no longer tied to one implementation. Passing a
Client keeps working; only a subclass that narrows the parameter back to Client
in an overridden constructor would have to widen it. - A response to a counting request without a count throws RequestException rather
than counting as zero.
Deprecated
- IGDB::ageRatingContentDescription() and its endpoint: IGDB replaced it with
age_rating_content_descriptions_v2, reachable through
IGDB::ageRatingContentDescriptionV2(). - IGDB::artworkType() and its endpoint: IGDB replaced it with image_types,
reachable through IGDB::imageType(). Both are kept so existing code keeps working.
Fixed
- The endpoint table in the readme was missing release_dates and
release_date_regions, and the query builder examples filtered on genre and
platform while the fields on a game are genres and platforms.