Unreleased
NEW
-
Stable names for the
_rcGraphQL fields: The 12 fields that only had a release-candidate name are now also available under a stable name. The new names take the same arguments and return the same result:Deprecated name Stable name documents_rcdocumentsdocuments_insert_rcdocuments_insertdocuments_upsert_rcdocuments_upsertdocuments_bulk_upsert_rcdocuments_bulk_upsertdocuments_delete_rcdocuments_deleteembeddings_rcembeddingsembedding_create_rcembedding_createembedding_update_rcembedding_updateembedding_delete_rcembedding_deleteadmin_search_index_rcadmin_search_indexrecords_create_rcrecords_createrecords_count_rc(field ofTable)records_countThe
_rcnames still work, so your existing queries don't need to change. They are now marked as deprecated, so switch to the stable names when you next edit those queries.
IMPROVED
- Complete GraphQL schema documentation: Every query, mutation, argument, field, input type, enum value and scalar in the GraphQL schema now has a description. The descriptions cover default values, limits and errors, and you can read them in GraphiQL and in the GraphQL API reference. Deprecated fields now say which field to use instead.
- GraphQL categories: Every root query and mutation now belongs to a category. There are two new categories: Notifications (
api_call_send,email_send,sms_send) and Uploads (presigned upload URLs andupload_delete). - New deprecations: These fields still work, but are now marked as deprecated:
- Corrected deprecation messages: The deprecation messages of
admin_translation_deleteandadmin_translation_updatepointed at each other's replacement.admin_translation_updatenow points toadmin_translation_set, andadmin_translation_deletepoints toadmin_translation_unset.
FIXED
sync: trueon*_delete_allmutations: Mutations such asrecords_delete_all,users_delete_allandadmin_pages_delete_allignored thesyncargument and always deleted in the background. Withsync: truethe records are now deleted before the mutation returns.content_type.starts_within presigned upload URLs:property_upload_presigned_urlignoredpresign_url: { content_type: { starts_with: "..." } }, so files of any type could be uploaded. Withinclude_content_type: truethe upload is now restricted to files whoseContent-Typestarts with the given prefix. Withoutinclude_content_type,starts_withstill has no effect, so existing upload forms that don't send aContent-Typefield keep working.- Property filters inside
orin themodelsquery: Inside anorfilter, a property filter ignored the table selected withmodel_schema_name. If another table had a property with the same name but a different type, the property could be treated as the wrong type, and operators such asarray_containsreturned wrong results or failed.