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
, andHiro-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
, andstate
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
andimage_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
, andvalueLow
.
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 aRevenue
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 from1024
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.