diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 62272064f8..d30f05bfd4 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -37,6 +37,7 @@ body: label: "🎲 Appwrite version" description: "What version of Appwrite are you running?" options: + - Version 0.13.x - Version 0.12.x - Version 0.11.x - Version 0.10.x diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile new file mode 100644 index 0000000000..6634613b7e --- /dev/null +++ b/.gitpod.Dockerfile @@ -0,0 +1,13 @@ +FROM gitpod/workspace-full + +# Disable current PHP installation +RUN sudo a2dismod php7.4 +RUN sudo a2dismod mpm_prefork + +# Install apache2 (PHP install requires to do this first) +RUN sudo apt --yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install apache2 + +# Update to PHP 8.0 with unattended installation +RUN sudo apt --yes install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y +RUN sudo apt update +RUN sudo apt --yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install php8.0 diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000000..32ccdb693f --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,24 @@ +image: + file: .gitpod.Dockerfile + +tasks: + - init: docker-compose pull && + docker-compose build && + docker run --rm --interactive --tty --volume $PWD:/app composer update --ignore-platform-reqs --optimize-autoloader --no-plugins --no-scripts --prefer-dist + +ports: + - port: 8080 + onOpen: open-preview + visibility: public + +vscode: + extensions: + - ms-azuretools.vscode-docker + +github: + # https://www.gitpod.io/docs/prebuilds#github-specific-configuration + prebuilds: + # enable for pull requests coming from forks (defaults to false) + pullRequestsFromForks: true + # add a check to pull requests (defaults to true) + addCheck: false diff --git a/CHANGES.md b/CHANGES.md index de20ec46bf..7a9ccd6275 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,11 +1,18 @@ -# Version 0.13.1 (NOT RELEASED) +# Version 0.13.2 +## Bugs +- Fixed global issue with write permissions +- Added missing `_APP_EXECUTOR_SECRET` environment variable for deletes worker +- Increased execution `stdout` and `stderr` from 8000 to 16384 character limit +- Increased maximum file size for image preview to 20mb +- Fixed iOS platforms for origin validation by @stnguyen90 in https://github.com/appwrite/appwrite/pull/2907 + +# Version 0.13.1 ## Bugs - Fixed the Console UI redirect breaking the header and navigation - Fixed timeout in Functions API to respect the environment variable `_APP_FUNCTIONS_TIMEOUT` - Fixed team invite to be invalid after successful use by @Malte2036 in https://github.com/appwrite/appwrite/issues/2593 # Version 0.13.0 - ## Features ### Functions - Synchronous function execution diff --git a/README-CN.md b/README-CN.md index ec5d0489b0..eefa1530ee 100644 --- a/README-CN.md +++ b/README-CN.md @@ -59,7 +59,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:0.13.1 + appwrite/appwrite:0.13.2 ``` ### Windows @@ -71,7 +71,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:0.13.1 + appwrite/appwrite:0.13.2 ``` #### PowerShell @@ -81,7 +81,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:0.13.1 + appwrite/appwrite:0.13.2 ``` 运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。 diff --git a/README.md b/README.md index c879aa3b94..b51aff62a9 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Table of Contents: Appwrite backend server is designed to run in a container environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool like Kubernetes, Docker Swarm, or Rancher. -The easiest way to start running your Appwrite server is by running our docker-compose file. Before running the installation command make sure you have [Docker](https://www.docker.com/products/docker-desktop) installed on your machine: +The easiest way to start running your Appwrite server is by running our docker-compose file. Before running the installation command, make sure you have [Docker](https://www.docker.com/products/docker-desktop) installed on your machine: ### Unix @@ -62,7 +62,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:0.13.1 + appwrite/appwrite:0.13.2 ``` ### Windows @@ -74,7 +74,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:0.13.1 + appwrite/appwrite:0.13.2 ``` #### PowerShell @@ -84,7 +84,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:0.13.1 + appwrite/appwrite:0.13.2 ``` Once the Docker installation completes, 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 installation completes. diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index ed2de69ae4..2bee190628 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -4,6 +4,7 @@ use Appwrite\Auth\Auth; use Appwrite\Auth\Validator\Password; use Appwrite\Network\Validator\CNAME; use Appwrite\Network\Validator\Domain as DomainValidator; +use Appwrite\Network\Validator\Origin; use Appwrite\Network\Validator\URL; use Appwrite\Utopia\Database\Validator\CustomId; use Appwrite\Utopia\Response; @@ -1002,7 +1003,7 @@ App::post('/v1/projects/:projectId/platforms') ->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.model', Response::MODEL_PLATFORM) ->param('projectId', null, new UID(), 'Project unique ID.') - ->param('type', null, new WhiteList(['web', 'flutter-ios', 'flutter-android', 'flutter-linux', 'flutter-macos', 'flutter-windows', 'apple-ios', 'apple-macos', 'apple-watchos', 'apple-tvos', 'android', 'unity'], true), 'Platform type.') + ->param('type', null, new WhiteList([Origin::CLIENT_TYPE_WEB, Origin::CLIENT_TYPE_FLUTTER_IOS, Origin::CLIENT_TYPE_FLUTTER_ANDROID, Origin::CLIENT_TYPE_FLUTTER_LINUX, Origin::CLIENT_TYPE_FLUTTER_MACOS, Origin::CLIENT_TYPE_FLUTTER_WINDOWS, Origin::CLIENT_TYPE_APPLE_IOS, Origin::CLIENT_TYPE_APPLE_MACOS, Origin::CLIENT_TYPE_APPLE_WATCHOS, Origin::CLIENT_TYPE_APPLE_TVOS, Origin::CLIENT_TYPE_ANDROID, Origin::CLIENT_TYPE_UNITY], true), 'Platform type.') ->param('name', null, new Text(128), 'Platform name. Max length: 128 chars.') ->param('key', '', new Text(256), 'Package name for Android or bundle ID for iOS or macOS. Max length: 256 chars.', true) ->param('store', '', new Text(256), 'App store or Google Play store ID. Max length: 256 chars.', true) diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index e9ab683aa3..5e78356c59 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -1346,7 +1346,7 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') /** @var Utopia\Database\Document $user */ /** @var Appwrite\Event\Event $audits */ /** @var Appwrite\Stats\Stats $usage */ - /** @var Appwirte\Event\Event $events */ + /** @var Appwrite\Event\Event $events */ /** @var string $mode */ $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); diff --git a/app/executor.php b/app/executor.php index b82d17a117..1fa32599ab 100644 --- a/app/executor.php +++ b/app/executor.php @@ -500,8 +500,8 @@ App::post('/v1/execution') $execution = [ 'status' => $functionStatus, 'statusCode' => $statusCode, - 'stdout' => \utf8_encode(\mb_substr($stdout, -8000)), - 'stderr' => \utf8_encode(\mb_substr($stderr, -8000)), + 'stdout' => \utf8_encode(\mb_substr($stdout, -16384)), + 'stderr' => \utf8_encode(\mb_substr($stderr, -16384)), 'time' => $executionTime, ]; diff --git a/app/init.php b/app/init.php index d1569562f6..40c2f569b9 100644 --- a/app/init.php +++ b/app/init.php @@ -69,9 +69,9 @@ const APP_LIMIT_USERS = 10000; const APP_LIMIT_ANTIVIRUS = 20000000; //20MB const APP_LIMIT_ENCRYPTION = 20000000; //20MB const APP_LIMIT_COMPRESSION = 20000000; //20MB -const APP_LIMIT_PREVIEW = 10000000; //10MB file size limit for preview endpoint -const APP_CACHE_BUSTER = 301; -const APP_VERSION_STABLE = '0.13.1'; +const APP_LIMIT_PREVIEW = 20000000; //20MB file size limit for preview endpoint +const APP_CACHE_BUSTER = 302; +const APP_VERSION_STABLE = '0.13.2'; const APP_DATABASE_ATTRIBUTE_EMAIL = 'email'; const APP_DATABASE_ATTRIBUTE_ENUM = 'enum'; const APP_DATABASE_ATTRIBUTE_IP = 'ip'; diff --git a/app/views/console/database/collection.phtml b/app/views/console/database/collection.phtml index af53507797..53921ac571 100644 --- a/app/views/console/database/collection.phtml +++ b/app/views/console/database/collection.phtml @@ -762,21 +762,21 @@ $logs = $this->getParam('logs', null);
- +
- +