Release Notes #

See the updates and improvements in the latest releases of Satori.

v2.0.4 #

Released: December 3, 2024

Added #

  • Allow filtering by category label on the identity’s feature flags, live events, message schedules, and experiments page.
  • Add endpoint to delete permanently all identities of an audience (Console API - AudienceIdentityDeleteAll) on non-production environments.
  • Add memory, mutex, and block delta profiles for pprof.

Changed #

  • Rename ‘Overview’ to ‘Timeline’ in Console UI.
  • Expand the goal metrics section by default on the experiment’s detail page.
  • Improve performance of identity update operations.
  • Improve the creation of Admin console users.
  • Improve memory and CPU usage of notification platform’s HTTP clients.
  • Reduce the amount data read when evaluating an identity’s audience membership.

Fixed #

  • Permission required to list category labels.
  • Fix ‘default’ server key permissions.
  • Fix migration of _sessionStart events performed by the Identify endpoint.

v2.0.3 #

Released: December 3, 2024

Added #

  • Add message id as an external id in the notification’s custom payload.
  • Add support for Webhooks.
  • Add Live Event’s status to LiveEventList (Console.API)
  • Add Hiro template: Solo Timed Event.
  • Extend Audience form to display property’s data types.

Changed #

  • Update Hiro schema validators to v1.20.0
  • Reduce the payload of FlagList (Console.API) by removing the default value.
  • Remove Flag’s value column on the Flag list page (Console UI).
  • Allow filtering Live Events, Experiments, Flags, and Message Schedules by Category label.
  • Display Experiment phase’s audience and improve copy (Console UI).
  • Memory improvements on HTTP compression.
  • Restructure of Live Event and Live Event’s Flag section (Console UI).
  • Improve copy overall (Console UI).
  • Improve performance of the audience processor.
  • Improve performance of API.GetLiveEvents, API.GetFlags, and API.GetExperiments endpoints.

Fixed #

  • Fix APNs notification payload structure.
  • Improve error handling of the BigQuery’s gRPC client.
  • Fix audience selection when updating Flag Variants (Console UI).
  • Metric chart loading issue on slower networks (Console UI).
  • Fix permission on list Category labels.

v2.0.2 #

Released: October 7, 2024

Added #

  • Add Boolean, Number-Array, String-Array, Unix-Timestamp, Duration as core Validators.
  • Add support to arrays, time, and duration operators to Audience filter form mode.
  • Add support for Hiro-Auctions: feature flag, validator, and events.`
  • Add endpoint to download experiment phase’s results as a CSV file.
  • Add menu option to download phase results as a CSV file in the Console’s experiment details page"
  • Add status filter for experiments.

Changed #

  • Display the count in the tables for Audiences, Live Events, Experiments, Metrics, and Feature Flags.
  • Display property values containing unix timestamps as datetimes.
  • Update Hiro-Unlockables, Hiro-Economy, and Hiro-Inventory.
  • Improve performance by configuring BigQuery client to use gRPC.

Fixed #

  • Change input validator to support recovery codes.
  • Fix the validation of metric association on data imports.
  • Fix Live Events regression that prevent the system from loading recurring Live Events without an end.
  • Fix validation of conflicting Experiment Phase’ flags when configuring concurrent experiments.
  • Fix datalake event metadata loading for event’s affected by experiments using the ALL audience.
  • Modify example audiences to render correctly in Audience filter’s form mode.
  • Highlight APNs documentation link.

v2.0.1 #

Released: October 7, 2024

Added #

  • Add categorization of Live Events, Experiments, and Message Schedules in dashboard UI.
  • Allow associating categorization labels during the creation of Live Events, Experiments, Feature Flags, and Message Schedules.
  • Add the start time, end time, duration, and cron expr to API.GetLiveEvents.
  • Display the metric order, type, and composition in the Metrics’s Detail page.
  • Add search by status in Live Event and Experiments (UI).

Changed #

  • Reduce the amount of data loaded for the pages Live Event list and calendar.
  • Return metrics’ data as float64 instead of int64.
  • Use caches to avoid loading live event and/or experiment data when adding extra metadata to datalake’s events.
  • Improve the execution time of the Experiment Phase interruption.
  • Improve the performance of Feature Flag search (UI).
  • Improve UI copy.

Fixed #

  • Setup of the buffer processor metrics.
  • Permissions required to interrupt an experiment phase.
  • Configure gRPC gateway to use structured JSON logging.
  • Fix display of Experiment Phase’s metrics with the width of 1h.

v2.0.0 #

Released: August 16, 2024

Added #

  • Add audience filter visual expression editor.
  • Add Experiment calendar listing endpoint to power dashboard UI’s calendar view for experiments.
  • Allow users to assign a color to experiments in the dashboard UI.
  • Set fundamental metrics as core concepts that are immutable.
  • Add creation and modification wizards for Live Events and Experiments.
  • Add Experiment templates powered by Hiro (Dynamic pricing and timed offers).
  • Add Live Event templates powered by Hiro (Dynamic pricing and timed offers).
  • Add schema validators, metrics, and feature flags that support Hiro templates as core concepts.
  • Add buildNumber, city, platform, pushTokenHuawei, pushTokenIos, and state as default properties for identities.
  • Extended audit log of all operations performed through the dashboard UI.
  • Add new S3 Data Lake integration.
  • Allow Satori instances to import the definitions of multiple entities from other Satori instances.
  • Allow admins to set the preferred timezone that timestamps should be display in across dashboard UI.
  • Add title and image_url to the identity inbox and message listing operations.
  • Add location information derived from GeoIP data to events sent to datalakes.
  • Add identity context information to events sent to datalakes, e.g, current audiences, live events, experiment, custom properties, and session metadata.
  • Request audience membership recalculation when previously defined events are published.
  • Represent identity’s computed properties on the value field as floats, i.e. valueSum, valueHigh, and valueLow.

Changed #

  • Vastly improved dashboard UI experience.
  • Better encoding, compression, and delivery of dashboard UI static assets.
  • Improve value editor interfaces across the dashboard UI.
  • Increase the number of data points returned by the metrics endpoint by default.
  • Update UI assets build process in order to use Heroic Labs’s new design system.
  • Unify the creation/update of an Experiment and its dependencies in one single operation to avoid interference from concurrent changes.
  • Unify the creation/update of an Experiment phase and its dependencies in one single operation to avoid interference concurrent and/or temporary changes to experiment grouping the phase.
  • Unify the creation/update of a Live Event and its dependencies in one single operation to avoid interference from concurrent changes.
  • Rename Experiment phase stop operation to Experiment phase interrupt.
  • Adjust the dashboard UI default session token configuration.
  • Replace default purchaseCompleted metric by a Revenue metric.
  • Add SessionLength, AverageSessionLength, SessionCount, InstallationCount as standard metrics across the dashboard UI.
  • Improve performance of request handling across all API endpoints.
  • Reduce database resource usage by unifying all metric calculations.
  • Improve performance of the continuous Audience processing system.
  • Increase the maximum length of Event value fields.
  • Improve pagination for endpoints that list Message Schedules, participants and candidates of Live Events, and candidates of Experiment Phases.
  • Improve performance when deleting audiences with large identity membership.
  • Remove the restriction on the value length for default properties.
  • Allow users to define the delivery mechanism used by Message Schedules.
  • Add Categories as a new Taxonomy configuration.
  • Add categorization of Feature Flags in dashboard UI.
  • Improve error handling semantics across all API endpoints.
  • Experiment phases are now returned as part of the same Experiment retrieval structure.

Fixed #

  • Gracefully handle badly formatted tokens.
  • Block the deletion of Metrics referenced by other Metrics in the dashboard UI.
  • Return Feature Flag information per each experiment phase returned by the Experiment phase listing operation.
  • Fill the position field of the Flag retrieval operation.
  • Update ACL for Identity retention access.
  • Avoid classifying self-references as external references in schema validators.
  • Fix the overlap verification of Feature Flags associated to Live Events using the Live Event flag creation operation.
  • Correctly handle all edge cases for Audience overrides and exclusion evaluation in the Audience processor.
  • Correctly apply structured logging to the Data Lake client for Snowflake.
  • Fix the reporting format of Event processors.
  • Fix the format of Live Event run listings in the dashboard UI.

v1.8.5 #

Released: July 30, 2024

Added #

  • Easier configurability for maximum feature flag value sizes.

Changed #

  • Increase default maximum feature flag value size from 64 KB to 128 KB.

v1.8.4 #

Released: July 30, 2024

Added #

  • Always set a default limit for dashboard UI message listings.

Fixed #

  • Exclude holdouts from dashboard UI identity live events view.
  • Exclude holdouts from dashboard UI identity feature flag view, when the flag value is determined by an active live event.

v1.8.3 #

Released: April 9, 2024

Changed #

  • Ensure audience processing logs more concise useful information.

v1.8.2 #

Released: April 9, 2024

Added #

  • Add JSON editor for Experiment flag variant overrides in the dashboard UI.
  • Progress indicator for dashboard UI data management actions.
  • New dashboard UI hints for Audience filter expressions.
  • Extend list of default supported event names.
  • More relevant data exposed in _liveEventJoin event.

Changed #

  • Feature Flag changes now require confirmation through a modal.
  • Dashboard UI scaling and polish updates.
  • Better responsive dashboard UI handling on Live Events participants view.
  • Improve parallelism in background Audience processing.

Fixed #

  • Improve Redshift data lake connection stability.
  • Clarify event name used in Redshift data lake adapter.
  • Ensure UTC timezone is used for all metrics continuous aggregates and convert to local time at point of display only.

v1.8.1 #

Released: April 9, 2024

Added #

  • New Metrics type support for more complex “hybrid” metrics.

v1.8.0 #

Released: April 9, 2024

Added #

  • New Retention graphing feature in dashboard UI.
  • OneSignal message transport support.
  • Deletion confirmation modals now highlight the name of the item being deleted.
  • Add endpoint name as label in exported Prometheus metrics data.
  • Show immediate Schema outward references in dashboard UI.
  • Add new default Audiences for commonly used country groupings.
  • Improved Live Event results view in dashboard UI.

Changed #

  • Adjust default event retention window.
  • Live Event and Experiment details dashboard UI improvements.
  • Better Data Management dashboard UI controls and modals.
  • Always open documentation links in new browser tabs for convenience.
  • No longer strictly require description fields on creates or updates.
  • Metric creation includes a more verbose check for description field length.

Fixed #

  • Clarify errors on schema validation rejections shown in the dashboard UI.
  • Correctly set session keepalive config on Snowflake data lake connections.
  • More useful information added to logs for token rejections.
  • Fix dashboard UI visual artefact on deleting metrics.
  • Fix display of phase metric results that have no events.
  • Correct binomial metric query reliability for varying data.
  • More useful information added to logs on context cancellations.
  • Fix appearance of a duplicated event on Live Event and Experiment joins.
  • Faster loading of modals with JSON editor components.
  • Fix dashboard UI scaling for large Audience filter expressions.
  • Correctly handle creation of complex Feature Flags when using the UI form view.
  • Fix dashboard UI graphing layout for Experiment results.

v1.7.7 #

Released: April 9, 2024

Fixed #

  • Correct Live Event membership tracking displayed in dashboard UI.
  • Ensure concurrent requests for event retrieval are identified separately in logs.

v1.7.6 #

Released: April 9, 2024

Fixed #

  • Load audience names on initial flag retrieval operations to avoid a round trip.

v1.7.5 #

Released: April 9, 2024

Changed #

  • Audience filter property lookups now handle stored empty property values based on the type of the default input.

Fixed #

  • Consistently handle order of audiences in live event edge processing to ensure directly comparable measurements across process instances.

v1.7.4 #

Released: April 9, 2024

Fixed #

  • Fix Feature Flag search field visual placeholder in dashboard UI.
  • Fix value editor validation state when transitioning views.
  • Ensure consistent Live Event flag override variant processing order.
  • Clean up handling of logs for concurrent authentication operations for the same identity.

v1.7.3 #

Released: April 9, 2024

Added #

  • Allow schema value to be set directly in the new schema creation modal.

Changed #

  • Ensure all client endpoints return an accurate error if the identity making the call does not exist.
  • Audience filters now parse string property values as floats where possible.

Fixed #

  • Hide schema request warning from value field editor.

v1.7.2 #

Released: April 9, 2024

Changed #

  • Better handling of large numbers in computed properties updates.

Fixed #

  • Correctly display Live Event flag override variants configuration in Identity Feature Flags page.

v1.7.1 #

Released: April 9, 2024

Changed #

  • Serve monaco editor assets from assets path consistent with other UI elements.

v1.7.0 #

Released: April 9, 2024

Added #

  • New core schema validator for ’empty’ values.
  • Introduce audience-based variants for Live Event feature flag overrides.
  • Dashboard elements to attach messages schedules to live events outside the live event details page.
  • Introduce monaco editor for large text inputs.

Changed #

  • Sample data now triggers graph display in experiment phase results.
  • Better log messages when property updates are rejected.
  • Use constant data for rendering preview message templates.
  • Preview message templates as soon as page is shown.
  • Audience filters now attempt to parse property values according to type of default value given.
  • Improve message scheduling reference anchors for schedules tied to Live Events.

Fixed #

  • Consistent schema usage when creating Big Query data lake export destination.
  • Correct dashboard validation for values governed by the ’empty’ schema.
  • Fix UI sizing for Experiments and Live Events with large value fields.
  • Fix update of message schedule relative offset when corresponding Live Event is moved.
  • Ensure disabled audiences/holdouts are not selectable in dropdowns.
  • Fix sidebar scrolling issue on small screen displays.
  • Fix accessibility hints for dashboard form inputs on the login page.
  • Ensure Live Events are fully re-validated when updating holdouts.

v1.6.6 #

Released: April 9, 2024

Fixed #

  • Fix identifier selection in feature flag variant imports.

v1.6.5 #

Released: December 5, 2023

Changed #

  • Allow event metadata up to 4096 bytes, up from 1024 bytes.
  • Build with Go 1.21.4 and use Debian bookworm-slim for base docker images.

v1.6.4 #

Released: October 30, 2023

Added #

  • Create a v2 continuous aggregate for events to speed up event stats query.

Changed #

  • Switched relevant socket metrics to use v2 events count aggregate.
  • Enable Prometheus by default on port 7452.
  • Return better errors on client API in cases of no identity found.

v1.6.3 #

Released: October 11, 2023

Added #

  • Support for Facebook App-to-User messaging.

Changed #

  • Build with Go 1.21.3.

Fixed #

  • Enable form view if schema type is absent and its inferred type is an object.
  • Fix horizontal tab navigation errors.
  • Force max modal width on Audience create.

v1.6.1 #

Released: September 21, 2023

Added #

  • Add Live Event option to toggle membership binding.

Fixed #

  • Fix issue with observing Live Event edges when computing Flag overrides.

v1.6.0 #

Released: September 18, 2023

Added #

  • Continuous aggregate to pre-compute experiment phase metrics.
  • Display phase metrics as graphs for continuous aggregate queries.
  • Add continuous aggregates to improve socket metrics performance.
  • Add optional experiment max participant threshold.
  • Allow listing of experiment phase and variant participants.
  • Allow assigning identities directly to experiment phase variants via console.
  • Allow moving identities to different experiment phase variants via console.
  • Add option to export experiment phase variants as flag variants.
  • Expose metrics for client API, console API, and event processing components.
  • Syntax highlighting and completion for audience filter expressions in console UI.
  • Add console UI views for identity message listings and pagination.
  • Add semver utility functions to available audience filter elements.
  • Add support for holdouts to live events configuration.
  • Add synthetic event when an identity joins a live event.

Changed #

  • Allow client API property update operations with only audience re-computation specified.
  • Filter out invalid or unknown properties in client API property update operations.
  • Open info modal in console UI after user creation.
  • Avoid unnecessary logging of context cancelled errors.
  • Console schema validator inference now inspects first element of an array.
  • Ensure identities remain part of live events until the next reset.
  • Build with Go 1.21.1.

Fixed #

  • Ensure API spec lists schema ID inputs as required.
  • Fix event conversion and delivery to Snowflake data lake.
  • Correctly handle audience creation in the console UI when using the ALL audience as base.
  • Ensure console UI sidebar footer renders correctly when items are hidden due to insufficient permissions.

v1.5.1 #

Released: August 16, 2023

Fixed #

  • Fix dynamic form building for schemas with patternProperties syntax.
  • Remove unwanted link to live event details in general message schedule view.
  • Fix dialog typo in experiment variant identities export.are changed.

v1.5.0 #

Released: August 8, 2023

Added #

  • New Geo-IP resolved default properties for “state” and “city”.
  • Extended Data Management tab in Settings panel.
  • Ability to re-insert default data such as audiences bundled with every fresh deployment.
  • Client API endpoint to delete the caller’s identity and data.
  • Data Management options to delete data from the console UI.
  • New details page for individual Live Events.
  • New templates feature to manage client-facing multi-language text elements.
  • Schedule outgoing messages to be delivered relative to Live Event start and end times.
  • AppNava ML data lake target support in underlying adapters.
  • Data Management options to export configuration data from the console UI.
  • Add column for Feature Flag default value in console UI flag list.
  • Add column for Feature Flag variant count in console UI flag list.
  • Add optional descriptions for Feature Flags.
  • Add filtering to Feature Flag listing view in the console UI.
  • Include AppNava Data Lake status in Stats endpoint response.
  • Add initial properties to _identityCreate event.
  • Allow clients to request recompute of audience memberships on properties update operations.
  • Allow multiple metrics to be defined for each event name.
  • Allow experiments to override same feature flags on disjoint audience/holdout configurations.
  • Add _experimentJoin event when an identity first joins a phase, including experiment/phase/variant info.
  • Allow easy creation of new audiences using existing ones as a base definition.
  • Add ‘platform’, ‘version’, and ‘buildNumber’ as new default properties.
  • Import/Export of configuration, taxonomy, and related data.
  • Add button to export phase variant participants to new audience definitions at the end of a phase.

Changed #

  • Update IP2Location database, use DB3 LITE instead of DB1 LITE source for extra region and city info.
  • Remove query workarounds needed for older timescale-toolkit versions.
  • Remove “toolkit_experimental” prefix from “approx_count_distinct” query usage.
  • Build UI assets with cache busting options enabled by default.
  • Upgrade to pgx v5.
  • Allow Feature Flag values and variant values up to 64KB.
  • Add 0.5x to 1.5x jitter between audience processor runs.
  • Clarify wording in Server Key management popup.
  • Use console wait/timeout configured values for /stats endpoint on the metrics port.
  • Unknown properties submitted from clients will now be ignored, instead of returning an error.
  • Better formatting of identity counter in audience view.
  • Improved schema format for BigQuery Data Lake adapter to expand metadata fields.

Fixed #

  • Fix restriction on selecting event metadata schemas.
  • Remove un-toggleable ‘Reset schedule’ input.
  • Fix ACL requirements for endpoints.
  • Forcefully log out console users when their permissions or other details are changed.

v1.4.1 #

Released: June 14, 2023

Fixed #

  • Fix issue where templates were still being unnecessarily resolved.

v1.4.0 #

Released: June 14, 2023

Added #

  • New validation schemas feature.
  • Split key selection options for experiments.
  • Add option to delete experiment variants.
  • Add option to copy password reset link in user management modals.

Changed #

  • Rename title of identity properties add modal.

Fixed #

  • Fix intermittent issue where audience cache may be out of sync.
  • Fix intermittent issue where API key cache may be out of sync.
  • Fix intermittent issue where server key cache may be out of sync.

v1.3.5 #

Released: May 25, 2023

Added #

  • Server key management endpoints and UI.

Changed #

  • Build with Go 1.20.4.
  • Allow multiple server keys with individual permissions.

Fixed #

  • Fix console UI Settings submenu routing when user does not have User Management permissions.
  • Fix Experiment Flag value fields not being editable on variant creation and update.

v1.3.4 #

Released: May 11, 2023

Fixed #

  • Fix nil pointer in audience processor identity pagination.

v1.3.3 #

Released: May 11, 2023

Added #

  • Add dropdown to select properties to add in Identity Properties view.
  • Add “pretty JSON” button to Feature Flag detail view flag value field.
  • Add “pretty JSON” button to Feature Flag variant modal value field.

Changed #

  • Experiments now disallow same metric on both goal and monitor lists.
  • Avoid sending unnecessary deletes and inserts for audience edges during audience processor runs.
  • New icon for Data Lakes sidebar item.
  • Remove ID column from Metrics list view table.
  • Feature Flag detail view shows larger default field for flag value.
  • Make Feature Flag variant modals larger by default.
  • Updated Experiment detail view layout.
  • Use updated Satori logos throughout the UI.
  • More efficient workload distribution to audience processor workers.

Fixed #

  • Add missing ExperimentFlagAdd ACL permission.
  • Delete button no longer scrolls out of view in Metrics list view table.

v1.3.2 #

Released: April 24, 2023

Added #

  • Add custom metric detail view.
  • Add custom metric graphs and controls in metric detail view.

Changed #

  • Update expr dependency, improve performance of generic registered functions.
  • Reduce use of large string concatenation in audience processor worker.
  • Build with Go 1.20.3 and use Debian bullseye-slim for base docker images.
  • Eliminate use of reflection-based functions with expr in the audience processor.

Fixed #

  • Fix missing Experiment Variant endpoint permission handling.

v1.3.1 #

Released: April 10, 2023

Changed #

  • Include experiment phase start time in variant selection hash input.

Fixed #

  • Introduce IPv6 GeoIP lookup data in addition to existing IPv4.
  • Allow identity properties form to submit with empty computed property values.

v1.3.0 #

Released: March 10, 2023

Added #

  • Add tooltips to metric creation dialog.
  • Add optional default and custom properties input to authentication operation.

Changed #

  • Experiment phases now show partial results while the phase is still in progress.
  • Hide Split Key fields from all UI areas.
  • Update GeoIP embedded file format.
  • Update GeoIP database to latest available version as of 2023-02-24.
  • Make config export button more visible on Settings > Configuration tab.
  • Include total identity count in audience details view.
  • Rename “Users” to “Identities” on experiment phase results.
  • Clicking the audience in identity audiences view now redirects to the audience details.
  • Rename “Flag Name” to “Variant Name” in feature flag variants table header.
  • Do not highlight all experiment phase variants as best if all their values all zero.

Fixed #

  • Allow sample data deletion to succeed even if some of it is still referenced.
  • Prevent accidental bypass of the confirmation word when pressing enter on the form.
  • Enforce typing out the confirmation word by turning off input autocomplete/suggestions.
  • Disabling data lake adapters now requires typed confirmation.
  • Rotating API keys now requires typed confirmation.
  • Rotating the server key now requires typed confirmation.
  • Fix NaN experiment phase result variant values.
  • Do not allow ALL audience in experiment holdouts.
  • Do not allow experiment audiences and holdouts to contain any overlapping audiences.

v1.2.0 #

Released: March 2, 2023

Added #

  • Live events can now override feature flag values.
  • Live events calendar view.
  • New sample data live event “VIP-Guilds-Event” that resets every Sunday and runs for 2 hours.

Changed #

  • Rename “Source” to “API Key” in identity events view.

v1.1.1 #

Released: February 8, 2023

Changed #

  • Better error messages when failing to insert sample data.

Fixed #

  • Fix a routing bug with the registered path for fetching console configuration data.

v1.1.0 #

Released: February 8, 2023

Added #

  • Experiments can now override feature flag values.
  • Add sample data to showcase experiment feature flag overrides.
  • Dedicated configuration view in the settings panel.
  • Better audience filter, overrides, and excludes tooltip info about audience processor timing.

Changed #

  • Move data lakes view to the top level in the sidebar.
  • Filter out session start events from trying to affect their own session duration.

Fixed #

  • Do not double-count identity creations when identifying as a new ID.
  • Do not create a new session when identifying as a new ID.
  • Correctly disregard old experiment phase memberships when a new phase starts.
  • Fix label for console user password resets.