Appwrite v0.12.0 Release Notes
-
🔋 Features
- 💥 Completely rewritten Database service: Breaking Change
- Collection rules are now attributes
- Filters for have been replaced with a new, more powerful syntax
- Custom indexes for more performant queries
- Enum Attributes
- Maximum
sum
returned does not exceed 5000 documents anymore Breaking Change - DEPRECATED Nested documents has been removed
- DEPRECATED Wildcard rule has been removed
- You can now set custom ID’s when creating following resources:
- User
- Team
- Function
- Project
- File
- Collection
- Document
- 👍 All resources with custom ID support required you to set an ID now
- Passing
unique()
will generate a unique ID
- Passing
- Auto-generated ID's are now 20 characters long
- Wildcard permissions
*
are nowrole:all
Breaking Change - Collections can be enabled and disabled
- Permissions are now found as top-level keys
$read
and$write
instead of nested under$permissions
- Accessing collections with insufficient permissions now return a
401
isntead of404
status code - Offset cannot be higher than 5000 now and cursor pagination is required
- ➕ Added Cursor pagination to all endpoints that provide pagination by offset
- ➕ Added new Usage worker to aggregate usage statistics
- ➕ Added new Database worker to handle heavy database tasks in the background
- ➕ Added detailed Usage statistics to following services in the Console:
- Users
- Storage
- Database
- You can now disable/enable following services in the Console:
- Account
- Avatars
- Database
- Locale
- Health
- Storage
- Teams
- Users
- Functions
- 🛠 Fixed several memory leaks in the Console
- ➕ Added pagination to account activities in the Console
- ➕ Added following events from User service to Webhooks and Functions:
users.update.email
users.update.name
users.update.password
- ➕ Added new environment variables to enable error logging:
- The
_APP_LOGGING_PROVIDER
variable allows you to enable the logger set the value to one ofsentry
,raygun
,appsignal
. - The
_APP_LOGGING_CONFIG
variable configures authentication to 3rd party error logging providers. If using Sentry, this should be 'SENTRY_API_KEY;SENTRY_APP_ID'. If using Raygun, this should be Raygun API key. If using AppSignal, this should be AppSignal API key.
- The
- Added new environment variable
_APP_USAGE_AGGREGATION_INTERVAL
to configure the usage worker interval - ➕ Added negative rotation values to file preview endpoint
- 💥 Multiple responses from the Health service were changed to new (better) schema Breaking Change
- Method
health.getAntiVirus()
has been renamed tohealth.getAntivirus()
- ➕ Added following langauges to the Locale service:
- Latin
- Sindhi
- Telugu
- 🗄 DEPRECATED Tasks service Breaking Change
🐛 Bugs
- 🛠 Fixed
/v1/avatars/initials
when no space in the name, will try to split by_
- 🛠 Fixed all audit logs now saving all relevant informations
- 🛠 Fixed Health endpoints for
db
andcache
🔒 Security
- 🚚 Increased minimum password length to 8 and removed maximum length
- Limited User Preferences to 65kb total size
- ⬆️ Upgraded Redis to 6.2
- ⬆️ Upgraded InfluxDB to 1.4.0
- ⬆️ Upgraded Telegraf to 1.3.0
- 💥 Completely rewritten Database service: Breaking Change