mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Merge remote-tracking branch 'origin/1.8.x' into documents-db-api
This commit is contained in:
+7
-7
@@ -11,7 +11,7 @@ return [
|
||||
[
|
||||
'key' => 'web',
|
||||
'name' => 'Web',
|
||||
'version' => '22.3.1',
|
||||
'version' => '22.4.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-web',
|
||||
'package' => 'https://www.npmjs.com/package/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -60,7 +60,7 @@ return [
|
||||
[
|
||||
'key' => 'flutter',
|
||||
'name' => 'Flutter',
|
||||
'version' => '21.1.0',
|
||||
'version' => '21.4.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-flutter',
|
||||
'package' => 'https://pub.dev/packages/appwrite',
|
||||
'enabled' => true,
|
||||
@@ -79,7 +79,7 @@ return [
|
||||
[
|
||||
'key' => 'apple',
|
||||
'name' => 'Apple',
|
||||
'version' => '14.1.0',
|
||||
'version' => '14.3.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-apple',
|
||||
'package' => 'https://github.com/appwrite/sdk-for-apple',
|
||||
'enabled' => true,
|
||||
@@ -117,7 +117,7 @@ return [
|
||||
'key' => 'android',
|
||||
'name' => 'Android',
|
||||
'namespace' => 'io.appwrite',
|
||||
'version' => '12.1.0',
|
||||
'version' => '12.2.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-android',
|
||||
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android',
|
||||
'enabled' => true,
|
||||
@@ -140,7 +140,7 @@ return [
|
||||
[
|
||||
'key' => 'react-native',
|
||||
'name' => 'React Native',
|
||||
'version' => '0.23.1',
|
||||
'version' => '0.24.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-react-native',
|
||||
'package' => 'https://npmjs.com/package/react-native-appwrite',
|
||||
'enabled' => true,
|
||||
@@ -208,7 +208,7 @@ return [
|
||||
[
|
||||
'key' => 'web',
|
||||
'name' => 'Console',
|
||||
'version' => '0.3.0',
|
||||
'version' => '22.4.0',
|
||||
'url' => '',
|
||||
'package' => '',
|
||||
'enabled' => true,
|
||||
@@ -227,7 +227,7 @@ return [
|
||||
[
|
||||
'key' => 'cli',
|
||||
'name' => 'Command Line',
|
||||
'version' => '13.4.0',
|
||||
'version' => '13.5.0',
|
||||
'url' => 'https://github.com/appwrite/sdk-for-cli',
|
||||
'package' => 'https://www.npmjs.com/package/appwrite-cli',
|
||||
'enabled' => true,
|
||||
|
||||
@@ -36,6 +36,9 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId
|
||||
|
||||
$projectId = $repository->getAttribute('projectId');
|
||||
$project = $authorization->skip(fn () => $dbForPlatform->getDocument('projects', $projectId));
|
||||
if ($project->isEmpty()) {
|
||||
throw new Exception(Exception::PROJECT_NOT_FOUND, 'Repository references non-existent project');
|
||||
}
|
||||
$dbForProject = $getProjectDB($project);
|
||||
|
||||
$resourceCollection = $resourceType === "function" ? 'functions' : 'sites';
|
||||
|
||||
@@ -343,7 +343,7 @@ Http::init()
|
||||
* But, for actions on resources (sites, functions, etc.) in a non-console project, we explicitly check
|
||||
* whether the admin user has necessary permission on the project (sites, functions, etc. don't have permissions associated to them).
|
||||
*/
|
||||
if (empty($apiKey) && $project->getId() !== 'console' && $mode === APP_MODE_ADMIN) {
|
||||
if (empty($apiKey) && !$user->isEmpty() && $project->getId() !== 'console' && $mode === APP_MODE_ADMIN) {
|
||||
$input = new Input(Database::PERMISSION_READ, $project->getPermissionsByType(Database::PERMISSION_READ));
|
||||
$initialStatus = $authorization->getStatus();
|
||||
$authorization->enable();
|
||||
|
||||
+14
-4
@@ -568,11 +568,16 @@ Http::setResource('dbForProject', function (Group $pools, Database $dbForPlatfor
|
||||
return $dbForPlatform;
|
||||
}
|
||||
|
||||
$database = $project->getAttribute('database', '');
|
||||
if (empty($database)) {
|
||||
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Project database is not configured');
|
||||
}
|
||||
|
||||
try {
|
||||
$dsn = new DSN($project->getAttribute('database'));
|
||||
$dsn = new DSN($database);
|
||||
} catch (\InvalidArgumentException) {
|
||||
// TODO: Temporary until all projects are using shared tables
|
||||
$dsn = new DSN('mysql://' . $project->getAttribute('database'));
|
||||
$dsn = new DSN('mysql://' . $database);
|
||||
}
|
||||
|
||||
$adapter = new DatabasePool($pools->get($dsn->getHost()));
|
||||
@@ -1129,11 +1134,16 @@ Http::setResource('getProjectDB', function (Group $pools, Database $dbForPlatfor
|
||||
return $dbForPlatform;
|
||||
}
|
||||
|
||||
$database = $project->getAttribute('database', '');
|
||||
if (empty($database)) {
|
||||
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Project database is not configured');
|
||||
}
|
||||
|
||||
try {
|
||||
$dsn = new DSN($project->getAttribute('database'));
|
||||
$dsn = new DSN($database);
|
||||
} catch (\InvalidArgumentException) {
|
||||
// TODO: Temporary until all projects are using shared tables
|
||||
$dsn = new DSN('mysql://' . $project->getAttribute('database'));
|
||||
$dsn = new DSN('mysql://' . $database);
|
||||
}
|
||||
|
||||
$configure = (function (Database $database) use ($project, $dsn, $authorization) {
|
||||
|
||||
Generated
+5
-14
@@ -5486,7 +5486,7 @@
|
||||
"issues": "https://github.com/appwrite/sdk-generator/issues",
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/1.10.2"
|
||||
},
|
||||
"time": "2026-02-23T04:04:15+00:00"
|
||||
"time": "2026-02-17T11:48:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
@@ -8937,19 +8937,10 @@
|
||||
"time": "2024-03-07T20:33:40+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [
|
||||
{
|
||||
"package": "utopia-php/migration",
|
||||
"version": "dev-improve-columns-setup",
|
||||
"alias": "1.6.1",
|
||||
"alias_normalized": "1.6.1.0"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "dev",
|
||||
"stability-flags": {
|
||||
"utopia-php/migration": 20
|
||||
},
|
||||
"prefer-stable": true,
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">=8.3.0",
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
```bash
|
||||
appwrite projects create-schedule \
|
||||
--project-id <PROJECT_ID> \
|
||||
--resource-type function \
|
||||
--resource-id <RESOURCE_ID> \
|
||||
--schedule ''
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
```bash
|
||||
appwrite projects get-schedule \
|
||||
--project-id <PROJECT_ID> \
|
||||
--schedule-id <SCHEDULE_ID>
|
||||
```
|
||||
@@ -0,0 +1,4 @@
|
||||
```bash
|
||||
appwrite projects list-schedules \
|
||||
--project-id <PROJECT_ID>
|
||||
```
|
||||
@@ -1,5 +1,11 @@
|
||||
# Change Log
|
||||
|
||||
## 12.2.0
|
||||
|
||||
* Added Channel<_Document>.upsert() and Channel<_Row>.upsert() API methods to upsert documents and rows in channels.
|
||||
* Added new query filters: containsAny(attribute, List<Any>) and containsAll(attribute, List<Any>) for advanced matching on array/relationship attributes.
|
||||
* Realtime improvements: improved WebSocket lifecycle and connection handling. Introduced generation-based checks to avoid processing messages from stale sockets and ensure sequential socket recreation on reconnects.
|
||||
|
||||
## 12.1.0
|
||||
|
||||
* Add `queries` parameter to Realtime subscriptions for filtering events
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Change Log
|
||||
|
||||
## 14.3.0
|
||||
|
||||
* Added upsert() support for RealtimeChannel on both Document and Row variants to perform upsert operations over real-time channels.
|
||||
* Introduced new Query filter methods: contains(_:, value:), containsAny(_:, value: [Any]), containsAll(_:, value: [Any]) for enhanced querying capabilities (substring and multi-value containment).
|
||||
* Documentation and packaging updates to align with the new release: README dependency example updated from 14.2.0 to 14.1.0, and server compatibility note updated to indicate Appwrite server version 1.8.x compatibility.
|
||||
|
||||
## 14.1.0
|
||||
|
||||
* Add `queries` parameter to Realtime subscriptions for filtering events
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Change Log
|
||||
|
||||
## 13.5.0
|
||||
|
||||
* New: Added CLI commands under projects: `list-schedules`, `create-schedule`, and `get-schedule` for managing project schedules.
|
||||
* Packaging/build: Updated packaging to support explicit ESM/CJS outputs with exports. main now points to dist/index.cjs, module to dist/index.js, and exports include type and entry-point mappings. This enables better compatibility for both ESM and CommonJS users.
|
||||
|
||||
## 13.4.0
|
||||
|
||||
* Add `--queries` option to `list-keys` command
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# Change Log
|
||||
|
||||
## 21.4.0
|
||||
|
||||
* Added upsert() to DocumentChannel and RowChannel to support upsert operations on documents and rows.
|
||||
* Added Query.contains, Query.containsAny, and Query.containsAll for enhanced filtering capabilities.
|
||||
|
||||
## 21.3.0
|
||||
|
||||
* Added memberships realtime channel helper
|
||||
|
||||
## 21.1.0
|
||||
|
||||
* Add `queries` parameter to Realtime subscriptions for filtering events
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Change log
|
||||
|
||||
## 0.24.0
|
||||
|
||||
* Added Query.contains, Query.containsAny, and Query.containsAll for enhanced filtering capabilities.
|
||||
|
||||
## 0.23.1
|
||||
|
||||
* Add `upsert` method to Realtime `Channels` helper class
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Change Log
|
||||
|
||||
## 22.4.0
|
||||
|
||||
* Added Query.containsAny(attribute, value[]) to filter resources where the attribute contains any of the given values.
|
||||
* Added Query.containsAll(attribute, value[]) to filter resources where the attribute contains all of the given values.
|
||||
* Updated Query.contains documentation to clarify behavior: string attributes are matched by substring, and for array attributes use containsAny/containsAll.
|
||||
|
||||
## 22.3.1
|
||||
|
||||
* Add `upsert` method to Realtime `Channels` helper class
|
||||
|
||||
Reference in New Issue
Block a user