Skip to main content

Changelog

All notable changes to this project will be documented in this file.

This project follows a structured release approach with clear feature additions and improvements.

[v1.0.0-beta.2] - Documentation Updates

Updates

  • Updated shields and tags in README file

[v1.0.0-beta.1] - Initial Release

Overview

Solvix is a production-grade HTTP client designed for reliability, resilience, and performance.

This initial release introduces a complete system for handling real-world API challenges including retries, failures, concurrency, and observability.

Core Features

Request System

  • Unified request API (get, post, put, delete)
  • Base URL support
  • Request-level configuration overrides
  • Automatic JSON parsing
  • Structured response object

Retry Engine

  • Configurable retry attempts
  • Exponential backoff strategy
  • Retry condition handling
  • Retry-aware error metadata

Circuit Breaker

  • Failure threshold detection
  • Automatic request blocking on unstable services
  • Cooldown and recovery handling

Rate Limiting

  • Token bucket implementation
  • Request throughput control
  • Prevents API overload and throttling issues

Request Deduplication

  • Prevents duplicate in-flight requests
  • Ensures single network call for identical requests
  • Improves performance under concurrency

Request Dependencies

  • Supports dependent request execution
  • Prevents race conditions
  • Includes dependency registry system

Token Refresh Orchestrator

  • Stampede-safe token refresh
  • Ensures only one refresh request executes
  • Queues dependent requests automatically

Offline Queue

  • Queues requests when offline
  • Automatically replays when connection is restored
  • Prevents request loss

Shadow Mode

  • Sends requests to secondary backend
  • Response comparison support
  • Safe backend migration and testing

Security Features

HTTPS Enforcement

  • Blocks insecure HTTP requests (optional)

Domain Allowlist

  • Restricts requests to trusted domains

Header Sanitization

  • Removes unsafe or sensitive headers

Body Size Guard

  • Prevents large payload abuse

Response Size Guard

  • Protects against oversized responses

Snapshot Redaction

  • Masks sensitive data in logs and debugging

Observability & Debugging

Snapshot Debugging

  • Full request lifecycle snapshots
  • Useful for debugging production issues

Timeline Tracking

  • Tracks each step of request execution

Profiling Mode

  • Measures request performance
  • Includes timing breakdown

Performance Metadata

  • Duration
  • Retry count
  • Queue wait time
  • Network time

Event System (SolvixBus)

  • Lifecycle event emission
  • Hooks into request flow
  • Supports logging and monitoring systems

Extensibility

Custom Transport

  • Replace fetch with custom implementation
  • Supports testing and adapters (e.g., Axios)

Middleware System

  • Request/response transformation
  • Custom logic injection

Hooks

  • beforeRequest
  • afterResponse
  • onError

Advanced Features

Request Priority Queue

  • Priority-based execution
  • Concurrency control
  • Queue overflow strategies

Request Grouping

  • Logical grouping of requests
  • Batch execution support

Timeout Handling

  • Configurable request timeout
  • Safe abort handling

ETag Support

  • Efficient caching strategies

Streaming Support

  • SSE (Server-Sent Events)
  • JSON Lines support

Performance & Optimization

Lightweight Bundle

  • ~7.8 KB (gzipped)

High Throughput

  • Optimized request pipeline
  • Minimal overhead

Memory Stability

  • No memory leaks across repeated executions

Benchmark Highlights

  • Handles high concurrency efficiently
  • Prevents retry storms
  • Token refresh executes only once under load
  • Deduplication reduces redundant network calls

Runtime Support

  • Node.js
  • Browser
  • Bun
  • Edge environments

Philosophy

Solvix is designed to:

  • Handle failures as first-class citizens
  • Provide production-ready defaults
  • Reduce developer boilerplate
  • Offer full control when needed

Notes

This release establishes Solvix as a complete, production-ready HTTP client with advanced system-level capabilities.

Future releases will focus on ecosystem expansion and developer tooling.