v3.0.0 - organizations, UUIDs, AntD v4, and audit emails
The main feature in this release is Organizations support. An organization is a group of users (a company, charity, team, workspace, etc), where one user is in charge (the "owner") and one person is the billing contact. You may add further permissions. We've added all the behaviours you'd expect around organizations: creating, deleting, inviting users, inviting non-users, sending invite emails, accepting invites, re-assigning ownership/billing contact, managing members, managing other settings, controlling access to settings based on user role.
There's many other changes in this release; for full details have a look at the git history, but here are some of the highlights:
- Security:
- Added "auditing" emails - so a user gets notified when they add/remove email, change password, etc
- Switched to UUIDs for primary keys so adversaries cannot trivially determine a cap on the number of users/organizations/etc you have
- Design
- Upgrade to AntD v4
- Made pages more consistent
- Use more AntD components
- Tweak colours slightly
- Schema
- Removes
query: Query
fromtype Query
- Enables
pgStrictFunctions
for stronger typing
- Removes
- Development
- Extend use of React hooks (especially for forms)
- Extracted some helpers to
@app/lib
to ease sharing between components/client/server/worker
- Testing
- Added helpers for checking/executing jobs within other tests
- Test snapshots now track which masked values are identical
- General & maintenance
- Upgraded Graphile stack to latest versions
- Optimize and update linting
- GitHub Actions CI
- Node v14 support
Remember:
It is intended that you use a "point in time" version of this software ─ it is not intended that you can merge updates to this software into your own derivative in an automated fashion.
i.e. you can't simply update to this version - no attempt at backwards compatibility has been made