Skip to content

v1.0.0 — Stable Release

Choose a tag to compare

@Maartz Maartz released this 28 Mar 20:14
· 36 commits to main since this release

Nexus reaches 1.0. The API is stable.

What's in the box

Core — Connection value type, Plug function typealias, pipe/pipeline composition, halt-not-throw error contract.

Router — Result-builder DSL with GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS/ANY, path parameters, wildcards, scoped routes with middleware, sub-router forwarding.

Content Types — JSON encode/decode, URL-encoded forms, multipart/form-data with file uploads, plaintext, HTML (with layout), XML, raw binary. Unified bodyParser() plug auto-detects Content-Type.

WebSocket — WSMessage, WSConnection, WS() route builder, Hummingbird adapter with .nexusWebSocket(). HTTP pipeline assigns propagate into WebSocket context.

Security — Signed cookie sessions (HMAC-SHA256), CSRF token protection, Basic auth, SSL redirect, CORS.

Typed Assigns — AssignKey protocol for compile-time-safe conn[KeyType.self] access. Built-in keys for request ID, session, remote IP, body params, uploaded files, parsed JSON.

Infrastructure — Static file serving, chunked streaming, SSE, file serving with MIME detection, request logging, request IDs, lifecycle hooks, configurable plugs, service injection.

Testing — NexusTest target with TestConnection builders. 354 tests. Swift 6 strict concurrency throughout. macOS + Linux CI.

Adapters — NexusHummingbird bridges to Hummingbird 2's HTTPResponder. Server-agnostic core.

Install

.package(url: "https://github.com/Spectro-ORM/Nexus.git", from: "1.0.0")