Skip to content

chore(release): promote v1.1.4 to production - #57

Merged
henrique-coder merged 46 commits into
prodfrom
dev
Aug 6, 2026
Merged

chore(release): promote v1.1.4 to production#57
henrique-coder merged 46 commits into
prodfrom
dev

Conversation

@henrique-coder

@henrique-coder henrique-coder commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

Promotes the 1.1.4 release candidate from dev to prod.

Changes

  • Support the current schematized Perplexity SSE stream.
  • Preserve compatibility with the legacy text response format.
  • Update the model registry using Perplexity's /rest/models/config/v2.
  • Add official-model metadata and operational availability status.
  • Add and update model testing metadata.
  • Update generated model documentation.
  • Keep release publishing automated through GitHub Actions.

Validation

  • Ruff
  • ty
  • Prettier
  • Taplo
  • Model documentation validation
  • 71 tests passed
  • Strict MkDocs build
  • uv build

dependabot Bot and others added 30 commits July 27, 2026 09:28
Bumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@9c091bb...3d3c42e)

Updates `github/codeql-action/init` from 4.37.0 to 4.37.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@99df26d...7188fc3)

Updates `github/codeql-action/analyze` from 4.37.0 to 4.37.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@99df26d...7188fc3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
…dev/github-actions-e210efbe6e

build(deps): bump the github-actions group with 3 updates
Bumps the github-actions group with 4 updates: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv), [docker/login-action](https://github.com/docker/login-action), [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `astral-sh/setup-uv` from 8.3.2 to 9.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@11f9893...c771a70)

Updates `docker/login-action` from 4.4.0 to 4.5.2
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@af1e73f...371161b)

Updates `github/codeql-action/init` from 4.37.1 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@7188fc3...e4fba86)

Updates `github/codeql-action/analyze` from 4.37.1 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@7188fc3...e4fba86)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-version: 4.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the python-runtime group with 1 update: [fastapi](https://github.com/fastapi/fastapi).


Updates `fastapi` from 0.139.2 to 0.140.0
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](fastapi/fastapi@0.139.2...0.140.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.140.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-runtime
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the python-development group with 1 update: [ruff](https://github.com/astral-sh/ruff).


Updates `ruff` from 0.15.22 to 0.16.0
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.22...0.16.0)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-development
...

Signed-off-by: dependabot[bot] <support@github.com>
…dev/github-actions-1ee6e6dd9d

build(deps): bump the github-actions group with 4 updates
…untime-648060bf20

build(deps): bump fastapi from 0.139.2 to 0.140.0 in the python-runtime group
…evelopment-c784f51798

build(deps-dev): bump ruff from 0.15.22 to 0.16.0 in the python-development group
@henrique-coder henrique-coder self-assigned this Aug 6, 2026
Copilot AI lite review requested due to automatic review settings August 6, 2026 00:18
@henrique-coder
henrique-coder merged commit 0ff7864 into prod Aug 6, 2026
36 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Promotes release v1.1.4 by updating the client to handle Perplexity’s current schematized SSE stream format, refreshing the model registry/metadata, and aligning tests + documentation + CI automation with the new model/status semantics.

Changes:

  • Add schematized stream support (workflow_block + incremental diff_block) while retaining legacy text parsing.
  • Refresh model registry semantics (remove unstable, add is_official, record last_tested_at) and propagate through API/MCP/docs/tests.
  • Bump release/versioning + dependency/tooling pins and update automation/docs to match.

Reviewed changes

Copilot reviewed 40 out of 43 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/test_thread_continuation.py Formatting-only tweak in test helper.
tests/test_parser.py Adds coverage for schematized SSE parsing, diffs, markdown/web-result merging, and DONE marker handling.
tests/test_models.py Updates registry invariants to match new status set + is_official metadata.
tests/test_mcp_tools.py Makes MCP tool registration assertions derive from registry rather than hardcoded counts.
tests/test_http.py Formatting-only spacing adjustments in fake HTTP client.
tests/test_cli.py Updates CLI tests to pass risk acknowledgement flag in scenarios impacted by new status rules.
tests/test_api.py Updates API tests to validate /v1/models metadata and risky-model acknowledgement logic.
tests/test_account.py Updates entitlement/risk behavior expectations and adds ty ignores on direct _http assignment in tests.
src/perplexity_webui_scraper/models/types.py Removes unstable status and introduces is_official model metadata.
src/perplexity_webui_scraper/http/client.py Minor formatting changes inside request helpers.
src/perplexity_webui_scraper/core/parser.py Implements schematized stream parsing, JSON Patch application, and DONE marker parsing.
src/perplexity_webui_scraper/core/conversation.py Persists schematized stream state across SSE events in Conversation.
src/perplexity_webui_scraper/core/client.py Minor formatting changes around account API helpers.
src/perplexity_webui_scraper/cli/commands/chat.py Minor UX/flow formatting in prompts; prepares for non-available model handling.
src/perplexity_webui_scraper/cli/commands/_token_store.py Minor formatting in token/config helpers.
src/perplexity_webui_scraper/cli/main.py Minor formatting in CLI entrypoint branching.
src/perplexity_webui_scraper/api/schemas/response.py Adds is_official to API model metadata and removes unstable from schema.
src/perplexity_webui_scraper/api/routes/models.py Exposes is_official in /v1/models response.
src/perplexity_webui_scraper/api/routes/completions.py Minor formatting in streaming branch.
src/perplexity_webui_scraper/api/conversation_cache.py Minor formatting in cache hit path.
src/perplexity_webui_scraper/_static/models.json Updates model catalog entries (ordering/metadata/status/test timestamps, is_official).
src/perplexity_webui_scraper/_internal/logging.py Minor formatting in logging configuration branch.
src/perplexity_webui_scraper/_internal/constants.py Switches defaults to schematized stream + adds cache-control/accept-language headers; updates request flags.
scripts/render_model_docs.py Adjusts generated docs to include is_official and removes unstable status behavior.
scripts/ci_changed_paths.py Minor formatting and output writing flow tweaks.
README.md Updates documentation for the new 3-status model system and is_official semantics.
pyproject.toml Bumps version to 1.1.4 and updates dependency/tool versions and lint ignores.
pnpm-workspace.yaml Removes workspace config.
pnpm-lock.yaml Updates Prettier version pin in lockfile.
package.json Updates Prettier version and removes packageManager pin.
docs/usage.md Minor formatting spacing in example snippet.
docs/mcp-server.md Updates risky tool behavior docs and regenerates model tool table with is_official.
docs/api-reference.md Updates model status docs/table generation and reformats JSON examples.
CONTRIBUTING.md Adds pre-push hook guidance and updates model endpoint + registry/test/docs discipline.
CHANGELOG.md Adds 1.1.4 release notes and adjusts prior entries.
AGENTS.md Introduces consolidated agent/project instructions for changelog/model metadata/python quality.
.pre-commit-config.yaml Renames local hook and scopes it to pre-push.
.gitignore Ignores local example Python scripts (example*.py).
.github/workflows/security.yml Updates pinned action SHAs.
.github/workflows/publish.yml Updates pinned action SHAs (checkout/setup-uv/login).
.github/workflows/docs.yml Updates pinned action SHAs (checkout/setup-uv).
.github/workflows/ci.yml Updates pinned action SHAs and bumps pnpm version used in CI.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +309 to +313
if "blocks" in data:
if schematized_state is None:
schematized_state = SchematizedStreamState()

return _process_schematized_blocks(data, search_results, citation_mode, schematized_state)
Comment thread tests/test_models.py
Comment on lines +34 to +36
official_positions = [index for index, model in enumerate(models) if model.is_official]
historical_positions = [index for index, model in enumerate(models) if not model.is_official]
assert not historical_positions or max(official_positions) < min(historical_positions)
Comment thread tests/test_api.py
Comment on lines 131 to 133
def test_risky_model_api_requires_and_accepts_acknowledgement(client: TestClient) -> None:
risky_model_id = next(model.id for model in MODELS.list_all() if model.status != "available")
with patch("perplexity_webui_scraper.api.routes.completions.MODELS", MODELS):
Comment thread CHANGELOG.md
Comment on lines 30 to 34
### Added

- **Unified model status:** Added the four-state `available`, `unstable`, `unknown`, and `unavailable` model status, preserving historical records instead of deleting them.
- **Grok 4.5:** Added the Pro-tier Grok 4.5 and Grok 4.5 Thinking models after successful live probes against both picker identifiers.
- **Model test timestamps:** Added nullable `last_tested_at` metadata with the UTC instant of the test supporting each model status.
- **Generated model catalog:** API and MCP documentation tables are now rendered from `models.json`, keeping runtime tools and documentation aligned with one source of truth.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants