package sihl
Install
Dune Dependency
Authors
Maintainers
Sources
md5=efe50e8f7c33f76810c6312f13a54a2a
sha512=6f3a6a6abbcce2d3569e83cfd564ed9a964efa7665956cb355b3ff85d0ce6eb80eba8ae9876d71c5e2f0ce070933e7233117c356601387dbaeccd5778a5cb289
CHANGES.md.html
[0.5.0] - 2021-04-10
Added
Sihl.Web.Rest
provides helpers to quickly create HTML resources. This is useful to expose any service of typeSihl.Web.Rest.SERVICE
through the Internet by making it part of a web app.
[0.4.1] - 2021-03-31
Fixed
Register timezone removal migration in
sihl-queue
. This makes it easy to change the timezone on the server without breaking applications.
[0.4.0] - 2021-03-27
Changed
Get rid of
Sihl.Web.Middleware.htmx
,Sihl.Web.Htmx
can be used directly nowSihl.Web.Csrf.find
returnsstring option
, useOption.get
if you are sure that the CSRF middleware has been appliedTake custom
unauthenticated_handler
forSihl.Web.Middleware.bearer_token
and enforce existence ofBearer
token inAuthorization
headerWeb helpers moved from
Sihl.Web.Http
toSihl.Web
. InSihl.Web.Http
there is only the Opium based HTTP service.Replace middlewares with helpers where they don't have to be middlewares such as bearer token (
Sihl.Web.Request.bearer_token
), htmx (Sihl.Web.Htmx
) and session (Sihl.Web.Session
)Remove
form
middleware (Sihl.Web.Middleware.form
), useSihl.Web.Request
directly to parse form requestsReplace
Sihl.Web.Flash.find_custom
withSihl.Web.Flash.find
andSihl.Web.Flash.set_custom
withSihl.Web.Fash.set
to support key-value based semantics. If you need to store your custom string, simply store it under a key likeSihl.Web.Flash.set [("custom", value)] resp
and retrieve it withSihl.Web.Flash.find "custom" request
Use
conformist
0.4.0
Added
Read
Request-ID-X
header if present instead of generating a random id forSihl.Web.Id
Implement composable router API
Sihl.Web.{get, post, ...}
andSihl.Web.choose
.Implement job queue dashboard for
sihl-queue
[0.3.0] - 2021-03-12
Fixed
Replace functor based approach with service facade pattern based approach to increase ergonomy
Move
user_token
middleware tosihl-token
package
Added
Implement MariaDB and PostgreSql backends for all services except storage service
JSON Web Token backend for the token service
Default middlewares for server side rendered forms and JSON API
[0.2.2] - 2020-12-17
Fixed
Merge form data and urlencoded form parsing and provide them in one middleware
[0.2.1] - 2020-12-09
Fixed
Two subsequent
POST
request works now with the CSRF middleware
[0.2] - 2020-12-07
Fixed
Extract
sihl-core
,sihl-type
,sihl-contract
,sihl-user
,sihl-persistence
andsihl-web
as separate opam packagesIncrease session key size to 20 bytes
Sign session cookies with
SIHL_SECRET
Simplify session service API
Implement generic flash storage on top of session storage and replace the specific message service
Update to httpaf-based Opium 0.19.0
Added
File log reporter to store logs in
logs/error.log
andlogs/app.log
Add log source to log text
[0.1.10] - 2020-11-18
Fixed
Properly load
.env
files based on project root, can be set usingENV_FILES_PATH
Add custom error types for user actions to allow overriding errors displayed to users
Added
Determine project rood using markers such as the .git folder
[0.1.9] - 2020-11-16
Fixed
Get rid of
Core.Ctx.t
Make sure migrations and repo cleaners are registered when registering service
Sihl.Core.*
modules are now accessible directly underSihl.*
[0.1.8] - 2020-11-12
Fixed
Get rid of
Result.get_ok
because it swallows errors
[0.1.7] - 2020-11-03
Fixed
Simplify
Database.Service
API: Only providetransaction
,query
andfetch_pool
Fixe dune package names, private dune packages don't have generic names like
http
ordatabase
causing conflicts in a Sihl app
[0.1.6] - 2020-10-31
Fixed
Database.Service
andRepository.Service
are assumed to have just one implementation, so they are referenced directly in service implementations instead of passing them as functor argumentsExtract
Random.Service
from utils as standalone top level serviceMerge utils into one
utils.ml
file
HTTP API
Sihl.Http.Response
andSihl.Http.Request
have consistent APISihl.Middleware
contains all provided middlewaresImplement multi-part form data parsing
[0.1.5] - 2020-10-14
Fixed
Remove seed service since the same functionality
Simplify app abstraction, instead of
with_
use service APIs directlyExtract storage service as
sihl-storage
opam packageExtract email service as
sihl-email
opam packageExtract queue service as
sihl-queue
opam packageMove configuration and logging into core, neither of the are implemented as services
Replace
pcre
withre
as regex library to get rid of a system dependency on pcreSplit up
Sihl.Data
intoSihl.Migration
,Sihl.Repository
andSihl.Database
Move module signatures from
Foo.Service.Sig
toFoo.Sig
, the services might live in a third party opam package, but the signatures are staying insihl
Move
Sihl.App
toSihl.Core.App
and simplify app APIMove log service, config service and cmd service into core (they don't have to be provided to other services through functors)
Simplify Sihl app creation and service configuration
[0.1.4] - 2020-09-24
Fixed
Remove
reason
andtyxml-jsx
as dependency as they are not used anymore
Added
Various combinators for
Sihl.Seed.t
including constructor and field accessors
[0.1.3] - 2020-09-14
Added
Seed Service with commands
seedlist
andseedrun <name>
Fixed
Lifecycle API: A service now has two additional functions
start
andstop
, which are used in the lifecycle definitionDatabase service query functions
query
,atomic
andwith_connection
can now be nested
[0.1.2] - 2020-09-09
Fixed
Re-export
Sihl.Queue.Job.t
Export content types under
Sihl.Web
[0.1.1] - 2020-09-07
Fixed
Don't raise exception when user login fails if it is a user error
Remove dev tools as dev dependencies
Added
Storage service can remove files
Move README.md documentation to ocamldoc based documentation
[0.1.0] - 2020-09-03
Fixed
DB connection leaks caused deadlocks
Provide all service dependencies using functors
Move Opium & Cohttp specific stuff into the web server service implementation to allow for swappable implementation based on something like httpaf
Inject log service to all other services by default
Added
Support letters 0.2.0 for SMTP emailing
Switch to exception based service API
HTTP Response API to respond with file
Sihl.Web.Res.file
[0.0.56] - 2020-08-17
Fixed
Stop running integration tests during OPAM release
[0.0.55] - 2020-08-17
Added
Initial release of Sihl