This repository has been archived by the owner on Mar 18, 2021. It is now read-only.
Releases: stablekernel/aqueduct
Releases · stablekernel/aqueduct
3.2.0
Adds read method to Serializable for filtering, ignoring or rejecting keys.
Fixes issues with Dart 2.1.1 mirror type checking changes
Adds like matcher expression
Escapes postgres special characters in LIKE expressions for all other string matcher expressions
Fixes security vulnerability where a specific authorization header value would be associated with the wrong token in rare cases (credit to Philipp Schiffmann)
Adds Validate.constant to properties that use the @PrimaryKey annotation.
Allows Validate annotations to be added to belongs-to relationship properties; the validation is run on the foreign key.
Allows any type - e.g. Map<String, dynamic> - to be bound with Bind.body.
3.1.0
- Adds the implicit authorization grant flow via the AuthRedirectController type.
- Deprecates AuthCodeController in favor of AuthRedirectController.
- Improves speed of many database CLI commands
- Improves error messaging of the CLI; no longer includes stack trace for expected errors.
- Allows self-referencing and cyclical relationships between managed objects
- Autoincrementing managed object properties are no longer consumed in ManagedObject.readFromMap.
- Fixes bug where ManagedObjects cannot have mixins
- Adds ManagedContext.insertObject, ManagedContext.insertObjects and ManagedContext.fetchObjectWithID.
3.0.2
See changelog.
3.0.1
See changelog
Aqueduct 3
See changelog.
Performance and Tooling
- Adds
aqueduct db schema
to print an application's data model. - Adds
aqueduct document serve
that serves the API documentation for an application. - Adds
--machine
flag toaqueduct
tool to only emit machine-readable output. - Adds
defaultDelay
toMockHTTPServer
. Defaults to null for no delay. - Adds
defaultResponse
toMockHTTPServer
. Defaults to a 503 response instead of a 200. - Adds option to set a custom delay for a specific response in
MockHTTPServer
'squeueResponse
function. - Performance improvements
Table-wide unique constraints
- Adds
HTTPRequestBody.maxSize
to limit HTTP request body sizes. Defaults to 10MB. - Adds
ManagedTableAttributes
to configure underlying database table to use multiple columns to test for uniqueness.
Response Modifiers
- Adds
Request.addResponseModifier
to allow middleware to modify responses.
Improve Test Framework
- Adds
Response.bufferOutput
to control whether the HTTP response bytes are buffered. - Adds
whereNot
to apply an inverse to otherQuery.where
expression, e.g.whereNot(whereIn(["a", "b"]))
. - Fixes bug where subclassing
ManagedObjectController
didn't work. - Renames
ResourceRegistry
toServiceRegistry
. - Improves feedback and interface for
package:aqueduct/test.dart
.
User-based scoping, ORM aggregate functions
- Adds
Request.acceptableContentTypes
andRequest.acceptsContentType
for convenient usage of Accept header. - Adds
AuthStorage.allowedScopesForAuthenticatable
to provide user attribute-based scoping, e.g. roles. - Adds
Query.forEntity
andManagedObjectController.forEntity
to dynamically instantiate these types, i.e. use runtime values to build the query. - Adds
PersistentStore.newQuery
- allows aPersistentStore
implementation to provide its own implementation ofQuery
specific to its underlying database. - Adds
Query.reduce
to perform aggregate functions on database tables, e.g. sum, average, maximum, etc. enum
s may be used as persistent properties inManagedObject<T>
. The underlying database will store them a strings.- Speed of generating a template project has been greatly improved.