Enhancements
* **Custom audit events**: We've added the function `create_event` to our `audit` object, that allows you to generate your own custom audit events. You can also create your custom audit event to provide different data than that provided by Descope.
* **Option to automatically delete related users/access keys when deleting their associated tenant**: We've added an option to handle auto-deletion of 'orphaned' users and access keys when their last tenant is deleted. When deleting a tenant, you can use the new `cascade` flag to indicate that if part of the tenant's users/access keys are left with no tenant association - they will also be deleted from the project.
* **ReBAC relationship checker**: We added a new function `what_can_target_access_with_relation` to check what resources a user has access, per the application's ReBAC schema. Search is recursive.
* **TOTP seed migration**: When batch importing users into Descope, you can specify collecting their TOTP seed as part of the migration. If provided in the data, that seed will now be associated with the user and the next authentication will be seamless.
* **Force refresh of OAuth/OIDC provider token**: Current refresh of provider token is based on its expiration time. There are some cases in which the provider doesn't return the expiration, and for that we aded the `forceRefresh` parameter when using the `user_get_provider_token` function - to force refreshing the provider token.