diff --git a/CHANGES.md b/CHANGES.md index e6dd04b556..548c0d72b0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,100 +1,133 @@ -# Version 1.8.1 +# Version 1.9.0 ## What's Changed ### Notable changes -* Add branch deployments support in [#10486](https://github.com/appwrite/appwrite/pull/10486) -* Add TanStack Start sites support in [#10681](https://github.com/appwrite/appwrite/pull/10681) -* Add Next.js standalone support in [#10747](https://github.com/appwrite/appwrite/pull/10747) -* Add Resend integration in [#10690](https://github.com/appwrite/appwrite/pull/10690) -* Add option to enable/disable image transformations per-bucket in [#10722](https://github.com/appwrite/appwrite/pull/10722) -* Add operators support in [#10735](https://github.com/appwrite/appwrite/pull/10735) and [#10800](https://github.com/appwrite/appwrite/pull/10800) -* Add function and sites stats in [#10786](https://github.com/appwrite/appwrite/pull/10786) -* Add disable count feature in [#10668](https://github.com/appwrite/appwrite/pull/10668) -* Add ElevenLabs site template in [#10782](https://github.com/appwrite/appwrite/pull/10782) -* Add suggested environment variables in [#10795](https://github.com/appwrite/appwrite/pull/10795) -* Update GeoDB database in [#10890](https://github.com/appwrite/appwrite/pull/10890) -* Update Flutter default build runtime in [#10807](https://github.com/appwrite/appwrite/pull/10807) -* Upgrade runtimes in [#10804](https://github.com/appwrite/appwrite/pull/10804) +* Add PostgreSQL database adapter in [#9772](https://github.com/appwrite/appwrite/pull/9772) and [#11293](https://github.com/appwrite/appwrite/pull/11293) +* Add MongoDB support in [#11312](https://github.com/appwrite/appwrite/pull/11312) +* Add new webhooks API in [#11033](https://github.com/appwrite/appwrite/pull/11033) and [#11566](https://github.com/appwrite/appwrite/pull/11566) +* Add schedules API endpoints in [#11331](https://github.com/appwrite/appwrite/pull/11331) +* Add project labels in [#11056](https://github.com/appwrite/appwrite/pull/11056) and project status attribute in [#11291](https://github.com/appwrite/appwrite/pull/11291) +* Add resource-based API key structure in [#11003](https://github.com/appwrite/appwrite/pull/11003) with custom ID support in [#11277](https://github.com/appwrite/appwrite/pull/11277) and list queries in [#11278](https://github.com/appwrite/appwrite/pull/11278) +* Add string types (varchar, text, mediumtext, longtext) for attributes in [#11174](https://github.com/appwrite/appwrite/pull/11174) +* Add encrypt parameter to string attribute types in [#11334](https://github.com/appwrite/appwrite/pull/11334) +* Add int64 format support for integer attributes in [#11123](https://github.com/appwrite/appwrite/pull/11123) +* Add collection and row storage size in [#11254](https://github.com/appwrite/appwrite/pull/11254) and [#11069](https://github.com/appwrite/appwrite/pull/11069) +* Add totalSize on list responses in [#11102](https://github.com/appwrite/appwrite/pull/11102) +* Add custom start command for sites and functions in [#10842](https://github.com/appwrite/appwrite/pull/10842) +* Add separate build/runtime specifications in [#10849](https://github.com/appwrite/appwrite/pull/10849) +* Add deployment retention for sites and functions in [#10959](https://github.com/appwrite/appwrite/pull/10959) +* Add auto-delete old deployments in [#10959](https://github.com/appwrite/appwrite/pull/10959) +* Add custom JWT duration in [#11009](https://github.com/appwrite/appwrite/pull/11009) +* Add multiple application domains support in [#10911](https://github.com/appwrite/appwrite/pull/10911) +* Add GraphQL introspection in [#11159](https://github.com/appwrite/appwrite/pull/11159) +* Add realtime query subscriptions in [#11202](https://github.com/appwrite/appwrite/pull/11202) and [#11237](https://github.com/appwrite/appwrite/pull/11237) +* Add realtime metrics for connections, messages, and bandwidth in [#11438](https://github.com/appwrite/appwrite/pull/11438) and [#11488](https://github.com/appwrite/appwrite/pull/11488) +* Add messaging resource migration support in [#11495](https://github.com/appwrite/appwrite/pull/11495) +* Add cached documents list in [#10832](https://github.com/appwrite/appwrite/pull/10832) +* Add project queries support in [#10990](https://github.com/appwrite/appwrite/pull/10990) +* Add batch document creation in [#10894](https://github.com/appwrite/appwrite/pull/10894) +* Add async screenshots in [#11110](https://github.com/appwrite/appwrite/pull/11110) +* Add new file parameters (encryption, compression) in [#11135](https://github.com/appwrite/appwrite/pull/11135) +* Add new site templates in [#10031](https://github.com/appwrite/appwrite/pull/10031) +* Add VCS repository authorized field in [#11421](https://github.com/appwrite/appwrite/pull/11421) +* Add trusted console projects in [#11248](https://github.com/appwrite/appwrite/pull/11248) + +### Refactoring + +* Refactor to Utopia Platform modules architecture in [#11035](https://github.com/appwrite/appwrite/pull/11035), [#11049](https://github.com/appwrite/appwrite/pull/11049), [#11057](https://github.com/appwrite/appwrite/pull/11057), [#11103](https://github.com/appwrite/appwrite/pull/11103), [#11208](https://github.com/appwrite/appwrite/pull/11208), and [#11398](https://github.com/appwrite/appwrite/pull/11398) +* Refactor auth to single instance in [#10872](https://github.com/appwrite/appwrite/pull/10872) and [#11130](https://github.com/appwrite/appwrite/pull/11130) +* Refactor usage metrics to stateless publisher pattern in [#11449](https://github.com/appwrite/appwrite/pull/11449) +* Refactor messaging and queue in [#10961](https://github.com/appwrite/appwrite/pull/10961) +* Refactor functions schedule in [#10913](https://github.com/appwrite/appwrite/pull/10913) +* Refactor make Bus dispatch synchronous in [#11449](https://github.com/appwrite/appwrite/pull/11449) +* Remove proxy container in [#11039](https://github.com/appwrite/appwrite/pull/11039) + +### Performance + +* Optimize updateDocument() calls to use sparse documents in [#11465](https://github.com/appwrite/appwrite/pull/11465) +* Optimize Dockerfile in [#10947](https://github.com/appwrite/appwrite/pull/10947) +* Improve domain caching in [#11346](https://github.com/appwrite/appwrite/pull/11346) +* Improve memory usage in [#11345](https://github.com/appwrite/appwrite/pull/11345) +* Fix memory leak in [#11067](https://github.com/appwrite/appwrite/pull/11067) and [#11241](https://github.com/appwrite/appwrite/pull/11241) +* Improve realtime performance in [#11251](https://github.com/appwrite/appwrite/pull/11251) +* Enable SMTP keep-alive to reuse connections across mail jobs in [#11496](https://github.com/appwrite/appwrite/pull/11496) ### Fixes -* Fix duplicate document error while creating file in [#10891](https://github.com/appwrite/appwrite/pull/10891) -* Fix "Update external deployment (authorize)" throwing 500 error due to invalid query in [#10888](https://github.com/appwrite/appwrite/pull/10888) -* Fix error setting user password in [#10889](https://github.com/appwrite/appwrite/pull/10889) -* Fix error generating email MFA challenges in [#10884](https://github.com/appwrite/appwrite/pull/10884) -* Fix file token expiry in [#10877](https://github.com/appwrite/appwrite/pull/10877) -* Fix TanStack Nitro default in [#10860](https://github.com/appwrite/appwrite/pull/10860) -* Fix TanStack builds in [#10767](https://github.com/appwrite/appwrite/pull/10767) -* Fix nullable validation in [#10819](https://github.com/appwrite/appwrite/pull/10819) and [#10778](https://github.com/appwrite/appwrite/pull/10778) -* Fix WebP library in [#10738](https://github.com/appwrite/appwrite/pull/10738) -* Fix batch writes in [#10812](https://github.com/appwrite/appwrite/pull/10812) -* Fix error handler error in [#10719](https://github.com/appwrite/appwrite/pull/10719) -* Fix Next 16 compatibility in [#10713](https://github.com/appwrite/appwrite/pull/10713) -* Fix stats usage memory leak in [#10683](https://github.com/appwrite/appwrite/pull/10683) -* Fix author URL in template deployments in [#10535](https://github.com/appwrite/appwrite/pull/10535) -* Fix VCS lock deletion in [#10691](https://github.com/appwrite/appwrite/pull/10691) +* Fix blocked user/resource errors from 401 to 403 in [#11469](https://github.com/appwrite/appwrite/pull/11469) +* Fix OAuth for custom domains in [#10967](https://github.com/appwrite/appwrite/pull/10967) and [#11269](https://github.com/appwrite/appwrite/pull/11269) +* Fix OAuth redirect custom scheme in [#11292](https://github.com/appwrite/appwrite/pull/11292) +* Fix OAuth verified emails in [#10986](https://github.com/appwrite/appwrite/pull/10986) +* Fix MFA recovery code validation in [#10925](https://github.com/appwrite/appwrite/pull/10925) +* Fix users allow updating phone number to empty in [#11521](https://github.com/appwrite/appwrite/pull/11521) +* Fix users optional name error in [#11413](https://github.com/appwrite/appwrite/pull/11413) +* Fix file permissions in [#11026](https://github.com/appwrite/appwrite/pull/11026) +* Fix bulk insert webhook validation in [#11022](https://github.com/appwrite/appwrite/pull/11022) +* Fix execution status update in [#11134](https://github.com/appwrite/appwrite/pull/11134) +* Fix execution timeout status in [#11400](https://github.com/appwrite/appwrite/pull/11400) +* Fix CORS wildcard in [#10956](https://github.com/appwrite/appwrite/pull/10956) +* Fix preflight requests in [#10943](https://github.com/appwrite/appwrite/pull/10943) +* Fix SMTP auth check in [#10939](https://github.com/appwrite/appwrite/pull/10939) +* Fix scheduled executions trigger in [#10922](https://github.com/appwrite/appwrite/pull/10922) +* Fix schedule executions bug in [#10916](https://github.com/appwrite/appwrite/pull/10916) +* Fix deployment enum missing canceled value in [#11179](https://github.com/appwrite/appwrite/pull/11179) +* Fix invalid chunk total in [#11270](https://github.com/appwrite/appwrite/pull/11270) +* Fix sites domains in [#11240](https://github.com/appwrite/appwrite/pull/11240) and [#11355](https://github.com/appwrite/appwrite/pull/11355) +* Fix rule domains in [#11355](https://github.com/appwrite/appwrite/pull/11355) and [#11276](https://github.com/appwrite/appwrite/pull/11276) +* Fix rules deletion in [#11575](https://github.com/appwrite/appwrite/pull/11575) +* Fix VCS template flow in [#11275](https://github.com/appwrite/appwrite/pull/11275) +* Fix VCS comment empty in [#11490](https://github.com/appwrite/appwrite/pull/11490) +* Fix DSN VCS error in [#11364](https://github.com/appwrite/appwrite/pull/11364) +* Fix email URL params encoding in [#11369](https://github.com/appwrite/appwrite/pull/11369) +* Fix missing email warning in [#11378](https://github.com/appwrite/appwrite/pull/11378) +* Fix race condition in builds worker in [#11336](https://github.com/appwrite/appwrite/pull/11336) +* Fix realtime regions in [#11414](https://github.com/appwrite/appwrite/pull/11414) +* Fix realtime errors in [#11573](https://github.com/appwrite/appwrite/pull/11573) +* Fix realtime TablesDB channels in [#11404](https://github.com/appwrite/appwrite/pull/11404) and [#11430](https://github.com/appwrite/appwrite/pull/11430) +* Fix database shared table reconciliation in [#11578](https://github.com/appwrite/appwrite/pull/11578) +* Fix PostgreSQL race condition in shared mode project creation in [#11536](https://github.com/appwrite/appwrite/pull/11536) +* Fix compression enabled env in [#11171](https://github.com/appwrite/appwrite/pull/11171) +* Fix deletes bug in [#10965](https://github.com/appwrite/appwrite/pull/10965) +* Fix devkey scopes in [#10984](https://github.com/appwrite/appwrite/pull/10984) +* Fix phone auth limit in [#11143](https://github.com/appwrite/appwrite/pull/11143) +* Fix relationship document ID validation in [#11193](https://github.com/appwrite/appwrite/pull/11193) +* Fix stale project overwrites OAuth in [#11461](https://github.com/appwrite/appwrite/pull/11461) +* Fix storage health error swallowing in [#11492](https://github.com/appwrite/appwrite/pull/11492) +* Fix Origin validator type error in [#11297](https://github.com/appwrite/appwrite/pull/11297) +* Fix getScreenshot image format in [#11017](https://github.com/appwrite/appwrite/pull/11017) +* Fix migration error handling in [#11457](https://github.com/appwrite/appwrite/pull/11457) +* Fix deprecation warnings in [#11227](https://github.com/appwrite/appwrite/pull/11227) + +### Installer + +* New installer UI in [#11175](https://github.com/appwrite/appwrite/pull/11175) and [#11247](https://github.com/appwrite/appwrite/pull/11247) ### Miscellaneous -* Add CSV export functionality in [#10546](https://github.com/appwrite/appwrite/pull/10546), [#10750](https://github.com/appwrite/appwrite/pull/10750), [#10813](https://github.com/appwrite/appwrite/pull/10813), and [#10847](https://github.com/appwrite/appwrite/pull/10847) -* Add JWT disposition in [#10867](https://github.com/appwrite/appwrite/pull/10867) -* Add screenshots endpoint in [#10675](https://github.com/appwrite/appwrite/pull/10675) -* Add screenshot endpoint stats in [#10706](https://github.com/appwrite/appwrite/pull/10706) -* Add users attributes in [#10688](https://github.com/appwrite/appwrite/pull/10688) -* Add max build duration environment variable in [#10674](https://github.com/appwrite/appwrite/pull/10674) -* Add custom realtime logger in [#10871](https://github.com/appwrite/appwrite/pull/10871) -* Add logs in [#10869](https://github.com/appwrite/appwrite/pull/10869) -* Improve MFA docs endpoint order in [#10793](https://github.com/appwrite/appwrite/pull/10793) -* Auth refactor in [#10758](https://github.com/appwrite/appwrite/pull/10758), [#10837](https://github.com/appwrite/appwrite/pull/10837), [#10682](https://github.com/appwrite/appwrite/pull/10682), and [#10667](https://github.com/appwrite/appwrite/pull/10667) -* Bump assistant to 0.8.4 in [#10887](https://github.com/appwrite/appwrite/pull/10887) -* Bump database to 3.1.5 in [#10766](https://github.com/appwrite/appwrite/pull/10766) -* Bump Utopia DNS in [#10761](https://github.com/appwrite/appwrite/pull/10761) -* Update domains to 0.8.3 in [#10658](https://github.com/appwrite/appwrite/pull/10658) -* Update domains to 0.9.1 in [#10678](https://github.com/appwrite/appwrite/pull/10678) -* Update Apple Swift to 13.3.0 in [#10679](https://github.com/appwrite/appwrite/pull/10679) -* Update Apple Swift in [#10663](https://github.com/appwrite/appwrite/pull/10663) -* Update CLI to 10.2.2 in [#10672](https://github.com/appwrite/appwrite/pull/10672) -* Update to CLI 12.0.0 in [#10853](https://github.com/appwrite/appwrite/pull/10853) -* Update docs examples to use Permission class in [#10707](https://github.com/appwrite/appwrite/pull/10707) -* Update SDK examples docs in [#10855](https://github.com/appwrite/appwrite/pull/10855) -* Release Python SDK in [#10762](https://github.com/appwrite/appwrite/pull/10762) -* Release Flutter 20.3.2 in [#10838](https://github.com/appwrite/appwrite/pull/10838) -* Release Flutter/Dart add screenshot examples in [#10811](https://github.com/appwrite/appwrite/pull/10811) -* Release PHP CLI in [#10791](https://github.com/appwrite/appwrite/pull/10791) -* Release SDKs in [#10817](https://github.com/appwrite/appwrite/pull/10817) -* Update SDKs in [#10694](https://github.com/appwrite/appwrite/pull/10694), [#10729](https://github.com/appwrite/appwrite/pull/10729), and [#10744](https://github.com/appwrite/appwrite/pull/10744) -* Update SDK generator in [#10743](https://github.com/appwrite/appwrite/pull/10743) -* Update database in [#10664](https://github.com/appwrite/appwrite/pull/10664) -* Update README file in [#10763](https://github.com/appwrite/appwrite/pull/10763) -* SDK release documentation in [#10745](https://github.com/appwrite/appwrite/pull/10745) -* SDK release runtime config in [#10765](https://github.com/appwrite/appwrite/pull/10765) -* Sync specs in [#10789](https://github.com/appwrite/appwrite/pull/10789) -* Sync 1.8.0 in [#10677](https://github.com/appwrite/appwrite/pull/10677) -* Add workflow for issue triage in [#10718](https://github.com/appwrite/appwrite/pull/10718) -* Add issue auto-labeler in [#10700](https://github.com/appwrite/appwrite/pull/10700) -* Add AI moderator repo in [#10717](https://github.com/appwrite/appwrite/pull/10717) -* Browser bump in [#10850](https://github.com/appwrite/appwrite/pull/10850) -* Template type enum override in [#10848](https://github.com/appwrite/appwrite/pull/10848) -* VCS reference type in [#10852](https://github.com/appwrite/appwrite/pull/10852) -* Index scope description in [#10851](https://github.com/appwrite/appwrite/pull/10851) -* Config for environment in [#10833](https://github.com/appwrite/appwrite/pull/10833) -* Format instance in [#10830](https://github.com/appwrite/appwrite/pull/10830) -* Replace sleep in webhooks service in [#10656](https://github.com/appwrite/appwrite/pull/10656) -* Update email composer in [#10720](https://github.com/appwrite/appwrite/pull/10720) -* Update facts on GitHub sites and functions in [#10593](https://github.com/appwrite/appwrite/pull/10593) and [#10771](https://github.com/appwrite/appwrite/pull/10771) -* Fix wrong user type in [#10875](https://github.com/appwrite/appwrite/pull/10875) -* Fix limit and offset computation in [#10880](https://github.com/appwrite/appwrite/pull/10880) -* Fix enum examples in [#10828](https://github.com/appwrite/appwrite/pull/10828) -* Fix response models multi-methods in [#10815](https://github.com/appwrite/appwrite/pull/10815) -* Fix undefined variable in [#10654](https://github.com/appwrite/appwrite/pull/10654) -* Fix undefined sequence in [#10652](https://github.com/appwrite/appwrite/pull/10652) -* Fix description in [#10702](https://github.com/appwrite/appwrite/pull/10702) -* Fix warning in builds worker in [#10705](https://github.com/appwrite/appwrite/pull/10705) -* Fix sites create deployment docs in [#10566](https://github.com/appwrite/appwrite/pull/10566) -* Fix test dependencies projects in [#10655](https://github.com/appwrite/appwrite/pull/10655) -* Fix list sites test in [#10726](https://github.com/appwrite/appwrite/pull/10726) +* Add audits upgrade in [#10953](https://github.com/appwrite/appwrite/pull/10953) +* Add graceful workers shutdown in [#11104](https://github.com/appwrite/appwrite/pull/11104) +* Add pool resilience in [#11139](https://github.com/appwrite/appwrite/pull/11139) +* Add function queue job TTL in [#11226](https://github.com/appwrite/appwrite/pull/11226) +* Add cleanup stale executions in [#11146](https://github.com/appwrite/appwrite/pull/11146) +* Add success abuse reset in [#11085](https://github.com/appwrite/appwrite/pull/11085) +* Add SMTP connection validation in [#11079](https://github.com/appwrite/appwrite/pull/11079) +* Add allow custom email sender in [#10945](https://github.com/appwrite/appwrite/pull/10945) +* Add array domains env support in [#11213](https://github.com/appwrite/appwrite/pull/11213) +* Add file create after success hook in [#11054](https://github.com/appwrite/appwrite/pull/11054) +* Add delete subscribers in [#11115](https://github.com/appwrite/appwrite/pull/11115) +* Add cursor plugin in [#11371](https://github.com/appwrite/appwrite/pull/11371) +* Add observability spans in [#11320](https://github.com/appwrite/appwrite/pull/11320), [#11306](https://github.com/appwrite/appwrite/pull/11306), and [#11228](https://github.com/appwrite/appwrite/pull/11228) +* Upgrade PHPStan to v2 with full codebase coverage in [#11550](https://github.com/appwrite/appwrite/pull/11550) +* Upgrade Traefik in [#11265](https://github.com/appwrite/appwrite/pull/11265) +* Upgrade utopia-php/queue in [#11239](https://github.com/appwrite/appwrite/pull/11239) +* Upgrade spomky-labs/otphp in [#11263](https://github.com/appwrite/appwrite/pull/11263) +* Bump utopia-php/database to stable 5.3.15 in [#11573](https://github.com/appwrite/appwrite/pull/11573) +* Bump utopia-php/migration to 1.6.3 in [#11443](https://github.com/appwrite/appwrite/pull/11443) +* Consolidate CI workflows in [#11531](https://github.com/appwrite/appwrite/pull/11531) and [#11551](https://github.com/appwrite/appwrite/pull/11551) +* Hide deprecated methods from docs in [#10933](https://github.com/appwrite/appwrite/pull/10933) +* Deprecate project-level attributes in [#11203](https://github.com/appwrite/appwrite/pull/11203) # Version 1.8.0 diff --git a/README-CN.md b/README-CN.md index afd7eca289..212b5bb08d 100644 --- a/README-CN.md +++ b/README-CN.md @@ -72,7 +72,7 @@ docker run -it --rm \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \ --entrypoint="install" \ - appwrite/appwrite:1.8.1 + appwrite/appwrite:1.9.0 ``` ### Windows @@ -84,7 +84,7 @@ docker run -it --rm ^ --volume //var/run/docker.sock:/var/run/docker.sock ^ --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^ --entrypoint="install" ^ - appwrite/appwrite:1.8.1 + appwrite/appwrite:1.9.0 ``` #### PowerShell @@ -94,7 +94,7 @@ docker run -it --rm ` --volume /var/run/docker.sock:/var/run/docker.sock ` --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ` --entrypoint="install" ` - appwrite/appwrite:1.8.1 + appwrite/appwrite:1.9.0 ``` 运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。 diff --git a/README.md b/README.md index 4a71579207..457863d236 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ docker run -it --rm \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \ --entrypoint="install" \ - appwrite/appwrite:1.8.1 + appwrite/appwrite:1.9.0 ``` ### Windows @@ -87,7 +87,7 @@ docker run -it --rm ^ --volume //var/run/docker.sock:/var/run/docker.sock ^ --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^ --entrypoint="install" ^ - appwrite/appwrite:1.8.1 + appwrite/appwrite:1.9.0 ``` #### PowerShell @@ -97,7 +97,7 @@ docker run -it --rm ` --volume /var/run/docker.sock:/var/run/docker.sock ` --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ` --entrypoint="install" ` - appwrite/appwrite:1.8.1 + appwrite/appwrite:1.9.0 ``` Once the Docker installation is complete, go to http://localhost to access the Appwrite console from your browser. Please note that on non-Linux native hosts, the server might take a few minutes to start after completing the installation. diff --git a/app/init/constants.php b/app/init/constants.php index 7a7f17f7ac..8fdd6d1a51 100644 --- a/app/init/constants.php +++ b/app/init/constants.php @@ -47,7 +47,7 @@ const APP_RESOURCE_TOKEN_ACCESS = 24 * 60 * 60; // 24 hours const APP_FILE_ACCESS = 24 * 60 * 60; // 24 hours const APP_CACHE_UPDATE = 24 * 60 * 60; // 24 hours const APP_CACHE_BUSTER = 4321; -const APP_VERSION_STABLE = '1.8.1'; +const APP_VERSION_STABLE = '1.9.0'; const APP_DATABASE_ATTRIBUTE_EMAIL = 'email'; const APP_DATABASE_ATTRIBUTE_ENUM = 'enum'; const APP_DATABASE_ATTRIBUTE_IP = 'ip';