Skip to content

Dream 1.0.0~alpha3

Compare
Choose a tag to compare
@aantron aantron released this 11 Feb 19:10
· 218 commits to master since this release

Major

  • Complete rework of the internal I/O model, now supporting flow control, pipe-like programming, stream transformers, low-level WebSocket events, efficient WebSocket I/O, exception passing, trivial composition with client library (2075347 to ed1c949, 5cd57e1, others).
  • Convert from immutable to mutable requests and conversion of the API to t-first style (#21).
  • Factor out Dream core into opam package dream-pure, to also be used in the client (2f40d67 to e106e6e, 037645f to 8652178, dd41df9, others).
  • Factor out the http/af stack and helpers directly tied to it that need to be shared with the client into opam package dream-httpaf (110575d, acc2efc).
  • Remove "global" (per-server) variables (d81b198).
  • Rename "local" (per-message) variables to "fields" (5a54d5c).
  • Use a middleware to set secrets (2529b9a).
  • Use a middleware to set site prefix (3da5e23).
  • Replace ?debug by just using a different error handler (640a1b2).
  • Rename ?https to ?tls (7320f87).
  • Miscellaneous renamings. Most old values are still temporarily present with attached deprecation attributes to help migrate.

Additions

Bugs fixed

  • Dream.static was setting Content-Type: headers for non-existent files (#88, reported by Khoa Nguyen).
  • Use bigstringaf instead of Lwt_bytes to minimize Unix dependencies (#107, Calascibetta Romain).
  • Limit Dream.redirect ~status to only redirections (#130, Khoa Nguyen).
  • Dream.redirect: don't write Location to the response body (b0f64df).
  • Restore terminal settings upon exit by SIGINT (#151, Anton Outkine).
  • Don't try to ignore SIGPIPE on Windows (#158, Manas Jayanth).

Examples

Documentation

  • Fix sqlite3 URI in SQL snippet (#80, Khoa Nguyen).