Skip to content

Commit 1616cb0

Browse files
committed
1 parent c918365 commit 1616cb0

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

docs/releases/vNext/upgrade-vNext.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,16 @@ oaipmh_service = current_rdm_records.oaipmh_server_service
103103
oaipmh_service.rebuild_index(identity=system_identity)
104104
```
105105

106+
#### OAuth client changes
107+
108+
The `extra_data` column of the `oauthclient_remoteaccount` table, storing remote-specific user information as required by various integrations, has been migrated from the `JSON` type to the `JSONB` type (only on PostgreSQL databases).
109+
This gives significant performance improvements when running certain queries.
110+
An automated Alembic migration is included and will be executed when you run the [database migration](#database-migration) step below.
111+
112+
However, if your `oauthclient_remoteaccount` table has more than ~50k rows, this operation could overload your database and create a lock lasting several minutes, due to the need to individually transform every row.
113+
To avoid issues in such cases, we recommend instead running the migration manually.
114+
Please follow [the upgrade guide](https://invenio-oauthclient.readthedocs.io/en/latest/upgrading.html#v6-0-0).
115+
106116
#### Upgrade option 1: In-place
107117

108118
This approach upgrades the dependencies in place. At the end of the process,

docs/releases/vNext/version-vNext.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ This feature is also [highly customisable](../../operate/customize/record_deleti
2929

3030
https://github.com/inveniosoftware/invenio-previewer/pull/224
3131

32+
### OAuth improvements
33+
34+
We've added a few small but crucial improvements to the [invenio-oauthclient](https://github.com/inveniosoftware/invenio-oauthclient) module, improving security and bringing Invenio's third-party authentication in line with modern standards.
35+
36+
- **Refresh tokens** are now supported, meaning we now have full compatibility with all OAuth 2.0 authorization servers. This means we can securely store long-lived tokens and exchange them for short-lived access tokens as and when needed, allowing us to integrate with modern third-party apps ([invenio-oauthclient#328](https://github.com/inveniosoftware/invenio-oauthclient/pull/328)).
37+
38+
- The `extra_data` column of the `oauthclient_remoteaccount` table is now stored in the more efficient `JSONB` type when using PostgreSQL, improving the performance and flexibility of queries ([invenio-oauthclient#360](https://github.com/inveniosoftware/invenio-oauthclient/pull/360)).
39+
3240
### Miscellaneous additions
3341

3442
Here is a quick summary of the myriad of other improvements in this release:
@@ -46,6 +54,8 @@ Here is a quick summary of the myriad of other improvements in this release:
4654

4755
- Overridables in the deposit form have been modified to improve consistency in structure and naming conventions. This has involved renaming the IDs of several `<Overridable>`s, but none have been removed. If you are using these IDs to override components, please see [the full list of updates](https://github.com/inveniosoftware/invenio-rdm-records/pull/2101/files#diff-ff3c479edefad986d2fe6fe7ead575a46b086e3bbcf0ccc86d85efc4a4c63c79) and change your IDs accordingly.
4856

57+
- The changes to [invenio-oauthclient](https://github.com/inveniosoftware/invenio-oauthclient) include automated database migrations that will run smoothly for most instances. However, if your `oauthclient_remoteaccount` table has more than ~50k rows, please instead [follow the manual steps](./upgrade-vNext.md#oauth-client-changes).
58+
4959
## Requirements
5060

5161
InvenioRDM vNext supports:

0 commit comments

Comments
 (0)