2017-10-30 20:46:39 -07:00
|
|
|
# Changes
|
2017-10-23 23:25:32 -07:00
|
|
|
|
2018-10-09 13:12:49 -07:00
|
|
|
## [0.7.11] - 2018-10-09
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fixed 204 responses for http/2
|
|
|
|
|
|
|
|
|
2018-10-09 11:35:57 -07:00
|
|
|
## [0.7.10] - 2018-10-09
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fixed panic during graceful shutdown
|
|
|
|
|
|
|
|
|
2018-10-08 21:58:37 -07:00
|
|
|
## [0.7.9] - 2018-10-09
|
2018-09-21 07:24:10 +03:00
|
|
|
|
2018-10-01 20:04:16 -07:00
|
|
|
### Added
|
|
|
|
|
|
|
|
* Added client shutdown timeout setting
|
|
|
|
|
|
|
|
* Added slow request timeout setting
|
|
|
|
|
2018-10-02 00:19:28 -07:00
|
|
|
* Respond with 408 response on slow request timeout #523
|
|
|
|
|
2018-10-01 20:04:16 -07:00
|
|
|
|
2018-09-21 07:24:10 +03:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* HTTP1 decoding errors are reported to the client. #512
|
2018-09-27 18:17:58 -07:00
|
|
|
|
2018-09-21 08:45:22 +03:00
|
|
|
* Correctly compose multiple allowed origins in CORS. #517
|
2018-09-21 07:24:10 +03:00
|
|
|
|
2018-09-27 18:17:58 -07:00
|
|
|
* Websocket server finished() isn't called if client disconnects #511
|
|
|
|
|
2018-10-03 00:15:48 +08:00
|
|
|
* Responses with the following codes: 100, 101, 102, 204 -- are sent without Content-Length header. #521
|
|
|
|
|
2018-10-02 20:09:31 +03:00
|
|
|
* Correct usage of `no_http2` flag in `bind_*` methods. #519
|
2018-09-27 18:17:58 -07:00
|
|
|
|
2018-10-02 13:41:33 -07:00
|
|
|
|
2018-09-17 10:48:37 -07:00
|
|
|
## [0.7.8] - 2018-09-17
|
2018-09-15 09:55:38 -07:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
2018-09-15 17:10:53 -07:00
|
|
|
* Use server `Keep-Alive` setting as slow request timeout #439
|
2018-09-15 09:55:38 -07:00
|
|
|
|
2018-09-15 09:57:54 -07:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Use 5 seconds keep-alive timer by default.
|
|
|
|
|
2018-09-15 17:09:07 -07:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fixed wrong error message for i16 type #510
|
|
|
|
|
2018-09-15 09:55:38 -07:00
|
|
|
|
2018-09-11 11:24:05 -07:00
|
|
|
## [0.7.7] - 2018-09-11
|
2018-09-12 00:24:10 +08:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fix linked list of HttpChannels #504
|
|
|
|
|
2018-09-11 11:24:05 -07:00
|
|
|
* Fix requests to TestServer fail #508
|
|
|
|
|
|
|
|
|
2018-09-07 20:47:54 -07:00
|
|
|
## [0.7.6] - 2018-09-07
|
2018-09-05 09:03:58 -07:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fix system_exit in HttpServer #501
|
2018-09-07 20:46:43 -07:00
|
|
|
|
2018-09-05 16:14:54 +02:00
|
|
|
* Fix parsing of route param containin regexes with repetition #500
|
2018-09-05 09:03:58 -07:00
|
|
|
|
2018-09-07 20:46:43 -07:00
|
|
|
### Changes
|
|
|
|
|
|
|
|
* Unhide `SessionBackend` and `SessionImpl` traits #455
|
|
|
|
|
|
|
|
|
2018-09-03 22:09:12 -07:00
|
|
|
## [0.7.5] - 2018-09-04
|
2018-08-29 20:58:23 +02:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
* Added the ability to pass a custom `TlsConnector`.
|
|
|
|
|
2018-09-02 07:47:19 -07:00
|
|
|
* Allow to register handlers on scope level #465
|
|
|
|
|
|
|
|
|
2018-08-31 17:24:13 -07:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Handle socket read disconnect
|
|
|
|
|
2018-09-02 08:14:54 -07:00
|
|
|
* Handling scoped paths without leading slashes #460
|
|
|
|
|
2018-09-03 22:09:12 -07:00
|
|
|
|
2018-09-03 21:35:11 -07:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
* Read client response until eof if connection header set to close #464
|
|
|
|
|
2018-08-31 17:24:13 -07:00
|
|
|
|
2018-08-23 12:54:59 -07:00
|
|
|
## [0.7.4] - 2018-08-23
|
2018-08-02 23:17:10 -07:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
2018-08-03 16:09:46 -07:00
|
|
|
* Added `HttpServer::maxconn()` and `HttpServer::maxconnrate()`,
|
2018-08-03 08:20:59 -07:00
|
|
|
accept backpressure #250
|
2018-08-02 23:17:10 -07:00
|
|
|
|
2018-08-07 10:01:29 +03:00
|
|
|
* Allow to customize connection handshake process via `HttpServer::listen_with()`
|
2018-08-03 16:09:46 -07:00
|
|
|
and `HttpServer::bind_with()` methods
|
|
|
|
|
2018-08-17 17:04:16 +01:00
|
|
|
* Support making client connections via `tokio-uds`'s `UnixStream` when "uds" feature is enabled #472
|
|
|
|
|
2018-08-09 13:08:59 -07:00
|
|
|
### Changed
|
|
|
|
|
2018-08-16 20:29:06 -07:00
|
|
|
* It is allowed to use function with up to 10 parameters for handler with `extractor parameters`.
|
2018-08-23 09:39:11 -07:00
|
|
|
`Route::with_config()`/`Route::with_async_config()` always passes configuration objects as tuple
|
|
|
|
even for handler with one parameter.
|
2018-08-16 20:29:06 -07:00
|
|
|
|
2018-08-09 13:08:59 -07:00
|
|
|
* native-tls - 0.2
|
|
|
|
|
2018-08-13 17:37:00 +03:00
|
|
|
* `Content-Disposition` is re-worked. Its parser is now more robust and handles quoted content better. See #461
|
|
|
|
|
2018-08-03 08:20:59 -07:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Use zlib instead of raw deflate for decoding and encoding payloads with
|
2018-08-03 14:56:26 +02:00
|
|
|
`Content-Encoding: deflate`.
|
|
|
|
|
2018-08-03 08:20:59 -07:00
|
|
|
* Fixed headers formating for CORS Middleware Access-Control-Expose-Headers #436
|
|
|
|
|
2018-08-04 08:56:33 -07:00
|
|
|
* Fix adding multiple response headers #446
|
|
|
|
|
2018-08-07 10:01:29 +03:00
|
|
|
* Client includes port in HOST header when it is not default(e.g. not 80 and 443). #448
|
2018-08-02 23:17:10 -07:00
|
|
|
|
2018-08-07 12:00:51 -07:00
|
|
|
* Panic during access without routing being set #452
|
|
|
|
|
2018-08-07 20:48:25 -07:00
|
|
|
* Fixed http/2 error handling
|
|
|
|
|
2018-08-07 12:49:40 -07:00
|
|
|
### Deprecated
|
|
|
|
|
|
|
|
* `HttpServer::no_http2()` is deprecated, use `OpensslAcceptor::with_flags()` or
|
|
|
|
`RustlsAcceptor::with_flags()` instead
|
|
|
|
|
|
|
|
* `HttpServer::listen_tls()`, `HttpServer::listen_ssl()`, `HttpServer::listen_rustls()` have been
|
|
|
|
deprecated in favor of `HttpServer::listen_with()` with specific `acceptor`.
|
|
|
|
|
|
|
|
* `HttpServer::bind_tls()`, `HttpServer::bind_ssl()`, `HttpServer::bind_rustls()` have been
|
|
|
|
deprecated in favor of `HttpServer::bind_with()` with specific `acceptor`.
|
|
|
|
|
2018-08-07 12:00:51 -07:00
|
|
|
|
2018-08-01 10:51:47 -07:00
|
|
|
## [0.7.3] - 2018-08-01
|
2018-07-30 10:23:28 -07:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
* Support HTTP/2 with rustls #36
|
|
|
|
|
2018-08-01 10:51:47 -07:00
|
|
|
* Allow TestServer to open a websocket on any URL (TestServer::ws_at()) #433
|
|
|
|
|
2018-07-31 08:51:24 -07:00
|
|
|
### Fixed
|
|
|
|
|
2018-08-01 10:51:47 -07:00
|
|
|
* Fixed failure 0.1.2 compatibility
|
|
|
|
|
2018-07-31 08:51:24 -07:00
|
|
|
* Do not override HOST header for client request #428
|
|
|
|
|
2018-07-31 09:06:05 -07:00
|
|
|
* Gz streaming, use `flate2::write::GzDecoder` #228
|
|
|
|
|
2018-07-31 15:40:52 -07:00
|
|
|
* HttpRequest::url_for is not working with scopes #429
|
|
|
|
|
2018-08-03 12:03:11 +00:00
|
|
|
* Fixed headers' formating for CORS Middleware `Access-Control-Expose-Headers` header value to HTTP/1.1 & HTTP/2 spec-compliant format #436
|
|
|
|
|
2018-07-30 10:23:28 -07:00
|
|
|
|
2018-07-26 09:11:50 -07:00
|
|
|
## [0.7.2] - 2018-07-26
|
2018-07-21 05:58:08 -07:00
|
|
|
|
2018-07-24 22:25:48 +02:00
|
|
|
### Added
|
|
|
|
|
2018-07-25 10:30:55 -07:00
|
|
|
* Add implementation of `FromRequest<S>` for `Option<T>` and `Result<T, Error>`
|
2018-07-24 22:25:48 +02:00
|
|
|
|
2018-07-25 10:30:55 -07:00
|
|
|
* Allow to handle application prefix, i.e. allow to handle `/app` path
|
2018-07-31 16:21:18 -07:00
|
|
|
for application with `/app` prefix.
|
2018-07-24 14:51:48 -07:00
|
|
|
Check [`App::prefix()`](https://actix.rs/actix-web/actix_web/struct.App.html#method.prefix)
|
|
|
|
api doc.
|
|
|
|
|
2018-07-25 10:30:55 -07:00
|
|
|
* Add `CookieSessionBackend::http_only` method to set `HttpOnly` directive of cookies
|
2018-07-24 14:51:48 -07:00
|
|
|
|
2018-07-25 10:30:55 -07:00
|
|
|
### Changed
|
2018-07-21 05:58:08 -07:00
|
|
|
|
2018-07-25 10:30:55 -07:00
|
|
|
* Upgrade to cookie 0.11
|
2018-07-21 05:58:08 -07:00
|
|
|
|
2018-07-25 10:30:55 -07:00
|
|
|
* Removed the timestamp from the default logger middleware
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Missing response header "content-encoding" #421
|
2018-07-21 05:58:08 -07:00
|
|
|
|
2018-07-25 15:38:02 -07:00
|
|
|
* Fix stream draining for http/2 connections #290
|
|
|
|
|
2018-07-24 14:18:04 -07:00
|
|
|
|
|
|
|
## [0.7.1] - 2018-07-21
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fixed default_resource 'not yet implemented' panic #410
|
|
|
|
|
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
## [0.7.0] - 2018-07-21
|
2018-05-24 09:24:04 -07:00
|
|
|
|
2018-06-02 09:15:44 -07:00
|
|
|
### Added
|
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
* Add `fs::StaticFileConfig` to provide means of customizing static
|
|
|
|
file services. It allows to map `mime` to `Content-Disposition`,
|
|
|
|
specify whether to use `ETag` and `Last-Modified` and allowed methods.
|
2018-07-20 07:49:25 +03:00
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
* Add `.has_prefixed_resource()` method to `router::ResourceInfo`
|
|
|
|
for route matching with prefix awareness
|
2018-07-10 13:05:20 +02:00
|
|
|
|
2018-06-14 00:19:48 +03:00
|
|
|
* Add `HttpMessage::readlines()` for reading line by line.
|
|
|
|
|
2018-06-12 20:32:16 +03:00
|
|
|
* Add `ClientRequestBuilder::form()` for sending `application/x-www-form-urlencoded` requests.
|
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
* Add method to configure custom error handler to `Form` extractor.
|
2018-06-13 01:33:28 +03:00
|
|
|
|
2018-06-12 13:49:07 +00:00
|
|
|
* Add methods to `HttpResponse` to retrieve, add, and delete cookies
|
|
|
|
|
2018-06-09 14:02:05 +00:00
|
|
|
* Add `.set_content_type()` and `.set_content_disposition()` methods
|
|
|
|
to `fs::NamedFile` to allow overriding the values inferred by default
|
|
|
|
|
|
|
|
* Add `fs::file_extension_to_mime()` helper function to get the MIME
|
|
|
|
type for a file extension
|
|
|
|
|
2018-06-07 17:59:35 +00:00
|
|
|
* Add `.content_disposition()` method to parse Content-Disposition of
|
|
|
|
multipart fields
|
|
|
|
|
2018-06-02 09:15:44 -07:00
|
|
|
* Re-export `actix::prelude::*` as `actix_web::actix` module.
|
|
|
|
|
2018-06-02 11:45:37 -07:00
|
|
|
* `HttpRequest::url_for_static()` for a named route with no variables segments
|
2018-06-02 09:15:44 -07:00
|
|
|
|
2018-06-21 19:37:34 +10:00
|
|
|
* Propagation of the application's default resource to scopes that haven't set a default resource.
|
|
|
|
|
2018-05-24 21:03:16 -07:00
|
|
|
|
2018-06-02 11:45:37 -07:00
|
|
|
### Changed
|
2018-05-24 21:03:16 -07:00
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
* Min rustc version is 1.26
|
2018-07-17 11:10:04 +03:00
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
* Use tokio instead of tokio-core
|
2018-07-17 11:10:04 +03:00
|
|
|
|
2018-07-20 14:10:41 -07:00
|
|
|
* `CookieSessionBackend` sets percent encoded cookies for outgoing HTTP messages.
|
|
|
|
|
|
|
|
* Became possible to use enums with query extractor.
|
|
|
|
Issue [#371](https://github.com/actix/actix-web/issues/371).
|
|
|
|
[Example](https://github.com/actix/actix-web/blob/master/tests/test_handlers.rs#L94-L134)
|
2018-05-24 21:09:20 -07:00
|
|
|
|
2018-06-12 13:49:07 +00:00
|
|
|
* `HttpResponse::into_builder()` now moves cookies into the builder
|
|
|
|
instead of dropping them
|
|
|
|
|
2018-06-21 17:07:54 +06:00
|
|
|
* For safety and performance reasons `Handler::handle()` uses `&self` instead of `&mut self`
|
2018-06-02 13:37:29 +10:00
|
|
|
|
2018-07-05 12:02:32 +06:00
|
|
|
* `Handler::handle()` uses `&HttpRequest` instead of `HttpRequest`
|
|
|
|
|
2018-06-04 22:34:07 +02:00
|
|
|
* Added header `User-Agent: Actix-web/<current_version>` to default headers when building a request
|
2018-06-02 11:45:37 -07:00
|
|
|
|
2018-06-20 21:05:26 -04:00
|
|
|
* port `Extensions` type from http create, we don't need `Send + Sync`
|
2018-06-17 03:24:08 +06:00
|
|
|
|
2018-07-05 12:02:32 +06:00
|
|
|
* `HttpRequest::query()` returns `Ref<HashMap<String, String>>`
|
|
|
|
|
|
|
|
* `HttpRequest::cookies()` returns `Ref<Vec<Cookie<'static>>>`
|
2018-06-17 08:54:30 +06:00
|
|
|
|
2018-07-05 19:34:13 +10:00
|
|
|
* `StaticFiles::new()` returns `Result<StaticFiles<S>, Error>` instead of `StaticFiles<S>`
|
|
|
|
|
|
|
|
* `StaticFiles` uses the default handler if the file does not exist
|
|
|
|
|
2018-06-07 20:09:08 -07:00
|
|
|
|
2018-06-01 10:55:54 -07:00
|
|
|
### Removed
|
|
|
|
|
|
|
|
* Remove `Route::with2()` and `Route::with3()` use tuple of extractors instead.
|
|
|
|
|
2018-06-17 08:48:50 +06:00
|
|
|
* Remove `HttpMessage::range()`
|
|
|
|
|
2018-07-05 12:02:32 +06:00
|
|
|
|
2018-07-11 13:34:40 +06:00
|
|
|
## [0.6.15] - 2018-07-11
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* Fix h2 compatibility #352
|
|
|
|
|
|
|
|
* Fix duplicate tail of StaticFiles with index_file. #344
|
|
|
|
|
|
|
|
|
2018-06-21 09:38:59 +06:00
|
|
|
## [0.6.14] - 2018-06-21
|
|
|
|
|
2018-06-21 09:47:28 +06:00
|
|
|
### Added
|
|
|
|
|
2018-06-21 09:38:59 +06:00
|
|
|
* Allow to disable masking for websockets client
|
|
|
|
|
2018-06-21 09:47:28 +06:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* SendRequest execution fails with the "internal error: entered unreachable code" #329
|
|
|
|
|
2018-05-24 09:24:04 -07:00
|
|
|
|
2018-06-12 14:47:45 -07:00
|
|
|
## [0.6.13] - 2018-06-11
|
|
|
|
|
|
|
|
* http/2 end-of-frame is not set if body is empty bytes #307
|
|
|
|
|
|
|
|
* InternalError can trigger memory unsafety #301
|
|
|
|
|
|
|
|
|
2018-06-08 16:33:57 -07:00
|
|
|
## [0.6.12] - 2018-06-08
|
2018-06-07 20:09:08 -07:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
* Add `Host` filter #287
|
|
|
|
|
|
|
|
* Allow to filter applications
|
|
|
|
|
|
|
|
* Improved failure interoperability with downcasting #285
|
|
|
|
|
2018-06-08 16:33:57 -07:00
|
|
|
* Allow to use custom resolver for `ClientConnector`
|
|
|
|
|
2018-06-07 20:09:08 -07:00
|
|
|
|
2018-06-05 09:45:07 -07:00
|
|
|
## [0.6.11] - 2018-06-05
|
2018-06-02 11:45:37 -07:00
|
|
|
|
2018-06-02 14:57:56 -07:00
|
|
|
* Support chunked encoding for UrlEncoded body #262
|
|
|
|
|
2018-06-02 11:45:37 -07:00
|
|
|
* `HttpRequest::url_for()` for a named route with no variables segments #265
|
|
|
|
|
2018-06-04 13:43:52 -07:00
|
|
|
* `Middleware::response()` is not invoked if error result was returned by another `Middleware::start()` #255
|
|
|
|
|
2018-06-05 07:40:11 -07:00
|
|
|
* CORS: Do not validate Origin header on non-OPTION requests #271
|
|
|
|
|
2018-06-05 08:55:28 -07:00
|
|
|
* Fix multipart upload "Incomplete" error #282
|
|
|
|
|
2018-06-02 11:45:37 -07:00
|
|
|
|
2018-05-24 07:56:51 -07:00
|
|
|
## [0.6.10] - 2018-05-24
|
2018-05-23 10:37:17 -07:00
|
|
|
|
2018-05-23 13:21:29 -07:00
|
|
|
### Added
|
|
|
|
|
2018-06-20 21:05:26 -04:00
|
|
|
* Allow to use path without trailing slashes for scope registration #241
|
2018-05-23 13:21:29 -07:00
|
|
|
|
2018-05-24 07:56:51 -07:00
|
|
|
* Allow to set encoding for exact NamedFile #239
|
|
|
|
|
2018-05-23 10:37:17 -07:00
|
|
|
### Fixed
|
|
|
|
|
|
|
|
* `TestServer::post()` actually sends `GET` request #240
|
|
|
|
|
|
|
|
|
2018-05-21 19:07:56 -07:00
|
|
|
## 0.6.9 (2018-05-22)
|
|
|
|
|
2018-05-21 20:50:10 -07:00
|
|
|
* Drop connection if request's payload is not fully consumed #236
|
|
|
|
|
|
|
|
* Fix streaming response with body compression
|
2018-05-21 18:54:17 -07:00
|
|
|
|
|
|
|
|
2018-05-20 21:09:54 -07:00
|
|
|
## 0.6.8 (2018-05-20)
|
|
|
|
|
2018-05-20 17:04:08 -07:00
|
|
|
* Fix scope resource path extractor #234
|
|
|
|
|
2018-05-20 20:47:20 -07:00
|
|
|
* Re-use tcp listener on pause/resume
|
|
|
|
|
2018-05-20 17:04:08 -07:00
|
|
|
|
2018-05-17 18:33:48 -07:00
|
|
|
## 0.6.7 (2018-05-17)
|
|
|
|
|
|
|
|
* Fix compilation with --no-default-features
|
|
|
|
|
|
|
|
|
2018-05-16 21:02:51 -07:00
|
|
|
## 0.6.6 (2018-05-17)
|
2018-05-15 19:08:34 -07:00
|
|
|
|
2018-05-16 11:00:29 -07:00
|
|
|
* Panic during middleware execution #226
|
2018-05-15 19:08:34 -07:00
|
|
|
|
2018-05-16 11:02:50 -07:00
|
|
|
* Add support for listen_tls/listen_ssl #224
|
|
|
|
|
2018-05-16 21:02:51 -07:00
|
|
|
* Implement extractor for `Session`
|
|
|
|
|
2018-05-17 12:20:04 -07:00
|
|
|
* Ranges header support for NamedFile #60
|
|
|
|
|
2018-05-15 19:08:34 -07:00
|
|
|
|
2018-05-15 09:29:59 -07:00
|
|
|
## 0.6.5 (2018-05-15)
|
|
|
|
|
|
|
|
* Fix error handling during request decoding #222
|
|
|
|
|
|
|
|
|
2018-05-11 21:19:48 -07:00
|
|
|
## 0.6.4 (2018-05-11)
|
|
|
|
|
|
|
|
* Fix segfault in ServerSettings::get_response_builder()
|
|
|
|
|
|
|
|
|
2018-05-10 15:45:06 -07:00
|
|
|
## 0.6.3 (2018-05-10)
|
2018-05-09 16:27:31 -07:00
|
|
|
|
|
|
|
* Add `Router::with_async()` method for async handler registration.
|
|
|
|
|
2018-05-10 09:13:26 -07:00
|
|
|
* Added error response functions for 501,502,503,504
|
|
|
|
|
2018-05-10 09:37:38 -07:00
|
|
|
* Fix client request timeout handling
|
|
|
|
|
2018-05-09 16:27:31 -07:00
|
|
|
|
2018-05-09 05:48:06 -07:00
|
|
|
## 0.6.2 (2018-05-09)
|
|
|
|
|
|
|
|
* WsWriter trait is optional.
|
|
|
|
|
|
|
|
|
2018-05-08 15:44:50 -07:00
|
|
|
## 0.6.1 (2018-05-08)
|
|
|
|
|
|
|
|
* Fix http/2 payload streaming #215
|
2018-05-08 13:41:04 -07:00
|
|
|
|
|
|
|
* Fix connector's default `keep-alive` and `lifetime` settings #212
|
|
|
|
|
2018-05-08 22:45:28 +02:00
|
|
|
* Send `ErrorNotFound` instead of `ErrorBadRequest` when path extractor fails #214
|
|
|
|
|
2018-05-08 16:30:34 -07:00
|
|
|
* Allow to exclude certain endpoints from logging #211
|
|
|
|
|
2018-05-08 18:34:36 -07:00
|
|
|
|
2018-05-07 15:19:03 -07:00
|
|
|
## 0.6.0 (2018-05-08)
|
2018-04-26 08:01:08 -07:00
|
|
|
|
2018-04-29 19:35:50 -07:00
|
|
|
* Add route scopes #202
|
|
|
|
|
2018-04-30 19:56:17 -07:00
|
|
|
* Allow to use ssl and non-ssl connections at the same time #206
|
|
|
|
|
2018-04-26 08:01:08 -07:00
|
|
|
* Websocket CloseCode Empty/Status is ambiguous #193
|
|
|
|
|
2018-04-29 08:24:19 -07:00
|
|
|
* Add Content-Disposition to NamedFile #204
|
|
|
|
|
2018-04-29 14:21:50 -07:00
|
|
|
* Allow to access Error's backtrace object
|
|
|
|
|
2018-05-02 15:53:07 -07:00
|
|
|
* Allow to override files listing renderer for `StaticFiles` #203
|
|
|
|
|
2018-05-02 13:43:51 -07:00
|
|
|
* Various extractor usability improvements #207
|
|
|
|
|
2018-04-26 08:01:08 -07:00
|
|
|
|
2018-04-24 12:25:31 -07:00
|
|
|
## 0.5.6 (2018-04-24)
|
|
|
|
|
|
|
|
* Make flate2 crate optional #200
|
|
|
|
|
|
|
|
|
2018-04-24 09:29:15 -07:00
|
|
|
## 0.5.5 (2018-04-24)
|
2018-04-21 07:56:11 -07:00
|
|
|
|
|
|
|
* Fix panic when Websocket is closed with no error code #191
|
|
|
|
|
2018-04-24 09:29:15 -07:00
|
|
|
* Allow to use rust backend for flate2 crate #199
|
2018-04-21 07:56:11 -07:00
|
|
|
|
2018-04-19 07:55:09 -07:00
|
|
|
## 0.5.4 (2018-04-19)
|
2018-04-18 14:15:53 -07:00
|
|
|
|
2018-04-18 19:05:24 -07:00
|
|
|
* Add identity service middleware
|
|
|
|
|
2018-04-18 14:15:53 -07:00
|
|
|
* Middleware response() is not invoked if there was an error in async handler #187
|
|
|
|
|
2018-04-19 07:55:09 -07:00
|
|
|
* Use Display formatting for InternalError Display implementation #188
|
|
|
|
|
2018-04-18 14:15:53 -07:00
|
|
|
|
2018-04-18 10:45:59 -07:00
|
|
|
## 0.5.3 (2018-04-18)
|
2018-04-17 12:55:13 -07:00
|
|
|
|
|
|
|
* Impossible to quote slashes in path parameters #182
|
|
|
|
|
2018-04-11 19:05:14 -07:00
|
|
|
|
2018-04-16 09:30:59 -07:00
|
|
|
## 0.5.2 (2018-04-16)
|
2018-04-13 10:13:12 -07:00
|
|
|
|
2018-04-13 19:46:14 -07:00
|
|
|
* Allow to configure StaticFiles's CpuPool, via static method or env variable
|
|
|
|
|
2018-04-13 19:19:30 -07:00
|
|
|
* Add support for custom handling of Json extractor errors #181
|
|
|
|
|
2018-04-13 10:13:12 -07:00
|
|
|
* Fix StaticFiles does not support percent encoded paths #177
|
|
|
|
|
2018-04-15 10:22:09 -07:00
|
|
|
* Fix Client Request with custom Body Stream halting on certain size requests #176
|
|
|
|
|
2018-04-13 10:13:12 -07:00
|
|
|
|
2018-04-12 16:03:22 -07:00
|
|
|
## 0.5.1 (2018-04-12)
|
2018-04-11 19:05:14 -07:00
|
|
|
|
|
|
|
* Client connector provides stats, `ClientConnector::stats()`
|
|
|
|
|
2018-04-12 09:54:35 -07:00
|
|
|
* Fix end-of-stream handling in parse_payload #173
|
|
|
|
|
2018-04-12 15:50:20 -07:00
|
|
|
* Fix StaticFiles generate a lot of threads #174
|
|
|
|
|
2018-04-11 19:05:14 -07:00
|
|
|
|
|
|
|
## 0.5.0 (2018-04-10)
|
2018-03-21 11:51:08 -07:00
|
|
|
|
2018-04-02 14:00:18 -07:00
|
|
|
* Type-safe path/query/form parameter handling, using serde #70
|
2018-03-26 18:18:38 -07:00
|
|
|
|
2018-03-31 09:18:25 -07:00
|
|
|
* HttpResponse builder's methods `.body()`, `.finish()`, `.json()`
|
|
|
|
return `HttpResponse` instead of `Result`
|
|
|
|
|
2018-03-29 11:39:21 -07:00
|
|
|
* Use more ergonomic `actix_web::Error` instead of `http::Error` for `ClientRequestBuilder::body()`
|
|
|
|
|
2018-04-11 16:46:21 -07:00
|
|
|
* Added `signed` and `private` `CookieSessionBackend`s
|
|
|
|
|
2018-04-02 22:08:04 -07:00
|
|
|
* Added `HttpRequest::resource()`, returns current matched resource
|
|
|
|
|
|
|
|
* Added `ErrorHandlers` middleware
|
2018-04-01 17:37:22 -07:00
|
|
|
|
2018-04-10 10:13:52 -07:00
|
|
|
* Fix router cannot parse Non-ASCII characters in URL #137
|
|
|
|
|
|
|
|
* Fix client connection pooling
|
2018-03-28 16:10:58 -07:00
|
|
|
|
2018-03-22 07:44:16 -07:00
|
|
|
* Fix long client urls #129
|
|
|
|
|
2018-03-22 18:08:12 -07:00
|
|
|
* Fix panic on invalid URL characters #130
|
|
|
|
|
2018-04-02 11:09:24 -07:00
|
|
|
* Fix logger request duration calculation #152
|
|
|
|
|
2018-04-10 10:13:52 -07:00
|
|
|
* Fix prefix and static file serving #168
|
|
|
|
|
2018-03-21 11:51:08 -07:00
|
|
|
|
2018-03-20 15:53:39 -07:00
|
|
|
## 0.4.10 (2018-03-20)
|
2018-03-18 11:05:44 -07:00
|
|
|
|
2018-03-18 14:18:47 -07:00
|
|
|
* Use `Error` instead of `InternalError` for `error::ErrorXXXX` methods
|
2018-03-18 11:05:44 -07:00
|
|
|
|
2018-03-18 19:27:51 -07:00
|
|
|
* Allow to set client request timeout
|
|
|
|
|
|
|
|
* Allow to set client websocket handshake timeout
|
|
|
|
|
2018-03-20 11:40:05 -07:00
|
|
|
* Refactor `TestServer` configuration
|
|
|
|
|
2018-03-19 17:27:03 -07:00
|
|
|
* Fix server websockets big payloads support
|
|
|
|
|
2018-03-20 11:40:05 -07:00
|
|
|
* Fix http/2 date header generation
|
2018-03-20 11:23:35 -07:00
|
|
|
|
2018-03-18 11:05:44 -07:00
|
|
|
|
2018-03-16 08:48:44 -07:00
|
|
|
## 0.4.9 (2018-03-16)
|
|
|
|
|
|
|
|
* Allow to disable http/2 support
|
2018-03-12 16:16:17 -07:00
|
|
|
|
2018-03-12 16:29:13 -07:00
|
|
|
* Wake payload reading task when data is available
|
|
|
|
|
2018-03-12 16:16:17 -07:00
|
|
|
* Fix server keep-alive handling
|
|
|
|
|
2018-03-13 13:15:21 -07:00
|
|
|
* Send Query Parameters in client requests #120
|
|
|
|
|
2018-03-13 17:21:22 -07:00
|
|
|
* Move brotli encoding to a feature
|
|
|
|
|
2018-03-16 12:04:01 -07:00
|
|
|
* Add option of default handler for `StaticFiles` handler #57
|
|
|
|
|
|
|
|
* Add basic client connection pooling
|
2018-03-11 15:05:13 +03:00
|
|
|
|
2018-03-12 16:29:13 -07:00
|
|
|
|
2018-03-12 09:13:04 -07:00
|
|
|
## 0.4.8 (2018-03-12)
|
2018-03-12 09:01:19 -07:00
|
|
|
|
2018-03-12 10:01:56 -07:00
|
|
|
* Allow to set read buffer capacity for server request
|
|
|
|
|
|
|
|
* Handle WouldBlock error for socket accept call
|
2018-03-12 09:01:19 -07:00
|
|
|
|
2018-03-12 09:13:04 -07:00
|
|
|
|
2018-03-11 16:37:44 -07:00
|
|
|
## 0.4.7 (2018-03-11)
|
2018-03-11 14:50:13 -07:00
|
|
|
|
|
|
|
* Fix panic on unknown content encoding
|
|
|
|
|
2018-03-11 15:37:33 -07:00
|
|
|
* Fix connection get closed too early
|
|
|
|
|
2018-03-11 16:53:46 -07:00
|
|
|
* Fix streaming response handling for http/2
|
2018-03-11 16:37:44 -07:00
|
|
|
|
2018-03-11 16:52:20 -07:00
|
|
|
* Better sleep on error support
|
|
|
|
|
2018-03-11 16:37:44 -07:00
|
|
|
|
2018-03-10 10:42:46 -08:00
|
|
|
## 0.4.6 (2018-03-10)
|
2018-03-08 20:56:18 -08:00
|
|
|
|
2018-03-08 11:16:54 -08:00
|
|
|
* Fix client cookie handling
|
|
|
|
|
2018-03-10 10:27:29 -08:00
|
|
|
* Fix json content type detection
|
|
|
|
|
2018-03-10 10:42:46 -08:00
|
|
|
* Fix CORS middleware #117
|
|
|
|
|
2018-03-08 20:56:18 -08:00
|
|
|
* Optimize websockets stream support
|
|
|
|
|
2018-03-07 22:40:46 -08:00
|
|
|
|
2018-03-07 21:28:54 -08:00
|
|
|
## 0.4.5 (2018-03-07)
|
2018-03-06 15:26:09 -07:00
|
|
|
|
2018-03-06 11:02:03 -08:00
|
|
|
* Fix compression #103 and #104
|
|
|
|
|
2018-03-07 06:14:44 -08:00
|
|
|
* Fix client cookie handling #111
|
2018-03-06 22:36:34 -08:00
|
|
|
|
2018-03-07 17:40:13 -08:00
|
|
|
* Non-blocking processing of a `NamedFile`
|
|
|
|
|
2018-03-05 13:31:30 -08:00
|
|
|
* Enable compression support for `NamedFile`
|
|
|
|
|
2018-03-06 00:43:25 -08:00
|
|
|
* Better support for `NamedFile` type
|
|
|
|
|
2018-03-07 22:40:46 -08:00
|
|
|
* Add `ResponseError` impl for `SendRequestError`. This improves ergonomics of the client.
|
2018-03-11 15:05:13 +03:00
|
|
|
|
2018-03-06 23:04:18 -08:00
|
|
|
* Add native-tls support for client
|
|
|
|
|
2018-03-06 17:04:48 -08:00
|
|
|
* Allow client connection timeout to be set #108
|
|
|
|
|
2018-03-07 11:28:44 -08:00
|
|
|
* Allow to use std::net::TcpListener for HttpServer
|
|
|
|
|
2018-03-07 21:10:53 -08:00
|
|
|
* Handle panics in worker threads
|
|
|
|
|
2018-03-06 15:26:09 -07:00
|
|
|
|
2018-03-04 20:28:06 -08:00
|
|
|
## 0.4.4 (2018-03-04)
|
2018-03-04 09:48:23 -08:00
|
|
|
|
2018-03-04 10:33:18 -08:00
|
|
|
* Allow to use Arc<Vec<u8>> as response/request body
|
|
|
|
|
2018-03-04 09:48:23 -08:00
|
|
|
* Fix handling of requests with an encoded body with a length > 8192 #93
|
|
|
|
|
2018-03-03 18:46:22 -08:00
|
|
|
## 0.4.3 (2018-03-03)
|
2018-03-03 09:29:36 -08:00
|
|
|
|
|
|
|
* Fix request body read bug
|
|
|
|
|
2018-03-03 18:46:22 -08:00
|
|
|
* Fix segmentation fault #79
|
|
|
|
|
2018-03-03 09:29:36 -08:00
|
|
|
* Set reuse address before bind #90
|
|
|
|
|
|
|
|
|
2018-03-02 22:31:58 -08:00
|
|
|
## 0.4.2 (2018-03-02)
|
2018-03-02 11:29:55 -08:00
|
|
|
|
|
|
|
* Better naming for websockets implementation
|
|
|
|
|
2018-03-02 20:39:22 -08:00
|
|
|
* Add `Pattern::with_prefix()`, make it more usable outside of actix
|
|
|
|
|
|
|
|
* Add csrf middleware for filter for cross-site request forgery #89
|
2018-03-02 12:26:31 -08:00
|
|
|
|
2018-03-02 20:47:23 -08:00
|
|
|
* Fix disconnect on idle connections
|
|
|
|
|
2018-03-02 11:29:55 -08:00
|
|
|
|
2018-03-01 18:26:26 -08:00
|
|
|
## 0.4.1 (2018-03-01)
|
|
|
|
|
2018-03-01 18:32:31 -08:00
|
|
|
* Rename `Route::p()` to `Route::filter()`
|
|
|
|
|
2018-03-01 19:12:59 -08:00
|
|
|
* Better naming for http codes
|
|
|
|
|
2018-03-01 18:26:26 -08:00
|
|
|
* Fix payload parse in situation when socket data is not ready.
|
2018-02-28 19:51:14 +00:00
|
|
|
|
2018-02-28 12:35:16 -08:00
|
|
|
* Fix Session mutable borrow lifetime #87
|
2018-02-28 19:51:14 +00:00
|
|
|
|
|
|
|
|
2018-02-27 23:30:26 -08:00
|
|
|
## 0.4.0 (2018-02-28)
|
2018-02-18 22:23:17 -08:00
|
|
|
|
|
|
|
* Actix 0.5 compatibility
|
2018-01-25 21:50:28 -08:00
|
|
|
|
2018-02-27 23:30:26 -08:00
|
|
|
* Fix request json/urlencoded loaders
|
2018-01-25 21:50:28 -08:00
|
|
|
|
2018-02-18 22:23:17 -08:00
|
|
|
* Simplify HttpServer type definition
|
|
|
|
|
2018-02-27 11:31:54 -08:00
|
|
|
* Added HttpRequest::encoding() method
|
|
|
|
|
2018-01-25 21:50:28 -08:00
|
|
|
* Added HttpRequest::mime_type() method
|
|
|
|
|
2018-02-18 22:23:17 -08:00
|
|
|
* Added HttpRequest::uri_mut(), allows to modify request uri
|
|
|
|
|
2018-01-29 03:23:45 -08:00
|
|
|
* Added StaticFiles::index_file()
|
|
|
|
|
2018-02-19 13:41:21 -08:00
|
|
|
* Added http client
|
|
|
|
|
2018-02-24 07:29:35 +03:00
|
|
|
* Added websocket client
|
2018-01-29 03:23:45 -08:00
|
|
|
|
2018-02-18 22:23:17 -08:00
|
|
|
* Added TestServer::ws(), test websockets client
|
|
|
|
|
2018-02-24 07:29:35 +03:00
|
|
|
* Added TestServer http client support
|
2018-02-19 13:41:21 -08:00
|
|
|
|
2018-02-18 22:23:17 -08:00
|
|
|
* Allow to override content encoding on application level
|
|
|
|
|
2018-01-25 21:50:28 -08:00
|
|
|
|
2018-01-25 10:24:04 -08:00
|
|
|
## 0.3.3 (2018-01-25)
|
2018-01-24 20:12:49 -08:00
|
|
|
|
|
|
|
* Stop processing any events after context stop
|
|
|
|
|
2018-01-25 10:24:04 -08:00
|
|
|
* Re-enable write back-pressure for h1 connections
|
|
|
|
|
|
|
|
* Refactor HttpServer::start_ssl() method
|
|
|
|
|
|
|
|
* Upgrade openssl to 0.10
|
|
|
|
|
2018-01-24 20:12:49 -08:00
|
|
|
|
2018-01-21 08:12:04 -08:00
|
|
|
## 0.3.2 (2018-01-21)
|
2018-01-13 18:58:17 -08:00
|
|
|
|
2018-01-20 16:12:38 -08:00
|
|
|
* Fix HEAD requests handling
|
|
|
|
|
2018-01-20 20:12:24 -08:00
|
|
|
* Log request processing errors
|
|
|
|
|
2018-01-21 08:31:46 -08:00
|
|
|
* Always enable content encoding if encoding explicitly selected
|
|
|
|
|
2018-01-20 20:12:24 -08:00
|
|
|
* Allow multiple Applications on a single server with different state #49
|
2018-01-13 18:58:17 -08:00
|
|
|
|
2018-01-20 16:36:57 -08:00
|
|
|
* CORS middleware: allowed_headers is defaulting to None #50
|
2018-01-13 18:58:17 -08:00
|
|
|
|
2018-01-20 20:12:24 -08:00
|
|
|
|
2018-01-13 16:57:01 -08:00
|
|
|
## 0.3.1 (2018-01-13)
|
2018-01-13 11:17:48 -08:00
|
|
|
|
2018-01-13 12:46:43 -08:00
|
|
|
* Fix directory entry path #47
|
|
|
|
|
|
|
|
* Do not enable chunked encoding for HTTP/1.0
|
2018-01-13 11:17:48 -08:00
|
|
|
|
2018-01-13 16:57:01 -08:00
|
|
|
* Allow explicitly disable chunked encoding
|
2018-01-13 16:17:33 -08:00
|
|
|
|
2017-10-23 23:25:32 -07:00
|
|
|
|
2018-01-12 12:31:33 -08:00
|
|
|
## 0.3.0 (2018-01-12)
|
2017-11-06 01:24:49 -08:00
|
|
|
|
|
|
|
* HTTP/2 Support
|
|
|
|
|
2017-11-30 14:42:20 -08:00
|
|
|
* Refactor streaming responses
|
|
|
|
|
2017-11-15 20:06:28 -10:00
|
|
|
* Refactor error handling
|
|
|
|
|
2017-11-09 22:08:54 -08:00
|
|
|
* Asynchronous middlewares
|
|
|
|
|
2017-11-10 13:26:12 -08:00
|
|
|
* Refactor logger middleware
|
|
|
|
|
2017-11-19 17:26:31 -10:00
|
|
|
* Content compression/decompression (br, gzip, deflate)
|
|
|
|
|
2018-01-03 23:59:12 -08:00
|
|
|
* Server multi-threading
|
|
|
|
|
2018-06-20 21:05:26 -04:00
|
|
|
* Graceful shutdown support
|
2018-01-03 23:59:12 -08:00
|
|
|
|
2017-11-06 01:24:49 -08:00
|
|
|
|
2017-11-03 13:35:34 -07:00
|
|
|
## 0.2.1 (2017-11-03)
|
2017-11-01 16:34:58 -07:00
|
|
|
|
|
|
|
* Allow to start tls server with `HttpServer::serve_tls`
|
|
|
|
|
2017-11-03 13:35:34 -07:00
|
|
|
* Export `Frame` enum
|
|
|
|
|
|
|
|
* Add conversion impl from `HttpResponse` and `BinaryBody` to a `Frame`
|
|
|
|
|
2017-11-06 01:24:49 -08:00
|
|
|
|
2017-10-30 20:39:56 -07:00
|
|
|
## 0.2.0 (2017-10-30)
|
2017-10-23 23:25:32 -07:00
|
|
|
|
2017-10-27 22:19:00 -07:00
|
|
|
* Do not use `http::Uri` as it can not parse some valid paths
|
|
|
|
|
2017-10-23 23:25:32 -07:00
|
|
|
* Refactor response `Body`
|
|
|
|
|
|
|
|
* Refactor `RouteRecognizer` usability
|
|
|
|
|
2017-10-23 23:39:01 -07:00
|
|
|
* Refactor `HttpContext::write`
|
|
|
|
|
2017-10-26 23:14:33 -07:00
|
|
|
* Refactor `Payload` stream
|
|
|
|
|
2017-10-23 23:39:01 -07:00
|
|
|
* Re-use `BinaryBody` for `Frame::Payload`
|
|
|
|
|
2017-10-29 20:51:06 -07:00
|
|
|
* Stop http actor on `write_eof`
|
|
|
|
|
2017-10-25 16:25:26 -07:00
|
|
|
* Fix disconnection handling.
|
|
|
|
|
2017-10-23 23:25:32 -07:00
|
|
|
|
|
|
|
## 0.1.0 (2017-10-23)
|
|
|
|
|
|
|
|
* First release
|