diff --git a/VERSION b/VERSION index 31476ce..5d24a8f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.8.1 +9.8.2 diff --git a/backend/app/config.py b/backend/app/config.py index 9ac398a..eafd86c 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -144,7 +144,7 @@ class Settings(BaseSettings): # App settings APP_NAME: str = "TOD - The Other Dude" - APP_VERSION: str = "9.8.1" + APP_VERSION: str = "9.8.2" DEBUG: bool = False @field_validator("CREDENTIAL_ENCRYPTION_KEY") diff --git a/backend/app/services/sse_manager.py b/backend/app/services/sse_manager.py index 9007b1b..762bff0 100644 --- a/backend/app/services/sse_manager.py +++ b/backend/app/services/sse_manager.py @@ -63,6 +63,7 @@ async def ensure_sse_streams() -> None: name="ALERT_EVENTS", subjects=["alert.fired.>", "alert.resolved.>"], max_age=3600, # 1 hour retention + max_bytes=16 * 1024 * 1024, # 16MB cap ) ) logger.info("nats.stream.ensured", stream="ALERT_EVENTS") @@ -72,6 +73,7 @@ async def ensure_sse_streams() -> None: name="OPERATION_EVENTS", subjects=["firmware.progress.>"], max_age=3600, # 1 hour retention + max_bytes=16 * 1024 * 1024, # 16MB cap ) ) logger.info("nats.stream.ensured", stream="OPERATION_EVENTS") diff --git a/backend/pyproject.toml b/backend/pyproject.toml index f6ed279..c575ff8 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "the-other-dude-backend" -version = "9.8.1" +version = "9.8.2" description = "MikroTik Fleet Management Portal - Backend API" requires-python = ">=3.12" dependencies = [ diff --git a/docker-compose.yml b/docker-compose.yml index a264f8e..c4f303a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -70,10 +70,11 @@ services: interval: 5s timeout: 5s retries: 5 + restart: unless-stopped deploy: resources: limits: - memory: 256M + memory: 384M networks: - tod diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index 7fcfe64..0cebd19 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -9,7 +9,7 @@ TOD uses Pydantic Settings for configuration. All values can be set via environm | Variable | Default | Description | |----------|---------|-------------| | `APP_NAME` | `TOD - The Other Dude` | Application display name | -| `APP_VERSION` | `9.8.1` | Semantic version string (see VERSION file at project root) | +| `APP_VERSION` | `9.8.2` | Semantic version string (see VERSION file at project root) | | `TOD_VERSION` | `latest` | Docker image tag for pre-built images (set by setup.py) | | `ENVIRONMENT` | `dev` | Runtime environment: `dev`, `staging`, or `production` | | `DEBUG` | `false` | Enable debug mode | diff --git a/docs/website/index.html b/docs/website/index.html index c29b640..1826be2 100644 --- a/docs/website/index.html +++ b/docs/website/index.html @@ -55,7 +55,7 @@ "Zero-knowledge authentication (SRP-6a)" ], "softwareRequirements": "Docker, PostgreSQL 17, Redis, NATS", - "softwareVersion": "9.8.1", + "softwareVersion": "9.8.2", "license": "https://mariadb.com/bsl11/" } @@ -547,7 +547,7 @@

Status

- + diff --git a/frontend/package.json b/frontend/package.json index 18b59d3..9515cdf 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "frontend", "private": true, - "version": "9.8.1", + "version": "9.8.2", "type": "module", "scripts": { "dev": "vite", diff --git a/infrastructure/helm/Chart.yaml b/infrastructure/helm/Chart.yaml index a41f41e..6055208 100644 --- a/infrastructure/helm/Chart.yaml +++ b/infrastructure/helm/Chart.yaml @@ -3,7 +3,7 @@ name: tod description: The Other Dude — MikroTik fleet management platform type: application version: 1.0.0 -appVersion: "9.8.1" +appVersion: "9.8.2" kubeVersion: ">=1.28.0-0" keywords: - mikrotik diff --git a/poller/internal/bus/publisher.go b/poller/internal/bus/publisher.go index 130646d..4dd0202 100644 --- a/poller/internal/bus/publisher.go +++ b/poller/internal/bus/publisher.go @@ -163,7 +163,7 @@ func NewPublisher(natsURL string) (*Publisher, error) { Name: "WIRELESS_REGISTRATIONS", Subjects: []string{"wireless.registrations.>"}, MaxAge: 30 * 24 * time.Hour, // 30-day retention - MaxBytes: 256 * 1024 * 1024, // 256MB cap + MaxBytes: 128 * 1024 * 1024, // 128MB cap Discard: jetstream.DiscardOld, }) if err != nil {
Version9.8.1
Version9.8.2
LicenseBSL 1.1 (converts to Apache 2.0 in 2030)
Free tier250 devices
StabilityBreaking changes expected before v11