Repository navigation
v1.0.0-rc2
Pre-release
Pre-release
·
4 commits
to dev
since this release
Immutable
release. Only release title and notes can be modified.
The second release candidate of the Cloud Registry UI, published as the
image elixircloud/cloud-registry-ui:1.0.0-rc2 and tested against
cloud-registry 1.0.0rc2, which it needs: it follows the registry's camelCase
API and its new paths of users' roles, and doesn't work with cloud-registry
1.0.0rc1. It brings the import and sync of service info in the registration
form, a notification bell, tabs, labels and expired invitations in the access
dialog, and a hardened login. Upgrade the registry (with a fresh database) and
the app together, as the upgrade
notes
describe, and check the login settings before the upgrade; users who are
logged in then log in once more.
Breaking changes
- Needs cloud-registry 1.0.0rc2: the app reads and sends only the
registry's camelCase names (e.g.userId,registrationRules,
createdAt) (#204, #205) - Roles of users are changed at the registry's new paths
(/services/{serviceId}/permissions/users/{userId}), without a fallback:
with cloud-registry 0.6.0 or 1.0.0rc1 they would go to the wrong user, so
the app reports such registries as too old; user IDs and groups that start
with/are refused (#190, #191, #193, #196) - Login: the
issuerof each login provider andLOGIN_REDIRECT_URImust
behttpsURLs (httponly forlocalhostand loopback addresses), and
logging out also ends the session at providers with an
end_session_endpoint(register the app's/auth/loginas a post-logout
redirect URI there) (#155, #223, #239, #243) - The session's cookies are named
__Host-…, and the app reads only these
names: users who are logged in when the app is upgraded log in once more
(#155, #223, #239, #243) - The form for new invitations requires a label by default; set
NEXT_PUBLIC_INVITATION_LABEL_REQUIRED=falseto keep it optional (#187,
#189)
Features
- Import a service's public service info in the registration form, and keep
the new entry in sync with it (#206, #209) - Show which services are synced or out of sync, with controls to sync now
and to turn the sync on or off (#207, #210) - A notification bell in the top bar, with what needs the user's attention,
e.g. pending services and service types (#208, #211) - Split the Manage access dialog into the tabs Current Access and
Invitations, with a page size set byNEXT_PUBLIC_ACCESS_PAGE_SIZE
(#186, #188) - Labels of invitations, which say who they are for, and expired
invitations, with new links, removal and Remove expired (#187, #189) - Let admins list the registry among its own services, from the service
info page (#201, #203) - Show the registry API's address on the service info page, with a copy
button (#200, #202) - A deadline of 30 seconds for every request to the registry, with messages
that say whether a change may have taken effect, and how long to wait
after429 Too Many Requests(#213, #217)
Security
- Token requests use HTTP Basic authentication (
client_secret_basic)
unless the provider listsclient_secret_post, and sessions whose login
provider can't be told are taken as logged out (#155, #223)
Fixes
- Avoid the request for approvals without a token on each page load, which
registries that require login refused (#151, #185) - Show the registry's environment on the service info page as reported,
without changing its case (#198, #199) - Keep invitation labels in their table cell (#192, #195)
- Sync now only if the sync is on, and name the pending services in the
notifications (#214, #215, #218) - Offer no sync for the registry's own entry, which the registry never
syncs, and stop asking for notifications that the registry refuses
(403, e.g. a policy without the rules of 1.0.0rc2) (#240, #244) - Show the reasons of cloud-registry 1.0.0rc2 at each field that it refuses
in the edit form, and name the fields by their labels in its messages
(#245, #246) - Small fixes from the review of this release: what the app shows when the
registry refuses labels, encoded slashes at the proxy (#194, #197)
Documentation
- Upgrade notes from 1.0.0-rc1, with the steps in short, and the
compatibility with cloud-registry 1.0.0rc2 (#236, #237) - Set
Strict-Transport-Securityin the proxy, and how long the registry
keeps the labels of invitations (#194, #197) - Link the new docs site, and add the DOI and release badges (#181, #182)
Maintenance
- End-to-end tests against cloud-registry 1.0.0rc2, and against the app's
image, in parallel jobs per browser and shard; fixes of flaky tests (#157,
#222, #212, #216, #224, #225, #226, #229, #230, #234, #236, #237, #241,
#242, #249, #250) - CI lints the code with Biome, pins its build inputs, checks pull request
titles under the gate, and scans the image with the organization's shared
action (#156, #219, #127, #184, #228, #232) - Remove unused files and code, and explain code owner roles (#227, #231,
#126, #180) - The release workflow creates the GitHub release with these curated notes,
followed by GitHub's generated notes (#235, #238) - Neutral example titles in the branding tests (#122, #183)
- Dependency updates, and the organization's label on Dependabot's pull
requests (#160, #177, #241, #242)
Commits
- docs: link the new docs site by @uniqueg in #179
- docs: add the DOI and release badges by @uniqueg in #182
- chore: explain code owner roles in CODEOWNERS by @uniqueg in #180
- test: use neutral example titles in branding by @uniqueg in #183
- ci: check PR titles under the gate by @uniqueg in #184
- build(deps): bump the github-actions group across 2 directories with 3 updates by @dependabot[bot] in #177
- build(deps): bump the node-dependencies group across 1 directory with 15 updates by @dependabot[bot] in #160
- feat: split the access dialog into tabs by @uniqueg in #188
- feat: add labels and expired invitations by @uniqueg in #189
- feat!: move role client under users by @uniqueg in #191
- fix: keep invitation labels in their cell by @uniqueg in #195
- fix: guard against unsupported registries by @uniqueg in #196
- fix: address small findings of the rc2 review by @uniqueg in #197
- fix: show the environment as reported by @uniqueg in #199
- feat: show the API address on the service info by @uniqueg in #202
- fix: avoid the anonymous approvals probe by @uniqueg in #185
- feat: let admins list the registry itself by @uniqueg in #203
- feat!: follow the backend's camelCase names by @uniqueg in #205
- feat: import service info in the create form by @uniqueg in #209
- feat: show and control the sync of services by @uniqueg in #210
- feat: add a notification bell to the top bar by @uniqueg in #211
- ci: raise the e2e job's time limit by @uniqueg in #216
- feat: add a deadline to registry requests by @uniqueg in #217
- fix: sync now only if on, name pending services by @uniqueg in #218
- ci: lint, pin build inputs, group updates by @uniqueg in #219
- test: run e2e tests against the image by @uniqueg in #222
- feat: harden the login flow by @uniqueg in #223
- test: fix two flaky Firefox end-to-end tests by @uniqueg in #225
- test(e2e): wait for the dashboard's reads at login by @uniqueg in #229
- chore: remove unused files and code by @uniqueg in #231
- ci: use the shared scan-image action by @uniqueg in #232
- test: fix remaining e2e flake sources by @uniqueg in #234
- test: fix two e2e races, label Dependabot PRs by @uniqueg in #242
- ci: run the end-to-end tests in parallel by @uniqueg in #250
- ci: add curated notes to GitHub releases by @uniqueg in #238
- fix: login follow-ups for 1.0.0-rc2 by @uniqueg in #243
- fix: self-entry sync and refused notifications by @uniqueg in #244
- fix: show the field errors of cloud-registry rc2 by @uniqueg in #246
- build: prepare the 1.0.0-rc2 release by @uniqueg in #237
New Contributors
- @dependabot[bot] made their first contribution in #177
Full Changelog: v1.0.0-rc1...v1.0.0-rc2