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