From a05b159ddccb42297ecfb099b5caf66d838cc2a4 Mon Sep 17 00:00:00 2001 From: Petr Date: Thu, 22 Oct 2026 22:23:37 +0000 Subject: [PATCH] v0.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Version and changelog for the five fixes merged as #7-#11, from a manual test of v0.2.0. The section opens with the behaviour changes an existing caller will see — reviews order and paging, exit 2 for a --gl Play does not serve, --url keeping its market, --out suffixes, the no_new_products stop_reason, and the Scraper API's json default and sidecar — followed by the correction of the README's earlier claim about the store's review orderings. The auditor's own reproduction steps were re-run against the merged code before this commit: 13 of 13 runnable items now give the expected result. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01VrpkXSoXyZMGV5nqF9JV6P --- CHANGELOG.md | 19 ++++++++++++++++++- pyproject.toml | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d801c29..8f392f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,22 @@ discovered from a bill or a diff. ## [Unreleased] +## [0.3.0] — 2026-10-22 + +> **Behaviour changes for existing callers.** +> - `--mode reviews` comes back in a different order. `--sort newest` now +> sorts newest first — it returned the store's relevance order before — +> and every page, page 1 included, comes from the reviews endpoint with +> the previous page's token: one request more than before, and no page +> that restarts the list. `--sort` also takes `relevant` and `rating`. +> - A `--gl` Play does not serve is **exit 2**, not 3, with no retries. +> - `--url` keeps its own `gl`/`hl`; the defaults no longer replace them. +> - `--out x.json` writes `x.json`, not `x.json.json`. +> - `stop_reason` says `no_new_products` where the last page added nothing; +> it said `completed`. Status and exit code are unchanged. +> - `scraper_api_client.py` defaults to `--format json` (was `both`) and +> writes a `.meta.json` like the browser engines. + > **Correction to 0.1.0 and 0.2.0: `--sort newest` did not sort, and the > README's account of the store's orderings was wrong.** Both releases sent > the sort key in the wrong slot of the request. The store then answered @@ -319,6 +335,7 @@ None of these is a limitation of the store, and each is stated as what it is: part of a family-wide fix measured across 32 repos by CALLING each one's `finish_run` rather than grepping for it. -[Unreleased]: https://github.com/2scraper/googleplay-scraper/compare/v0.2.0...HEAD +[Unreleased]: https://github.com/2scraper/googleplay-scraper/compare/v0.3.0...HEAD +[0.3.0]: https://github.com/2scraper/googleplay-scraper/compare/v0.2.0...v0.3.0 [0.2.0]: https://github.com/2scraper/googleplay-scraper/releases/tag/v0.2.0 [0.1.0]: https://github.com/2scraper/googleplay-scraper/releases/tag/v0.1.0 diff --git a/pyproject.toml b/pyproject.toml index b3b0781..ad3e737 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "googleplay-scraper" -version = "0.2.0" +version = "0.3.0" description = "Google Play scraper: app listings, search, full app pages, developer catalogues and reviews to JSON or CSV." readme = "README.md" license = "MIT"