Skip to content

Releases: lyokha/nginx-haskell-module

nginx-haskell-module version 3.4.2, ngx-export-distribution version 0.6.0.0

10 Aug 10:56
Compare
Choose a tag to compare
  • Remove directory utils with deprecated shell utilities hslibdeps and nhm-init.
  • Module ngx-export-distribution 0.5.5.00.6.0.0.
    • Refactor function buildSharedLib.
    • Many improvements in nhm-tool.
      • Add command plan to print the build plan or its derivatives. Command deps is now a synonym for command plan deps.
      • Use default directory .hslibs if distDataDir was passed empty.
      • Generate more secure Makefile with variables surrounded by double quotes in shell parts.
      • Adjust clean rule in generated Makefile for Cabal 3.12 which appends build paths with Project Unit Id for GHC 9.10.
      • Adjust verbosity levels in nhm-tool based on levels passed in cabal or Setup.hs (-v0 → nothing, -v1 or nothing → -v, other → -vv).
      • Test if stdout is connected to an ANSI terminal when executing command init -to-stdout with color highlighting.

nginx-haskell-module version 3.4.1, ngx-export version 1.7.10.1

12 Jul 16:28
Compare
Choose a tag to compare
  • Module ngx-export 1.7.10.1.
    • Use DerivingStrategies in the exception types.
    • Minor stylistic updates.
  • Module ngx-export-tools 1.2.4.1.
    • Remove dependency on package safe.
  • Module ngx-export-distribution 0.5.4.20.5.4.3.
    • nhm-tool: use cradle bios in generated hie.yaml.

nginx-haskell-module version 3.4.0

01 May 13:01
Compare
Choose a tag to compare
  • Total migration to the nhm-tool build approach in
    • unit tests in directory test/t,
    • load tests in directory test/tsung,
    • docker images in directories docker and docker/prometheus,
    • all examples in directory examples.
  • Module ngx-export-distribution 0.5.4.1.
    • nhm-tool: use more granular rules in generated Makefile to make rebuilds faster.
    • nhm-tool: introduce variables GHC and CABAL for commands ghc and cabal respectively.

nginx-haskell-module version 3.3.2, ngx-export-distribution version 0.5.4.0

15 Apr 09:44
Compare
Choose a tag to compare
  • Module ngx-export-distribution 0.5.2.00.5.4.0.
    • Many improvements in nhm-tool.
      • Use precise direct dependencies at the configure step. This should fix warnings This package indirectly depends on multiple versions of the same package which used to print out very long lists of inconsistencies. Additionally, this should speed up builds when there are multiple versions of dependent packages in the Cabal store.
      • Command deps now accepts option -d which expects the builddir where the build plan is located.
      • Command init now generates Makefile which builds Cabal artifacts in directory dist-nhm.
      • In generated Makefile, if command nhm-tool is not found (say, it hasn't been explicitly installed), it's being searched by cabal list-bin.
      • Command init now generates file hie.yaml for using with Haskell Language Server when editing the Haskell source file(s).
      • To speed up builds, the generated Makefile skips configuration of the GHC package environment if this can be omitted. To build the GHC package environment only, run make env.
      • The GHC package environment is not deleted on make clean.
    • Fix import modules after update to Cabal 3.10.3.0.
  • Github actions CI.
    • Build a simple test project with ngx-export-distribution.

nginx-haskell-module version 3.3.1, ngx-export-tools version 1.2.4

24 Mar 10:28
Compare
Choose a tag to compare
  • New features.
    • Implemented the mread trick in which options with prefix --mread: are searched in the list of directive haskell program_options. It is expected that such an option is followed by an option with a path to a file which is accessible in the master process (for example, the two options could be --mread:ca /path/to/ca.crt). If so, the master process will substitute the content of the file in place of the path. Worker processes can use the content inside the initialization hook, then the content gets filled with zeros. The mread trick can be used for passing secrets from the master process to worker processes.
  • Module ngx-export-tools 1.2.4.
    • Use qualified names of custom types in the implementation of typed services. This enables qualified imports of custom types in the module where the service gets instantiated.

nginx-haskell-module version 3.3.0, ngx-export version 1.7.10

15 Mar 15:25
Compare
Choose a tag to compare
  • New features.
    • New exporter ngxExportInitHook which can be used for writing global data synchronously before the start of handling client requests.
  • Module ngx-export 1.7.91.7.10.
    • Reify types of internal handlers from their signatures.
    • Drop support for GHC versions older than 8.2.
    • Implement support for exporter ngxExportInitHook.
  • Module ngx-export-tools 1.2.31.2.3.2.
    • New void service voidService which helps to load global data from Nginx configurations in a more concise and declarative way.
    • Suggest the synchronous initialization hook ngxExportInitHook in documentation on voidService.
    • Add an example of using ngxExportInitHook in conjunction with typed simple services.

nginx-haskell-module version 3.2.3, ngx-export version 1.7.8

10 Dec 10:04
Compare
Choose a tag to compare
  • Module ngx-export 1.7.8.
    • Refactored to avoid using head and tail as it triggers x-partial warnings in GHC 9.8.1.
  • Module ngx-export-tools 1.2.2.1.
    • Added new functions voidHandler, voidHandler', and a new type NgxExportService for writing fancier declarations of services.
  • Module ngx-export-distribution 0.5.1.3.
    • Refactored to avoid using head and tail as it triggers x-partial warnings in GHC 9.8.1.

nginx-haskell-module version 3.2.2, ngx-export version 1.7.7.1

02 Oct 16:25
Compare
Choose a tag to compare
  • Module ngx-export 1.7.7.1.
    • Fancier, de-duplicated type annotations by leveraging type synonyms.
    • Dropped support for GHC older than 8.x.
  • Module ngx-export-tools 1.1.0.
    • Use polymorphic return types in functions terminateWorkerProcess, restartWorkerProcess, and finalizeHTTPRequest which allows throwing the corresponding exceptions in any context.
  • Module ngx-export-distribution 0.5.1.2.
    • Use GHC option -flink-rts only with GHC 9.x.
    • Collect libffi library together with libHS libraries.
    • Parse ldd outputs of older formats where the separator may occur between the library and the address like in linux-vdso.so.1 => (0x00007fffd33f2000).
  • Module nginx-upconf-module.
    • Accept host names in the peer's server data. This can be useful in health checks over https where the host name is required for validation of server certificates.

nginx-haskell-module version 3.2.1

28 Aug 10:50
Compare
Choose a tag to compare
  • Module ngx-export-distribution 0.5.0.3 with a number of improvements against version 0.4.0.0.
    • Test GHC version to figure out whether to use option -flink-rts in run-time. Previously, the check was being performed in compile-time using a CPP macro.
    • Build a new executable nhm-tool which can be used to bootstrap a new build environment, figure out direct dependencies, and collect dependent Haskell libraries.
  • Utility hslibdeps was obsoleted by nhm-tool.

nginx-haskell-module version 3.2.0

01 Aug 11:42
Compare
Choose a tag to compare
  • Revamped README.md (based on the yet-another-doc-with-examples document).
  • Module ngx-export-distribution 0.4.0.0 with an improved recipe of how to build libraries which depend on packages built by cabal v2-build. All examples in this project and other related projects are now built according to this recipe.
  • A few small bug fixes and improvements in the C source code.