Appwrite v0.7.0 Release Notes

  • ๐Ÿ”‹ Features

    • ๐Ÿ‘Œ Improved Webhooks and added new system events - Learn more
    • โž• Added response to /locale/languages API with a list of languages (@TorstenDittmann ,#351)
    • โž• Added a new route in the Avatars API to get user initials avatar (#386)
    • โž• Added API response payload structure info and examples to the docs site (#381)
    • โž• Added support for Brotli compression (@PedroCisnerosSantana, @Rohitub222, #310)
    • ๐Ÿ†• New deletion worker (#521)
    • ๐Ÿ†• New maintenance worker - cleaning up system logs and other optimizations (#766)
    • ๐Ÿ†• New email worker - all emails are now sent asynchronously for improved performance (@TorstenDittmann ,#402)
    • ๐Ÿšš Moved all Appwrite container logs to STDOUT & STDERR (#389)
    • ๐Ÿ†• New Doctor CLI to debug the Appwrite server (#415)
    • โž• Added container names to docker-compose.yml (@drandell)
    • Optimised function execution by using fully-qualified function calls
    • โž• Added support for boolean 'true' and 'false' in query strings alongside 1 and 0
    • โšก๏ธ Updated storage calculation to match IEC standards
    • ๐Ÿณ Now using Alpine as base Docker image
    • Switch standard dev ports to 95xx prefix (#780)
    • ๐Ÿ‘‰ User & Team name max length is now 128 chars and not 100 for better API consistency
    • ๐Ÿ‘ Collection name max length is now 128 chars and not 256 for better API consistency
    • ๐Ÿ‘ Project name max length is now 128 chars and not 100 for better API consistency
    • ๐Ÿ‘ Webhook name max length is now 128 chars and not 256 for better API consistency
    • ๐Ÿ‘ API Key name max length is now 128 chars and not 256 for better API consistency
    • ๐Ÿ‘ Task name max length is now 128 chars and not 256 for better API consistency
    • ๐Ÿ‘ Platform name max length is now 128 chars and not 256 for better API consistency
    • ๐Ÿ“š Webhooks payloads are now exactly the same as any of the API response objects, documentation added
    • โž• Added new locale: Marathi -mr (@spielers)
    • ๐Ÿ†• New and consistent response format for all API object + new response examples in the docs
      • Removed user roles attribute from user object (can be fetched from /v1/teams/memberships) **
      • Removed type attribute from session object response (used only internally)
      • ** - might be changed before merging to master
      • Added fallback option to 0.6 format for backward compatibility with any changes (@christyjacob4 #772)
    • โž• Added option to disable mail sending by setting an empty SMTP host value (#730)
    • โฌ†๏ธ Upgraded installation script (#490)
    • โž• Added new environment variables for ClamAV hostname and port (#780)
    • ๐Ÿ†• New OAuth adapter for Box.com (@armino-dev - #420)
    • ๐Ÿ†• New OAuth adapter for PayPal sandbox (@armino-dev - #420)
    • ๐Ÿ†• New OAuth adapter for Tradeshift (@armino-dev - #855)
    • ๐Ÿ†• New OAuth adapter for Tradeshift sandbox (@armino-dev - #855)
    • Introducing new permssion types: role:guest & role:member
    • Disabled rate-limits on server side integrations
    • ๐Ÿ”จ Refactored migration script

    ๐Ÿ‘‰ User Interface

    • โšก๏ธ Updated grid for OAuth2 providers list in the console (#413)
    • โž• Added Google Fonts to Appwrite for offline availability
    • โž• Added option to delete user from the console (@PineappleIOnic - #538)
    • โž• Added option to delete team from the console (#380)
    • โž• Added option to view team members from the console (#378)
    • โž• Add option to assign new team members to a team from the console and the API (#379)
    • โž• Added Select All Checkbox for on Console API key Scopes Screen (#477)
    • โž• Added pagination and search for team memberships route (#387)
    • โž• Added pagination for projects list on the console home page.
    • ๐ŸŽ UI performance & accessibility improvements (#406)
    • ๐Ÿ†• New UI micro-interactions and CSS fixes (@AnatoleLucet)
    • โž• Added toggle to hide/show secret keys and passwords inside the dashboard (@kodumbeats, #535)

    โฌ†๏ธ Upgrades

    • โฌ†๏ธ Upgraded QR codes generator library (@PedroCisnerosSantana - #475)
    • โฌ†๏ธ Upgraded Traefik image to version 2.3
    • โฌ†๏ธ Upgraded MariaDB to version 10.5.5
    • โฌ†๏ธ Upgraded Redis Docker image to version 6.0 (alpine)
    • โฌ†๏ธ Upgraded Influxdb Docker image to version 1.8 (alpine)
    • โฌ†๏ธ Upgraded Redis Resque queue library to version 1.3.6 (#319)
    • โฌ†๏ธ Upgraded ClamAV container image to version 1.0.11 (#412)
    • โฌ†๏ธ Upgraded device detector to version 3.12.6
    • ๐Ÿš€ Upgraded GEOIP DB file to Feb 2021 release

    ๐Ÿ’ฅ Breaking Changes (Read before upgrading!)

    • ๐Ÿ—„ Deprecated first and last query params for documents list route in the database API
    • ๐Ÿ—„ Deprecated Deprecated Pubjabi Translations ('pn')
    • ๐Ÿ—„ Deprecated PATCH /account/prefs is now updating the prefs payload and not just merging it
    • ๐Ÿ—„ Deprecated PATCH /users/:userId/prefs is now updating the prefs payload and not just merging it
    • ๐Ÿ‘ Switched order of limit and offset params in all the SDKs listDocuments method for better consistency
    • 0๏ธโƒฃ Default limit param value in all the SDKs listDocuments method is now 25 for better consistency

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed a bug that caused blocked users to be able to create sessions (#777)
    • Fixed an issue where Special characters in APP_OPENSSL_KEY_V1 env caused an error (#732)
    • ๐Ÿ›  Fixed an issue where Account webhook doesn't trigger through the console (#493)
    • ๐Ÿ›  Fixed case sensitive country flag code (#526)
    • ๐Ÿ›  Fixed redirect to Appwrite login page when deep link is provided (#427)
    • ๐Ÿ›  Fixed an issue where Creating documents fails for parent documents would result in an error (#514)
    • ๐Ÿ›  Fixed an issue with Email Sending Problem using external smtp (#707)
    • ๐Ÿ›  Fixed an issue where you could not remove a key from User Prefs (#316)
    • ๐Ÿ›  Fixed an issue where events are not fully visible in the console (#492)
    • ๐Ÿ›  Fixed an issue where UI would wrongly validate integers (#394)
    • ๐Ÿ›  Fixed an issue where graphs were cut in mobile view (#376)
    • ๐Ÿ›  Fixed URL issue where console/ would not display list of projects (#372)
    • ๐Ÿ›  Fixed output of /v1/health/queue/certificates returning wrong data
    • ๐Ÿ›  Fixed bug where team members count was wrong in some cases
    • ๐Ÿ›  Fixed network calculation for uploaded files
    • ๐Ÿ›  Fixed a UI bug preventing float values in numeric fields
    • ๐Ÿ›  Fixed scroll positioning when moving rules order up & down
    • ๐Ÿ›  Fixed missing validation for database documents key length (32 chars)
    • Grammar fix for pt-br email templates (@rubensdemelo)
    • ๐Ÿ›  Fixed update form labels and tooltips for Flutter Android apps
    • ๐Ÿ›  Fixed missing custom scopes param for OAuth2 session create API route
    • ๐Ÿ›  Fixed wrong JSON validation when creating and updating database documents
    • ๐Ÿ›  Fixed bug where max file size was limited to a max of 10MB
    • ๐Ÿ›  Fixed bug preventing the deletion of the project logo
    • ๐Ÿ›  Fixed Bug when trying to overwrite OAuth cookie in the Flutter SDK
    • ๐Ÿ›  Fixed OAuth redirect when using the self-hosted instance default success URL (#454)
    • ๐Ÿ›  Fixed bug denying authentication with Github OAuth provider
    • ๐Ÿ›  Fixed a bug making read permission overwrite write permission in some cases
    • ๐Ÿ›  Fixed consistent property names in databases by enforcing camel case

    ๐Ÿ”’ Security

    • Access to Health API now requires authentication with an API Key with access to health.read scope allowed
    • Added option to force HTTPS connection to the Appwrite server (_APP_OPTIONS_FORCE_HTTPS)
    • Now using your _APP_SYSTEM_EMAIL_ADDRESS as the email address for issuing and renewing SSL certificates
    • Block iframe access to Appwrite console using the X-Frame-Options header.
    • ๐Ÿ›  Fixed roles param input validator
    • API Keys are now stored encrypted
    • Disabled domains whitelist ACL for the Appwrite console