Skip to content

Releases: oxidizing/sihl

1.0.0-rc3

23 Aug 06:58
Compare
Choose a tag to compare
1.0.0-rc3 Pre-release
Pre-release

Fixed

  • It is now possible to register multiple instances of the same service type simultaneously

1.0.0-rc2

08 Jun 06:33
Compare
Choose a tag to compare
1.0.0-rc2 Pre-release
Pre-release
1.0.0-rc2

1.0.0-rc1

04 May 12:10
Compare
Choose a tag to compare
1.0.0-rc1 Pre-release
Pre-release
1.0.0-rc1

0.6.0-rc1

02 May 08:33
Compare
Choose a tag to compare
0.6.0-rc1 Pre-release
Pre-release

Added

  • Add CLI generators as built-in CLI commands gen.service (for generating CRUD services), gen.view (for generating CRUD views) and gen.html (for generating CRUD RESTful resources)
  • Sihl.Web.Rest.{query, to_query_string, of_query_string, next_page, previous_page, last_page, first_page, query_filter, query_sort, query_limit, query_offset}
  • Add ParcelJS based asset pipeline to template project in template
  • Database helpers to conveniently run exactly one caqti request Sihl.Database.find, Sihl.Database.find_opt, Sihl.Database.exec and Sihl.Database.collect
  • The search function of the user service from sihl-user takes an optional argument offset. This allows you to implement offset based pagination.

Changed

  • Replace the usaged of Lwt.Syntax with lwt_ppx for nicer error messages in your Sihl apps
  • Rework built-in commands (start is now server, commands are namespaced with .)
  • The command function in Sihl.Command.make returns unit option Lwt.t and Sihl takes care of printing the usage if Lwt.return None is returned
  • Replaced Sihl.Database.prepare_requests with Sihl.Database.prepare_search_request
  • Replaced Sihl.Database.run_request with Sihl.Database.run_search_request
  • Make search query type 'a Sihl.Database.prepared_search_query abstract to reduce API clutter. The search queries are highly specific to the implementation and are not likely to be re-used independently from run_search_request.
  • Change query to fully fledged search in Sihl.Rest.SERVICE to support paginated, filtered and sorted views

0.5.0

10 Apr 07:09
Compare
Choose a tag to compare

Added

  • Sihl.Web.Rest provides helpers to quickly create HTML resources. This is useful to expose any service of type Sihl.Web.Rest.SERVICE through the Internet by making it part of a web app.

0.4.1

31 Mar 13:12
Compare
Choose a tag to compare

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

27 Mar 12:27
Compare
Choose a tag to compare

Changed

  • Get rid of Sihl.Web.Middleware.htmx, Sihl.Web.Htmx can be used directly now
  • Sihl.Web.Csrf.find returns string option, use Option.get if you are sure that the CSRF middleware has been applied
  • Take custom unauthenticated_handler for Sihl.Web.Middleware.bearer_token and enforce existence of Bearer token in Authorization header
  • Web helpers moved from Sihl.Web.Http to Sihl.Web. In Sihl.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), use Sihl.Web.Request directly to parse form requests
  • Replace Sihl.Web.Flash.find_custom with Sihl.Web.Flash.find and Sihl.Web.Flash.set_custom with Sihl.Web.Fash.set to support key-value based semantics. If you need to store your custom string, simply store it under a key like Sihl.Web.Flash.set [("custom", value)] resp and retrieve it with Sihl.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, ...} and Sihl.Web.choose.
  • Implement job queue dashboard for sihl-queue

0.3.0

12 Mar 11:57
Compare
Choose a tag to compare

Fixed

  • Replace functor based approach with service facade pattern based approach to increase ergonomy
  • Move user_token middleware to sihl-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.3.0-rc2

10 Mar 11:26
Compare
Choose a tag to compare
0.3.0-rc2 Pre-release
Pre-release
0.3.0-rc2

0.3.0-rc1

09 Jan 20:49
Compare
Choose a tag to compare

CHANGES:

Fixed

  • Replace functor based approach with service facade pattern based approach to increase ergonomy

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