v0.10.0
Released 2026-05-05
OAuth sign-in — Google and GitHub
You can now sign in to Merlonix with your Google or GitHub account in addition to the magic-link email flow.
- Click Continue with Google or Continue with GitHub on the login page
- First sign-in creates your account and associates it with the trial plan automatically
- Returning users are recognized by their OAuth provider ID — no email address collision risk
- Magic-link email sign-in remains available as a fallback
OAuth uses a PKCE flow with no server-side token storage — the callback issues a standard session JWT identical to the magic-link path.
Rules-based fallback classifier
SSL and DNS classification now has a deterministic fallback path when the LLM chain is exhausted.
SSL fallback rules:
- Certificate expiring within 14 days →
imminent_expiry - Issuer change detected →
unexpected_issuer - SAN set changed →
san_change - All other changes →
needs_review
DNS fallback rules:
- NS or MX record changed →
ns_change/provider_migration - CAA record changed →
caa_edit - TTL-only change →
ttl_only(benign, no alert) - All other changes →
needs_review
Uptime fallback rules:
- HTTP 4xx →
client_error - HTTP 5xx →
server_error - Connection refused / timeout →
unreachable
The fallback activates only when Groq, Gemini, Cerebras, and Claude Haiku all fail or rate-limit. Under normal conditions the LLM chain runs as before.
Table partitioning for SSL and DNS checks
The ssl_checks and dns_checks tables are now range-partitioned by month. This keeps query performance predictable as check volume grows.
- Child partitions: one per calendar month from May 2026, plus a default partition
- New partitions for the next two months are created automatically on the first day of each month
- Existing data was migrated with no downtime using a shadow-copy strategy
- Legacy tables (
ssl_checks_legacy,dns_checks_legacy) are retained for 48 hours then dropped
No changes to API response shapes — the partition boundary is invisible to clients.
Agents package consolidation
alert-deduplicator and legal-filter agents are now exported from @merlonix/agents alongside the SSL, DNS, and vendor classifiers. Import paths in alertDispatch and assets routes updated accordingly. No behavior changes.
Bug fixes
- Fixed ESLint warnings in all API source files (
--max-warnings=0now passes cleanly) - Fixed OAuth callback route shadowed by
:providerwildcard parameter