You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this version we introduced a better solution to propagate the "reverb" (websocket) configuration to the frontend. Therefore the values must no longer be available at build time. For you, there is no need to intervene, but you probably like your `.env` file to be clean and tidy, so you can remove the `VITE_REVERB_*` variables from there.
76
+
77
+
## 3. Upgrade PHP to 8.3
78
+
79
+
The minimum PHP version is now **8.3** (raised from 8.2). Before deploying, ensure your host or Docker base image provides it.
80
+
81
+
> **Note:** If you are running HAWKI in Docker, the official image (`neunerlei/php-nginx:8.3`) is already updated and no further action is needed.
82
+
83
+
The following PHP extensions are now explicitly required — enable them if they are not already active on your server:
84
+
85
+
```
86
+
curl, dom, fileinfo, libxml, openssl, zip, gd
87
+
```
88
+
89
+
## 4. Configure encryption salts before migrating
90
+
91
+
This version introduces five application-level encryption salts. These **must be set in your `.env` before running `php artisan migrate`** — if they are missing, `SaltProvider` will auto-generate them at runtime, but the values will differ on every boot, permanently breaking any data encrypted with the previous values.
92
+
93
+
Generate each salt with `openssl rand -base64 32` and add them to your `.env`:
94
+
95
+
```
96
+
APP_ENCRYPTION_SALT_USERDATA=
97
+
APP_ENCRYPTION_SALT_INVITATION=
98
+
APP_ENCRYPTION_SALT_AI_CRYPTO=
99
+
APP_ENCRYPTION_SALT_PASSKEY=
100
+
APP_ENCRYPTION_SALT_BACKUP=
101
+
```
102
+
103
+
> **Note:** If you are running HAWKI in Docker, these salts must also be present in `_docker_production/.env` before the first container start after upgrading.
104
+
105
+
## 5. Run all database migrations
106
+
107
+
This version introduces many new tables. After setting the salts above, run:
108
+
109
+
```bash
110
+
php artisan migrate
111
+
```
112
+
113
+
## 6. Sync AI tools, MCP servers, and model config into the database
114
+
115
+
AI tools and MCP servers have been migrated from static configuration files to database-backed models. After migrating, populate them from your existing configuration:
The following `AiModel` attributes now return **typed value objects** instead of raw arrays or strings. Any code reading them with direct array access must be updated to use the value object API:
All method signatures on `FileStorageService` and `AvatarStorageService` have changed as part of the storage layer overhaul. Any custom code calling these services directly must be updated to use the new API.
142
+
143
+
## 10. Update custom AI provider implementations
144
+
145
+
If you have custom AI provider implementations, they must now implement `ProviderAdapterInterface` and be registered with `ProviderAdapterRegistry`. The previous inheritance-based approach is no longer supported.
0 commit comments