Releases: CarnegieLearningWeb/UpGrade
6.4
UpGrade 6.4 Release Notes
Audit Logs for Feature Flags and Experiments (major new feature)
Audit log timelines are now available directly within individual Feature Flag and Experiment detail pages, making it easy to see the full change history of any entity in context.
- New Logs tab on Experiment and Feature Flag detail pages showing just the audit logs for that particular experiment or flag.
- All log entries show a **side-by-side diff view** for easy comparison of what changed between versions.
- Experiment diff output is now normalized for consistent, readable comparisons regardless of field ordering.
Audit Logs Page Redesign
The global Audit Logs page has been redesigned and now shares a common timeline component with the entity-level logs views. Log entries include improved styling, better navigation links to the relevant feature flag or experiment, and a more consistent layout across the platform.
Download State-Time Logs
Users can now download state-time logs directly from the UI, providing easier access to enrollment timing data for offline analysis.
Removal of Legacy Segment Support
UI support for "legacy" (old-style) segments has been removed. Existing legacy segments will continue to function, but new segment management uses the updated structure introduced in 6.1. It is recommended to recreate any remaining legacy segments using the newer format.
Bug Fixes and Other Improvements
- Mooclet experiments: Condition weights are now shown as N/A (non-editable) for Mooclet-managed experiments, and assignment errors are logged but no longer throw, so assignments gracefully fall back to default behavior.
- Archived segment handling: Segments tied to archived experiments are no longer incorrectly counted as "in use."
- Private sub-segment cloning: Fixed a bug where non-list nested private sub-segments were incorrectly cloned.
- Stable metrics query ordering: Metrics queries now return results in a consistent, stable order.
- Immutable outcome variables: Outcome variable generation has been moved to the backend for more consistent and reliable behavior.
- Deadlock prevention: Several fixes to eliminate potential database deadlocks during experiment condition edits and payload deletion.
- Dependency security updates across frontend, backend, and client libraries.
For Developers
Monorepo restructure: The repository has been reorganized into a monorepo workspace layout. This is a significant structural change but has no impact on API consumers or end users. Developers running the project locally or contributing to the codebase should re-review the setup instructions, as package paths and build tooling configuration have changed.
- A Postman collection for the client and platform APIs has been added to the repository under
postman/. - The TypeScript client library has dropped its
uuiddependency in favor of the nativecrypto.randomUUID(). - Cache service updates include a new environment variable for configuring the max cache size.
6.3.0
UpGrade 6.3 Release Notes
Experiment Design Refresh:
- Redesigned UX for Experiment creation and editing; (UX design kudos again to @zackcl)
- New workflow/UX for transitioning experiment state, including renaming of states
- Include and Exclude lists are now consistent with the style and structure in feature flags and segments. Experiments can now have defined multiple exclusion and inclusion lists, each with a specified type
Breaking change for existing experiments: inclusion and exclusion lists which include members of more than one type (individual, segment, or group) will be hidden in the UI, not viewable or editable. It's recommended to convert these lists to the new format by grouping members of the same type into separate lists
Other updates:
- User Managers given permissions to edit segments
- Mooclet reward values decoupled from metrics functionality; new /reward endpoint replaces the use of /log
- Added standard default entrypoints for TS client library, preserving the old exports for backwards compatibility
- Angular 20 support
- API endpoints used by the frontend are no longer defined in the
environmentfiles; they're now defined as constants in a single place
Full Changelog: upgrade-6.2.2...6.3.0
6.1.0
UpGrade 6.1 Release Notes
Segments Refresh:
- Redesigned UI for Segments pages / modals (UX design kudos to @zackcl)
- Global exclusion segments now separated by app-context (was previously one global list)
- Updated list management for segments with import/export functionality
- Improved search and pagination
Note that the segment data structure has been updated also:
- Backwards compatible, old and new segment structures will both work.
- Newly added segments will see an update UI for working with lists.
- 'Old' segments will continue to be supported, but with the old UI in the details view.
- It is recommended to recreate 'old' style lists to the newer style when convenient.
Other updates:
Metrics display in data tab of experiments has been turned back on in the UI
Performance Optimizations - Improved database queries for metrics and experiment conditions
Error Handling Improvements - Better HTTP error codes with consistent handling across endpoints
Mooclet Integration Backend - Added foundational support for Mooclet experiments (not user-visible in this release)
Angular 19 / Node 22 Support
Java Client support for Java 17 (specifically handling PATCH requests)
Support for ECS Infrastructure, CORS whitelisting
Important note for devs running upgrade instance locally:
- local UI configuration no longer uses the hardcoded
environment.tsby default in local - you will need to create an
environment.local.tsfile, which is properly gitignored
6.0.6
What's Changed
Frontend Changes
- Update demo-app.js for the demo app's tour to work with UpGrade v5.2.0 by @zackcl in #1748
- Prevent App Freezing in Metrics Component with Large Datasets by @zackcl in #1799
- Remove "View Logs" link on the details page by @zackcl in #1857
- Fix undefined segment errors in Feature Flag Inclusion and Exclusion selectors by @zackcl in #1911
- Sort Segments and Groups in Alphabetical Order for Upsert List Modal by @zackcl in #1917
- Support capital letters for user-entered values/tags by @zackcl in #1927
- Remove error snackbar for 401 errors that redirects to the login page by @zackcl in #1963
- Make Global Exclude row always appear at the top and fix sorting by @zackcl in #1970
- Display loading progress bar for the Segments list table by @zackcl in #1975
- Allow Context Chip Click and Search on Metrics Table by @zackcl in #2000
- Disallow Importing Stratification Factors for Users with the 'Reader' Role by @zackcl in #2010
- Disallow Adding, Importing, Editing, and Deleting a Feature Flag for Users with the 'Reader' Role by @zackcl in #2002
- Make the Feature Flags Root Section Card Scrollable by @zackcl in #2024
- Refine Feature Flags Root Table Pagination on Scroll by @zackcl in #2026
- (Release) Refine Disabled Slide Toggles and Action Buttons on 'Reader' mode by @zackcl in #2032
Backend Changes
- Add support for service account access tokens by @zackcl in #1829
- Centralize demo mode DB clearing logic in ExperimentUserService by @zackcl in #1845
- Export feature flag design json api endpoint by @ppratikcr7 in #1828
- Fix values not being removed when updating Include/Exclude Lists by @zackcl in #1909
- Enhance service account access token validation for improved security by @zackcl in #1877
- Make GOOGLE_SERVICE_ACCOUNT_ID optional by @zackcl in #1964
- (Release) Apply filterMode (includeAll) to an imported Feature Flag by @zackcl in #2031
Other Changes
- version bump to 5.2 by @danoswaltCL in #1300
- Build(deps-dev): Bump ip from 2.0.0 to 2.0.1 in /frontend by @dependabot in #1312
- Build(deps-dev): Bump ip from 2.0.0 to 2.0.1 in /clientlibs/libTesters/client-lib-tester-frontend by @dependabot in #1313
- Move import experiment validation to backend by @RidhamShah in #1315
- use upsert() on user creation by @bcb37 in #1304
- routerState can be undefined, wrap in existence check by @danoswaltCL in #1323
- set redirectUrl to home when logging out by @danoswaltCL in #1322
- Merge down bugfix 1309 from release/v5.1 branch by @danoswaltCL in #1321
- Feature/error on details refresh undefined permissions by @danoswaltCL in #1327
- Fix UI issue for preview users by @RidhamShah in #1336
- Solving preview user validations by @RidhamShah in #1335
- Solve segment status got changed on refresh by @RidhamShah in #1338
- Added json editor code to add metrics by @Yagnik56 in #1348
- Validating importing segment in separate Http req by @Yagnik56 in #1319
- Preview Users data not showing on hard refresh by @RidhamShah in #1355
- fixing wrong header of exclude participants table in view experiment by @Yagnik56 in #1354
- Update conditionPayload properties by @RidhamShah in #1351
- K6 load test POC by @bcb37 in #1337
- Solve UI bugs of validation loading spinner by @RidhamShah in #1357
- Merge down bugfixes release 5 1 3 by @danoswaltCL in #1367
- Build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /backend/packages/Upgrade by @dependabot in #1368
- Build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /clientlibs/libTesters/client-lib-tester-frontend by @dependabot in #1371
- Build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /clientlibs/js by @dependabot in #1374
- Build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /clientlibs/libTesters/ts-lib-tester-backend-server by @dependabot in #1373
- Build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /regression by @dependabot in #1375
- Build(deps-dev): Bump follow-redirects from 1.15.5 to 1.15.6 in /frontend by @dependabot in #1372
- Build(deps-dev): Bump follow-redirects from 1.15.5 to 1.15.6 in /k6 by @dependabot in #1370
- Build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /clientlibs/libTesters/ts-automated-tests by @dependabot in #1369
- remove regression directory by @danoswaltCL in #1377
- remove tilde from import by @danoswaltCL in #1380
- Persist code changes in condition table when factor update by @Yagnik56 in #1376
- Solved bugs for ConditionPayload json structure change by @RidhamShah in #1379
- Build(deps-dev): Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /frontend by @dependabot in #1387
- Build(deps): Bump express from 4.18.2 to 4.19.2 in /backend/packages/Upgrade by @dependabot in #1397
- Build(deps-dev): Bump express from 4.18.2 to 4.19.2 in /clientlibs/libTesters/client-lib-tester-frontend by @dependabot in #1398
- Build(deps-dev): Bump express from 4.18.3 to 4.19.2 in /frontend by @dependabot in #1399
- added the feature of search in segment section by @Yagnik56 in #1394
- Build(deps): Bump express from 4.18.2 to 4.19.2 in /clientlibs/libTesters/ts-lib-tester-backend-server by @dependabot in #1400
- Audit logs keep loading after sign in by @Yagnik56 in #1416
- add env flag for toggling feature flags UI nav by @danoswaltCL in #1405
- Solved multiple instance of experiments issue by @RidhamShah in #1403
- fix client lib tester build errors by @danoswaltCL in #1437
- Feature/feature flag db changes by @bcb37 in #1395
- Resolve issue of user coming as undefined in audit logs by @Yagnik56 in #1457
- Segment context chips in list and view comp feature added by @Yagnik56 in #1445
- Fix prettier of assignmentService by @RidhamShah in #1485
- Faeture/remove env docker local from git by @danoswaltCL in #1484
- Disabled export button till method of experiment export isn't selected by @Yagnik56 in #1486
- Snackbar issue for experiment status update resolved by @Yagnik56 in #1489
- Schedule date not visible in experiment details page by @Yagnik56 in #1490
- Add logs for debugging export notification by @zackcl in #1495
- Revert "Add ...
5.2.0
What's Changed
Other Changes
- ⬆️ Release v5.2 : Update Typeorm version to 0.3.0 by @ppratikcr7 in #1782
Full Changelog: 5.1.16...5.2.0
5.1.16
What's Changed
Other Changes
- Bugfix/throw toggle around experiment metrics view with warning msg by @danoswaltCL in #1698
Full Changelog: 5.1.15...5.1.16
5.1.15
What's Changed
Other Changes
- remove pagination from export queries by @bcb37 in #1669
- bump version to 5.1.15 by @bcb37 in #1678
- Bugfix/throw toggle around experiment metrics view with warning msg by @danoswaltCL in #1698
Full Changelog: 5.1.14...5.1.15
5.1.14
What's Changed
Other Changes
- ✨ Detailed Integration Testcases: Exclusion codes by @ppratikcr7 in #1433
- 🐛 Fix for integration test cases with old Decision Point keys & tests for Enrollment Codes by @ppratikcr7 in #1408
- Remove unused relation in Experiment Assignment Service by @RidhamShah in #1525
- ✨ Revert updated experiment data export csv format to old version by @ppratikcr7 in #1546
- version bump after revert by @danoswaltCL in #1560
Full Changelog: 5.1.13...5.1.14
5.1.13
What's Changed
Other Changes
- 🐛 Bugfix to overwrite monitored document for unused decision points by @ppratikcr7 in #1482
Full Changelog: 5.1.12...5.1.13
5.1.12
What's Changed
Other Changes
- experiment list context chip issue is resolved by @Yagnik56 in #1463
- ✨ Toggle for within-subjects experiment type support by @ppratikcr7 in #1471
Full Changelog: 5.1.11...5.1.12