Skip to content

Release/3.9.0 - #44

Merged
emirhandurmus merged 55 commits into
developfrom
release/3.9.0
Sep 24, 2026
Merged

emirhandurmus merged 55 commits into
developfrom
release/3.9.0

Conversation

@emirhandurmus

Copy link
Copy Markdown

No description provided.

Upgrade SQL and Sequelize models so existing 3.8 databases can grow the new tables and columns.
Fresh installs skip the 3.8 chain; 3.8 databases still take the incremental 3.9 path only.
Agents pull only attached rows, ingest model/runtime status including podId, and drop hardware-inventory routes and device scan frequency from config.
Operators distribute models like volume mounts; unlink and delete refuse while a microservice still binds the name.
Deploy validates runtime against available runtimes and auto-links the class on edgelet agents.
…CI-only.

Hub is the Hugging Face system registry; microservice and catalog images reject hf registries.
Catalog-only edits use a dedicated change flag and rebuild only when bind path, permissions, or empty/non-empty catalog transitions require it.
Create accepts a template name and variables so request fields win over the stored spec.
Drop hardware inventory routes, RESTBlue/HAL catalog items, and fog bluetooth/hal flags.
…d swagger.

Viewer stays read-only; SRE, developer, and admin get full verbs including link.
…tes.

Add integration coverage and grep gates so hardware-inventory remnants and leaked planning tokens stay out of application code.
…AL fields.

Whitelist platform spec fields on merge and upsert so stale bluetoothEnabled
and abstractedHardwareEnabled keys from pre-HAL-removal rows no longer block
PATCH; improve validation errors to name the rejected field.
Reject POST /runtimeClasses/:name/link when the class name is not in the
target fog's availableRuntimes, matching microservice deploy validation.
Persist lastError, lastErrorAt, and restartCount on MicroserviceStatuses for both fresh 3.9 installs and 3.8 upgrades.
Zero CPU/memory unless status is RUNNING, and keep last-crash fields unless this report sends new ones.
…pshots.

Use Controller time for liveness, zero non-running meters, reconcile omitted UUIDs, and persist last-crash extras without failing the PUT.
Write observed stop immediately so GET does not keep last-running CPU/memory until the next agent report.
…ING.

Always include last-crash fields on GET, and await not-running microservice deletes on the agent path.
Walk quiet nodes in small batches so the cleaner does not hold one fleet-wide write.
Give the liveness cleaner a cursor query so it can update nodes without loading the whole fleet.
Clamp status frequency, skip overlapping runs, and leave already-stopped workloads alone.
Rewrite stale RUNNING or STOPPING status when the microservice or application is already deactivated.
Lock in the frequency floor, empty-list skip, overlap no-op, and no deletes from the liveness cleaner.
…h GET fields.

Describe the liveness cleaner versus the stopped-app safety net, and record the v3.9.0-rc.3 notes.
Persist private as the default and include scope in volume mapping queries used by microservice loads and list endpoints.
Volume names use the Edgelet charset; bind mappings require an absolute host path; controller and system workloads reject explicit shared scope on type volume.
Dedicated volume-mapping create and delete set microservice rebuild and fog change tracking so agents apply mapping changes without a full microservice patch.
…utput.

Cover create and update persistence, controller register, YAML round-trip, and dedicated volume-mapping routes including rebuild side effects.
…notes.

Describe private versus shared scope, hostDestination rules for volume versus bind, and agent-visible lowercase scope on each mapping.
Align local build defaults, Docker build-args, and development env example with the rc.3 console embed.
Clarify BFF versus CLI login, agent route exceptions, and link operator docs for IdP recipes and RBAC mapping.
Extend 3.9.0 upgrade and baseline migrations on sqlite, mysql, and
postgres, and map the new fields on the Fog Sequelize model.
Validate new status keys on PUT /api/v3/agent/status and map them
into fog storage; add a unit test for the update path.
Clarify diskUsage versus host disk totals and systemTotalCpu as busy
percent, and describe capacity and OS identity fields on agent status
and user fog responses.
Align JSON Schema validation and swagger with Edgelet percent limits
for create, update, and agent config payloads.
Document agent ingest, user GET/list exposure, and migration coverage
without changing package version.
Update Docker, Makefile, CI build env, dev console script, and
.env.example to match the pinned console release.
@emirhandurmus
emirhandurmus merged commit 0a513c3 into develop Sep 24, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant