Releases: growthbook/growthbook
v3.3.0
Highlights
- Multi-Arm Bandits by @bryce-fitzsimons @lukebrawleysmith @lukesonnet in #2807 and many other commits
- Metric Groups by @Auz @bryce-fitzsimons in #3028 #3263
- Inline and User Filters for Fact Metrics by @jdorn in #3127 #3038
- Migrate to New Design System (ongoing work) by @msamper @ahdriel @gazzdingo and many others
Other Changes
- API endpoints to kick off experiment snapshot and check status by @lukesonnet in #2980
- "Generate Fact Tables" will now also create metrics for GA4, Segment, and Rudderstack by @jdorn in #3062
- Add pagination to metric list and team members page by @jdorn in #3233
- Add fact metric support to North Star configuration by @lukesonnet in #3100
- Feature kill switch confirmation is now enabled by default for new orgs by @jdorn in #3208
- Fact Metrics default projects now come from fact table instead of data source by @jdorn in #3209
- Snowflake improvements when using a proxy by @lukesonnet in #3094
- Enable OpenTelemetry logs in addition to traces/metrics by @romain-growthbook in #3052
- New toggle for experiments to disable sticky bucketing by @bryce-fitzsimons in #3200
- Improved UI for enum attributes and list operators by @Kevin-Chant in #3184
Bug Fixes
- Add null typeguard for window history by @Kevin-Chant in #3192
- Assume a webhook is raw (legacy) when no payload types are specified. by @romain-growthbook in #3172
- Typo bug fixes by @romain-growthbook in #3235
- Fix ClickHouse NULL date in Metric Analysis query by @lukesonnet in #3196
- Fix analysis settings bar flicker by @lukesonnet in #3239
- Fix copy/paste metrics in the Analysis settings screen by @ahdriel in #3247
- Fix loading flicker on features, metrics, and other pages by @jdorn in #3269
- Fix race condition when DISABLE_TELEMETRY is set by @jdorn in #3077
- Fix saved group bug by @jdorn in #3037
- Fix savedGroups sometimes hashing non-securestring attributes by @Kevin-Chant in #3143
- Fix typos by @august-growthbook in #3194
- Fix typos in openapi definition by @Kevin-Chant in #3182
- Fix useFeaturesList changing object pointers every rerender by @Kevin-Chant in #3141
- Fix webhook link. by @romain-growthbook in #3042
- Improve sticky bucket service by @bryce-fitzsimons in #3040
- Make sure targeting is copied when duplicating an experiment by @bryce-fitzsimons in #3234
- More graceful handling of fact table failure by @lukesonnet in #3240
- Prevent empty experiment names by @romain-growthbook in #3112
- Remove unsupported query changes by @msamper in #3171
- Update dependencies for SDKs (1.2.1) by @bryce-fitzsimons in #3087
- fix for sdk count by @gazzdingo in #3254
- fixed saved group deleting by @gazzdingo in #3251
- user lookup mem perf improvement by @tzjames in #3095
- Add snapshot type and configure notifications by @lukesonnet in #3065
- Block dimension analyses from firing significance events by @lukesonnet in #3061
- Fix result group for dimension results by @lukesonnet in #3080
Docs and Misc
- Telemetry data fixes by @jdorn @lukesonnet @bryce-fitzsimons in #3193 #3149 #3134 #3151 #3174 #3173
- Update caniuse-lite version by @ahdriel in #3227
- bump edge sdk versions by @bryce-fitzsimons in #3262
- fixing typo around quotes by @lukebrawleysmith in #3256
- Add bullet to no traffic debugging kb doc by @lukesonnet in #3147
- Add saved groups yt vid to docs by @royalfig in #3059
- Docs updates [override rules, multiple comparisons] by @lukesonnet in #3189
- Documentation for self-hosted CDNs by @jdorn in #3070
- Improve Fact Metric and Experiment API documentation by @lukesonnet in #3197
- Rewrite AA test KB article by @lukesonnet in #3078
- Better sentry stack traces by @romain-growthbook in #3103 #3099 #3106 #3027 #3032 #3101 #3104 #3105
- Remove unused file by @lukesonnet in #3084
- Update mysql2 dependency by @jdorn in #3068
- Enable source maps when running as dev by @itsgrimetime in #2060
- Fix yarn dev by @jdorn in #3044
New Contributors
Full Changelog: v3.2.0...v3.3.0
v3.2.0
Highlights
- Saved group improvements (project-scoping, CSV upload) by @Kevin-Chant @msamper in #2953 #2616
- Experiment significance webhook events by @romain-growthbook in #2923 #2922 #2836
- Add graphs to Fact Metric pages by @lukesonnet in #2748 #2909 #2920
- View metric impact by experiment by @lukesonnet in #2937 #2847
- Visual Editor UX improvements by @gazzdingo @Auz @bryce-fitzsimons in #2826 #2947
- Vercel Edge Config and Feature Flag integration by @jdorn @royalfig in #2943 #2998
- Azure SCIM provisioning support by @mknowlton89 in #2821 #2931
Other Changes
- Add Vertica DB as a supported data source by @lukesonnet in #2857
- Query concurrency limits, configurable per data source by @Kevin-Chant in #2513 #2912
- Secondary metrics by @jdorn in #2620 #2863
- Make it possible to duplicate/archive fact metrics & archive fact tables by @msamper in #2911
- Performance improvements for large orgs by @jdorn @tzjames @itsgrimetime in #2820 #2859 #2888 #2881 #2856
- ISO Country Code attribute format by @Kevin-Chant in #2981
- Project-scoped Archetypes for testing feature values by @Auz in #2841
- Improve super admin page by @jdorn @tzjames @Auz in #2117 #2849 #2775
- Add REST endpoints for attributes by @romain-growthbook in #2973
- Add REST endpoints for managing organization members by @mknowlton89 in #2851
- Show attribute references on attribute list page by @bryce-fitzsimons in #2930
- Add Access URL to Snowflake data source connections by @lukesonnet in #2890
- Deep nested diff of JSON feature flag values by @brentdur in #1407
- Add support for Fact Segments on upgraded Segment Model by @mknowlton89 in #2701
- Support fallbackAttribute when creating experiments by @madhuchavva @bryce-fitzsimons in #2964 #2932
- Changes to support WebLens Hypothesis Generator by @bryce-fitzsimons @bttf in #2845 #2579 #2815
- New streamlined setup flow for new organizations by @msamper in #2940
- Create Phases with a UUID seed instread of the Tracking Key by @gazzdingo in #2811
- Add missing fields to experiment/metric REST endpoints by @itsgrimetime @Kevin-Chant in #2781 #2927 #2794
- Allow for a second user-defined tracking callback in script tag SDK by @Kevin-Chant in #2971
- Release JS/React SDKs version 1.2.0 with several bug fixes by @bryce-fitzsimons in #2877 #2770
- Change experiment temp rollouts to force coverage to 100% by @bryce-fitzsimons in #2882
- Add advanced search to metrics list by @jdorn in #2866
- Advanced search improvements by @Auz in #2804 #3001 #2988
- Add support for serving robots.txt in packages/back-end by @Kevin-Chant in #2957 #2961
Bug Fixes
- Change permission level for creating experiments by @Kevin-Chant in #2906
- Enable remote eval tag for supported sdks by @bryce-fitzsimons in #3012
- Improve whitespace handling in feature flag rules by @bryce-fitzsimons in #2872
- Fix 'undefined' appearing in nodeSDK instructions by @tzjames in #2946
- Fix div by zero error from prior rescaling by @lukesonnet in #2901
- Fix the plan name for self-hosted Pro by @tzjames in #3008
- Improving URLs in markdown by @Auz in #2928
- Remove confusing Stop Time field when stopping an experiment by @jdorn in #2819
- Report minor fixes by @lukesonnet in #2984
- Always show the disable toggle if something is hidden, fix rule render by @bryce-fitzsimons in #2883
- Treat pending review linked FFs the same as draft by @bryce-fitzsimons in #2884
- Fix DateGraph datapoint alignment by @itsgrimetime @bryce-fitzsimons in #2838 #2802
- Remove invite info from GET /organization response by @jdorn in #2948
- Added border to borderless box by @Auz in #2902
Docs and Misc
- Various typo and spelling fixes in docs by @mattdp @lukebrawleysmith @Hephaest @royalfig @Alletkla
- Add dashboard and impact documentation by @lukesonnet in #2805
- Add docs for pre-launch checklist by @royalfig in #2816
- Add documentation for Custom Markdown by @msamper in #2783
- Add docs for troubleshooting SRM errors with URL Redirect tests by @august-growthbook in #2897 #2873
- Docs/version updates for various SDKs by @madhuchavva in #3025
- Chrome extension docs by @Auz in #3014
- [tech debt] Cleanup toInterface by @romain-growthbook in #2918
- Generate webhook docs from code by @romain-growthbook in #2893
- Remove @Back-end imports by @tzjames in #2982
- Remove beta tag from REST API and Fact Tables by @lukesonnet in #3002
- Update AI bot styling for better contrast by @royalfig in #2886
- Added CI workflow for auto approving doc changes by @gazzdingo in #3021
- Telemetry data updates by @lukesonnet @Kevin-Chant @gazzdingo
- Include winston transport for open telemetry by @bryce-fitzsimons in #2806
- Add service name/namespace/version to open telemetry tracing by @romain-growthbook in #3024
New Contributors
- @Hephaest made their first contribution in #2833
- @brentdur made their first contribution in #1407
- @madhuchavva made their first contribution in #2964
- @Alletkla made their first contribution in #2970
Full Changelog: v3.1.0...v3.2.0
v3.1.0
Highlights
- Auto Fact Tables by @mknowlton89 in #2623 #2641 #2749
- Impact Analysis by @lukesonnet in #2192 #2367
- REST Endpoints for Projects, Environments, and more by @romain-growthbook in #2529 #2505 #2542 #2609 #2733
- Major App Performance Improvements by @tzjames and @jdorn in #2646 #2634 #2639 #2692
- Advanced Search Filter Syntax by @Auz in #2604 #2548
- Multi-Org Improvements by @tzjames in #2629 #2568 #2607 #2590 #2621
Other Changes
- Date format option for String targeting attributes (easier before/after conditions) by @msamper in #2667
- Ability to disable roles (enterprise custom roles) by @mknowlton89 in #2537
- Databricks Pipeline Mode by @lukesonnet in #2598
- Added namespace ids and label by @Auz in #2670
- Copy rule to environment(s) by @bryce-fitzsimons in #2688 #2697
- Add guardrails to CSV export by @lukesonnet in #2576
- Add setting to limit data used for test queries by @lukesonnet in #2724
- Added clientId to allow customers to track GrowthBook calls in Databricks by @Auz in #2628
- Added option to only show active rules by @Auz in #2730
- Add SDK Webhook payload formatters, update docs by @bryce-fitzsimons in #2721
- Added member sorting and searching by @Auz in #2704
- Added SQL Server request timeout settings by @Auz in #2493
- Super admin improvements by @Auz in #2078 #2588
- Bump gbstats to 0.8.0 for pypi and new stats engine by @lukesonnet in #2632
- Save/display owner in fact tables by @romain-growthbook in #2767
- Improve date display for features, experiments, and metrics by @bryce-fitzsimons in #2627 #2684
- Added additional auth options for Presto by @Auz in #2720
- Custom Markdown by @msamper in #2753 #2769
- Event webhook / audit log improvements by @romain-growthbook in #2752 #2622 #2705 #2756 #2743 #2732 #2763
- Bayesian power analysis by @lukebrawleysmith in #2507
- Fire webhook when SDK Connection is created by @gazzdingo in #2592
- Allow pull-only GrowthBook Cloud Proxy use cases by @bryce-fitzsimons in #2679
Bug Fixes
- [back-end] Inject template variables for entire fact table SQL by @lukesonnet in #2686
- [back-end] SDK Payload bugs by @msamper @jdorn in #2690 #2593
- [back-end] Datasource bugs by @tzjames @lukesonnet in #2571 #2606
- [back-end] Various permission fixes by @mknowlton89 in #2555 #2587 #2596
- [back-end] Various bug fixes with enterprise organizations by @tzjames in #2772 #2642 #2643 #2656 #2645
- [back-end] Fixed feature revision data in REST api response by @gazzdingo in #2683
- [back-end] Fix experiment notification by @romain-growthbook in #2725
- [back-end] Fix legacy webhooks bug by @jdorn in #2569
- [back-end] Fix experiment updates when schedule = never by @jdorn in #2682
- [back-end] Fix conversion window logic for Mixpanel by @lukesonnet in #2774
- [ui] Various UI bugs by many contributors
- [sdk] JS SDK version 1.1.0 by @Kevin-Chant and others in #2685 #2638 #1719 #2516 #2709 #2717 #2708 #2637
Docs and Misc
- Copy updates to various doc pages by many contributors
- Add glossary to docs by @royalfig in #2746
- Add google analytics to docs site by @royalfig in #2700
- Add hypgen params to auth redirect by @bryce-fitzsimons in #2744
- Add useArchetype, use it to mutate/refetch when needed by @romain-growthbook in #2377
- Dev env cleanup by @tzjames in #2653 #2751 #2599
- BaseClass improvements by @mknowlton89 @jdorn in #2662 #2591 #2317
- Remove update environments from putOrganization by @mknowlton89 in #2564
- Fix code typo in React Native docs by @carlosen14 in #2702
- More Open Telemetry metrics and better tags by @tzjames in #2619 #2615
- Prepare new Radix-based design system by @gazzdingo in #2338
- Use Stripe Smokescreen for SSRF protection on GrowthBook Cloud by @tzjames in #2711 #2675 #2750 #2647
- Docusaurus version bump by @lukesonnet in #2578 #2605
New Contributors
- @Bohdan-Kim made their first contribution in #1424
- @natasha-growthbook made their first contribution in #2583
- @akash-ind made their first contribution in #2565
- @royalfig made their first contribution in #2698
- @ken-browning made their first contribution in #1719
- @carlosen14 made their first contribution in #2702
Full Changelog: v3.0.0...v3.1.0
v3.0.0
Highlights
- Edge SDKs for Cloudflare, Fastly, and Lambda by @bryce-fitzsimons in #2243 #2450
- Bayesian priors and CUPED by @lukesonnet in #2406 #2371 #2531 #2519 #2514 #2518 #2379
- Custom Roles by @mknowlton89 in #2552 + 40 more PRs
- JSON Feature Validation and Editing Improvements by @jdorn in #2389
- SRM, Failed Query, and Multiple Exposure Slack/Discord Alerts by @romain-growthbook in #2378 #2431
- New Get Started Flow by @msamper in #2523 #2559 #2558
Plus, major SDK updates for JS, React, Python, Ruby, Java, C#, Flutter, Kotlin, Swift, and Elixir!
Other Changes
- Project-scoped feature approval settings by @gazzdingo in #2445
- Power Calculator (alpha release) by @romain-growthbook @lukebrawleysmith in #2395 #2455 #2446 #2497 #2489
- Improve past experiment imports by @jdorn in #2437
- Add a queries page to view all queries run on a Data Source by @msamper in #2323
- Added Support for performing Assume role with Athena Connections by @thatguyfig in #2471
- Upgrade ClickHouse client; add request_timeout by @lukesonnet in #2349
- Allow uppercase letters in feature keys by @jdorn in #2491
- Change Default feature value to OFF instead of foo by @cameronmoten in #2436
- Feature Regex Validator - Validate Name of Feature Id's with custom rules by @cameronmoten in #2479
- Must select value type of new feature instead of defaulting to Boolean by @jdorn in #2553
- Track last login date for users by @bttf in #2357
- Add attribute name to delete modal by @Auz in #2366
- Ability to edit owner for fact metrics by @lukesonnet in #2540
- Added description to attributes by @Auz in #2530
- Added metric description to metric selector for experiments by @Auz in #2521
- Adds difference type chooser to Reports by @lukesonnet in #2403
- Allow copying and pasting metrics in analysis settings by @bttf in #2368
- Create new admin putOrg endpoint by @tzjames in #2509
- Grant first user on a new installation super admin access by @bttf in #2520
- Add extra settings to fact metric REST API by @lukesonnet in #2405
- Experiment REST improvements by @bttf in #2435 #2453
- Update to Node.js v20 by @gazzdingo in #2397 #2408 #2190 #2401 #2410
Bug Fixes
- SDK Webhooks Refactor by @jdorn in #2483 #2533 #2510
- Try to prevent automatic hyperlinks in email messages by @bryce-fitzsimons in #2411
- Bump OTEL auto-instrumentation library; Fix metrics by @bttf in #2387
- Add pagination support for LaunchDarkly Importer by @jdorn in #2428
- Add typeguard for filtering out undefined by @Kevin-Chant in #2502
- Bug: Not showing duplicate experiment option by @mknowlton89 in #2477
- Fix feature draft base revision bug by @jdorn in #2400
- Fix handling incorrect login method errors by @tzjames in #2393
- Fix namespace usage includes inactive experiments by @jdorn in #2343
- Fix project roles missing when invitation accepted by @jdorn in #2394
- Fix sticky bucket assignment lookup (not strict enough), update tests by @bryce-fitzsimons in #2358
- Fixed up colors for dark mode on modal by @gazzdingo in #2424
- Hide value column when the sql no longer has it by @tzjames in #2440
- Move highlightExp to resolve dashboard crashes by @lukesonnet in #2501
- Only rely on stats.denominator for true ratio metrics in Results UI by @lukesonnet in #2470
- OpenVisualEditorLink - Ensure we send creds msg when bypassing checks by @bttf in #2350
- Quick fix to check for multiple values that are pasted into the invite modal by @Auz in #2458
- Set results UI denominator correctly when it is 0 by @lukesonnet in #2448
- Undo re-flipping risk for inverse metrics by @lukesonnet in #2356
- Update copy on experiment without results by @Kevin-Chant in #2498
- hotfix: refreshing archetype view/data when archetypes change by @bryce-fitzsimons in #2369
- Remove percent rollouts with 0% from SDK Payload by @jdorn in #2415
Docs and Misc
- Major docs updates by @jdorn, @mattdp, @tzjames, @chuchuva, and others in #2473 + 12 more PRs
- Zero-downtime GrowthBook Cloud deploys by @tzjames in #2476
- Add yarn generate-sdk-report command by @mkurkov in #2197
- Added a main GitHub profile image for readme by @Auz in #2392
- Split out general settings by @romain-growthbook in #2462
- Update json-shema-to-zod to 2.1.0 by @lukesonnet in #2464
- Various License Server Fixes by @tzjames in #2404 + 15 more PRs
New Contributors
- @mkurkov made their first contribution in #2197
- @cameronmoten made their first contribution in #2436
- @Kevin-Chant made their first contribution in #2498
- @thatguyfig made their first contribution in #2471
- @chuchuva made their first contribution in #2517
Full Changelog: v2.9.0...v3.0.0
v2.9.0
Highlights
- URL Redirect Tests by @msamper in #2272 #2121 #2062 #2261
- Feature Flag Approvals by @gazzdingo in #2120 #2282 #2245 #2322
- Quantile Metrics (Median, P99, etc.) by @lukebrawleysmith, @lukesonnet in #2266 #2289 #2274 #2300 #2223
- Project-scoped Attributes and Environments by @mknowlton89, @bryce-fitzsimons in #2179 #2226 #2187 #2258
- New HTML Script Tag SDK by @jdorn in #2241 #2156 #2210
- Webhook Improvements with Slack and Discord Support by @romain-growthbook in #2150 #2312 #2239 #2204
- New LaunchDarkly Importer by @jdorn, @bryce-fitzsimons in #2094 #2227
Other Changes
- Support sticky bucketing for remote eval by @bryce-fitzsimons in #2202
- Remove old experiment UI by @bryce-fitzsimons in #2214 #2222
- Add hashing v1 notifications/selector when SDK doesn't support v2 by @bryce-fitzsimons in #2097
- Expose user impact of experiment changes in "Make Changes" flow by @bryce-fitzsimons in #2313
- Removes auto metric form from new data source modal. by @mknowlton89 in #1919
- Update Pre-Launch Checklist for experiments by @mknowlton89 in #2138 #2303
- Update the SQL editor for identifier joins by @Sai-Karthik-Tumu in #2307
- Switch to official ClickHouse client by @lukesonnet in #2251 #2236
- IdP-Initiated Flow for Cloud Enterprise SSO by @jdorn in #2208
- Improve members UI by @bryce-fitzsimons in #2247
- CSP and header update to disallow framing by @bryce-fitzsimons in #2191
- Impose a max password length (for DDOS) by @bryce-fitzsimons in #2189
- Removing logs with auth tokens by @jdziat in #2327
Bug Fixes
- Add custom aggregation to config yaml export by @lukesonnet in #2297
- Adds word-wrapping to data type column on attribute table. by @mknowlton89 in #2285
- Adjusted dashboard legend to handle organizations with 17+ projects by @Auz in #2275
- Bugfix: Error for updating Visual Changeset URL patterns by @bttf in #2296
- Ensure secondary cta gets displayed in Modal by @lukesonnet in #2291
- Escape single quotes in Traffic SQL query by @lukesonnet in #2186
- Fix bug when adding rule to feature in a new environment by @jdorn in #2281
- Fix default GA4 binomial SQL to not reference value_params by @jdorn in #2216
- Minor report fixes by @lukesonnet in #2221
- Trigger SDK Payload update when JS snippets change for visual changesets by @bryce-fitzsimons in #2212
- When generating the SDK payload, always use context w/ full read access by @jdorn in #2196
- Remove double navigation in the experiments list by @BarreiroT in #2270
- Various permission bug fixes by @mknowlton89 in #2233 #2234 #2232 #2195 #2172 #2235 #2259 #2173 #2215
- Fixed SDK Webhook signature when the payload body is empty by @gazzdingo in #2334
Docs and Misc
- Holdout docs by @lukesonnet in #2207
- A/A Testing and Troubleshooting docs by @lukesonnet in #2230
- Add Activation Metric as potential SRM cause by @lukesonnet in #2250
- Add discriminator field to OpenAPI schema by @jdorn in #2268
- Added documentation for getting GrowthBook to work with GTM and GA4's dataLayer by @Auz in #2170
- Update project-scoped docs by @mknowlton89 in #2198 #2199
- Code refs - Add'l docs by @bttf in #2178 #2185
- Fix alpha in sequential testing doc by @lukesonnet in #2262
- Fix metric window graphic and add second example by @lukesonnet in #2181
- Update swift version to 1.0.47 by @bryce-fitzsimons in #2213
- Trial/license overhaul by @tzjames in #2295 #2205 #2271 #2188 #2294 #2308 #2284 #2314 #2310 #2315 #2304
- Dependency updates - Typescript, Next.js, and lots of others by @jdorn in #2218 #2059
- Begin Permissions overhaul by @mknowlton89 in #2277 #2206 #2263 #2183
- Begin Data model overhaul by @jdorn in #2092 #2298
- Finish removing relative imports in the front-end by @romain-growthbook in #2140
- Sample data generator improvements by @romain-growthbook in #2267 #2273
- Remove Visual Editor V1 by @romain-growthbook in #2256
- Clean up General Settings page code by @bttf in #2162
- Ts expect error cleanup by @romain-growthbook in #2254
- Update webhooks and approval flow docs by @romain-growthbook in #2328 #2306
New Contributors
- @Sai-Karthik-Tumu made their first contribution in #2307
- @jdziat made their first contribution in #2327
Note: 2.9.0
Docker tag updated on Apr 15 to fix self-hosted enterprise license bugs
Full Changelog: v2.8.0...v2.9.0
v2.8.0
Highlights
- Prerequisite Feature Flags by @bryce-fitzsimons in #1993 #2153 #2142 #2146 #1987 #2147 #2149
- Feature Flag Code Refs by @bttf in #2081 #2075 #2066 #2151 #2152
- New "No Access" role by @mknowlton89 in #2087 #2048 #2055 #2076 #2046 #2126 #2108 #2065 #2074 #2073
- Official (Version Controlled) Metrics and new REST endpoints by @jdorn in #2007 #2054
- Webhooks for SDK Connections by @gazzdingo in #1894
- Easier Low Code Integration for Shopify, Wordpress, Webflow by @jdorn in #2113 #2114 #2103
Other Changes
- Add Metric Lookback Windows by @lukesonnet in #2058
- Option to ignore zeros in Percentile Capping by @lukesonnet in #2058
- JumpCloud SSO Support by @jdorn @Auz in #2109 #2107
- Add RA fields to config.yaml by @lukesonnet in #2100
- Allow no-auth smtp configuration by @xevgeny in #2122
- Make id join finder more efficient in how it picks needed joins by @lukesonnet in #2049 #2021
- Add OpenTelemetry instrumentation to background jobs by @bttf in #2119
- QueryRunner & error logging improvements by @itsgrimetime in #2083
- Add maxAge cache setting for JS SDK (default to 24 hours) by @jdorn in #2089 #2090
- Allow accessing or deleting visual changes during running or stopped experiments by @bttf in #2102
Bug Fixes
- Easier setup for BigQuery data sources - dropdown to choose data set by @mknowlton89 in #2095
- Fix broken preview links for multi-page Visual Editor experiments by @bttf in #1883
- Don't cache error responses in feature repository by @bryce-fitzsimons in #2115
- Add schema if specified in auto metrics SQL by @lukesonnet in #2141
- Change autometrics to have lowercase columns to work with Snowflake by @lukesonnet in #2148
- Fix saved group deletion when using config.yml by @gorkalaucirica in #2132
- Fix uncaught Postgres SASL error on empty password by @jdorn in #2098
- Fixes issue where MoreMenu wasn't being displayed due to a z-index issue by @mknowlton89 in #2110
- Make owner optional in experiment POST endpoint. by @romain-growthbook in #2133
- Make sure feature ID cannot be empty. by @romain-growthbook in #2134
- Redirect to register screen when login via our cloud and there is no prior account found in the client's local storage. by @romain-growthbook in #2139
- Remove extra check on licenses for SSO by @tzjames in #2155
- Switch variation chooser and baseline chooser around by @lukesonnet in #2129
- Hotfix: proxy errorTxt: fix typo by @bryce-fitzsimons in #2127
- Fix: commans not allowed in targeting condition "in list" values by @mknowlton89 in #2106
- Downgrade Snowflake SDK to fix proxy bugs by @jdorn in #2079
- Pass difference type through to results graph by @lukesonnet in #2088
- Pass through ra enabled to stats engine by @lukesonnet in #2093
- fix ui bug with proxy connection errors by @bryce-fitzsimons in #2067
- Fix health queries in clickhouse by @lukesonnet in #2080
- Add LIMIT to SQL queries by @jdorn in #2124
- Only show the latest 25 revisions for a feature by @jdorn in #2056
- REST API - Add missing permission checks for Visual changeset updates by @bttf in #2057
Docs & Miscellaneous
- New docs page on self-hosting GrowthBook in production by @jdorn in #2145
- Improve directions for using Namespaces by @august-growthbook in #2045
- Add carryover bias article to docs by @lukesonnet in #2050
- Add GitHub workflow to build and publish a branch to Docker Hub by @jdorn in #2053
- Add jupyter notebook command to repository by @lukesonnet in #2128
- Add optimized fact table test queries by @lukesonnet in #2071
- Bump allowable python versions to < 4.0 by @lukesonnet in #2118
- Cleanup curl doc examples. by @romain-growthbook in #2135
- Do not run preview environments for drafts by @bttf in #2068
- Fix enterprise package type error fragility by @jdorn in #2061
- Handle US Bank payment option by @tzjames in #2070
- Update rudderstack.mdx by @mattdp in #2144
- Updated the node version in the docs to be 16.x from 18.x by @gazzdingo in #2136
- Fixing typo, changing sigma2 to sigma by @lukebrawleysmith in #2125
New Contributors
- @xevgeny made their first contribution in #2122
- @lukebrawleysmith made their first contribution in #2125
- @gorkalaucirica made their first contribution in #2132
- @romain-growthbook made their first contribution in #2133
Full Changelog: v2.7.0...v2.8.0
v2.7.1
What's Changed
Fix for a high severity security vulnerability. Applies to all self-hosted GrowthBook installations that are not using SSO for authentication.
This release also includes several fully backwards compatible, non-breaking changes and new features that will be part of the upcoming 2.8 release.
Although there are no known exploits in the wild, we highly recommend updating as soon as possible.
v2.7.0
Highlights
- Sticky bucketing support in Javascript/React SDKs by @bryce-fitzsimons in #1818 #2026
- Re-usable targeting conditions via Saved Groups by @jdorn in #1978
- Fact Table query optimization (massive cost savings) by @jdorn @lukesonnet in #1923 #2032 #2008 #1975 #1804 #2011 #1671 #2023
- Experiment Health Tab by @msamper @lukesonnet in #1944 #1941 #1942 #1946 #1822 #1873
- New guided UI for making changes to live experiments by @bryce-fitzsimons in #1835
- New Best Practices Guide by @Auz in #1986 #1992
Other Changes
- Validate advanced targeting condition JSON before saving by @jdorn in #1985
- CPU and Memory performance improvements for stats engine by @jdorn @lukesonnet in #1823
- Secure uploaded files by @tzjames in #1686 #2024
- Ability to control roles through Okta SCIM by @mknowlton89 in #1909 #1779
- Debugging improvements for fact table filters by @jdorn in #1945
- Better error messages for Databricks by @lukesonnet in #1960
- Auto-recover from Athena SlowDown error by @jdorn in #1955
- Switch to official Snowflake SDK by @jdorn in #1936
- Add support for http_proxy env vars for SSO, licenses, and webhooks by @jdorn @tzjames in #1913 #2029
- SDK compatibility versioning by @bryce-fitzsimons in #1893 #2013 #2019 #1937 #1935
- Display helpful query stats for BigQuery (bytes scanned, execution time, etc.) by @jdorn in #2042
- Centralized License Server by @tzjames in #1980 #2022 #1977 #2000 #1895 #1979 #2009 #2035 #1839 #2010 #2030 #1984
- Initial support for a "No Access" role by @mknowlton89 in #1997 #1998 #2015
- Add Random On-Screen Celebration Service by @mknowlton89 in #1826
Bug Fixes
- Add metric overrides to mixpanel by @lukesonnet in #2016
- Added fix for new line errors on private keys when importing data sources by @Auz in #1951
- Always set snapshot analysis settings to default with new snapshot by @lukesonnet in #1958
- JS SDK - Wait for document.body to load by @bttf in #2002
- Fix blocked information schema endpoints by @lukesonnet in #1959
- Fix bug - metric capping cannot be updated on old metrics by @jdorn in #1930
- Fix bug: Changing defaultValue to empty string hides the "publish" CTA by @jdorn in #1890
- Fix environment permission bugs by @jdorn in #1899
- Fix experiments with broken namespaces by @jdorn in #1953
- Fix multiple exposures min percent percentage display on settings page by @bryce-fitzsimons in #1950
- Fix undefined property 'length' errors on experiments by @jdorn in #1991
- Fix unnecessary activation fact metric data retrieval (and two minor FE bugs) by @lukesonnet in #1922
- Fixed date off by one in graph by @gazzdingo in #1917
- Modify cascading window logic for excluding in-progress conversions by @lukesonnet in #1921
- Use non-deterministic quantile for ClickHouse capping by @lukesonnet in #1908
- Visual Editor - Append Query Params util - Fix util; Add tests by @bttf in #1897
- Ensure report FE knows difference type is relative by @lukesonnet in #2001
- Fix unnecessary formatting of proportion metrics by @lukesonnet in #1981
- Add existence check for settings by @tzjames in #1954
- Fix CUPED availability messaging on toggle by @bryce-fitzsimons in #1911
- Fix discrepancies with FF's sort, baseline row chooser, fix stats engine regression by @bryce-fitzsimons in #2014
- Fix styling issues with carousel buttons by @bryce-fitzsimons in #2006
- Fixed percent to be 1% for the multipleExposureMinPercent settings by @gazzdingo in #2031
Docs & Miscellaneous
- Add Shopify & Webflow How-To Docs Articles by @mknowlton89 in #1870 #1886
- Add docs for CUPED config.yaml spec by @lukesonnet in #1910
- CI/CD workflow improvements by @bttf in #1867 #1898 #1929
- Add semantic versioning docs by @bttf in #1885
- Added audit log information. Adjusted text for readability by @Auz in #1996
- GitHub Integration - Authentication by @bttf in #1926 #1971
- Replace Papercups with Pylon for in-app chat by @mknowlton89 in #1948
- Team Docs by @mknowlton89 in #1889
- Update README.md for docs site by @august-growthbook in #1900
- Update SCIM documentation to include groups by @msamper in #1887
- Dependency security updates by @bttf in #1963 #1931
- Add AI chatbot to the docs site by @august-growthbook in #1918 #1902
- Docs Typo: Seamlessly instead of seemlessly by @mattdp in #1969
New Contributors
Full Changelog: v2.6.0...v2.7.0
v2.6.0
Highlights
- Team-level Permissions by @msamper and @mknowlton89 in #1762 #1640 #1657 #1816
- Stale Feature Flag Detection by @bttf in #1806
- Pre-bundled script tag for low-code platforms like Webflow and Shopify by @jdorn in #1773 #1828
- Major visual editor improvements by @bttf in #1792 #1785 #1837
- Feature Drafts Refactor by @jdorn in #1763 #1832
- Customize the pre-launch checklist for experiments by @mknowlton89 in #1778
- Runtime Saved Groups and new Targeting UI by @jdorn in #1726 #1794
- View absolute and scaled impact on experiment results by @lukesonnet in #1766 #1827 #1784 #1824
Other Changes
- JS/React SDKs: Pause SSE stream when tab is out of focus by @bryce-fitzsimons in #1755
- Multi-Project SDK Connections by @jdorn in #1834
- Cancel link now actually cancels queries in BigQuery/Athena by @jdorn in #1847
- Ability to change the default role for new users by @mknowlton89 in #1737
- Env vars for log level, Mongo URL, and cache headers by @itsgrimetime, @tzjames, @gazzdingo in #1808 #1820
- Multi-org improvements by @tzjames and @bryce-fitzsimons in #1744 #1817 #1776 #1758
- Specifying a Snowflake Warehouse is now optional by @lukesonnet in #1764
- New welcome video introducing GrowthBook by @Auz in #1749
- Teams page now lists members in alphabetical order by @bttf in #1864
Bug Fixes
- Fix bug: SDK payloads not refreshing by @jdorn in #1815 #1796 #1780
- Add new SDK test cases for comparison operators by @jdorn in #1805
- Allow users to delete their own personal access tokens. by @mknowlton89 in #1754
- Correct typing of
useFeatureValue
for auto generate types by @ethanneff in #1730 - Fix JS SDK bug with $exists operator and undefined values by @jdorn in #1781
- Fix SDK connection form: payload security state change bug by @bryce-fitzsimons in #1813
- Various fact table fixes by @lukesonnet in #1850 #1761 #1759 #1713
- Fix Archetypes bug by @Auz in #1786
- Handle race conditions in the feature toggle endpoint by @jdorn in #1848
- Only show Out of Date when adding metrics not in the snapshot by @lukesonnet in #1829
- Small fix for undefined currency when editing advanced metrics options by @Auz in #1836
- Update putDataSource to handle removing description. by @mknowlton89 in #1765
- Adding ellipsis on tags when above 20 and adding wrapping by @gazzdingo in #1787
- bugfix: Add template variables on creation by @tzjames in #1803
- Fix Snowflake query tagging (add application name) by @Auz in #1777
- Allow ad-hoc analysis on experiment results with partial query failures by @bryce-fitzsimons in #1875
Documentation and Misc Changes
- "Chance to Win" not "Chance to Beat Control" by @mattdp in #1751
- (Docs) - Setup SCIM with Okta by @mknowlton89 in #1735
- Added Docs for Archetypes by @Auz in #1750
- Added notice about how results are calculated for assignment testing by @Auz in #1802
- Improved billing page on GrowthBook Cloud by @mknowlton89 in #1760
- Clarified language around tracking callbacks by @Auz in #1830
- Make the state of sticky-bucketing clearer on the Experiments page by @danicheg in #1783
- Update visual-editor.mdx by @august-growthbook in #1756
New Contributors
- @danicheg made their first contribution in #1783
- @gazzdingo made their first contribution in #1788
- @ethanneff made their first contribution in #1730
Full Changelog: v2.5.0...v2.6.0
v2.5.0
Highlights
- Metric Fact Tables by @jdorn in #1667 #1700 #1727
- SCIM support for Okta (other IdPs coming soon) by @mknowlton89 @msamper in #1731
- Remote Eval mode for Javascript/React SDKs by @bryce-fitzsimons in #1677 #1294
- Data Pipeline mode to reduce BigQuery/Snowflake costs by @lukesonnet in #1610 #1573 #1701 #1691 #1707 #1714
- AI copy suggestions in the Visual Editor by @bttf in #1307
- User Archetypes - simulate feature assignment directly within the UI by @Auz in #1687 #1712
- REST API endpoints to create and update feature flags by @bttf in #1478
- Support for self-hosted multi-org deployments (Enterprise Only) by @tzjames in #1706
Other Changes
- Improved Experiment velocity graphs by @Auz in #1733
- Stats engine selection for experiments by @bryce-fitzsimons in #1658
- Auto-metric improvements and bug fixes by @mknowlton89 in #1522 #1682 #1585 #1728
- Include intraday tables as part of the default GA4 queries by @tzjames in #1673
- Experiment search improvements by @jdorn in #1685
- Filter metrics on experiment results by tag by @bryce-fitzsimons in #1746
- Add scheduling back to feature experiment rules by @jdorn in #1660
- Invalidate other browser sessions when password is changed by @bryce-fitzsimons in #1669
- Top Nav layout and page title improvements by @jdorn in #1679
- More robust image uploading when using S3 or Google Cloud Storage by @tzjames in #1674
- Better cloning support for visual experiments by @bryce-fitzsimons in #1709
- Tag Snowflake queries for easier cost accounting by @Auz in #1703
- Show adjusted confidence intervals when using p-value correction by @lukesonnet in #1736 #1740
Bug Fixes
- Experiment result page UI fixes by @bryce-fitzsimons in #1663 #1668 #1665 #1662 #1676 #1678 #1681 #1689 #1695
- Fixed loading state not being set correctly in the welcome frame by @Auz in #1705
- Add UTC timezone to Clickhouse toDateTime by @m0003r in #1711
Documentation and Misc Changes
- Auto refresh instructions for react native by @tzjames in #1652
- Fix typos in Flickering section in experiments.mdx by @august-growthbook in #1672
- Hint that Url targeting attribute is required for visual editor URL targeting by @dazultra in #1697
- Make it clear Visual editor is compatible with GTM implementation by @dazultra in #1698
- Correct a typo in visual-editor.mdx by @august-growthbook in #1675
- Change admin -> superAdmin by @tzjames in #1699
- Self-Host docs improvement - Make a little less confusing by @bttf in #1656
- Update the side menu path to find attributes. by @tzjames in #1717
- Show rendered sql and error in EditSqlModal by @tzjames in #1595
- Remove role pill from TopNav by @mknowlton89 in #1659
New Contributors
- @august-growthbook made their first contribution in #1672
- @dazultra made their first contribution in #1697
- @m0003r made their first contribution in #1711
Full Changelog: v2.4.0...v2.5.0