nythos-core v0.1.2
Summary
nythos-core v0.1.2 updates the core auth boundary from synchronous ports to native async ports.
This release unblocks async infrastructure adapters, especially Cloudflare Workers D1, without introducing runtime, database, HTTP, or Cloudflare-specific dependencies into the core crate.
Highlights
-
Converted core port traits to async:
UserRepositoryRoleRepositorySessionStorePasswordHasherTokenSignerRevocationChecker
-
Converted auth orchestration services to async:
RegisterService::registerLoginService::loginRefreshService::refreshRevokeSessionService::revokeRevokeAllSessionsService::revoke_all
-
Updated internal auth helpers to await async port calls.
-
Added ADR 0005 documenting the async core port decision.
-
Updated test fakes and orchestration tests for async execution.
Why this changed
The previous synchronous port shape blocked natural implementations for async infrastructure. Cloudflare Workers D1 APIs are async, so gateway adapters could not implement core repository/session traits cleanly without fake blocking behavior.
This release makes the core async-native while keeping it infrastructure-free and runtime-agnostic.
Breaking API shape change
This is a public API shape change for consumers implementing or calling core ports/services.
Trait implementations now use async fn, and service flow calls must be awaited.
Example:
let result = login_service.login(input).await?;Compatibility notes
- No HTTP, database, Cloudflare, or async runtime dependency was added to nythos-core.
- Domain models and value objects remain unchanged.
- Service structs remain borrow-oriented and continue taking dependencies by reference.