3.x
All Dox packages now share one version.
v3.0.0-alpha.1
New packages
dox_orm: the new name ofdox_query_builder.dox_validation: typed schemas, coercion, custom rules, JSON Schema.dox_openapi: OpenAPI 3.1 as JSON and YAML, a Scalar (or Swagger UI) docs page.dox_storage: local, S3 and memory disks, signed URLs.dox_cache: memory, file and Redis cache with tags and locks.dox_socketio: Socket.IO v4 server with a Redis adapter.
Database
- SQLite support.
- MySQL uses
mysql_dartwith a real pool. MySQL 8 login works. - Postgres uses a real pool.
QueryBuilder.transaction().whereNull,whereNotNull,whereNotIn,orWhereIn,orWhereNotIn,selectRaw,boolean()column.- Table and column names are quoted.
- Fixed:
model.delete()deleted every row.orWherereturned soft deleted rows. MySQLupdate()changed nothing. whereInandorderByno longer put user values into the SQL.
Migrations
- MySQL and SQLite.
- Rollback undoes only the last batch. New
--step,migration:resetandmigration:refresh. - A failed migration stops the run.
Core
- Uploads over 1 MB stream to a temp file. A 50 MB upload needs about 75 MB of memory, not 1.1 GB.
- Body limits answer
413. - File responses stream, with
Rangesupport. - One isolate per CPU core by default. A crashed isolate restarts.
trustedProxiesforX-Forwarded-ForandX-Forwarded-Proto.- Faster router.
dox buildmakes a native binary. The Docker image is about 11 MB.- Fixed: CORS preflight, cookie
Max-Age,RequestFile.size, validation of missing fields, websocket rooms.
Auth
- Fixed: a login with only a password could match the first user.
Full notes: release PR #112.