Next Release
These changes are built and tested, shipping in the next deploy.
Security
- Self-approval prevention on notification links — One-click approve/reject links now encode the submitter and block self-approval (SOX compliance)
- SMTP CRLF injection prevention — Recipient addresses sanitized before SMTP commands
- Content-Type validation — API rejects non-JSON request bodies with 415 (prevents parse confusion)
- Sliding window rate limiter — Replaced fixed-window algorithm to prevent boundary-burst attacks
Added
- Requester email notifications — Submitters receive an email when their request is approved, rejected, or fails to apply (SSO users with email-format usernames)
Performance
- Session lookup optimized — Reduced from 3 DB queries to 1 per request; auth resolved once and cached on the request object
- Request timeout (120s) — Kills hung/slowloris connections automatically
Reliability
- Readiness probe (
/api/health/ready) — Verifies DB connectivity, returns 503 if unavailable - Liveness probe (
/api/health/live) — Confirms event loop is responsive - Graceful shutdown draining — Logs active connections and confirms drain on SIGTERM/SIGINT
- PostgreSQL connection retry — 3 attempts with 2-second backoff on initial connect
Operations
- Request ID tracing (
X-Request-Id) — Every response includes a UUID for log correlation - Trailing slash normalization —
/api/domains/no longer returns 404 - Reproducible builds — Added
package-lock.json, Dockerfile usesnpm ci
1.0.0 — Initial Release
The first production release of Netra. A complete DNS change management platform.
Multi-Provider DNS
- Windows DNS via WinRM (Server 2016–2025, AD-integrated zones)
- AWS Route 53 (IAM Role, Cross-Account Role, Access Keys)
- Google Cloud DNS (Default Identity, Service Account Key)
- Azure DNS (Managed Identity, Service Principal)
- Cloudflare (Scoped API Token)
- Provider-agnostic workflow — users pick a domain, system routes to the correct backend
Approval Workflows
- Two-person rule — submitter cannot approve their own request
- One-click approve/reject from Slack, Teams, Discord, and email
- Scheduled requests — approve now, apply at a specified time
- Maintenance windows — restrict when DNS changes can be applied
- Rollback — one-click reverse of any applied change (admin, immediate)
- Request expiry — auto-reject stale pending requests
Identity & Access
- LDAP / Active Directory with group-based role mapping
- Okta SSO (OAuth 2.0 / OIDC with group claims)
- Microsoft Entra ID SSO
- Generic OIDC (Keycloak, Auth0, PingFederate, Authentik)
- API tokens for CI/CD and automation (SHA-256 hashed, revocable)
- Three-tier RBAC: Admin, Approver, User
CI/CD Integration
- GitHub Actions (HMAC-SHA256 signed webhooks)
- GitLab CI/CD (token-verified webhooks)
- Bitbucket Pipelines (token-verified webhooks)
- Azure DevOps (token or Basic auth webhooks)
- Terraform provider for infrastructure-as-code
- Optional bypass approval for pipeline requests
Notifications
- Slack (incoming webhook with action buttons)
- Microsoft Teams (adaptive card with action buttons)
- Discord (webhook with embedded message)
- PagerDuty (Events API v2)
- Opsgenie (Alert API v2)
- Email (SMTP with HTML action buttons)
- Outbound webhooks (HTTP POST with HMAC-SHA256 signing)
Observability
- Drift detection — periodic comparison of live DNS vs approved state
- Prometheus metrics endpoint (
/api/metrics) - Syslog/SIEM forwarding (UDP/TCP/HTTP)
- DNS server health checks with 24-point sparkline dashboard
- Structured JSON logging (stdout, parseable by Loki/ELK/Datadog)
Security
- AES-256-GCM encryption for all stored credentials
- CSRF protection (double-submit cookie, timing-safe)
- Content Security Policy, X-Frame-Options, Referrer-Policy headers
- Rate limiting (login, mutations, bulk, metrics)
- IP allowlist for network-level access control
- Input sanitization with parameterized queries on all routes
Deployment
- Docker (Alpine-based, non-root, ~60MB image)
- PostgreSQL or SQLite (bidirectional migration tool)
- Scheduled backups with retention policies
- Auto-generated secrets on first boot
- Graceful shutdown with connection draining