2018-11-08 02:34:03 +00:00
|
|
|
# 2.0.0-alpha.11
|
|
|
|
* Add `readMany` to `Service`.
|
2018-11-08 02:37:00 +00:00
|
|
|
* Allow `ResponseContext.redirect` to take a `Uri`.
|
2018-11-08 02:50:04 +00:00
|
|
|
* Add `Angel.mountController`.
|
2018-11-08 02:34:03 +00:00
|
|
|
|
2018-11-06 19:26:45 +00:00
|
|
|
# 2.0.0-alpha.10
|
|
|
|
* All calls to `Service.parseId` are now affixed with the `<Id>` argument.
|
|
|
|
* Added `uri` getter to `AngelHttp`.
|
2018-11-06 19:28:09 +00:00
|
|
|
* The default for `parseQuery` now wraps query parameters in `new Map<String, dynamic>.from`.
|
|
|
|
This resolves a bug in `package:angel_validate`.
|
2018-11-06 19:26:45 +00:00
|
|
|
|
2018-10-22 16:29:09 +00:00
|
|
|
# 2.0.0-alpha.9
|
|
|
|
* Add `Service.map`.
|
|
|
|
|
2018-10-22 15:54:41 +00:00
|
|
|
# 2.0.0-alpha.8
|
|
|
|
* No longer export HTTP-specific code from `angel_framework.dart`.
|
|
|
|
An import of `import 'package:angel_framework/http.dart';` will be necessary in most cases now.
|
|
|
|
|
2018-10-21 08:41:35 +00:00
|
|
|
# 2.0.0-alpha.7
|
|
|
|
* Force a tigher contract on services. They now must return `Data` on all
|
|
|
|
methods except for `index`, which returns a `List<Data>`.
|
|
|
|
|
2018-10-21 08:00:39 +00:00
|
|
|
# 2.0.0-alpha.6
|
|
|
|
* Allow passing a custom `Container` to `handleContained` and co.
|
|
|
|
|
2018-10-19 16:54:05 +00:00
|
|
|
# 2.0.0-alpha.5
|
|
|
|
* `MapService` methods now explicitly return `Map<String, dynamic>`.
|
|
|
|
|
2018-09-12 04:18:15 +00:00
|
|
|
# 2.0.0-alpha.4
|
|
|
|
* Renamed `waterfall` to `chain`.
|
2018-09-12 04:32:22 +00:00
|
|
|
* Renamed `Routable.service` to `Routable.findService`.
|
|
|
|
* Also `Routable.findHookedService`.
|
2018-09-12 04:18:15 +00:00
|
|
|
|
2018-09-11 20:25:07 +00:00
|
|
|
# 2.0.0-alpha.3
|
|
|
|
* Added `<Id, Data>` type parameters to `Service`.
|
|
|
|
* `HookedService` now follows suit, and takes a third parameter, pointing to the inner service.
|
2018-09-11 20:34:29 +00:00
|
|
|
* `Routable.use` now uses the generic parameters added to `Service`.
|
|
|
|
* Added generic usage to `HookedServiceListener`, etc.
|
2018-09-11 20:40:23 +00:00
|
|
|
* All service methods take `Map<String, dynamic>` as `params` now.
|
2018-09-11 20:25:07 +00:00
|
|
|
|
2018-08-28 13:44:58 +00:00
|
|
|
# 2.0.0-alpha.2
|
|
|
|
* Added `ResponseContext.detach`.
|
|
|
|
|
2018-08-21 18:52:09 +00:00
|
|
|
# 2.0.0-alpha.1
|
|
|
|
* Removed `Angel.injectEncoders`.
|
|
|
|
* Added `Providers.toJson`.
|
|
|
|
* Moved `Providers.graphql` to `Providers.graphQL`.
|
|
|
|
* `Angel.optimizeForProduction` no longer calls `preInject`,
|
|
|
|
as it does not need to.
|
|
|
|
* Rename `ResponseContext.enableBuffer` to `ResponseContext.useBuffer`.
|
|
|
|
|
2018-08-19 15:33:25 +00:00
|
|
|
# 2.0.0-alpha
|
2018-08-17 23:05:32 +00:00
|
|
|
* Removed `random_string` dependency.
|
2018-08-19 15:33:25 +00:00
|
|
|
* Moved reflection to `package:angel_container`.
|
|
|
|
* Upgraded `package:file` to `5.0.0`.
|
|
|
|
* `ResponseContext.sendFile` now uses `package:file`.
|
|
|
|
* Abandon `ContentType` in favor of `MediaType`.
|
2018-08-19 15:42:40 +00:00
|
|
|
* Changed view engine to use `Map<String, dynamic>`.
|
2018-08-19 15:49:33 +00:00
|
|
|
* Remove dependency on `package:json_god` by default.
|
|
|
|
* Remove dependency on `package:dart2_constant`.
|
2018-08-20 02:37:48 +00:00
|
|
|
* Moved `lib/hooks.dart` into `package:angel_hooks`.
|
2018-08-20 02:55:54 +00:00
|
|
|
* Moved `TypedService` into `package:angel_typed_service`.
|
2018-08-20 03:18:19 +00:00
|
|
|
* Completely removed the `AngelBase` class.
|
2018-08-20 03:20:12 +00:00
|
|
|
* Removed all `@deprecated` symbols.
|
|
|
|
* `Service.toId` was renamed to `Service.parseId`; it also now uses its
|
|
|
|
single type argument to determine how to parse a value.
|
2018-08-20 03:28:27 +00:00
|
|
|
* In addition, this method was also made `static`.
|
|
|
|
* `RequestContext` and `ResponseContext` are now generic, and take a
|
|
|
|
single type argument pointing to the underlying request/response type,
|
2018-08-20 03:31:59 +00:00
|
|
|
respectively.
|
|
|
|
* `RequestContext.io` and `ResponseContext.io` are now permanently
|
2018-08-20 03:40:59 +00:00
|
|
|
gone.
|
|
|
|
* `HttpRequestContextImpl` and `HttpResponseContextImpl` were renamed to
|
2018-08-20 03:46:38 +00:00
|
|
|
`HttpRequestContext` and `HttpResponseContext`.
|
|
|
|
* Lazy-parsing request bodies is now the default; `Angel.lazyParseBodies` was replaced
|
2018-08-20 03:51:09 +00:00
|
|
|
with `Angel.eagerParseRequestBodies`.
|
|
|
|
* `Angel.storeOriginalBuffer` -> `Angel.storeRawRequestBuffers`.
|
|
|
|
* The methods `lazyBody`, `lazyFiles`, and `lazyOriginalBuffer` on `ResponseContext` were all
|
2018-08-20 04:09:54 +00:00
|
|
|
replaced with `parseBody`, `parseUploadedFiles`, and `parseRawRequestBuffer`, respectively.
|
2018-08-20 04:10:09 +00:00
|
|
|
* Removed the synchronous equivalents of the above methods (`body`, `files`, and `originalBuffer`),
|
2018-08-20 19:42:05 +00:00
|
|
|
as well as `query`.
|
2018-08-20 19:43:27 +00:00
|
|
|
* Removed `Angel.injections` and `RequestContext.injections`.
|
2018-08-20 19:52:44 +00:00
|
|
|
* Removed `Angel.inject` and `RequestContext.inject`.
|
2018-08-20 19:50:29 +00:00
|
|
|
* Removed a dependency on `package:pool`, which also meant removing `AngelHttp.throttle`.
|
|
|
|
* Remove the `RequestMiddleware` typedef; from now on, one should use `ResponseContext.end`
|
2018-08-20 19:52:44 +00:00
|
|
|
exclusively to close responses.
|
2018-08-20 20:21:06 +00:00
|
|
|
* `waterfall` will now only accept `RequestHandler`.
|
|
|
|
* `Routable`, and all of its subclasses, now extend `Router<RequestHandler>`, and therefore only
|
|
|
|
take routes in the form of `FutureOr myFunc(RequestContext, ResponseContext res)`.
|
|
|
|
* `@Middleware` now takes an `Iterable` of `RequestHandler`s.
|
|
|
|
* `@Expose.path` now *must* be a `String`, not just any `Pattern`.
|
2018-08-20 20:43:38 +00:00
|
|
|
* `@Expose.middleware` now takes `Iterable<RequestHandler>`, instead of just `List`.
|
|
|
|
* `createDynamicHandler` was renamed to `ioc`, and is now used to run IoC-aware handlers in a
|
|
|
|
type-safe manner.
|
2018-08-20 20:53:30 +00:00
|
|
|
* `RequestContext.params` is now a `Map<String, dynamic>`, rather than just a `Map`.
|
|
|
|
* Removed `RequestContext.grab`.
|
|
|
|
* Removed `RequestContext.properties`.
|
2018-08-21 00:53:44 +00:00
|
|
|
* Removed the defunct `debug` property where it still existed.
|
2018-08-21 01:05:05 +00:00
|
|
|
* `Routable.use` now only accepts a `Service`.
|
|
|
|
* Removed `Angel.createZoneForRequest`.
|
|
|
|
* Removed `Angel.defaultZoneCreator`.
|
2018-08-21 01:27:39 +00:00
|
|
|
* Added all flags to the `Angel` constructor, ex. `Angel.eagerParseBodies`.
|
|
|
|
* Fix a bug where synchronous errors in `handleRequest` would not be caught.
|
|
|
|
* `AngelHttp.useZone` now defaults to `false`.
|
|
|
|
* `ResponseContext` now starts in streaming mode by default; the response buffer is opt-in,
|
|
|
|
as in many cases it is unnecessary and slows down response time.
|
2018-08-21 01:45:33 +00:00
|
|
|
* `ResponseContext.streaming` was replaced by `ResponseContext.isBuffered`.
|
|
|
|
* Made `LockableBytesBuilder` public.
|
|
|
|
* Removed the now-obsolete `ResponseContext.willCloseItself`.
|
2018-08-21 01:57:26 +00:00
|
|
|
* Removed `ResponseContext.dispose`.
|
|
|
|
* Removed the now-obsolete `ResponseContext.end`.
|
2018-08-21 14:22:41 +00:00
|
|
|
* Removed the now-obsolete `ResponseContext.releaseCorrespondingRequest`.
|
|
|
|
* `preInject` now takes a `Reflector` as its second argument.
|
|
|
|
* `Angel.reflector` defaults to `const EmptyReflector()`, disabling
|
2018-08-21 18:52:09 +00:00
|
|
|
reflection out-of-the-box.
|