- Fix bug where this SDK incorrectly sent feature flag events with null values when calling
get_feature_flag_payload
.
- Use personless mode when sending an exception without a provided
distinct_id
.
- Add
type
property to exception stacks.
- Add
platform
property to each frame of exception stacks.
- Adds a new
super_properties
parameter on the client that are appended to every /capture call.
- Remove deprecated datetime.utcnow() in favour of datetime.now(tz=tzutc())
- Fix manual capture support for in app frames
- Fix django integration support for manual exception capture.
- Add manual exception capture.
- Make sure setup.py for posthoganalytics package also discovers the new exception integration package.
- Make sure setup.py discovers the new exception integration package.
- Adds django integration to exception autocapture in alpha state. This feature is not yet stable and may change in future versions.
- Adds exception autocapture in alpha state. This feature is not yet stable and may change in future versions.
- Guard for None values in local evaluation
- Remove "-api" suffix from ingestion hostnames
-
- Adds a new
feature_flags_request_timeout_seconds
timeout parameter for feature flags which defaults to 3 seconds, updated from the default 10s for all other API calls.
- Adds a new
- Add
historical_migration
option for bulk migration to PostHog Cloud.
- Use new hosts for event capture as well
- Point given hosts to new ingestion hosts
- Update type hints for module variables to work with newer versions of mypy
- Remove new relative date operators, combine into regular date operators
- Return success/failure with all capture calls from module functions
- Make sure we don't override any existing feature flag properties when adding locally evaluated feature flag properties.
- When local evaluation is enabled, we automatically add flag information to all events sent to PostHog, whenever possible. This makes it easier to use these events in experiments.
- Numeric property handling for feature flags now does the expected: When passed in a number, we do a numeric comparison. When passed in a string, we do a string comparison. Previously, we always did a string comparison.
- Add support for relative date operators for local evaluation.
- Increase maximum event size and batch size
- Returns the current flag property with $feature_flag_called events, to make it easier to use in experiments
- Restore how feature flags work when the client library is disabled: All requests return
None
and no events are sent when the client is disabled. - Add a
feature_flag_definitions()
debug option, which returns currently loaded feature flag definitions. You can use this to more cleverly decide when to request local evaluation of feature flags.
Breaking change:
All events by default now send the $geoip_disable
property to disable geoip lookup in app. This is because usually we don't
want to update person properties to take the server's location.
The same now happens for feature flag requests, where we discard the IP address of the server for matching on geoip properties like city, country, continent.
To restore previous behaviour, you can set the default to False like so:
posthog.disable_geoip = False
# // and if using client instantiation:
posthog = Posthog('api_key', disable_geoip=False)
- Add option for instantiating separate client object
- Update backoff dependency for posthoganalytics package to be the same as posthog package
- Removes accidental print call left in for decide response
- Support evaluating all cohorts in feature flags for local evaluation
- Log instead of raise error on posthog personal api key errors
- Remove upper bound on backoff dependency
- Add support for returning payloads of matched feature flags
Changes:
- Add support for feature flag variant overrides with local evaluation
Changes:
- Fixes issues with date comparison.
Changes:
- Feature flags local evaluation now supports date property filters as well. Accepts both strings and datetime objects.
Changes:
- Feature flag defaults have been removed
- Setup logging only when debug mode is enabled.
- Make poll_interval configurable
- Add
send_feature_flag_events
parameter to feature flag calls, which determine whether the$feature_flag_called
event should be sent or not. - Add
only_evaluate_locally
parameter to feature flag calls, which determines whether the feature flag should only be evaluated locally or not.
Breaking changes:
- The minimum version requirement for PostHog servers is now 1.38. If you're using PostHog Cloud, you satisfy this requirement automatically.
- Feature flag defaults apply only when there's an error fetching feature flag results. Earlier, if the default was set to
True
, even if a flag resolved toFalse
, the default would override this. Note: These are removed in 2.0.2 - Feature flag remote evaluation doesn't require a personal API key.
New Changes:
- You can now evaluate feature flags locally (i.e. without sending a request to your PostHog servers) by setting a personal API key, and passing in groups and person properties to
is_feature_enabled
andget_feature_flag
calls. - Introduces a
get_all_flags
method that returns all feature flags. This is useful for when you want to seed your frontend with some initial flags, given a user ID.
- Support for sending feature flags with capture calls
- Support multi variate feature flags
- Allow feature flags usage without project_api_key
- Fix packaging issues with Sentry integrations
- Improve support for
project_api_key
(#32) - Resolve polling issues with feature flags (#29)
- Add Sentry (and Sentry+Django) integrations (#13)
- Fix feature flag issue with no percentage rollout (#30)
- Add
$set
and$set_once
support (#23) - Add distinct ID to
$create_alias
event (#27) - Add
UUID
toID_TYPES
(#26)
Initial release logged in CHANGELOG.md.