loadpace-tower 0.1.0-rc.4

Tower adapter for adaptive client-side load balancing and backpressure
Documentation
# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0-rc.4]https://github.com/conradludgate/loadpace/compare/loadpace-tower-v0.1.0-rc.3...loadpace-tower-v0.1.0-rc.4 - 2026-09-15

### Added

- *(tower)* support pinned discovery streams

### Fixed

- *(tower)* preserve discovery docs with pin projection

### Other

- define trusted deployment boundary
- *(adapters)* clarify API and deployment scope
- *(tower)* configure positive probe rate
- *(controller)* own load refresh sequencing
- *(tower)* make endpoints single-owner
- *(tower)* tighten admission state
- *(tower)* clarify adaptive request lifecycle
- *(adapters)* hide probe controls
- *(adapters)* clarify dispatch lifecycle
- *(tower)* use PollSemaphore for readiness
- *(adapters)* make internal state explicit
- *(adapters)* model request lifecycle explicitly

### Added

- Add `AdaptiveLayer` for normal Tower layer stacks.

### Changed

- Make adaptive endpoints single-owner services and coordinate readiness with
  the controller directly, removing the admission semaphore and its separate
  shared allocation. Tower's P2C balancer does not require endpoint services
  to be cloneable.
- Remove unnecessary `Send + 'static` bounds from endpoint response and error
  types.
- Make dispatch wakeup timing controller-owned and simplify the Tower request
  lifecycle around queued, in-flight, and finished states.
- Remove the unnecessary request type parameter and service bounds from
  `AdaptiveDiscovery`.

## [0.1.0-rc.3]https://github.com/conradludgate/loadpace/compare/loadpace-tower-v0.1.0-rc.2...loadpace-tower-v0.1.0-rc.3 - 2026-09-14

### Added

- *(adapters)* drive probes on queued demand

### Fixed

- *(adapters)* use rand 0.10 make_rng
- *(latency)* age the minimum RTT baseline
- *(adapters)* arm dispatch notifications before checks

### Other

- *(api)* explain crate responsibilities
- *(readme)* explain Loadpace purpose
- *(tower)* advance paused clock for probes
- format workspace
- *(layout)* move core crate into workspace member

## [0.1.0-rc.2]https://github.com/conradludgate/loadpace/compare/loadpace-tower-v0.1.0-rc.1...loadpace-tower-v0.1.0-rc.2 - 2026-09-14

### Added

- *(probe)* schedule probes by time

### Fixed

- *(tower)* enable tokio select macro
- *(tower)* use runtime clock for dispatch deadlines
- *(probe)* wake Tower dispatches on transitions
- *(tower)* preserve endpoint thread safety
- *(tower)* replace shared readiness waker

### Other

- *(tower)* use timeout for dispatch wakeups
- *(tower)* trim runtime tokio features
- forbid unsafe code
- *(tower)* format probe closure
- *(tower)* arm probe wakeup timers
- *(tower)* avoid exact timer boundaries
- *(tower)* format controller helper
- *(tower)* centralize probe transition wakeups
- *(tower)* remove unsafe future projection
- *(tower)* narrow controller access