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);
-
+
-
+