package vifu
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
A simple web framework for OCaml 5
Install
dune-project
Dependency
Authors
Maintainers
Sources
vif-0.0.1.beta5.tbz
sha256=f2dafa4f12105d85b4dc2d1e1492f03e809c85d5834dc5694b99226418fe2719
sha512=1e2087db43e8e13bfc240c1114790ceb702b941d389bbb94a7a18668e65f61d2224f05038cf9101ede890581b0e2227e4d2bd2c620f312fa18c8e37482e273c4
doc/CHANGES.html
v0.0.1~beta5 (2026-09-04)
- Fix
ETag(@reynir, !75) - Fix how we manipulate the target on our handlers (@dinosaure, !76)
- Upgrade to mhttp.0.0.3 (@dinosaure, !77)
- Add
Vif{,u}.Route.query(@dinosaure, !65)
v0.0.1~beta4 (2026-07-31)
- Handle
Hostfields and be able to dispatch requests with ourVif.UriDSL (spotted by @theAlexes, fixed by @dinosaure, !63, #35) - Update to
caqti.3.0.0(@dinosaure, !64) - Add statistics (@hannesm, @dinosaure, @reynir, !69)
- Fix & improve documentation (@hannesm, @mneumann, #37, !68)
- Use
mirage-crytpo-rng.unixinstead ofmirage-crypto-rng-miou-unix(@dinosaure, @hannesm, !71) - Use
waitportinstead ofwaitfile(@dinosaure, !72) - Export
Vif.Request.tagsto get tags from a request (@reynir, !66)
v0.0.1~beta3 (2026-05-06)
- Delete
mirage-crypto-rng-miou-unixdependency forvif.core(@dinosaure, 3fb86c5) - Improve performances, when we handle requests without body, we executed them directly instead of transferring the handler into a new domain (@dinosaure, #25, !51)
- Catch exceptions raised by
jsont(@dinosaure, !52) - Use
jwsinstead ofjwto(@dinosaure, !53) - Handle TLS flow with
vifu(@dinosaure, !54) - Expose
Vifu.Uri.{execp,extract}(@swrup, #26) - Use
Flux.Source.with_buffered_formatter(instead ofwith_formatter) (@reynir, !55) - Fix the compilation with
caqti.2.3.0(@dinosaure, !57) - Get ride of
rresult(@reynir, !58) - Depends on
flux.0.0.1~beta5(@reynir, !59) - Be able to stop a Vif server (as we do for
httpcats) (@theAlexes, @dinosaure, #29) - Be able to specify a UNIX domain socket as our listener for our webserver (@theAlexes, @dinosaure, @reynir, #30, #31)
- Use
httpcats.0.3.0and shutdown our connection at the end (@dinosaure, !60) - Add
OPTIONSmethod for our routes (@voodoos, #33) - Revert !60 and fix unexpected closed connection (see #32) and when we would like to transmit big file (!61, spotted by @voodoos, @dinosaure, @theAlexes)
- Don't emit
application/octet-streamfor unrecognized files (spotted by @n-osborne, @dinosaure, #27, #28)
v0.0.1~beta2 (2026-02-23)
- Add
Vif.Queries.all(@reynir, !5) - Improve examples and
README.md(@dinosaure, @reynir, !7, !9) - Rename
Vif.Uri.pathtoVif.Uri.path(@dinosaure, @reynir, !8) - Fix errors when we parse
multipart/form-data(@dinosaure, spotted by @yomimono, !14, !22) - Catch exceptions from URI converters (@reynir, @dinosaure, !12)
- Add
?etagargument for files (@reynir, !16) - Be able to have a regular expression per HTTP methods (@reynir, !18)
- Add
Vif.Uri.execpandVif.Uri.extract(@reynir, !20) - Exclude
?fromVif.Uri.string `Path(@reynir, !23) - Add
Vif.Response.with_text(@dinosaure, !24, !37) - Fix the support of MacOS (@vvvvv, @dinosaure, spotted by @voodoos, !25)
- Introduce
vifu, a unikernel compatible version ofvif(@dinosaure, !28) - Fix
Vif.Response.with_file(@dinosaure, !29) - Fix a double-close on
Vif.Response.with_jsonand how the function is exposed (@dinosaure, !30, !37) - Let the user to define a log reporter (@voodoos, @dinosaure, !32)
- Fix the support of h2 protocol and which field we should generate (@dinosaure, !33)
- Use
flux(@dinosaure, !34) - Fix memory leak with
logs(@dinosaure, !38, !39) - Update to
tyre.1.0.0(@dinosaure, @EmileTrotignon, !40) - Remove the usage of ppx in our tests (@dinosaure, !42)
- Verify the TLS configuration given (and its ALPN protocols) (@dinosaure, spotted by @voodoos, !41)
- Provide
Vif.Response.with_stream(@dinosaure, !43) - Remove deprecated
jsonmdependency (@dinosaure, !45) - Give the possibility for the user to initialize RNG (@dinosaure, requested by @voodoos, !46)
- Remove pin-depends (@hannesm, @dinosaure, !48)
v0.0.1~beta1 (2025-08-14)
- First release of Vif
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page