Releases: cryostatio/cryostat-web
Releases · cryostatio/cryostat-web
v3.0.0
What's Changed
🚀 Features
- feat(jvmid): enhance UI hints when JVM ID cannot be generated by @andrewazores in #1119
- feat(auth): remove auth negotiation and JMX credentials passthrough by @andrewazores in #1181
- feat(recording): API v3 downloads by @andrewazores in #1206
- feat(certs): replace cert upload flow with cert listing by @andrewazores in #1240
🔧 Fixes
- fix(requests): use relative request paths by @andrewazores in #1175
- fix(rules): remove id key from uploaded rule by @mwangggg in #1211
- fix(notifications): parse detail for notification body by @mwangggg in #1192
- fix(archives): add archives error page by @mwangggg in #1216
- fix(graphql): emit notifications on server error response by @andrewazores in #1218
- fix(rules): correct removal of 'id' field from Rule object by @andrewazores in #1226
- fix(auth): force reload to / on any logout result by @andrewazores in #1237
- fix(graphql): adjust GraphQL queries and models for updated server schema by @andrewazores in #1222
- fix(graphql): query target nodes by targets' IDs rather than connectUrls by @andrewazores in #1245
- fix(graphql): handle nullable response fields that can occur when there are server errors by @andrewazores in #1246
- fix(jmcagent): correct notification handling by @andrewazores in #1248
- fix(jmxauth): remove references to client-side localstorage JMX credential passthrough by @andrewazores in #1241
- fix(topology): delete action should be available for custom targets by @tthvo in #1252
- fix(GraphQL): fix VallidationError: null ID for non-null
BigInteger!
by @aali309 in #1256 - fix(demo): mirage demo fixups for 3.0 by @andrewazores in #1257
- fix(custom-targets): lock form Create button until successful test by @andrewazores in #1262
- fix(auth): render username in top bar by @andrewazores in #1264
- fix(quickstarts): remove outdated feature descriptions (backport #1273) by @mergify in #1274
- fix(matchexpr): tooltip hint checks for annotation existence before asserting value (backport #1275) by @mergify in #1280
- fix(matchexpr): fix bug in evaluator List view (backport #1278) by @mergify in #1281
- fix(Targets): Target list fails to populate if WebSocket connection is not established (backport #1276) by @mergify in #1282
- ci(tools): use podman for building container images (backport #1290) by @mergify in #1291
📄 Documentation
⚙️ Maintenance
- build(deps): bump postcss from 8.4.21 to 8.4.31 by @dependabot in #1131
- chore(release): bump versions for 2.4.0 release by @andrewazores in #1132
- chore(react): use new JSX transformations and remove react-axe by @tthvo in #1129
- chore(deps): remove unused enzyme deps and fix deps incompatibility by @tthvo in #1141
- build(deps): bump @babel/traverse from 7.20.13 to 7.23.2 by @dependabot in #1140
- chore(credentials): clean up UI text by @andrewazores in #1139
- build(deps): upgrade react-router to v6 by @tthvo in #1143
- ci(dependabot): remove reviewers config by @aali309 in #1149
- chore(recordings): remove subdirectory for jvmId in recording requests by @mwangggg in #1127
- chore(recordings): check target's jvmId for recording events by @mwangggg in #1126
- chore(topology): check for jvmId in notifications from Cryostat by @mwangggg in #1152
- chore(strings): update 2.4 user-facing strings by @mwangggg in #1155
- feat(ci): should commit and push changes to src/main/webui by @aali309 in #1158
- build(deps): bump react-joyride from 2.5.3 to 2.7.0 by @dependabot in #1160
- build(deps-dev): bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #1162
- build(deps): bump @adobe/css-tools from 4.3.1 to 4.3.2 by @dependabot in #1168
- build(deps): bump @types/lodash from 4.14.191 to 4.14.202 by @dependabot in #1166
- build(deps-dev): bump style-loader from 3.3.1 to 3.3.3 by @dependabot in #1169
- build(deps-dev): bump mini-css-extract-plugin from 2.7.2 to 2.7.6 by @dependabot in #1170
- chore(ci): request necessary permissions by @aali309 in #1171
- ci(release-notes): replace release-drafter with release labels config by @andrewazores in #1177
- ci(submodule): remove config for updating old 2.x repo by @andrewazores in #1182
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.7.3 to 6.14.0 by @dependabot in #1180
- build(deps-dev): bump webpack-cli from 5.0.1 to 5.1.4 by @dependabot in #1184
- build(deps-dev): bump html-webpack-plugin from 5.5.0 to 5.5.4 by @dependabot in #1185
- build(deps-dev): bump eslint-webpack-plugin from 4.0.0 to 4.0.1 by @dependabot in #1186
- chore(about): set up links and version parsing for 3.0 by @andrewazores in #1187
- build(deps): bump react-joyride from 2.7.0 to 2.7.1 by @dependabot in #1188
- ci(pr): build cryostat3 for preview by @andrewazores in #1191
- ci(pr): fix image tagging workflow by @andrewazores in #1195
- ci(pr): print local container images after build by @andrewazores in #1196
- ci(pr): print docker images on build completion by @andrewazores in #1197
- ci(pr): pull built image from docker into podman by @andrewazores in #1198
- ci(pr): update test image comment by @andrewazores in #1199
- build(deps): bump i18next-parser from 7.7.0 to 8.12.0 by @dependabot in #1194
- build(deps-dev): bump css-minimizer-webpack-plugin from 4.2.2 to 5.0.1 by @dependabot in #1201
- build(deps-dev): bump concurrently from 8.2.1 to 8.2.2 by @dependabot in #1202
- build(deps-dev): bump mock-socket from 9.2.1 to 9.3.1 by @dependabot in #1203
- build(deps): bump follow-redirects from 1.15.2 to 1.15.4 by @dependabot in #1205
- ci(core): use -core from Central, do not rebuild locally by @andrewazores in #1213
- build(deps): bump ip from 2.0.0 to 2.0.1 by @dependabot in #1217
- chore(templates): remove auth token download flow by @andrewazores in #1215
- build(deps): bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in #1228
- build(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4 by @dependabot in #1230
- build(deps): bump express from 4.18.2 to 4.19.2 by @dependabot in #1231
- chore(oauth): remove unused openshift-specific logout function by @andrewazores in #1236
- chore(eslint): Migrate eslint to the new flat configuration format by @mwangggg in #1214
- chore(release): update mergify by @andrewazores in https://github.com/cryostatio/cryost...
v2.4.0
What's Changed
🚀 Features
- feat(joyride): show guided tour upon cryostat upgrades by @tthvo in #971
- feat(quickstarts): topology quickstarts by @tthvo in #953
- feat(dev): mock API server with miragejs by @tthvo in #1039
- feat(ci): live deployment for main by @tthvo in #1045
- feat(ci): enable manual trigger of preview CI by @tthvo in #1046
- feat(match-expression): match expression should be evaluated on backend by @tthvo in #1069
- build(ts): eliminate duplicate helper code by @tthvo in #1085
- feat(web): enable clear all dashboard cards by @aali309 in #1078
- feat(mirage): implement additional mock route handlers by @tthvo in #1092
- feat(ci): /build_test PR command by @mwangggg in #1097
- feat(ci): allow preview deployment on release branches by @tthvo in #1047
- feat(mbean): include more OS/runtime details by @andrewazores in #1111
- feat(topology): render Cryostat icon for Agent targets by @andrewazores in #1115
- feat(jvmid): enhance UI hints when JVM ID cannot be generated (backport #1119) by @mergify in #1138
🔧 Fixes
- fix(dashboard): fixup Automated Analysis Card by @maxcao13 in #968
- fix(aa): change
AutomatedAnalysisCard
severity score from 50 to 25 by @maxcao13 in #983 - fix(settings): hide settings that requires auth for logged-out user by @tthvo in #982
- fix(topology): listview target details need fixed height by @tthvo in #980
- fix(custom-target): loading state should show by @tthvo in #989
- fix(archives): convert jvmId to subdirectoryName for web-client requests by @maxcao13 in #991
- fix(about): route /about should show without auth by @tthvo in #995
- fix(uploads): fix archive upload modal invalid labels popover by @maxcao13 in #998
- fix(match-exp-vis): listview entity detail requires fixed height by @tthvo in #1000
- fix(event-templates): should update template selection when template list updates by @tthvo in #1003
- fix(dashboard): add display mapper function to dashboard card prop configurations by @maxcao13 in #1008
- fix(settings): set unmountOnExit behaviour for setting groups by @tthvo in #1004
- fix(topology): catalog btn tooltip should not show if not needed by @tthvo in #1009
- fix(topology): correct toolbar mode icon by @tthvo in #1019
- fix(dashboard): separate display from actual option value by @tthvo in #1024
- chore(eslint): apply eslint fixes and remove unused codes by @tthvo in #1044
- fix(topology): warning resolver should include adding ssl certs by @tthvo in #1048
- fix(ci): preview ci should target all under src by @tthvo in #1054
- fix(login): submit form to log out from OpenShift OAuth by @ebaron in #1059
- fix(modal): Warning modal for disabling rule should say "disable" instead of "delete" by @jobayer12 in #1043
- fix(cards): replace instances of card.component.name by @maxcao13 in #1081
- fix(semver): use semver util to check version upgrades by @tthvo in #1084
- chore(itests): add more integration tests and fix CI integration by @maxcao13 in #1062
- fix(web): rename connection debounce to connection retry interval by @aali309 in #1096
- fix(graphql): correct query name by @andrewazores in #1112
📄 Documentation
- docs(quickstart): add quick start README for writing and style guidelines + update current quick starts aligning with those guidelines by @maxcao13 in #972
- docs(README): update README by @tthvo in #1051
- docs(read-me): correct ci status badge by @tthvo in #1118
- docs(itest): add supplemental integration testing documentation by @maxcao13 in #1109
⚙️ Maintenance
- build(config): update package.json and mergify for 2.3 release by @tthvo in #967
- chore(strings): string fixes for 2.3 by @maxcao13 in #1015
- fix(aa): refactor Automated Analysis Recording Setting by @maxcao13 in #1014
- chore(ci): run testing jobs in parallel by @tthvo in #1029
- chore(topology): disable group node actions while checking by @tthvo in #1049
- test(selenium): add selenium web-driver e2e integration test scaffolding by @maxcao13 in #1056
- chore(agent): use consistent notification field by @tthvo in #1057
- chore(match expression): visualizer should have title by @aali309 in #1060
- build(deps-dev): bump @testing-library/dom from 8.20.0 to 9.3.1 by @dependabot in #1055
- build(deps): bump react-i18next from 12.1.5 to 12.3.1 by @dependabot in #1036
- chore(license): change project license to Apache-2.0 by @andrewazores in #1070
- chore(gh): update issue template by @maxcao13 in #1083
- chore(about): link to full license file by @andrewazores in #1082
- build(deps): bump semver from 5.7.1 to 5.7.2 by @dependabot in #1076
- build(deps): bump word-wrap from 1.2.3 to 1.2.5 by @dependabot in #1075
- build(deps): bump tough-cookie from 4.1.2 to 4.1.3 by @dependabot in #1074
- build(deps): remove unnecessary dependencies by @tthvo in #1086
- chore(ts): fix typescript type-checking errors by @tthvo in #1087
- build(deps-dev): bump eslint-plugin-import from 2.27.5 to 2.28.1 by @dependabot in #1090
- build(deps): bump @adobe/css-tools from 4.1.0 to 4.3.1 by @dependabot in #1095
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.53.0 to 6.6.0 by @dependabot in #1103
- build(deps-dev): bump prettier from 2.8.4 to 3.0.3 by @dependabot in #1094
- build(ci): submodule should sign commits by @aali309 in #1113
- feat(recordings): update Automated Analysis UI by @andrewazores in #1117
- build(yarn): update yarn version by @andrewazores in #1116
- build(deps-dev): bump tslib from 2.6.1 to 2.6.2 by @dependabot in #1104
- build(deps-dev): bump tsconfig-paths-webpack-plugin from 4.0.0 to 4.1.0 by @dependabot in #1122
- chore(ts): refactor types into separate modules by @tthvo in #1107
- ci(submodule): remove bot user git configurations by @tthvo in #1124
- build(deps-dev): bump webpack-dev-server from 4.11.1 to 4.15.1 by @dependabot in #1123
- build(deps): bump @typescript-eslint deps to 6.7.3 by @tthvo in #1125
- build(deps-dev): bump concurrently from 8.2.0 to 8.2.1 by @dependabot in #1128
- chore(release): set versions for 2.4.0 release by @andrewazores in #1133
- build(deps): bump @babel/traverse from 7.20.13 to 7.23.2 (backport #1140) by @mergify in #1142
- chore(credentials): clean up UI text (backport #1139) by @mergify in...
v2.3.1
What's Changed
- chore(version): bump version to 2.3.1-dev by @ebaron in #1040
- chore(topology): disable group node actions while checking (backport #1049) by @mergify in #1050
- fix(topology): warning resolver should include adding ssl certs (backport #1048) by @mergify in #1052
- chore(agent): use consistent notification field (backport #1057) by @mergify in #1058
- fix(login): submit form to log out from OpenShift OAuth (backport #1059) by @mergify in #1061
- chore(match expression): visualizer should have title (backport #1060) by @mergify in #1066
- fix(modal): Warning modal for disabling rule should say "disable" instead of "delete" (backport #1043) by @mergify in #1077
- feat(dev): mock API server with miragejs (backport #1039) by @mergify in #1098
- feat(mirage): implement additional mock route handlers (backport #1092) by @mergify in #1100
- fix(ci): preview ci should target all under src (backport #1054) by @mergify in #1101
- feat(ci): allow preview deployment on release branches (backport #1047) by @mergify in #1102
Full Changelog: v2.3.0...v2.3.1
v2.3.0
What's Changed
- ci(mergify): update config for latest release branch by @andrewazores in #555
- chore(logo): logo update by @andrewazores in #554
- ci(tests): don't run tests twice by @andrewazores in #559
- fix(recordings): fix recording filters from being cutoff in nested archived recordings tables by @maxcao13 in #557
- feat(jmc-agent): add JMC Agent probes UI by @Josh-Matsuoka in #558
- fix(target): disable target creation if connectUrl is left empty by @tthvo in #566
- fix(recordings): remove nested forms by @tthvo in #569
- fix(target): add back target auto-refresh option by @tthvo in #577
- fix(archives): add ArchivedRecordingCreated notification hook to refresh All Archives view by @maxcao13 in #576
- fix(match-exp): match-expression-evaluator handles non-empty match-expr with no target selected by @maxcao13 in #578
- fix(filters): fix datetimepicker error text alignments by @tthvo in #574
- fix(agent): add margin bottom for probe template table by @tthvo in #590
- build(webpack): code-split bundles and add content-hash to output files by @tthvo in #588
- chore(events): use empty state if table is empty by @tthvo in #602
- fix(recordings): correctly update recording tables on errors by @tthvo in #604
- feat(labels): support multiple metadata label uploads by @tthvo in #607
- feat(targets): target select component can be expanded to reveal details by @andrewazores in #501
- chore(toolbar): hide toolbar on errors by @tthvo in #609
- chore(graphql): add operation names and extract variables by @andrewazores in #611
- chore(loadingview): add descriptive texts for loading spinner by @tthvo in #622
- fix(label-upload): add error handler for metadata uploads by @tthvo in #624
- chore(labels): add a helper text to label editor by @tthvo in #626
- chore(deps-bot): set up Dependabot by @tthvo in #627
- build(deps-dev): bump webpack from 5.73.0 to 5.75.0 by @dependabot in #628
- build(deps-dev): bump typescript from 4.4.3 to 4.8.4 by @dependabot in #632
- build(deps): bump react-redux from 8.0.2 to 8.0.5 by @dependabot in #630
- build(deps): remove unused type definitions for react-test-renderer by @andrewazores in #634
- build(deps): remove unused express dep by @andrewazores in #633
- build(deps): bump express from 4.18.1 to 4.18.2 by @dependabot in #629
- build(deps-dev): bump eslint-plugin-react-hooks from 4.2.0 to 4.6.0 by @dependabot in #635
- build(deps-dev): bump webpack-cli from 4.9.2 to 4.10.0 by @dependabot in #638
- build(deps-dev): bump react-router-dom from 5.3.0 to 5.3.4 by @dependabot in #639
- build(deps-dev): bump @types/enzyme from 3.10.9 to 3.10.12 by @dependabot in #636
- build(deps-dev): bump eslint-plugin-react from 7.26.0 to 7.31.10 by @dependabot in #637
- build(deps-dev): bump @testing-library/jest-dom from 5.16.2 to 5.16.5 by @dependabot in #646
- build(deps-dev): bump rxjs from 7.3.0 to 7.5.7 by @dependabot in #644
- build(deps): bump @patternfly/react-styles from 4.74.1 to 4.91.10 by @dependabot in #643
- build(deps): bump @patternfly/react-icons from 4.75.1 to 4.92.10 by @dependabot in #645
- build(deps-dev): bump webpack-bundle-analyzer from 4.5.0 to 4.7.0 by @dependabot in #650
- build(deps-dev): bump svg-url-loader from 7.1.1 to 8.0.0 by @dependabot in #647
- build(deps-dev): bump tsconfig-paths-webpack-plugin from 3.5.2 to 4.0.0 by @dependabot in #649
- build(deps): bump @patternfly/react-table from 4.93.1 to 4.111.33 by @dependabot in #642
- build(deps-dev): bump fork-ts-checker-webpack-plugin from 7.2.11 to 7.2.13 by @dependabot in #652
- build(deps): remove unused @types/victory by @andrewazores in #655
- build(deps-dev): bump @testing-library/dom from 8.11.3 to 8.19.0 by @dependabot in #653
- build(deps-dev): bump @testing-library/user-event from 13.5.0 to 14.4.3 by @dependabot in #648
- build(deps-dev): bump css-minimizer-webpack-plugin from 4.0.0 to 4.2.2 by @dependabot in #659
- build(deps-dev): bump @testing-library/react from 12.1.4 to 12.1.5 by @dependabot in #662
- build(deps-dev): bump mini-css-extract-plugin from 2.3.0 to 2.7.0 by @dependabot in #664
- build(deps): bump @reduxjs/toolkit from 1.8.5 to 1.9.0 by @dependabot in #657
- build(deps-dev): bump ts-loader from 9.2.6 to 9.4.1 by @dependabot in #669
- build(deps-dev): bump regenerator-runtime from 0.13.9 to 0.13.11 by @dependabot in #667
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 4.32.0 to 4.33.0 by @dependabot in #670
- build(deps): bump @types/lodash from 4.14.175 to 4.14.189 by @dependabot in #671
- feat(spinner): add spinner to action buttons by @tthvo in #640
- fix(credentials): set backend storage as default by @tthvo in #672
- chore(auth): refactor auth form to avoid promise updates by @tthvo in #675
- chore(context): add notification context provider by @tthvo in #676
- fix(rules): rename Automatic to Automated by @andrewazores in #693
- chore(tables): refactor legacy table to table composable by @tthvo in #684
- feat(github): add PR and issue templates by @maxcao13 in #690
- fix(create-recordings): add error-views and refactor target listener by @tthvo in #687
- chore(mergify): revert mergify to stop automatically adding needs-triage label by @maxcao13 in #697
- fix(labeler): fix labeler config file name by @maxcao13 in #699
- build(deps-dev): bump webpack-dev-server from 4.9.2 to 4.11.1 by @dependabot in #680
- build(deps-dev): bump dotenv-webpack from 7.1.0 to 8.0.1 by @dependabot in #681
- build(deps-dev): bump js-base64 and @types/js-base64 by @dependabot in #682
- build(deps-dev): bump webpack-cli from 4.10.0 to 5.0.0 by @dependabot in #683
- fix(ci): add new workflow which checks if needs-triage is not present by @maxcao13 in #702
- chore(requests): allow skipping status code check by @tthvo in #700
- chore(agent): use notification message to patch template table by @tthvo in #708
- build(deps-dev): bump typescript from 4.8.4 to 4.9.3 by @dependabot in #703
- build(deps-dev): bump mini-css-extract-plugin from 2.7.0 to 2.7.1 by @dependabot in #704
- build(deps-dev): bump style-loader from 2.0.0 to 3.3.1 by @dependabot in #705
- build(deps): bump @patternfly/react-icons from 4.92.10 to 4.93.0 by @dependabot in #706
- build(deps-dev): bump license-check-and-add from 4.0.2 to 4.0.5 by @dependabot in #712
- build(deps-dev): bump nanoid from 3.1.31 to 3.3.4 by @dependabot in https://github.com/cryos...
v2.2.1
v2.2.0
What's Changed
- fix(jmx): populate credentials table via notification only by @jan-law in #404
- ci(release): update CI for cryostat-v2.1 branch by @ebaron in #406
- fix(loading): ensure loading spinners are displayed by @andrewazores in #412
- chore(tests): Add credentials table test by @jan-law in #408
- fix(notfound): Update 404 page with missing routes by @hareetd in #417
- feat(notfound): generate NotFound from routes by @andrewazores in #418
- fix(archives): Only display archives for selected target by @jan-law in #422
- fix(labels): Prevent duplicate labels POST call by @jan-law in #424
- fix(snapshots): remove successful snapshot creation notification handling by @hareetd in #427
- fix(recordings): uncheck deleted recordings by @jan-law in #438
- feat(labels): Bulk edit recording labels by @jan-law in #428
- fix(recordings): disable actions after deleting all recordings by @jan-law in #443
- build(deps): bump eventsource from 1.1.0 to 1.1.1 by @dependabot in #444
- build(deps): bump async from 2.6.3 to 2.6.4 by @dependabot in #446
- chore(api): graphql is now in API v2.2, not beta by @andrewazores in #450
- fix(webpack): Change hashing algorithm for Fedora 36 compatibility by @hareetd in #454
- chore(webpack): upgrade version and plugins by @andrewazores in #453
- ci(yarn): use registry.yarnpkg.com by @andrewazores in #457
- build(deps): bump ws from 7.4.4 to 7.5.8 by @dependabot in #456
- fix(navigation): fix unncessary page refresh when following breadcrumbs by @tthvo in #460
- feat(rule): enable upload/download automated rules by @tthvo in #458
- chore(navigation): remove breadcrumb href since replaced by Link by @tthvo in #461
- ci(submodule): push update to parent submodule by @ebaron in #470
- test(rules): add tests for operations on automated rules by @tthvo in #464
- feat(security): use API v2.2 JMX credentials by @andrewazores in #475
- feat(ui): add deletion prompt when deleting an active or archived recording by @maxcao13 in #463
- feat(rules): implement initialDelay by @andrewazores in #476
- fix(settings): fix deletion warning settings label by @maxcao13 in #480
- feat(credentials): implement form with matchExpression by @andrewazores in #481
- fix(templates): delete custom event template no longer deletes default templates with similar name by @maxcao13 in #484
- fix(rules): automated rule creation now list eventTemplates based on target selector by @maxcao13 in #483
- feat(recording): include helperText for invalid recording names when creating new recordings with form by @maxcao13 in #487
- feat(recordings): Add search filters to target recording tables by @jan-law in #486
- feat(archives): Redesign "All Archives" view by @hareetd in #431
- fix(recordings): remove unnecessary recording filter queries by @jan-law in #490
- fix(targets): select TargetSelect to none when TargetJvmNotification LOST if that target is currently selected by @maxcao13 in #496
- feat(targets): added count of discovered targets to TargetSelect dropdown widget by @maxcao13 in #497
- feat(credentials): nested match expressions table by @hareetd in #495
- fix(targets): disable delete button on non-custom targets by @maxcao13 in #502
- fix(labels): edit labels for distinct recordings with identical file names by @jan-law in #473
- build(deps): bump minimist from 1.2.5 to 1.2.6 by @dependabot in #506
- build(deps): bump file-type from 16.5.3 to 16.5.4 by @dependabot in #507
- build(deps-dev): bump nanoid from 3.1.28 to 3.1.31 by @dependabot in #508
- build(deps): bump terser from 5.9.0 to 5.15.0 by @dependabot in #509
- fix(recordings): labels should be applied to created recordings by @tthvo in #511
- feat(metadata): downloading recordings also download associated metadata by @tthvo in #513
- feat(recordings): more tools for filtering by labels by @tthvo in #503
- fix(about): correct logo height using !important override by @andrewazores in #515
- fix(archive): correct nested data structure for GraphQL archive queries by @andrewazores in #519
- ci(github): copy linked and dependent issues workflows by @andrewazores in #520
- feat(graphql): add aggregate information for active recordings in the GraphQL API by @maxcao13 in #518
- fix(archives): use target-specific archive API endpoints by @hareetd in #499
- fix(package.json): fix broken prettier config, add other useful scripts by @andrewazores in #478
- feat(jmx): re-implement enhanced transient JMX credentials by @andrewazores in #524
- chore(hooks): update useSubscriptions to reduce re-rendering by @tthvo in #529
- fix(jest): fix mock systemtime setup by @tthvo in #531
- feat(target): show warning prompt when deleting custom targets by @tthvo in #534
- feat(rules): rules can be enabled/disabled by @andrewazores in #533
- fix(warning-modal): correct rule display name in warning modal by @tthvo in #538
- fix(target): reword helper texts by @tthvo in #539
- feat(archive): revamp archive-upload view by @tthvo in #532
- feat(archive): display file size for archived recordings by @tthvo in #540
- feat(recording): add form control for archiveOnStop by @andrewazores in #542
- fix(rules): show error view and modal when template retrieving fails by @tthvo in #543
- feat(auth): add retry button on auth failure by @tthvo in #544
- fix(auth): only show retry button for auth failures by @tthvo in #545
- build(config): add build properties JSON file by @andrewazores in #547
- fix(archive): all-archive should properly display when refreshing by @tthvo in #551
- feat(archives): add non-target-specific "all-archives" view by @maxcao13 in #550
- chore(logo): logo update (backport #554) by @mergify in #560
- ci(tests): don't run tests twice (backport #559) by @mergify in #561
- fix(recordings): fix recording filters from being cutoff in nested archived recordings tables (backport #557) by @mergify in #562
- feat(jmc-agent): add JMC Agent probes UI (backport #558) by @mergify in #564
- fix(target): disable target creation if connectUrl is left empty (backport #566) by @mergify in #567
- fix(recordings): remove nested forms (backport #569) by @mergify in #572
- fix(target): add back target auto-refresh option (backport #577) by @mergify in #579
- fix(archives): add ArchivedRecordingCreated notification hook to refresh All Archives view (backport #576) by @mergify in https://github.com/cryostatio/cry...
v2.1.0
Contributors
@andrewazores, @dependabot, @dependabot[bot], @ebaron, @hareetd and @jan-law
Features
- feat(notfound): generate NotFound from routes (#418) @andrewazores
- feat(tests): Setup unit testing framework (#393) @hareetd
- feat(archives): split views for per-target and universal archives (#397) @andrewazores
- feat(credentials): Manage target JMX credentials (#389) @jan-law
- feat(settings): user can enable/disable notifications by category (#387) @andrewazores
- feat(recordings): Add metadata recording labels (#383) @jan-law
- feat(rules): add match expression evaluation component to rule creation form (#381) @andrewazores
- feat(rules): add rule creation form and deletion action (#380) @andrewazores
- feat(rules): add UI for displaying automated rules (#378) @andrewazores
- feat(templates): use notifications to update state without query (#373) @andrewazores
- feat(notifications): service handles and displays all incoming WS messages (#367) @andrewazores
- feat(auth): Add OAuth logout (#355) @jan-law
- feat(targets): Add example JMX service url (#357) @jan-law
- feat(auth): Add OAuth redirect authentication (#350) @jan-law
- feat(auth): Display username on masthead (#322) @jan-law
- feat(auth): Store credentials in sessionStorage (#261) @jan-law
- feat(AppLayout): Group related menu links together (#316) @jan-law
Fixes
- fix(snapshots): remove successful snapshot creation notification handling (#427) @hareetd
- fix(labels): Prevent duplicate labels POST call (#424) @jan-law
- fix(archives): Only display archives for selected target (#422) @jan-law
- fix(notfound): Update 404 page with missing routes (#417) @hareetd
- fix(loading): ensure loading spinners are displayed (#412) @andrewazores
- fix(jmx): populate credentials table via notification only (#404) @jan-law
- fix(api): include Authorization header for all requests (#401) @jan-law
- fix(rules): fix header concatenation (#394) @jan-law
- fix(recordings): disallow whitespace in labels (#392) @jan-law
- fix(notifications): handle labels nested within metadata (#391) @andrewazores
- fix(health): process health configured/available results (#385) @andrewazores
- fix(notifications): add template notification handling (#371) @andrewazores
- fix(health): handle version separate from Grafana config (#370) @andrewazores
- fix(activerecordings): use notifications to update state without query (#369) @andrewazores
- fix(archivedrecordings): use notifications to update state without query (#366) @andrewazores
- fix(notifications): Show stopped recording notification (#361) @jan-law
- fix(reports): Delete cached report upon archived recording deletion (#360) @hareetd
- fix(targets): Validate connectUrl before submission (#358) @jan-law
- fix(notifications): Show newest unread notification first (#356) @jan-law
- fix(recordings): Ensure ActiveRecordingsTable properly refreshes recordings list (#353) @hareetd
- fix(snapshot): Cleanly handle empty snapshots (#346) @hareetd
- fix(websocket): fix repeated disconnect/reconnect spin (#342) @andrewazores
- fix(notifications): Do not show temporary reconnection errors (#339) @jan-law
- fix(archiveuploads): display prompt on cancel or navigation (#333) @andrewazores
- fix(auth): Skip login when using noop auth (#328) @jan-law
- fix(recordings): Display Snapshot creation warning when no Active recordings present (#329) @hareetd
- fix(auth): Fix repeat auth calls on logout (#321) @jan-law
- fix(NotFound): Improve 404 page styling (#324) @hareetd
- fix(downloads): do not download into browser memory (#319) @andrewazores
- fix(archiveuploads): display prompt on cancel or navigation (#333) @andrewazores
- fix(targets): Deselect nonexistent target (#315) @jan-law
- fix(notifications): Sort notifications into exactly one category (#314) @jan-law
Maintenance
- chore(tests): Add credentials table test (#408) @jan-law
- ci(release): update CI for cryostat-v2.1 branch (#406) @ebaron
- chore(settings): refactor for dynamic settings cards (#386) @andrewazores
- chore(api): use API endpoints promoted from beta to v2.1 (#374) @andrewazores
- build(deps): bump url-parse from 1.5.3 to 1.5.10 (#379) @dependabot
- build(deps): bump follow-redirects from 1.13.3 to 1.14.7 (#362) @dependabot
- chore(devserver): set server authority to localhost (#364) @andrewazores
- chore(ApiService): Ensure all API requests return a useable boolean where it makes sense (#352) @hareetd
- chore(auth): Move credentials encoding into one service (#330) @jan-law
v2.0.0
Contributors
@Josh-Matsuoka, @andrewazores, @aptmac, @dependabot[bot], @ebaron, @hareetd, @jiekang
Features
- feat(about): enhance version string and bug tracker (#271) @andrewazores
- feat(login): display notification on bad credentials (#256) @andrewazores
- feat(login): auto-retry login with existing credentials (#251) @andrewazores
- feat(notifications): implement notifications drawer (#245) @andrewazores
- feat(applayout): add help icon and about modal (#241) @andrewazores
- Add Handlers to refresh recording list when notifications are received (#214) @Josh-Matsuoka
- Custom targets (#213) @andrewazores
Fixes
- fix(notifications): Fix notifications url request failure handling (#310) @hareetd
- fix(notifications): handle Error type messages (#305) @andrewazores
- fix(login): do not re-attempt ws connection on auth fail (#301) @andrewazores
- fix(AppLayout): remove target from logoProps to prevent opening a new tab (#297) @aptmac
- fix(images): add favicon and brand image (#280) @andrewazores
- fix(about): short hash may not be 9 chars (#286) @andrewazores
- fix(events): reset event type search filter when switching targets (#274) @hareetd
- fix(events): reset event template search filter when switching targets (#273) @hareetd
- fix(recordings): collapse expanded recording rows when switching targets (#272) @hareetd
- fix(reports): cache to sessionStorage (#259) @andrewazores
- fix(notifications): style badge 'attention' if unread danger/warn notifications (#255) @andrewazores
- fix(customrecording): disable creation if form invalid/incomplete (#253) @andrewazores
- fix(requests): remove duplicate queries (#249) @andrewazores
- fix(targets): hold targets state in new service (#247) @andrewazores
- fix(settings): move from vert nav to masthead tool (#243) @andrewazores
- fix(notifications): trip auth on startup (#235) @andrewazores
- Rename websocket notifications channel path (#231) @hareetd
- ActiveRecordingsList hang fix (#229) @andrewazores
- Remove event specifier string text area (#226) @andrewazores
- Remove handling for 'CHANGED' discovery event (#220) @andrewazores
- Download templates as .jfc, not .xml (#215) @andrewazores
Documentation
Maintenance
- chore(recordings): remove console.log (#262) @andrewazores
- build(deps): bump url-parse from 1.5.1 to 1.5.3 (#240) @dependabot
- build(deps): update css-what to 5.0.1 (#239) @ebaron
- build(deps): bump path-parse from 1.0.6 to 1.0.7 (#238) @dependabot
- ci(config): apply CI actions configs (#232) @andrewazores
- Bump postcss from 7.0.35 to 7.0.36 (#227) @dependabot
- Bump browserslist from 4.16.4 to 4.16.6 (#218) @dependabot
- Bump dns-packet from 1.3.1 to 1.3.4 (#219) @dependabot
- Bump ws from 6.2.1 to 6.2.2 (#223) @dependabot