Skip to content

docs: 8.0 migration guide and openfeature-provider pin - #1030

Draft
eli-r-ph wants to merge 2 commits into
v1-capture-invariant-testsfrom
v1-capture-migration-docs
Draft

eli-r-ph wants to merge 2 commits into
v1-capture-invariant-testsfrom
v1-capture-migration-docs

Conversation

@eli-r-ph

@eli-r-ph eli-r-ph commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

💡 Motivation and Context

The capture v1 stack (#1017-#1029) has breaking changes spread across eleven PRs. The major changeset already points users to "the migration guide", which does not exist yet. The OpenFeature provider also pins posthog<8.0.0, so it would block the upgrade.

Changes

  • New docs/migration-7.x-to-8.0.md. It starts with a checklist of what needs code changes, then covers:
    • endpoints and self-hosting
    • removed options and APIs
    • errors and on_error
    • event uuids
    • event options and the layer order
    • AI capture
    • batching and size limits
    • the OpenFeature provider
  • README: an 8.0 row in the version table and a link to the guide.
  • The major changeset links to the guide.
  • openfeature-provider-posthog accepts posthog>=7.0.0,<9.0.0, with its own changeset. The provider uses only flag APIs, which 8.0 does not change, so it does not need to force the upgrade.
  • AGENTS.md: the capture summary now describes options as sent as given and layered. It used to say "strictly typed", which changed in feat!: per-event capture options and legacy property hoisting #1023.

No examples change: none use a removed option or API.

💚 How did you test it?

  • Every public name in the guide was checked against the stack: CaptureError fields, module-level set_context_option and super_options, the 7.x positional constructor order, _TERMINAL_STATUSES including 429, and the backoff constants.
  • The provider's CI job passes locally: uv sync, pytest, ruff, mypy, and the wheel smoke install on Python 3.10. The smoke install resolves posthog 7.x from PyPI, which an 8.x-only pin could not do before 8.0 is published.
  • The root suite passes; no library code changed.

📝 Checklist

  • I reviewed the submitted code.
  • I added tests to verify the changes.
  • I updated the docs if needed.
  • No breaking change or entry added to the changelog.

If releasing new changes

  • Ran sampo add to generate a changeset file

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Written with Cursor (Claude Opus) under the direction of the assignee. Skills used: writing-user-facing-copy, writing-pr-descriptions.

Decisions for the reviewer:

  • Provider bump is minor (0.1.x to 0.2.0) to mark posthog 8 support. patch is the alternative: Sampo already patch-bumps the provider on every posthog release.
  • Pin is >=7.0.0,<9.0.0, not 8-only. Provider users can upgrade posthog when they choose, and the provider release does not depend on 8.0 being on PyPI first.
  • The endpoints section tells self-hosted users to check that both v1 endpoints are served. It names no deployment type.
  • The guide lives under docs/, a new directory. The repo had no earlier migration guide to follow.

@eli-r-ph eli-r-ph self-assigned this Oct 7, 2026
@eli-r-ph eli-r-ph mentioned this pull request Oct 7, 2026
3 of 18 tasks
@eli-r-ph
eli-r-ph force-pushed the v1-capture-migration-docs branch from b0bc887 to cfb7726 Compare October 7, 2026 03:56
@eli-r-ph
eli-r-ph force-pushed the v1-capture-invariant-tests branch from 6650520 to 7f7757a Compare October 7, 2026 03:56
@eli-r-ph
eli-r-ph force-pushed the v1-capture-invariant-tests branch from 7f7757a to 44df57f Compare October 7, 2026 04:54
@eli-r-ph
eli-r-ph force-pushed the v1-capture-migration-docs branch 4 times, most recently from cfb7726 to 20739d8 Compare October 7, 2026 04:54

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant