A now defunct web server engine that is notable for its overuse of unsafe code, the memory safety bugs caused by that, and its deletion by its creator.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGES.md 7.9 KiB

2 years ago
9 months ago
9 months ago
9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. # Changes
  2. ## [2.0.NEXT] - 2020-01-xx
  3. ### Changed
  4. * Use `sha-1` crate instead of unmaintained `sha1` crate
  5. ## [2.0.0] - 2019-12-25
  6. ### Changed
  7. * Rename `HttpServer::start()` to `HttpServer::run()`
  8. * Allow to gracefully stop test server via `TestServer::stop()`
  9. * Allow to specify multi-patterns for resources
  10. ## [2.0.0-rc] - 2019-12-20
  11. ### Changed
  12. * Move `BodyEncoding` to `dev` module #1220
  13. * Allow to set `peer_addr` for TestRequest #1074
  14. * Make web::Data deref to Arc<T> #1214
  15. * Rename `App::register_data()` to `App::app_data()`
  16. * `HttpRequest::app_data<T>()` returns `Option<&T>` instead of `Option<&Data<T>>`
  17. ### Fixed
  18. * Fix `AppConfig::secure()` is always false. #1202
  19. ## [2.0.0-alpha.6] - 2019-12-15
  20. ### Fixed
  21. * Fixed compilation with default features off
  22. ## [2.0.0-alpha.5] - 2019-12-13
  23. ### Added
  24. * Add test server, `test::start()` and `test::start_with()`
  25. ## [2.0.0-alpha.4] - 2019-12-08
  26. ### Deleted
  27. * Delete HttpServer::run(), it is not useful witht async/await
  28. ## [2.0.0-alpha.3] - 2019-12-07
  29. ### Changed
  30. * Migrate to tokio 0.2
  31. ## [2.0.0-alpha.1] - 2019-11-22
  32. ### Changed
  33. * Migrated to `std::future`
  34. * Remove implementation of `Responder` for `()`. (#1167)
  35. ## [1.0.9] - 2019-11-14
  36. ### Added
  37. * Add `Payload::into_inner` method and make stored `def::Payload` public. (#1110)
  38. ### Changed
  39. * Support `Host` guards when the `Host` header is unset (e.g. HTTP/2 requests) (#1129)
  40. ## [1.0.8] - 2019-09-25
  41. ### Added
  42. * Add `Scope::register_data` and `Resource::register_data` methods, parallel to
  43. `App::register_data`.
  44. * Add `middleware::Condition` that conditionally enables another middleware
  45. * Allow to re-construct `ServiceRequest` from `HttpRequest` and `Payload`
  46. * Add `HttpServer::listen_uds` for ability to listen on UDS FD rather than path,
  47. which is useful for example with systemd.
  48. ### Changed
  49. * Make UrlEncodedError::Overflow more informativve
  50. * Use actix-testing for testing utils
  51. ## [1.0.7] - 2019-08-29
  52. ### Fixed
  53. * Request Extensions leak #1062
  54. ## [1.0.6] - 2019-08-28
  55. ### Added
  56. * Re-implement Host predicate (#989)
  57. * Form immplements Responder, returning a `application/x-www-form-urlencoded` response
  58. * Add `into_inner` to `Data`
  59. * Add `test::TestRequest::set_form()` convenience method to automatically serialize data and set
  60. the header in test requests.
  61. ### Changed
  62. * `Query` payload made `pub`. Allows user to pattern-match the payload.
  63. * Enable `rust-tls` feature for client #1045
  64. * Update serde_urlencoded to 0.6.1
  65. * Update url to 2.1
  66. ## [1.0.5] - 2019-07-18
  67. ### Added
  68. * Unix domain sockets (HttpServer::bind_uds) #92
  69. * Actix now logs errors resulting in "internal server error" responses always, with the `error`
  70. logging level
  71. ### Fixed
  72. * Restored logging of errors through the `Logger` middleware
  73. ## [1.0.4] - 2019-07-17
  74. ### Added
  75. * Add `Responder` impl for `(T, StatusCode) where T: Responder`
  76. * Allow to access app's resource map via
  77. `ServiceRequest::resource_map()` and `HttpRequest::resource_map()` methods.
  78. ### Changed
  79. * Upgrade `rand` dependency version to 0.7
  80. ## [1.0.3] - 2019-06-28
  81. ### Added
  82. * Support asynchronous data factories #850
  83. ### Changed
  84. * Use `encoding_rs` crate instead of unmaintained `encoding` crate
  85. ## [1.0.2] - 2019-06-17
  86. ### Changed
  87. * Move cors middleware to `actix-cors` crate.
  88. * Move identity middleware to `actix-identity` crate.
  89. ## [1.0.1] - 2019-06-17
  90. ### Added
  91. * Add support for PathConfig #903
  92. * Add `middleware::identity::RequestIdentity` trait to `get_identity` from `HttpMessage`.
  93. ### Changed
  94. * Move cors middleware to `actix-cors` crate.
  95. * Move identity middleware to `actix-identity` crate.
  96. * Disable default feature `secure-cookies`.
  97. * Allow to test an app that uses async actors #897
  98. * Re-apply patch from #637 #894
  99. ### Fixed
  100. * HttpRequest::url_for is broken with nested scopes #915
  101. ## [1.0.0] - 2019-06-05
  102. ### Added
  103. * Add `Scope::configure()` method.
  104. * Add `ServiceRequest::set_payload()` method.
  105. * Add `test::TestRequest::set_json()` convenience method to automatically
  106. serialize data and set header in test requests.
  107. * Add macros for head, options, trace, connect and patch http methods
  108. ### Changed
  109. * Drop an unnecessary `Option<_>` indirection around `ServerBuilder` from `HttpServer`. #863
  110. ### Fixed
  111. * Fix Logger request time format, and use rfc3339. #867
  112. * Clear http requests pool on app service drop #860
  113. ## [1.0.0-rc] - 2019-05-18
  114. ### Add
  115. * Add `Query<T>::from_query()` to extract parameters from a query string. #846
  116. * `QueryConfig`, similar to `JsonConfig` for customizing error handling of query extractors.
  117. ### Changed
  118. * `JsonConfig` is now `Send + Sync`, this implies that `error_handler` must be `Send + Sync` too.
  119. ### Fixed
  120. * Codegen with parameters in the path only resolves the first registered endpoint #841
  121. ## [1.0.0-beta.4] - 2019-05-12
  122. ### Add
  123. * Allow to set/override app data on scope level
  124. ### Changed
  125. * `App::configure` take an `FnOnce` instead of `Fn`
  126. * Upgrade actix-net crates
  127. ## [1.0.0-beta.3] - 2019-05-04
  128. ### Added
  129. * Add helper function for executing futures `test::block_fn()`
  130. ### Changed
  131. * Extractor configuration could be registered with `App::data()`
  132. or with `Resource::data()` #775
  133. * Route data is unified with app data, `Route::data()` moved to resource
  134. level to `Resource::data()`
  135. * CORS handling without headers #702
  136. * Allow to construct `Data` instances to avoid double `Arc` for `Send + Sync` types.
  137. ### Fixed
  138. * Fix `NormalizePath` middleware impl #806
  139. ### Deleted
  140. * `App::data_factory()` is deleted.
  141. ## [1.0.0-beta.2] - 2019-04-24
  142. ### Added
  143. * Add raw services support via `web::service()`
  144. * Add helper functions for reading response body `test::read_body()`
  145. * Add support for `remainder match` (i.e "/path/{tail}*")
  146. * Extend `Responder` trait, allow to override status code and headers.
  147. * Store visit and login timestamp in the identity cookie #502
  148. ### Changed
  149. * `.to_async()` handler can return `Responder` type #792
  150. ### Fixed
  151. * Fix async web::Data factory handling
  152. ## [1.0.0-beta.1] - 2019-04-20
  153. ### Added
  154. * Add helper functions for reading test response body,
  155. `test::read_response()` and test::read_response_json()`
  156. * Add `.peer_addr()` #744
  157. * Add `NormalizePath` middleware
  158. ### Changed
  159. * Rename `RouterConfig` to `ServiceConfig`
  160. * Rename `test::call_success` to `test::call_service`
  161. * Removed `ServiceRequest::from_parts()` as it is unsafe to create from parts.
  162. * `CookieIdentityPolicy::max_age()` accepts value in seconds
  163. ### Fixed
  164. * Fixed `TestRequest::app_data()`
  165. ## [1.0.0-alpha.6] - 2019-04-14
  166. ### Changed
  167. * Allow to use any service as default service.
  168. * Remove generic type for request payload, always use default.
  169. * Removed `Decompress` middleware. Bytes, String, Json, Form extractors
  170. automatically decompress payload.
  171. * Make extractor config type explicit. Add `FromRequest::Config` associated type.
  172. ## [1.0.0-alpha.5] - 2019-04-12
  173. ### Added
  174. * Added async io `TestBuffer` for testing.
  175. ### Deleted
  176. * Removed native-tls support
  177. ## [1.0.0-alpha.4] - 2019-04-08
  178. ### Added
  179. * `App::configure()` allow to offload app configuration to different methods
  180. * Added `URLPath` option for logger
  181. * Added `ServiceRequest::app_data()`, returns `Data<T>`
  182. * Added `ServiceFromRequest::app_data()`, returns `Data<T>`
  183. ### Changed
  184. * `FromRequest` trait refactoring
  185. * Move multipart support to actix-multipart crate
  186. ### Fixed
  187. * Fix body propagation in Response::from_error. #760
  188. ## [1.0.0-alpha.3] - 2019-04-02
  189. ### Changed
  190. * Renamed `TestRequest::to_service()` to `TestRequest::to_srv_request()`
  191. * Renamed `TestRequest::to_response()` to `TestRequest::to_srv_response()`
  192. * Removed `Deref` impls
  193. ### Removed
  194. * Removed unused `actix_web::web::md()`
  195. ## [1.0.0-alpha.2] - 2019-03-29
  196. ### Added
  197. * rustls support
  198. ### Changed
  199. * use forked cookie
  200. * multipart::Field renamed to MultipartField
  201. ## [1.0.0-alpha.1] - 2019-03-28
  202. ### Changed
  203. * Complete architecture re-design.
  204. * Return 405 response if no matching route found within resource #538