All Versions
Latest Version
Avg Release Cycle
42 days
Latest Release
588 days ago

Changelog History
Page 2

  • v2.5.1 Changes

    April 23, 2019

    Added function ngxCachedPid to return the worker's PID cached in Nginx core.

  • v2.5.0 Changes

    February 08, 2019
    • ๐Ÿ†• New features
      • The normal synchronous and all asynchronous content handlers are expected to return a list of optional HTTP response headers (type ContentHandlerResult gets the 4th field).
      • The aforementioned kinds of content handlers can now return authentic Nginx-styled responses (such as 502 Bad Gateway; see section Tips and tricks in
    • ๐Ÿ› Bug fixes
      • All asynchronous Haskell handlers get proper masking against asynchronous exceptions, which is especially important for service handlers in presence of asynchronous exceptions from service hooks.
      • The API exceptions were not accessible for using in the standalone approach.
    • Other
      • Minor improvements and optimizations.
  • v2.4.1 Changes

    January 25, 2019
    • ๐Ÿ‘ท Added exception WorkerProcessIsExiting to signal services that Nginx is shutting down. This has replaced ThreadKilled that was used formerly in order to prevent erroneous handling of unexpectedly thrown ThreadKilled.
    • All API exceptions now derive Eq.
  • v2.4.0 Changes

    January 16, 2019
    • ๐Ÿ‘ท Added API exceptions RestartWorkerProcess and FinalizeHTTPRequest. The latter can be used from Haskell asynchronous variable handlers to quickly finalize the HTTP request.
    • A minor improvement in the content handler: do not send HTTP header Content-Type when the response does not contain a body.
    • Package ngx-export-tools version Functions terminateWorkerProcess, restartWorkerProcess, and finalizeHTTPRequest now make use of the corresponding API exceptions from package ngx-export 1.6.3, and therefore are effectively restricted in the sense of calling context: a worker process can be terminated or restarted only from a Haskell service, while an HTTP request can be finalized only from a Haskell asynchronous variable handler.
  • v2.3.1 Changes

    December 24, 2018

    Package ngx-export-tools version

  • v2.3.0 Changes

    December 07, 2018
    • ๐Ÿ‘ท Added a new exception TerminateWorkerProcess that can be used for graceful termination of an Nginx worker process when initialization of a service fails.
    • Package ngx-export-tools version
      • Now single-shot services run exactly two times which lets using them in a proper initialization / cleanup flow.
      • Added a number of combinators to facilitate creation of specialized services. They allow distinguishing between ignition and deferred services.
  • v2.2.1 Changes

    November 26, 2018
    • Package ngx-export: upgraded Cabal version constraint.
    • Package ngx-export-tools version names of the storages for custom types now contain the name of the service which makes it possible to use the same configuration type in multiple services.
  • v2.2.0 Changes

    November 09, 2018
    • ๐Ÿ› Bug fixes
      • Do not start Nginx worker if there are mismatches between roles and implementations in any of Haskell handlers being loaded. For example, when a handler of type IOYY is exported from a Haskell code with ngxExportAsyncIOYY, but gets loaded in Nginx configuration with directive haskell_run which is suitable for synchronous tasks only. Before this fix, such cases were not always detectable, which could lead to segfaults in Nginx workers during runtime.
      • Accept only absolute paths for file locks in directive haskell_service_var_in_shm.
    • Other
      • Package ngx-export-tools version New typed readers with support for reading a pointer to the Nginx request object. More examples in haddock docs.
  • v2.1.1 Changes

    October 24, 2018

    Many bug fixes and improvements in module NgxExport.Tools.