[go: up one dir, main page]

Tags

Tags give the ability to mark specific points in history as being important
  • 0.30.2

    d2be5bcf · 0.30.2 ·
    0.30.2
    
    ### Added
    
    - App: Add support for `badgeCount` property on a page that shows a counter in the side menu or bottom navigation.
    
  • 0.30.1

    163523c7 · 0.30.1 ·
    0.30.1
    
  • 0.30.0

    c537ccdb · 0.30.0 ·
    0.30.0
    
    ### Added
    
    - Block(`form`): Add `onLoad` action to load fields without using the `data-loader` block.
    - App: Add `app.member.current.patch` action.
    - App: Add `app.member.invite` action.
    - App: Add `app.member.properties.patch` action.
    - App: Add `app.member.role.update` action.
    - App: Add `group.member.delete` action.
    - App: Add `group.member.role.update` action.
    - App: Add `sub`, `email_verified`, `zoneinfo` and `role` properties to `app.member` remapper.
    - App: Resources and assets can now be scoped to a group (previously team). The roles of group members within the group determine who within the group has access to them.
    - Server: Add permissions concept.
    - Server: Add predefined app roles that can be inherited.
    - Server: Apps will now be migrated whenever a breaking change is made to the app definition. A new app snapshot is made. (todo: add ability to approve of the snapshot to be published).
    - Studio: Add `email` attribute field to SAML secret. The default value used is `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`.
    - Studio: Add the ability to invite emails to apps with a certain app role, making them app members.
    - Studio: Add the ability to invite emails to groups with a certain app role, making them group members.
    - Utils: New endpoint `/api/app-invites/{token}/respond`.
    - Utils: New endpoint `/api/app-invites/{token}`.
    - Utils: New endpoint `/api/app-members/{appMemberId}/properties`.
    - Utils: New endpoint `/api/app-members/{appMemberId}/role`.
    - Utils: New endpoint `/api/app-members/{appMemberId}`.
    - Utils: New endpoint `/api/apps/{appId}/auth/email/login`.
    - Utils: New endpoint `/api/apps/{appId}/auth/email/register`.
    - Utils: New endpoint `/api/apps/{appId}/demo-groups`.
    - Utils: New endpoint `/api/apps/{appId}/demo-members`.
    - Utils: New endpoint `/api/apps/{appId}/groups`.
    - Utils: New endpoint `/api/apps/{appId}/invites`.
    - Utils: New endpoint `/api/apps/{appId}/members/current/groups`.
    - Utils: New endpoint `/api/apps/{appId}/members/current/link`.
    - Utils: New endpoint `/api/apps/{appId}/resources`.
    - Utils: New endpoint `/api/group-invites/{token}/respond`.
    - Utils: New endpoint `/api/group-invites/{token}`.
    - Utils: New endpoint `/api/group-members/{groupMemberId}/role`.
    - Utils: New endpoint `/api/group-members/{groupMemberId}`.
    - Utils: New endpoint `/api/groups/{groupId}/invites`.
    - Utils: New endpoint `/api/groups/{groupId}/members`.
    - Utils: New endpoint `/api/groups/{groupId}`.
    - Utils: New endpoint `/api/training-blocks/{trainingBlockId}`.
    
    ### Changed
    
    - App: __Breaking(migrated)__ - Remove `appMember` remapper. Use `app.member` instead.
    - App: __Breaking(migrated)__ - Rename `team.invite` action to `group.member.invite`.
    - App: __Breaking(migrated)__ - Rename `team.list` action to `group.query`.
    - App: __Breaking(migrated)__ - Rename `team.members` action to `group.member.query`.
    - App: __Breaking(migrated)__ - Rename `user.login` action to `app.member.login`.
    - App: __Breaking(migrated)__ - Rename `user.logout` action to `app.member.logout`.
    - App: __Breaking(migrated)__ - Rename `user.query` action to `app.member.query`.
    - App: __Breaking(migrated)__ - Rename `user.register` action to `app.member.register`.
    - App: __Breaking(migrated)__ - Rename `user.remove` action to `app.member.delete`.
    - App: __Breaking(migrated)__ - Rename `user` remapper to `app.member`.
    - App: __Breaking(migrated)__ - Rename `users` property to `members` in app definitions.
    - Server: __Breaking(migrated)__ - Don't use roles on resource actions in the app definition, use permissions instead.
    - Server: __Breaking(migrated)__ - Remove special role `$author` in resource roles, use `:own` permissions instead.
    - Server: __Breaking(migrated)__ - Remove special role `$none`, use `$guest` instead, which is meant for unauthenticated users.
    - Server: __Breaking(migrated)__ - Remove special roles `$team:member`, `$team:manager`, use roles and group selection instead.
    - Server: App member accounts are now standalone accounts not requiring a platform user to be connected. This results in all tokens being invalid, requiring the user to logout and log back in again.
    - Server: Rename Teams to Groups.
    - Studio: Move layout settings from general tab to style tab.
    - Utils: Rename endpoint `/api/appCollections/{appCollectionId}/apps/{appId}/pinned` to `/api/app-collections/{appCollectionId}/apps/{appId}/pinned`.
    - Utils: Rename endpoint `/api/appCollections/{appCollectionId}/apps/{appId}` to `/api/app-collections/{appCollectionId}/apps/{appId}`.
    - Utils: Rename endpoint `/api/appCollections/{appCollectionId}/apps` to `/api/app-collections/{appCollectionId}/apps`.
    - Utils: Rename endpoint `/api/appCollections/{appCollectionId}/expert/profileImage` to `/api/app-collections/{appCollectionId}/expert/profile-image`.
    - Utils: Rename endpoint `/api/appCollections/{appCollectionId}/headerImage` to `/api/app-collections/{appCollectionId}/header-image`.
    - Utils: Rename endpoint `/api/appCollections/{appCollectionId}` to `/api/app-collections/{appCollectionId}`.
    - Utils: Rename endpoint `/api/appCollections` to `/api/app-collections`.
    - Utils: Rename endpoint `/api/apps/import/organization/{organizationId}` to `/api/organizations/{organizationId}/apps/import`.
    - Utils: Rename endpoint `/api/apps/{appId}/maskableIcon` to `/api/apps/{appId}/maskable-icon`.
    - Utils: Rename endpoint `/api/apps/{appId}/members/{memberId}/picture` to `/api/app-members/{appMemberId}/picture`.
    - Utils: Rename endpoint `/api/apps/{appId}/resources/{resourceType}/{resourceId}/history` to `/api/apps/{appId}/resources/{resourceType}/{resourceId}/versions`.
    - Utils: Rename endpoint `/api/apps/{appId}/saml/{appSamlSecretId}` to `/api/apps/{appId}/secrets/saml/{appSamlSecretId}`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/ResourceTypes/{resourceTypeId}` to `/api/apps/{appId}/scim/resource-types/{resourceTypeId}`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/ResourceTypes` to `/api/apps/{appId}/scim/resource-types`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/Schemas/{schemaId}` to `/api/apps/{appId}/scim/schemas/{schemaId}`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/Schemas` to `/api/apps/{appId}/scim/schemas`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/Users/{userId}` to `/api/apps/{appId}/scim/users/{userId}`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/Users` to `/api/apps/{appId}/scim/users`.
    - Utils: Rename endpoint `/api/apps/{appId}/scim/serviceProviderConfig` to `/api/apps/{appId}/scim/service-provider-config`.
    - Utils: Rename endpoint `/api/connect/userinfo` to `/api/apps/{appId}/members/current`.
    - Utils: Rename endpoint `/api/email/resend` to `/api/auth/email/resend-verification`.
    - Utils: Rename endpoint `/api/email/reset/request` to `/api/auth/email/request-password-reset`.
    - Utils: Rename endpoint `/api/email/reset` to `/api/auth/email/reset-password`.
    - Utils: Rename endpoint `/api/email/verify` to `/api/auth/email/verify`.
    - Utils: Rename endpoint `/api/email` to `/api/auth/email/register`.
    - Utils: Rename endpoint `/api/invites/{token}` to `/api/organization-invites/{token}`.
    - Utils: Rename endpoint `/api/login` to `/api/auth/email/login`.
    - Utils: Rename endpoint `/api/oauth2/client-credentials/{clientId}` to `/api/users/current/auth/oauth2/client-credentials/{clientId}`.
    - Utils: Rename endpoint `/api/oauth2/client-credentials` to `/api/users/current/auth/oauth2/client-credentials`.
    - Utils: Rename endpoint `/api/oauth2/connect/pending` to `/api/auth/oauth2/authorizations/connect`.
    - Utils: Rename endpoint `/api/oauth2/connect/register` to `/api/auth/oauth2/authorizations/register`.
    - Utils: Rename endpoint `/api/oauth2/connected` to `/api/users/current/auth/oauth2/authorizations`.
    - Utils: Rename endpoint `/api/oauth2/consent/agree` to `/api/users/current/auth/oauth2/apps/{appId}/consent/agree`.
    - Utils: Rename endpoint `/api/oauth2/consent/verify` to `/api/users/current/auth/oauth2/apps/{appId}/consent/verify`.
    - Utils: Rename endpoint `/api/organizations/{organizationId}/appCollections` to `/api/organizations/{organizationId}/app-collections`.
    - Utils: Rename endpoint `/api/organizations/{organizationId}/join` to `/api/organization-invites/{token}/respond`.
    - Utils: Rename endpoint `/api/refresh` to `/api/auth/refresh-token`.
    - Utils: Rename endpoint `/api/subscribed` to `/api/users/subscribed`.
    - Utils: Rename endpoint `/api/templates` to `/api/app-templates`.
    - Utils: Rename endpoint `/api/trainings/{trainingId}/enroll/users` to `/api/trainings/{trainingId}/users`.
    - Utils: Rename endpoint `/api/trainings/{trainingId}/enroll` to `/api/trainings/{trainingId}/users/current`.
    - Utils: Rename endpoint `/api/unsubscribe` to `/api/users/current/unsubscribe`.
    - Utils: Rename endpoint `/api/user/apps/accounts` to `/api/users/current/apps/accounts`.
    - Utils: Rename endpoint `/api/user/apps/{appId}/account/resend` to `/api/apps/{appId}/auth/email/resend-verification`.
    - Utils: Rename endpoint `/api/user/apps/{appId}/account/reset/request` to `/api/apps/{appId}/auth/email/request-password-reset`.
    - Utils: Rename endpoint `/api/user/apps/{appId}/account/reset` to `/api/apps/{appId}/auth/email/reset-password`.
    - Utils: Rename endpoint `/api/user/apps/{appId}/account/verify` to `/api/apps/{appId}/auth/email/verify`.
    - Utils: Rename endpoint `/api/user/apps/{appId}/account` to `/api/users/current/apps/{appId}/account`.
    - Utils: Rename endpoint `/api/user/apps` to `/api/users/current/apps`.
    - Utils: Rename endpoint `/api/user/email` to `/api/users/current/emails`.
    - Utils: Rename endpoint `/api/user/organizations` to `/api/users/current/organizations`.
    - Utils: Rename endpoint `/api/user` to `/api/users/current`.
    
    ### Removed
    
    - App: __Breaking(*not* migrated)__ - Remove `team.join` action.
    - App: __Breaking(*not* migrated)__ - Remove `user.create` action.
    - App: __Breaking(*not* migrated)__ - Remove `user.update` action. Use `app.member.current.patch`, `app.member.role.update` or `app.member.properties.patch` instead.
    - App: __Breaking(*not* migrated)__ - Remove the `profile` property on the `app.member` remapper (previously `user`).
    - App: __Breaking(migrated)__ - Remove the `method` property in resource actions.
    - App: __Breaking(migrated)__ - Remove the `roles` property from resource definitions.
    - Utils: Remove endpoint `/api/apps/{appId}/seed-assets`. `/api/apps/{appId}/assets` with query parameter `seed` should be used instead.
    - Utils: Remove endpoint `/api/apps/{appId}/seed-resources/{resourceType}`. `/api/apps/{appId}/resources/{resourceType}` with query parameter `seed` should be used instead.
    - Utils: Remove endpoint `/api/apps/{appId}/teams/{teamId}/invite`.
    - Utils: Remove endpoint `/api/apps/{appId}/teams/{teamId}/members`.
    - Utils: Remove endpoint `/api/apps/{appId}/teams/{teamId}`.
    - Utils: Remove endpoint `/api/apps/{appId}/teams`.
    - Utils: Remove endpoint `/api/organizations/{organizationId}/invite`.
    - Utils: Remove endpoint `/api/training/blocks/{trainingBlockId}`.
    
    ### Fixed
    
    - App: Apps now consistently handle account linking between multiple login methods.
    
    
  • 0.29.11

    c86a76a9 · 0.29.11 ·
    0.29.11
    
    ### Fixed
    
    - Block(`detail-viewer`): Check if there is a video before trying to fetch its thumbnail.
    - Block(`list`): Check if the header has a value before converting it to a string.
    
  • 0.29.10

    4b7fba29 · 0.29.10 ·
    0.29.10
    
    ### Added
    
    - App: Add support for nested items in side menu.
    - Studio: Make share app feature fancier and use `navigator.share` whenever possible.
    
  • 0.29.9

    fc4cb1eb · 0.29.9 ·
    0.29.9
    
    ### Added
    
    - Block(`detail-viewer`): Add support for video asset thumbnails.
    - Block(`form`): Add support for automatic thumbnail generation on video inputs.
    - Block(`list`): Add support for displaying a thumbnail image if a video asset is passed to the image property.
    - Node-utils: Add support for thumbnail assets in `processResourceBody`.
    - Server: Add a controller for asset by id `HEAD` requests.
    - Server: Validate imported messages on server side.
    - Utils: Add an API path for asset by id `HEAD` requests.
    
    ### Changed
    
    - Block(`list`): Change the request for assets in the header to `HEAD`.
    - Studio: Only export changed translations.
    
    ### Fixed
    
    - Block(`detail-viewer`): Don't pass poster if there is no thumbnail link.
    - Server: Use correct permission for asset delete permission verification.
    - Server: Verify permissions for creating assets.
    
  • 0.29.8

    d674f23f · 0.29.8 ·
    0.29.8
    
    ### Added
    
    - Block(`form`): Use the `accept` requirement of input fields to show an icon in the upload button.
    - Block(`list`): Show the filename and filetype icon in the header of list items, with a header value remapping to an asset id.
    - App: Unregister service worker in app debug page.
    - Server: Add `Access-Control-Expose-Headers: 'Content-Disposition'` header to `getAssetById` endpoint.
    - Utils: Add assets content type and content disposition utils.
    - Utils: Add functions for mime type operations and icons.
    
    ### Changed
    
    - Block(`form`): Show the upload button to the right in repeated file inputs.
    - Block(`form`): Use the mime type of files in the file input to show a placeholder.
    - App: Make debug page path case insensitive.
    
    ### Fixed
    
    - Block(`form`): Don't show the message for long submission if there are form errors.
    - Server: Allow patching resources with assets by name.
    
  • 0.29.7

    b4f2e3a6 · 0.29.7 ·
    0.29.7
    
    ### Added
    
    - App: Add debug page.
    - Server: Add app snapshot id to app settings.
    
  • 0.29.6

    cffb470d · 0.29.6 ·
    0.29.6
    
    ### Added
    
    - Block(`form`): Add warning on long submission.
    - Block(`pdf-viewer`): Add new block `pdf-viewer`.
    - Studio: Add tab to apps to view companion container logs.
    
    ### Fixed
    
    - Block(`form`): Fix searching by words containing capital letters.
    
  • 0.29.5

    000b8118 · 0.29.5 ·
    0.29.5
    
    ### Added
    
    - Block(`form`): Add search to selection fields.
    
    ### Changed
    
    - Block(`form`): Allow trying to submit while there are field errors.
    - Block(`form`): Don't show field error links until the user has tried to submit.
    - Server: The server would error when receiving `multipart/form-data` from a proxied request action.
    
    ### Fixed
    
    - Block(`detail-viewer`): Fix the height of displayed non-square images.
    - Block(`form`): Acknowledge `readOnly` in fieldset fields.
    - Block(`form`): Disable fieldset and file fields while submitting the form.
    - Block(`table`): Fix miss-aligned button icon when label is empty.
    - React-components: Fix behaviour where side menu would not close when clicking a menu item.
    
  • 0.29.4

    5172cf6d · 0.29.4 ·
    0.29.4
    
    ### Added
    
    - Studio: Added the resource tab to the GUI.
    
    ### Fixed
    
    - Studio: Do not use app id from params in app resources page.
    - Studio: Switching to the GUI-editor is now fixed.
    
  • 0.29.3

    c545891c · 0.29.3 ·
    0.29.3
    
    ### Added
    
    - Block(`form`): Add links above the submit button that scroll to and focus the form errors.
    
  • 0.29.2

    78d3f39d · 0.29.2 ·
    0.29.2
    
  • 0.29.1

    a8704572 · 0.29.1 ·
    0.29.1
    
    ### Fixed
    
    - Server: Updating an app without updating the shared- or core styles directly would remove the app styles.
    - Studio: When the core and shared styling is exactly the same it wouldn't load when switching to the other editor style tab.
    
  • 0.29.0

    91a4e83c · 0.29.0 ·
    0.29.0
    
    ### Changed
    
    - Server: Migration 0.29.0 has a significant chance to fail due too a large amount of new constraints. The migration however will now be rolled back in case of a failure and log the appriopriate actions to take to clean the database.
    
    ### Removed
    
    - Server: Removed migration versions `0.9.0` - `0.24.1`.
    
    ### Fixed
    
    - Server: Loading empty SCIM secrets resulted in an error on the secrets page not allowing to generate a new SCIM secret.
    - Server: SCIM errors were unhandled causing internal server errors since the error handling middleware was removed in version 0.22.0.
    
  • 0.28.13

    a556592d · 0.28.13 ·
    0.28.13
    
    ### Fixed
    
    - Block(`detail-viewer`): Fix the styling and the logic of displaying the video thumbnail.
    
  • 0.28.12

    44c582ee · 0.28.12 ·
    0.28.12
    
    ### Added
    
    - App: Add `hide` property to blocks to enable conditional rendering.
    - Utils: Add the `array.flatten` remapper.
    
    ### Changed
    
    - Block(`form`): Change the selection input to also work with unique strings for the ids of the items.
    - Preact-components: Change the `ImageComponent` to accept an id.
    - Utils: Change the `string.format` remapper to accept remappers, so it can receive a message id dynamically.
    
    ### Fixed
    
    - Block(`detail-viewer`): Display the thumbnail if there is no video value.
    - Block(`form`): Accept asset ids as valid file entry values.
    - Block(`form`): Make the selection field full width in forms.
    - Block(`list`): Add some padding to the end of the list to show the dropdown when needed.
    - React-components: Fix behavior of side menu to no longer immediately hide upon opening code and GUI editors.
    - React-components: Fix initial state value parameter of the hook to now be passed along to `enabled` state variable.
    - Studio: Fix bug where right options and blocks buttons permanently lose their text after right bar is closed.
    
  • 0.28.11

    1cad0f23 · 0.28.11 ·
    0.28.11
    
  • 0.28.10

    7eac0f05 · 0.28.10 ·
    0.28.10
    
    ### Added
    
    - Block(`list`): Add `collapsible` and `startCollapsed` properties for collapsing the list into a compact view.
    - Block(`list`): Add a `groupBy` property to split the list into multiple smaller lists.
    - Block(`list`): Add a `title` property for a title that shows above the list.
    - App: Allow sub-page name to be dynamic using Remappers.
    
    ### Changed
    
    - Server: All emails now use translation files instead of templates.
    
    ### Fixed
    
    - Block(`form`): Close the selection modal when the `maxItems` requirement is reached.
    - Node-utils: Deleting seed resources now deletes referencing resources before referenced resources.
    
  • 0.28.9

    e3d2f129 · 0.28.9 ·
    0.28.9
    
    ### Added
    
    - Block(`list`): Add a `hideOnNoData` property to hide the block if there is no data.
    - Cli: Get app variables endpoint for dev server.
    
    ### Fixed
    
    - Block(`form`): Allow selected value to be of type `Blob`.
    - Block(`form`): Invalidate `tags` and `selection` fields if they are not required, but have `minItems` specified.
    - Server: Allow to remove core and shared styles from an app.