Releases: opsani/servox
Releases · opsani/servox
v0.5.1
Removed
- Migrated servo-webhooks into a standalone project (see https://github.com/opsani/servo-webhooks)
v0.5.0
Added
- Support for optimization using the Canary strategy.
- Introduced Webhooks connector.
- Introduced new Kubernetes testing firepower
v0.4.2
Fixed
- The init command output formatting was broken when accepting defaults.
v0.4.1
[0.4.1] - 2020-07-24
Fixed
- The
respx
mocking library was in the main project dependencies instead of dev dependencies.
v0.4.0
[0.4.0] - 2020-07-24
The headline feature of this release is the adoption of asyncio as a core part of the architecture. The eventing subsystem now dispatches events asynchronously and executes tasks concurrently whenever possible. This allows the servo to parallelize operations such as pulling metrics from multiple backends at once, driving multiple instances of a load generator, etc.
The Prometheus connector is also now on tree and functional. It will mature during the v0.4.x cycle.
Fixed
- Docker image builds now correctly support excluding development dependencies via the
SERVO_ENV
build argument.
Added
- Docker images are now published to Docker Hub with README content from
docs/README-DOCKERHUB.md
. - Introduced Duration class for modeling time durations as Golang style duration strings.
- BaseConfiguration now provides a
yaml
method for easily serializing config to YAML. - BaseConfiguration now provides a
json_encoders
static method for easily accessing the default encoders. - The Vegeta connector now validates the
target
andtargets
settings. - The check command now supports a verbose and non-verbose modes for outputting multiple checks from a connector.
- The version command can now output version data for connectors.
- The connectors command now outputs names for displaying aliased configurations.
- The servo now runs asynchronously on top of asyncio.
- Added start-up banner to run command.
Removed
- The
durationpy
package has been removed in favor of a local implementation.
Changed
- Updated Docker and Docker Compose configurations to use
/servo/opsani.token
as the default path for API tokens mounted as a file. - Docker images pushed to Docker Hub are now built with
SERVO_ENV=production
to exclude development packages. - The reporting interval is now configurable on
VegetaConfiguration
. - The check event now returns a list of checks instead of one result.
- Removed the 'Connector
suffix from the default connector name attribute and introduced
full_name`. - The
__config_key__
attribute has been renamed to__default_name__
. - The identifier for connectors has been renamed to
name
for simplicity and clarity. - The
ServoAssembly
class has been renamed toAssembly
.
v0.3.1
Fixed
- Eliminated secondary connectors package to eliminate Docker & PyPI distribution issues.
v0.3.0
[0.3.0] - 2020-07-15
Added
- Config files can be outputted in Kubernetes ConfigMap format (
servo config -f configmap
). - All Connectors can now dispatch events (previously only available to the
Servo
class). Optimizer
now includes anapi_url
property.- Event accessor
Connector.events
andConnector.get_event
. - Project automation via GitHub Actions (Dependabot, release-drafter, PyPI release, Docker builds).
Removed
- Removed
ServoAssembly.default_routes
from the API (usage eliminated).
Changed
- Normalized naming of miscellaneous config methods.
- Renamed
ServoAssembly.all_connectors
toServoAssembly.all_connector_types
for clarity. - Updated a handful of dependencies.
Fixed
- Pydantic will no longer see self-references between connectors (avoids recursion sharp edge).