Skip to content

Commit

Permalink
changelog additions for 0.56 from #540
Browse files Browse the repository at this point in the history
  • Loading branch information
clux committed Jun 5, 2021
1 parent afd032d commit e0029d7
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions CHANGELOG.md
Expand Up @@ -9,6 +9,45 @@ UNRELEASED
- `discovery`: moved `ApiResource` and `ApiCapabilities` (result of discovery) to `kube_core::discovery`
- BREAKING: removed internal `ApiResource::from_apiresource`

* `kube::Client` is now configurable with layers using `tower-http` #539 via #540
- three new examples added: `custom_client`, `custom_client_tls` and `custom_client_trace`
- Big feature streamlining, big service and layer restructuring, dependency restructurings
- Changes can hit advanced users, but unlikely to hit base use cases with `Api` and `Client`.
- In depth changes broken down below:

### TLS Enhancements

- Add `kube::client::ConfigExt` extending `Config` for custom `Client`. This includes methods to configure TLS connection when building a custom client #539
- `native-tls`: `Config::native_tls_https_connector` and `Config::native_tls_connector`
- `rustls-tls`: `Config::rustls_https_connector` and `Config::rustls_client_config`
- Remove the requirement of having `native-tls` or `rustls-tls` enabled when `client` is enabled. Allow one, both or none.
- When both, the default Service will use `native-tls` because of #153. `rustls` can be still used with a custom client. Users will have an option to configure TLS at runtime.
- When none, HTTP connector is used.
- Remove TLS features from `kube-runtime`
- **BREAKING**: Features must be removed if specified
- Remove `client` feature from `native-tls` and `rust-tls` features
- `config` + `native-tls`/`rustls-tls` can be used independently, e.g., to create a simple HTTP client
- **BREAKING**: `client` feature must be added if `default-features = false`

### Layers
- `ConfigExt::base_uri_layer` (`BaseUriLayer`) to set cluster URL (#539)
- `ConfigExt::auth_layer` that returns optional layer to manage `Authorization` header (#539)
- `gzip`: Replaced custom decompression module with [`DecompressionLayer`](https://docs.rs/tower-http/0.1.0/tower_http/decompression/index.html) from `tower-http` (#539)
- Replaced custom `LogRequest` with [`TraceLayer`](https://docs.rs/tower-http/0.1.0/tower_http/trace/index.html) from `tower-http` (#539)
- Request body is no longer shown
- Basic and Bearer authentication using `AddAuthorizationLayer` (borrowing from https://github.com/tower-rs/tower-http/pull/95 until released)
- **BREAKING**: Remove `headers` from `Config`. Injecting arbitrary headers is now done with a layer on a custom client.

### Dependency Changes

- Remove `static_assertions` since it's no longer used
- Replace `tokio_rustls` with `rustls` and `webpki` since we're not using `tokio_rustls` directly
- Replace uses of `rustls::internal::pemfile` with `rustls-pemfile`
- Remove `url` and always use `http::Uri`
- **BREAKING**: `Config::cluster_url` is now `http::Uri`
- **BREAKING**: `Error::InternalUrlError(url::ParseError)` and `Error::MalformedUrl(url::ParseError)` replaced by `Error::InvalidUri(http::uri::InvalidUri)`


0.55.0 / 2021-05-21
===================
* `kube`: `client` feature added (default-enabled) - [#528](https://github.com/clux/kube-rs/issues/528)
Expand Down

0 comments on commit e0029d7

Please sign in to comment.