Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: PostHog/posthog-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v7.0.1
Choose a base ref
...
head repository: PostHog/posthog-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v7.3.1
Choose a head ref
  • 9 commits
  • 21 files changed
  • 7 contributors

Commits on Nov 15, 2025

  1. Configuration menu
    Copy the full SHA
    494c786 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2025

  1. Configuration menu
    Copy the full SHA
    7c7f529 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2025

  1. Configuration menu
    Copy the full SHA
    2855977 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2025

  1. feat(flags): included evaluated_at properties in `$feature_flag_cal…

    …led` events (#374)
    
    * format
    
    * update tests
    
    * bump version
    dmarticus authored Dec 2, 2025
    Configuration menu
    Copy the full SHA
    c253e41 View commit details
    Browse the repository at this point in the history
  2. feat(flags): Add ETag support for local evaluation polling (#381)

    * Add ETag support for local evaluation polling
    
    Add support for HTTP conditional requests using ETags to reduce bandwidth
    when polling for feature flag definitions. When flag definitions haven't
    changed, the server returns 304 Not Modified and the SDK skips processing.
    
    - Add GetResponse dataclass to encapsulate response data, ETag, and status
    - Update get() to send If-None-Match header and handle 304 responses
    - Store ETag in client and pass it on subsequent polling requests
    - Skip flag processing when 304 Not Modified is received
    
    * Use _session rather than requests
    
    Benefits:
    
    1. Reuses TCP connections via keep-alive
    2. 2 retries on connect/read errors
    3. Faster handshakes
    
    * Add unit tests for get() function
    
    Test HTTP-level behavior including:
    - ETag extraction from response headers
    - If-None-Match header sent when etag provided
    - 304 Not Modified response handling
    - Fallback when 304 has no ETag header
    - Error response handling (APIError)
    - Authorization and User-Agent headers
    - Timeout and URL construction
    
    * Add defensive null check for response.data
    
    Guard against unexpected None data in non-304 responses to prevent
    TypeError when accessing dictionary keys.
    
    * Clear stored ETag when server stops sending one
    
    If the server stops including ETag headers in responses, clear the
    stored ETag so we don't keep sending a stale If-None-Match header.
    
    * Mask API tokens in log messages
    
    Keep first 10 chars visible for identification while hiding the rest.
    Addresses CodeQL security warning about logging sensitive data.
    
    * Ran ruff format
    haacked authored Dec 2, 2025
    Configuration menu
    Copy the full SHA
    fff9992 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2025

  1. fix: capture enriches with local eval when enabled (#380)

    Captured events now use local evaluation results when
    `send_feature_flags` is `True` and local evaluation is enabled.
    dustinbyrne authored Dec 4, 2025
    Configuration menu
    Copy the full SHA
    103a7ad View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2025

  1. feat: mask values (#382)

    * feat: mask values
    
    * feat: wip
    
    * fix: ruff
    
    * feat: wip
    
    * feat: wip
    
    * fix: ruff
    
    * fix: ruff
    
    * feat: wip
    
    * feat: wip
    
    * feat: version bump
    ablaszkiewicz authored Dec 5, 2025
    Configuration menu
    Copy the full SHA
    ce38fb2 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2025

  1. feat: Allow customization of socket options (#385)

    * feat: Allow customization of socket options
    
    This allows clients to configure (e.g.) socket keep alive probes
    
    * test: Prevent leaking modified _session
    
    * chore: Add a type ignore
    
    * feat: Add `disable_connection_reuse` config method
    
    Disables connection pooling
    
    * set_socket_options is idempotent
    dustinbyrne authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    d72e89a View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2025

  1. fix: remove unused $exception_message and $exception_type (#383)

    * fix: remove unused
    
    * fix: remove exception type
    
    * fix: wip
    ablaszkiewicz authored Dec 10, 2025
    Configuration menu
    Copy the full SHA
    88a7c5e View commit details
    Browse the repository at this point in the history
Loading