diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
new file mode 100644
index 0000000000..80d880244c
--- /dev/null
+++ b/.github/workflows/nightly.yml
@@ -0,0 +1,47 @@
+name: Nightly Security Scan
+on:
+ schedule:
+ - cron: '0 0 * * *' # 12am UTC daily runtime
+ workflow_dispatch:
+
+jobs:
+ scan-image:
+ name: Scan Docker Image
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ - name: Build the Docker image
+ run: docker build . -t appwrite_image:latest
+ - name: Run Trivy vulnerability scanner on image
+ uses: aquasecurity/trivy-action@0.20.0
+ with:
+ image-ref: 'appwrite_image:latest'
+ format: 'sarif'
+ output: 'trivy-image-results.sarif'
+ ignore-unfixed: 'false'
+ severity: 'CRITICAL,HIGH'
+ - name: Upload Docker Image Scan Results
+ uses: github/codeql-action/upload-sarif@v2
+ with:
+ sarif_file: 'trivy-image-results.sarif'
+
+ scan-code:
+ name: Scan Code
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v4
+ - name: Run Trivy vulnerability scanner on filesystem
+ uses: aquasecurity/trivy-action@0.20.0
+ with:
+ scan-type: 'fs'
+ format: 'sarif'
+ output: 'trivy-fs-results.sarif'
+ severity: 'CRITICAL,HIGH'
+ - name: Upload Code Scan Results
+ uses: github/codeql-action/upload-sarif@v2
+ with:
+ sarif_file: 'trivy-fs-results.sarif'
diff --git a/.github/workflows/pr-scan.yml b/.github/workflows/pr-scan.yml
index af510ccc3b..eded58985d 100644
--- a/.github/workflows/pr-scan.yml
+++ b/.github/workflows/pr-scan.yml
@@ -1,17 +1,22 @@
name: PR Security Scan
-on:
- pull_request:
+on:
+ pull_request_target:
types: [opened, synchronize, reopened]
- workflow_dispatch:
+
jobs:
scan:
runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: write
steps:
- - name: Check out code
+ - name: Check out code
uses: actions/checkout@v4
with:
+ ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
submodules: 'recursive'
+
- name: Build the Docker image
uses: docker/build-push-action@v5
with:
@@ -19,6 +24,7 @@ jobs:
push: false
load: true
tags: pr_image:${{ github.sha }}
+
- name: Run Trivy vulnerability scanner on image
uses: aquasecurity/trivy-action@0.20.0
with:
@@ -26,6 +32,7 @@ jobs:
format: 'json'
output: 'trivy-image-results.json'
severity: 'CRITICAL,HIGH'
+
- name: Run Trivy vulnerability scanner on source code
uses: aquasecurity/trivy-action@0.20.0
with:
@@ -34,10 +41,11 @@ jobs:
format: 'json'
output: 'trivy-fs-results.json'
severity: 'CRITICAL,HIGH'
- - name: Process and post Trivy scan results
+
+ - name: Process Trivy scan results
+ id: process-results
uses: actions/github-script@v7
with:
- github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const fs = require('fs');
let commentBody = '## Security Scan Results for PR\n\n';
@@ -79,9 +87,19 @@ jobs:
commentBody += 'Please contact the core team for assistance.';
}
- github.rest.issues.createComment({
- issue_number: context.issue.number,
- owner: context.repo.owner,
- repo: context.repo.repo,
- body: commentBody
- });
+ core.setOutput('comment-body', commentBody);
+ - name: Find Comment
+ uses: peter-evans/find-comment@v3
+ id: fc
+ with:
+ issue-number: ${{ github.event.pull_request.number }}
+ comment-author: 'github-actions[bot]'
+ body-includes: Security Scan Results for PR
+
+ - name: Create or update comment
+ uses: peter-evans/create-or-update-comment@v3
+ with:
+ issue-number: ${{ github.event.pull_request.number }}
+ comment-id: ${{ steps.fc.outputs.comment-id }}
+ body: ${{ steps.process-results.outputs.comment-body }}
+ edit-mode: replace
diff --git a/CHANGES.md b/CHANGES.md
index e6649d795e..9b6172eeab 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,145 @@
+# Version 1.6.0
+
+## What's Changed
+
+### Notable changes
+
+* Allow execution filter attributes in [#7607](https://github.com/appwrite/appwrite/pull/7607)
+* Add dynamic API keys for function executions in [#7512](https://github.com/appwrite/appwrite/pull/7512)
+* Add metrics for successful and failed builds in [#8210](https://github.com/appwrite/appwrite/pull/8210)
+* Update logging config to use a DSN approach in [#8187](https://github.com/appwrite/appwrite/pull/8187)
+* Add projects.createJWT endpoint for dynamic keys in [#8213](https://github.com/appwrite/appwrite/pull/8213)
+* Add users.createJWT() endpoint for local function development in [#8207](https://github.com/appwrite/appwrite/pull/8207)
+* Added cancel build endpoint in [#7605](https://github.com/appwrite/appwrite/pull/7605)
+* Add CLI as a function deployment type in [#8215](https://github.com/appwrite/appwrite/pull/8215)
+* Add vcs.getRepositoryContents() endpoint in [#8330](https://github.com/appwrite/appwrite/pull/8330)
+* Add appwrite version in function variables in [#8336](https://github.com/appwrite/appwrite/pull/8336)
+* Add support for scheduled executions in [#8243](https://github.com/appwrite/appwrite/pull/8243)
+* Add endpoint to delete execution in [#8337](https://github.com/appwrite/appwrite/pull/8337)
+* OPR v4 support in [#8323](https://github.com/appwrite/appwrite/pull/8323)
+* Mock OTP and phone numbers in [#7565](https://github.com/appwrite/appwrite/pull/7565)
+* Support scheduled executions in [#8355](https://github.com/appwrite/appwrite/pull/8355)
+* Add alert for new sessions in [#8315](https://github.com/appwrite/appwrite/pull/8315)
+* Update delete authenticator to remove OTP Validation in [#8367](https://github.com/appwrite/appwrite/pull/8367)
+* Track project last activity in [#8366](https://github.com/appwrite/appwrite/pull/8366)
+* Containerize the console in [#8406](https://github.com/appwrite/appwrite/pull/8406)
+* Implement MBSeconds Metric on 1.5.X in [#8385](https://github.com/appwrite/appwrite/pull/8385)
+* Support JWTs without session ID in [#8420](https://github.com/appwrite/appwrite/pull/8420)
+* 1.6.x sdks in [#8359](https://github.com/appwrite/appwrite/pull/8359)
+* Base migration for 1.6.x in [#8417](https://github.com/appwrite/appwrite/pull/8417)
+* 1.6.x migrations and filters in [#8403](https://github.com/appwrite/appwrite/pull/8403)
+* Add APPWRITE_REGION in function variables in [#8394](https://github.com/appwrite/appwrite/pull/8394)
+* Support dynamic keys for domain executions in [#8428](https://github.com/appwrite/appwrite/pull/8428)
+* Bump DBIP to latest version in [#8467](https://github.com/appwrite/appwrite/pull/8467)
+* Automatically restart function on crash in [#8473](https://github.com/appwrite/appwrite/pull/8473)
+* Don't send session alerts for otp and magic-url logins in [#8459](https://github.com/appwrite/appwrite/pull/8459)
+* Mark 4XX executions as successful in [#8493](https://github.com/appwrite/appwrite/pull/8493)
+* Add dynamic keys in builds in [#8492](https://github.com/appwrite/appwrite/pull/8492)
+* Allow deployment queries on type and size in [#8515](https://github.com/appwrite/appwrite/pull/8515)
+* Add OTP email template in [#8501](https://github.com/appwrite/appwrite/pull/8501)
+* Update console links in [#8523](https://github.com/appwrite/appwrite/pull/8523)
+* Add multipart support in [#8477](https://github.com/appwrite/appwrite/pull/8477)
+* Separate deployment sizes in [#8556](https://github.com/appwrite/appwrite/pull/8556)
+* Add go runtime in [#8572](https://github.com/appwrite/appwrite/pull/8572)
+* Add react native platform in [#8562](https://github.com/appwrite/appwrite/pull/8562)
+* Merge deployments and build storage metrics together in API in [#8443](https://github.com/appwrite/appwrite/pull/8443)
+* Support string attribute resizing in [#8597](https://github.com/appwrite/appwrite/pull/8597)
+* Support renaming attributes in [#8544](https://github.com/appwrite/appwrite/pull/8544)
+* Add VCS vars to deployments & executions in [#8631](https://github.com/appwrite/appwrite/pull/8631)
+* Function storage metrics in [#8668](https://github.com/appwrite/appwrite/pull/8668)
+* External messaging usage count in [#8672](https://github.com/appwrite/appwrite/pull/8672)
+
+### Fixes
+
+* Fix execution duration in [#8357](https://github.com/appwrite/appwrite/pull/8357)
+* Fix file size calculations in [#8432](https://github.com/appwrite/appwrite/pull/8432)
+* Fix disabled function logging in [#8398](https://github.com/appwrite/appwrite/pull/8398)
+* Fix function redeployments in [#8434](https://github.com/appwrite/appwrite/pull/8434)
+* Add value to variables template in [#8483](https://github.com/appwrite/appwrite/pull/8483)
+* Fix build size limits in [#8396](https://github.com/appwrite/appwrite/pull/8396)
+* Fix deployment method name in [#8490](https://github.com/appwrite/appwrite/pull/8490)
+* Fix function disconnecting from git in [#8500](https://github.com/appwrite/appwrite/pull/8500)
+* Increase buckets metadata in [#8452](https://github.com/appwrite/appwrite/pull/8452)
+* Fix deploy from git with space in [#8517](https://github.com/appwrite/appwrite/pull/8517)
+* Fix missing build logs in [#8484](https://github.com/appwrite/appwrite/pull/8484)
+* Delete team memberships synchronously in [#8217](https://github.com/appwrite/appwrite/pull/8217)
+* Fix Anyof validator in specs in [#8543](https://github.com/appwrite/appwrite/pull/8543)
+* Fix missing function variables in [#8554](https://github.com/appwrite/appwrite/pull/8554)
+* Fix deadlock in [#8609](https://github.com/appwrite/appwrite/pull/8609)
+* Fix domain execution stats in [#8608](https://github.com/appwrite/appwrite/pull/8608)
+* Update console redirect to include query params in [#8619](https://github.com/appwrite/appwrite/pull/8619)
+* Update abuse-key for mfa challenge endpoints in [#8649](https://github.com/appwrite/appwrite/pull/8649)
+* Fix cross-project scheduler stability in [#8641](https://github.com/appwrite/appwrite/pull/8641)
+* Fix vcs deployment size in [#8640](https://github.com/appwrite/appwrite/pull/8640)
+* Fix logging behaviour for Functions in [#8627](https://github.com/appwrite/appwrite/pull/8627)
+* Add retention env vars to deletes worker in [#8662](https://github.com/appwrite/appwrite/pull/8662)
+* Fix scheduled executions data in [#8639](https://github.com/appwrite/appwrite/pull/8639)
+
+### Miscellaneous
+
+* Sync 1.6.x with main in [#8163](https://github.com/appwrite/appwrite/pull/8163)
+* Remove build ID from rebuild deployment endpoint in [#8214](https://github.com/appwrite/appwrite/pull/8214)
+* 1.6.x specs in [#8304](https://github.com/appwrite/appwrite/pull/8304)
+* Sync with main in [#8295](https://github.com/appwrite/appwrite/pull/8295)
+* Fix 1.6.x failing tests in [#8333](https://github.com/appwrite/appwrite/pull/8333)
+* Ensure CI/CD works in [#8350](https://github.com/appwrite/appwrite/pull/8350)
+* Update specs in [#8356](https://github.com/appwrite/appwrite/pull/8356)
+* Sync main to 1.6.x in [#8430](https://github.com/appwrite/appwrite/pull/8430)
+* Add scheduledAt in execution response model in [#8425](https://github.com/appwrite/appwrite/pull/8425)
+* Move functions marketplace to appwrite in [#8427](https://github.com/appwrite/appwrite/pull/8427)
+* Refactor deployment check in function tests in [#8444](https://github.com/appwrite/appwrite/pull/8444)
+* Add ci/cd benchmark in [#8414](https://github.com/appwrite/appwrite/pull/8414)
+* Upgrade SDK version in [#8465](https://github.com/appwrite/appwrite/pull/8465)
+* Improve session alert in [#8399](https://github.com/appwrite/appwrite/pull/8399)
+* Address review comments in [#8422](https://github.com/appwrite/appwrite/pull/8422)
+* Add scopes to function template in [#8496](https://github.com/appwrite/appwrite/pull/8496)
+* Update benchmark comment in [#8507](https://github.com/appwrite/appwrite/pull/8507)
+* Add key to runtime model in [#8503](https://github.com/appwrite/appwrite/pull/8503)
+* Upgrade logger in [#8497](https://github.com/appwrite/appwrite/pull/8497)
+* Change default email addresses in [#8466](https://github.com/appwrite/appwrite/pull/8466)
+* Improve scheduled executions in [#8412](https://github.com/appwrite/appwrite/pull/8412)
+* Sync 1.5.x into main in [#8509](https://github.com/appwrite/appwrite/pull/8509)
+* Sync 1.6 with main in [#8529](https://github.com/appwrite/appwrite/pull/8529)
+* Fix templates CORS in [#8528](https://github.com/appwrite/appwrite/pull/8528)
+* Update size to specification for variable runtimes in [#8537](https://github.com/appwrite/appwrite/pull/8537)
+* Add boundary to multipart header in [#8539](https://github.com/appwrite/appwrite/pull/8539)
+* Support manual templates in [#8527](https://github.com/appwrite/appwrite/pull/8527)
+* Reorder runtimes in [#8540](https://github.com/appwrite/appwrite/pull/8540)
+* Fix 1.6 bugs in [#8358](https://github.com/appwrite/appwrite/pull/8358)
+* Add seconds precision to scheduledAt in [#8546](https://github.com/appwrite/appwrite/pull/8546)
+* Update docker base image in [#8485](https://github.com/appwrite/appwrite/pull/8485)
+* Update create execution return type in [#8542](https://github.com/appwrite/appwrite/pull/8542)
+* Default fallback to for templateBranch in [#8547](https://github.com/appwrite/appwrite/pull/8547)
+* Fix env vars functions test in [#8555](https://github.com/appwrite/appwrite/pull/8555)
+* Fix session alerts in [#8550](https://github.com/appwrite/appwrite/pull/8550)
+* Add runtime controls in [#8384](https://github.com/appwrite/appwrite/pull/8384)
+* Revert request type to json in create execution in [#8563](https://github.com/appwrite/appwrite/pull/8563)
+* Sync 1.6.x Filters and Migrations with latest in [#8553](https://github.com/appwrite/appwrite/pull/8553)
+* Update sdks in [#8551](https://github.com/appwrite/appwrite/pull/8551)
+* Update Docs in [#8567](https://github.com/appwrite/appwrite/pull/8567)
+* Headers validator benchmark in [#8561](https://github.com/appwrite/appwrite/pull/8561)
+* Fix go version in [#8571](https://github.com/appwrite/appwrite/pull/8571)
+* Update dependencies in [#8574](https://github.com/appwrite/appwrite/pull/8574)
+* Upgrade console in [#8575](https://github.com/appwrite/appwrite/pull/8575)
+* 1.6.x logging test in [#8580](https://github.com/appwrite/appwrite/pull/8580)
+* Bump console sdk in [#8581](https://github.com/appwrite/appwrite/pull/8581)
+* Update sdks in [#8582](https://github.com/appwrite/appwrite/pull/8582)
+* Add changelogs for dart and flutter in [#8587](https://github.com/appwrite/appwrite/pull/8587)
+* Add payload validator in [#8594](https://github.com/appwrite/appwrite/pull/8594)
+* Update geodb in [#8615](https://github.com/appwrite/appwrite/pull/8615)
+* Update createdeployment methodtype to upload in [#8616](https://github.com/appwrite/appwrite/pull/8616)
+* Remove tenant in document filter in [#8624](https://github.com/appwrite/appwrite/pull/8624)
+* Improve mail datetime format in [#8628](https://github.com/appwrite/appwrite/pull/8628)
+* Fix router function execution logging in [#8625](https://github.com/appwrite/appwrite/pull/8625)
+* Add Functions templates async test in [#8622](https://github.com/appwrite/appwrite/pull/8622)
+* Update console in [#8629](https://github.com/appwrite/appwrite/pull/8629)
+* 1.6.1 in [#8630](https://github.com/appwrite/appwrite/pull/8630)
+* Update version in [#8646](https://github.com/appwrite/appwrite/pull/8646)
+* Phone auth metric rename in [#8648](https://github.com/appwrite/appwrite/pull/8648)
+* Pretty print specs in [#8643](https://github.com/appwrite/appwrite/pull/8643)
+* Fix messaging metrics in [#8674](https://github.com/appwrite/appwrite/pull/8674)
+* Bump console to 5.0.6 in [#8585](https://github.com/appwrite/appwrite/pull/8585)
+
# Version 1.5.10
## What's Changed
diff --git a/Dockerfile b/Dockerfile
index 4dc996fe89..22b37982d0 100755
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM composer:2.0 as composer
+FROM composer:2.0 AS composer
ARG TESTING=false
ENV TESTING=$TESTING
@@ -12,7 +12,7 @@ RUN composer install --ignore-platform-reqs --optimize-autoloader \
--no-plugins --no-scripts --prefer-dist \
`if [ "$TESTING" != "true" ]; then echo "--no-dev"; fi`
-FROM appwrite/base:0.9.2 as final
+FROM appwrite/base:0.9.3 AS final
LABEL maintainer="team@appwrite.io"
diff --git a/README-CN.md b/README-CN.md
index 5e0cbab4c4..a5eac1be03 100644
--- a/README-CN.md
+++ b/README-CN.md
@@ -67,7 +67,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.5.10
+ appwrite/appwrite:1.6.0
```
### Windows
@@ -79,7 +79,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.5.10
+ appwrite/appwrite:1.6.0
```
#### PowerShell
@@ -89,7 +89,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.5.10
+ appwrite/appwrite:1.6.0
```
运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。
diff --git a/README.md b/README.md
index 8305d78ef0..a9856a7310 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-> Our Appwrite Init event has concluded. You can check out all the new and upcoming features [on our Init website](https://appwrite.io/init) 🚀
+> Appwrite Init has concluded! You can check out all the latest announcements [on our Init website](https://appwrite.io/init) 🚀
@@ -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.5.10
+ appwrite/appwrite:1.6.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.5.10
+ appwrite/appwrite:1.6.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.5.10
+ appwrite/appwrite:1.6.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.
@@ -134,6 +134,12 @@ Choose from one of the providers below:
Akamai Compute
+