Skip to content

v1.0.0-rc2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Nov 13:07
· 4 commits to dev since this release
Immutable release. Only release title and notes can be modified.
v1.0.0-rc2
d5fae2d

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 issuer of each login provider and LOGIN_REDIRECT_URI must
    be https URLs (http only for localhost and loopback addresses), and
    logging out also ends the session at providers with an
    end_session_endpoint (register the app's /auth/login as 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=false to 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 by NEXT_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
    after 429 Too Many Requests (#213, #217)

Security

  • Token requests use HTTP Basic authentication (client_secret_basic)
    unless the provider lists client_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-Security in 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

Full Changelog: v1.0.0-rc1...v1.0.0-rc2