Nexus Platform v4.2 Release Notes
Release Date: April 12, 2026
We're excited to announce Nexus Platform v4.2, featuring significant performance improvements to the query engine, a new webhook delivery system, and critical security patches.
Highlights
| Feature | Status | Impact |
|---|---|---|
| Query Engine v2 | Stable | ~40% faster P95 latency |
| Webhook Delivery | Beta | Real-time event streaming |
| OAuth 2.1 Support | Stable | Improved auth security |
| Dashboard Metrics | Stable | New visualization widgets |
Breaking Changes
Important: The
v1/eventsendpoint has been deprecated. Migrate tov2/eventsbefore June 1, 2026.
EventPayload.timestampis now ISO 8601 with timezone offset (was Unix epoch)- Removed
legacy_authmiddleware — useoauth2middleware instead - Minimum Node.js version bumped from 18 to 20
New Features
Query Engine v2
The rewritten query planner reduces P95 latency by approximately 40%. The new planner uses a cost-based optimizer that evaluates \(O(n \log n)\) candidate plans before selecting the execution strategy.
For batch queries, throughput scales as \(T = \frac{N}{k + \log_2(N)}\) where \(N\) is the batch size and \(k\) is the connection pool overhead constant.
-- New: parallel scan hint for large tables
SELECT /*+ PARALLEL_SCAN(4) */
user_id,
event_type,
COUNT(*) as event_count
FROM events
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY user_id, event_type
HAVING COUNT(*) > 10
ORDER BY event_count DESC;
Webhook Delivery System
Configure webhook endpoints with automatic retry and dead-letter queuing:
import { WebhookClient } from '@nexus/webhooks';
const client = new WebhookClient({
endpoint: 'https://api.example.com/hooks',
secret: process.env.WEBHOOK_SECRET,
retryPolicy: {
maxRetries: 5,
backoff: 'exponential',
initialDelay: 1000,
},
});
client.on('delivery:failed', (event) => {
console.error(`Webhook ${event.id} failed after ${event.attempts} attempts`);
});
await client.send('order.completed', {
orderId: 'ord_8xk2m',
total: 149.99,
currency: 'USD',
});
OAuth 2.1 Support
Updated authentication flow now supports PKCE by default and DPoP token binding:
const authConfig = {
issuer: 'https://auth.nexus.io',
clientId: process.env.OAUTH_CLIENT_ID,
redirectUri: 'https://app.nexus.io/callback',
usePKCE: true,
dpopBound: true,
scopes: ['read:events', 'write:webhooks', 'admin:users'],
};
Migration Guide
Migrating from v1/events to v2/events
Step 1: Update your event schemas
The new event format wraps payloads in a standardized envelope:
{
"id": "evt_9f3kx82m",
"type": "order.completed",
"version": "2.0",
"timestamp": "2026-04-12T14:30:00-07:00",
"data": {
"orderId": "ord_8xk2m",
"total": 149.99
},
"metadata": {
"source": "checkout-service",
"traceId": "abc-123-def"
}
}
Step 2: Update timestamp handling
Replace Unix epoch parsing with ISO 8601:
// Before (v1)
const ts = new Date(payload.timestamp * 1000);
// After (v2)
const ts = new Date(payload.timestamp); // ISO 8601 string
Step 3: Update your API calls
# Before
curl -H "Authorization: Bearer $TOKEN" \
https://api.nexus.io/v1/events?since=1712880000
# After
curl -H "Authorization: Bearer $TOKEN" \
https://api.nexus.io/v2/events?since=2026-04-12T00:00:00Z
Migrating from legacy_auth to OAuth 2.1
Remove legacy middleware
- app.use(legacyAuth({ apiKey: process.env.API_KEY }));
+ app.use(oauth2({
+ issuer: 'https://auth.nexus.io',
+ audience: 'https://api.nexus.io',
+ }));
Update environment variables
| Old Variable | New Variable | Notes |
|---|---|---|
API_KEY |
OAUTH_CLIENT_ID |
From Nexus dashboard |
API_SECRET |
OAUTH_CLIENT_SECRET |
Rotate after migration |
| (none) | OAUTH_ISSUER_URL |
https://auth.nexus.io |
Performance Benchmarks
| Metric | v4.1 | v4.2 | Change |
|---|---|---|---|
| P50 Latency | 12ms | 8ms | -33% |
| P95 Latency | 85ms | 51ms | -40% |
| P99 Latency | 210ms | 145ms | -31% |
| Throughput (req/s) | 12,400 | 18,600 | +50% |
| Memory (avg) | 480MB | 410MB | -15% |
Bug Fixes
- NEXUS-4821: Fixed race condition in connection pool when
maxConnectionsexceeded during burst traffic - NEXUS-4856: Resolved memory leak in WebSocket handler that occurred after 10k+ concurrent connections
- NEXUS-4903: Corrected timezone offset calculation for events crossing DST boundaries
- NEXUS-4917: Fixed CSV export truncating rows when column values contained newline characters
Known Issues
- Dashboard chart rendering may flicker on Safari 18 when switching between metric views. Fix targeted for v4.2.1.
- The
--dry-runflag onnexus migratedoes not yet support the new v2 event schema validation. Usenexus validate-schemaas a workaround.
Contributors
Thanks to everyone who contributed to this release: @sarah-chen, @marcus-dev, @priya-k, @tomasz-w, and @liu-wei.
Full changelog: v4.1.3...v4.2.0