Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-hslua for openSUSE:Factory 
checked in at 2022-02-11 23:09:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hslua (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-hslua.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-hslua"

Fri Feb 11 23:09:04 2022 rev:24 rq:953472 version:2.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hslua/ghc-hslua.changes      2021-11-11 
21:38:24.776975774 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-hslua.new.1956/ghc-hslua.changes    
2022-02-11 23:10:56.843212848 +0100
@@ -1,0 +2,9 @@
+Sat Jan 29 10:07:48 UTC 2022 - Peter Simons <[email protected]>
+
+- Update hslua to version 2.1.0.
+  Upstream has edited the change log file since the last release in
+  a non-trivial way, i.e. they did more than just add a new entry
+  at the top. You can review the file at:
+  http://hackage.haskell.org/package/hslua-2.1.0/src/CHANGELOG.md
+
+-------------------------------------------------------------------

Old:
----
  hslua-2.0.1.tar.gz

New:
----
  hslua-2.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-hslua.spec ++++++
--- /var/tmp/diff_new_pack.s3luGI/_old  2022-02-11 23:10:57.327214249 +0100
+++ /var/tmp/diff_new_pack.s3luGI/_new  2022-02-11 23:10:57.331214260 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-hslua
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %global pkg_name hslua
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        2.0.1
+Version:        2.1.0
 Release:        0
 Summary:        Bindings to Lua, an embeddable scripting language
 License:        MIT

++++++ hslua-2.0.1.tar.gz -> hslua-2.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/CHANGELOG.md new/hslua-2.1.0/CHANGELOG.md
--- old/hslua-2.0.1/CHANGELOG.md        2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/CHANGELOG.md        2001-09-09 03:46:40.000000000 +0200
@@ -1,176 +1,192 @@
-## Changelog
+# Changelog
 
-### hslua-2.0.1
+`hslua` uses [PVP Versioning][].
+
+## hslua-2.1.0
+
+Released 29-01-2022.
+
+-   Update to hslua-objectorientation 2.1.0. This entails changes
+    to `deftype'` and `deftypeGeneric`, switching the order of
+    item pusher and list-extractor function in the tuple passed as
+    the last argument.
+
+-   Update to hslua-core 2.1.0, hslua-marshalling 2.1.0, and
+    hslua-classes 2.1.0.
+
+## hslua-2.0.1
 
 Released 2021-11-04.
 
-  - Updated lower bounds of hslua packages:
-      + hslua >= 2.0.0.2,
-      + hslua-marshalling >= 2.0.1, and
-      + hslua-objectorientation >= 2.0.1.
+-   Updated lower bounds of hslua packages:
+    -   hslua \>= 2.0.0.2,
+    -   hslua-marshalling \>= 2.0.1, and
+    -   hslua-objectorientation \>= 2.0.1.
 
     This fixes a number of smaller issues; see the respective
     package changelogs for details.
 
-### hslua-2.0.0
+## hslua-2.0.0
 
 Released 2021-10-21.
 
-- Move module hierarchy from Foreign.Lua to HsLua.
+-   Move module hierarchy from Foreign.Lua to HsLua.
 
-- Error handling has been reworked completely. The type of
-  exceptions used and handled by HsLua is now exposed to the type
-  system. The type `Lua` makes use of a default error type. Custom
-  error handling can be implemented by using the `LuaE` type with
-  an exception type that is an instance of class `LuaError`.
+-   Error handling has been reworked completely. The type of
+    exceptions used and handled by HsLua is now exposed to the
+    type system. The type `Lua` makes use of a default error type.
+    Custom error handling can be implemented by using the `LuaE`
+    type with an exception type that is an instance of class
+    `LuaError`.
 
-- Renamed stack index helpers to `nth`, `nthTop`, `nthBottom`,
-  `top`. The following have been *removed*: `stackTop`,
-  `nthFromTop`, `nthFromBottom`.
+-   Renamed stack index helpers to `nth`, `nthTop`, `nthBottom`,
+    `top`. The following have been *removed*: `stackTop`,
+    `nthFromTop`, `nthFromBottom`.
 
-- Extracted raw Lua bindings into new package *lua*. This means
-  that all cabal flags have been moved to package *lua* as well.
-  Version lua-1.0.0 contained the `Foreign.Lua.Raw` hierarchy as
-  present in hslua-1.3.0. See that package's changelog for
-  info on the additional modifications since then.
+-   Extracted raw Lua bindings into new package *lua*. This means
+    that all cabal flags have been moved to package *lua* as well.
+    Version lua-1.0.0 contained the `Foreign.Lua.Raw` hierarchy as
+    present in hslua-1.3.0. See that package???s changelog for info
+    on the additional modifications since then.
 
-- The module Foreign.Lua.Raw.Error was merged into the
-  HsLua.Core.Error module.
+-   The module Foreign.Lua.Raw.Error was merged into the
+    HsLua.Core.Error module.
 
-- The functions `getglobal` and `gettable` now return the Lua
-  `Type` of the pushed value.
+-   The functions `getglobal` and `gettable` now return the Lua
+    `Type` of the pushed value.
 
-- Extracted new packages:
+-   Extracted new packages:
 
-    + *hslua-core*: the package contains all modules from the
-      *Core* sub-hierarchy.
+    -   *hslua-core*: the package contains all modules from the
+        *Core* sub-hierarchy.
 
-    * *hslua-classes*: typclasses *Peekable* and *Pushable* for
-      pushing and pulling, as well as function calling.
+    -   *hslua-classes*: typclasses *Peekable* and *Pushable* for
+        pushing and pulling, as well as function calling.
 
-    + *tasty-hslua*: makes testing helpers available for reuse.
+    -   *tasty-hslua*: makes testing helpers available for reuse.
 
-- Moved *run* functions from Util to Core.Run.
+-   Moved *run* functions from Util to Core.Run.
 
-- Moved module Utf8 from the base level into Core.
+-   Moved module Utf8 from the base level into Core.
 
-- Refactored code to expose Haskell functions to Lua:
+-   Refactored code to expose Haskell functions to Lua:
 
-    + Removed functions `newCFunction`, `freeCFunction`. Use
-      `pushHaskellFunction` instead, it takes care of garbage
-      collection.
+    -   Removed functions `newCFunction`, `freeCFunction`. Use
+        `pushHaskellFunction` instead, it takes care of garbage
+        collection.
 
-    + Renamed typeclass `ToHaskellFunction` to `Exposable`,
-      function `callFunc` to `invoke`. All these have been moved
-      to *hslua-classes*.
+    -   Renamed typeclass `ToHaskellFunction` to `Exposable`,
+        function `callFunc` to `invoke`. All these have been moved
+        to *hslua-classes*.
 
-    + The type PreCFunction is now defined in package lua;
-      HaskellFunction is defined in hslua-core.
+    -   The type PreCFunction is now defined in package lua;
+        HaskellFunction is defined in hslua-core.
 
-    + Changed `pushHaskellFunction` to only accept HaskellFunction
-      arguments, move it to hslua-core.
+    -   Changed `pushHaskellFunction` to only accept
+        HaskellFunction arguments, move it to hslua-core.
 
-    + Removed helper functions `addfunction` and `addfield` from
-      *Module*. Use documented functions and fields instead.
+    -   Removed helper functions `addfunction` and `addfield` from
+        *Module*. Use documented functions and fields instead.
 
-- Added support for a "since" tag on documented functions; allows
-  to mark the library version when a function was introduced in
-  its present form.
+-   Added support for a ???since??? tag on documented functions;
+    allows to mark the library version when a function was
+    introduced in its present form.
 
-
-### 1.3.0.1
+## hslua-1.3.0.1
 
 Released 2021-02-06.
 
-- Fixed build with GHC 9.0.1 (Simon Jakobi).
+-   Fixed build with GHC 9.0.1 (Simon Jakobi).
 
-- Improved test-suite; fixed memory leaks in some tests.
+-   Improved test-suite; fixed memory leaks in some tests.
 
-- Moved CI to GitHub Actions.
+-   Moved CI to GitHub Actions.
 
-### 1.3.0
+## hslua-1.3.0
 
 Released 2020-10-16.
 
-- Upgrade included Lua version to new bug-fix release 5.3.6. See
-  the upstream documentation https://www.lua.org/bugs.html#5.3.5
-  for the bugs which have been fixed.
-
-- Stop exporting `c_loaded_table` and `c_prelad_table` from module
-  Foreign.Lua.Raw.Auxiliary. Both values are defined only if the
-  flag `HARDCODE_REG_KEYS` is disabled, leading to compilation
-  errors when the flag is enabled.
-
-- Add new function `peekStringy` to Peek module. It allows to peek
-  a value of any `IsString` type from an UTF-8 encoded string.
-
-- Various improvements to the continuous integration setup,
-  including cleanup of the config files, version bumps to the
-  ghc/cabal versions used for testing, and running the linter in a
-  dedicated GitHub Action.
+-   Upgrade included Lua version to new bug-fix release 5.3.6. See
+    the upstream documentation https://www.lua.org/bugs.html#5.3.5
+    for the bugs which have been fixed.
+
+-   Stop exporting `c_loaded_table` and `c_prelad_table` from
+    module Foreign.Lua.Raw.Auxiliary. Both values are defined only
+    if the flag `HARDCODE_REG_KEYS` is disabled, leading to
+    compilation errors when the flag is enabled.
+
+-   Add new function `peekStringy` to Peek module. It allows to
+    peek a value of any `IsString` type from an UTF-8 encoded
+    string.
+
+-   Various improvements to the continuous integration setup,
+    including cleanup of the config files, version bumps to the
+    ghc/cabal versions used for testing, and running the linter in
+    a dedicated GitHub Action.
 
-### 1.2.0
+## 1.2.0
 
 Released 2020-08-15
 
-- New module `Foreign.Lua.Call`: the module offers an alternative
-  method of exposing Haskell functions to Lua. The focus is on
-  maintainability: types and marshaling methods are made explicit;
-  the possibility of adding documentation and parameter names
-  improves error messages and allows for automatic documentation
-  extraction.
-
-  Work on this module is ongoing; the interface is likely to
-  change. Suggestions and feedback are welcome.
-
-- New types `Module`, `Field`, and new functions `registerModule`,
-  `preloadModule`, `pushModule`, and `render` exported from
-  `Foreign.Lua.Module`: this builds on the new `Call` module and
-  allows the creation of documented modules as well as automatic
-  generation of Markdown-formatted module documentation.
-
-- Export new items `nth` and `top` from Foreign.Lua.Core and
-  Foreign.Lua. They are short-hands for `nthFromTop` and
-  `stackTop`.
-
-- Performance improvements: Calling of Lua functions and creation
-  of Haskell data wrapping userdata has been sped up by about 10%.
-  This is mostly due to using of previously missed optimization
-  opportunities.
-
-- All foreign imports have been moved to into the new
-  `Foreign.Lua.Raw` module. This module will replace the current
-  `Foreign.Lua.Core` module in the future and will be distributed
-  as a separate package (likely starting with the 2.0 release);
-  the remaining parts of the current `Core` module will be
-  promoted one level in the module hierarchy.
-
-  The `Raw` module can be used whenever the full power of HsLua is
-  not needed.
-
-- Error-signaling of API wrapper functions has been changed:
-  instead of returning special integer values, functions now take
-  an additional pointer argument, which is set to the status
-  result of the computation.
+-   New module `Foreign.Lua.Call`: the module offers an
+    alternative method of exposing Haskell functions to Lua. The
+    focus is on maintainability: types and marshaling methods are
+    made explicit; the possibility of adding documentation and
+    parameter names improves error messages and allows for
+    automatic documentation extraction.
+
+    Work on this module is ongoing; the interface is likely to
+    change. Suggestions and feedback are welcome.
+
+-   New types `Module`, `Field`, and new functions
+    `registerModule`, `preloadModule`, `pushModule`, and `render`
+    exported from `Foreign.Lua.Module`: this builds on the new
+    `Call` module and allows the creation of documented modules as
+    well as automatic generation of Markdown-formatted module
+    documentation.
+
+-   Export new items `nth` and `top` from Foreign.Lua.Core and
+    Foreign.Lua. They are short-hands for `nthFromTop` and
+    `stackTop`.
+
+-   Performance improvements: Calling of Lua functions and
+    creation of Haskell data wrapping userdata has been sped up by
+    about 10%. This is mostly due to using of previously missed
+    optimization opportunities.
+
+-   All foreign imports have been moved to into the new
+    `Foreign.Lua.Raw` module. This module will replace the current
+    `Foreign.Lua.Core` module in the future and will be
+    distributed as a separate package (likely starting with the
+    2.0 release); the remaining parts of the current `Core` module
+    will be promoted one level in the module hierarchy.
+
+    The `Raw` module can be used whenever the full power of HsLua
+    is not needed.
+
+-   Error-signaling of API wrapper functions has been changed:
+    instead of returning special integer values, functions now
+    take an additional pointer argument, which is set to the
+    status result of the computation.
 
-  The `Failable` type in Core.Error is no longer needed and has
-  been removed.
+    The `Failable` type in Core.Error is no longer needed and has
+    been removed.
 
-- CI builds now include GHC 8.8 and GHC 8.10, ensuring that all
-  GHC 8.* versions are supported.
+-   CI builds now include GHC 8.8 and GHC 8.10, ensuring that all
+    GHC 8.\* versions are supported.
 
-### 1.1.2
+## hslua-1.1.2
 
 Released 2020-06-27
 
-- Revert signature of function `pushList` to it's proper 1.1
-  value. This fixes a mistake which caused the 1.1.1 release
-  to be in violation of the PVP versioning policy.
+-   Revert signature of function `pushList` to it???s proper 1.1
+    value. This fixes a mistake which caused the 1.1.1 release to
+    be in violation of the PVP versioning policy.
 
-- Module Foreign.Lua.Peek: add function `pushKeyValuePairs` (Alex
-  Loomis).
+-   Module Foreign.Lua.Peek: add function `pushKeyValuePairs`
+    (Alex Loomis).
 
-### 1.1.1
+## hslua-1.1.1
 
 Released 2020-06-02
 
@@ -178,31 +194,32 @@
 policy, due to a unintended signature change of function
 `pushList`. It is recommended not to use this version.
 
-- New module Foreign.Lua.Push: provides functions which marshal
-  and push Haskell values onto Lua's stack.
+-   New module Foreign.Lua.Push: provides functions which marshal
+    and push Haskell values onto Lua???s stack.
 
-  Most functions in Foreign.Lua.Types.Pushable are now defined
-  using functions from this module.
+    Most functions in Foreign.Lua.Types.Pushable are now defined
+    using functions from this module.
 
-- New module Foreign.Lua.Peek: provides functions which unmarshal
-  and retrieve Haskell values from Lua's stack. Contrary to `peek`
-  from Foreign.Lua.Types.Peekable, the peeker functions in this
-  module will never throw errors, but use an `Either` type to
-  signal retrieval failure.
+-   New module Foreign.Lua.Peek: provides functions which
+    unmarshal and retrieve Haskell values from Lua???s stack.
+    Contrary to `peek` from Foreign.Lua.Types.Peekable, the peeker
+    functions in this module will never throw errors, but use an
+    `Either` type to signal retrieval failure.
 
-  The error type `PeekError` should not be considered final and
-  will likely be subject to change in later versions.
+    The error type `PeekError` should not be considered final and
+    will likely be subject to change in later versions.
 
-- Module Foreign.Lua.Utf8: never throw errors when decoding UTF-8
-  strings. Invalid UTF-8 input bytes no longer cause exceptions,
-  but are replaced with the Unicode replacement character U+FFFD.
+-   Module Foreign.Lua.Utf8: never throw errors when decoding
+    UTF-8 strings. Invalid UTF-8 input bytes no longer cause
+    exceptions, but are replaced with the Unicode replacement
+    character U+FFFD.
 
-- Fixed missing and faulty Haddock documentation.
+-   Fixed missing and faulty Haddock documentation.
 
-- Fixed a bug which caused unnecessary use of strings to represent
-  floating point numbers under certain configurations.
+-   Fixed a bug which caused unnecessary use of strings to
+    represent floating point numbers under certain configurations.
 
-### 1.1.0
+## hslua-1.1.0
 
 Released 2020-03-25.
 
@@ -210,443 +227,475 @@
 recommended to skip this release unless the newly introduced
 features are required.
 
-- Allow custom error handling: conversion of Lua errors to
-  Haskell exceptions and back is made configurable. Users can
-  define their own exception/error handling strategies, even
-  opening up the option to pass arbitrary exceptions through Lua.
-
-    - New types exported from `Foreign.Lua.Types`:
-
-        - `ErrorConversion`: defines the ways in which exceptions
-          and errors are handled and converted.
-        - `LuaEnvironment`: environment in which Lua computations
-          are evaluated. Contains the Lua interpreter state and
-          the error conversion strategy.
-
-    - The environment of the `Lua` type is changed from a plain
-      Lua `State` to the above mentioned `LuaEnvironment`.
-
-    - New functions `run'` is exported from `Foreign.Lua.Util`
-      and `Foreign.Lua`: it is analogous to `run`, but allows to
-      run computations with a custom error conversion strategy.
+-   Allow custom error handling: conversion of Lua errors to
+    Haskell exceptions and back is made configurable. Users can
+    define their own exception/error handling strategies, even
+    opening up the option to pass arbitrary exceptions through
+    Lua.
+
+    -   New types exported from `Foreign.Lua.Types`:
+
+        -   `ErrorConversion`: defines the ways in which
+            exceptions and errors are handled and converted.
+        -   `LuaEnvironment`: environment in which Lua
+            computations are evaluated. Contains the Lua
+            interpreter state and the error conversion strategy.
+
+    -   The environment of the `Lua` type is changed from a plain
+        Lua `State` to the above mentioned `LuaEnvironment`.
+
+    -   New functions `run'` is exported from `Foreign.Lua.Util`
+        and `Foreign.Lua`: it is analogous to `run`, but allows to
+        run computations with a custom error conversion strategy.
+
+    -   New function `runWithConverter` exported from
+        `Foreign.Lua.Core.Types` and `Foreign.Lua.Core`; like
+        `run'`, but takes a custom state.
+
+    -   New function `unsafeRunWith` exported from
+        `Foreign.Lua.Core.Types` and `Foreign.Lua.Core`; runs a
+        computation without proper error handling.
+
+    -   New function `errorConversion` exported from
+        `Foreign.Lua.Core.Types` and `Foreign.Lua.Core`: extract
+        the error conversion strategy from the Lua type.
+
+    -   New function `throwErrorAsException` exported from
+        `Foreign.Lua.Core.Error` and `Foreign.Lua.Core`: throws a
+        Lua error as Haskell exception, using the current error
+        conversion strategy.
 
-    - New function `runWithConverter` exported from
-      `Foreign.Lua.Core.Types` and `Foreign.Lua.Core`; like
-      `run'`, but takes a custom state.
+-   Function `runWith` is moved from module `Foreign.Lua.Core` to
+    `Foreign.Lua.Util`.
 
-    - New function `unsafeRunWith` exported from
-      `Foreign.Lua.Core.Types` and `Foreign.Lua.Core`; runs a
-      computation without proper error handling.
+-   The module `Foreign.Lua.Utf8` is now exported.
 
-    - New function `errorConversion` exported from
-      `Foreign.Lua.Core.Types` and `Foreign.Lua.Core`: extract
-      the error conversion strategy from the Lua type.
-
-    - New function `throwErrorAsException` exported from
-      `Foreign.Lua.Core.Error` and `Foreign.Lua.Core`: throws a
-      Lua error as Haskell exception, using the current error
-      conversion strategy.
-
-- Function `runWith` is moved from module `Foreign.Lua.Core` to
-  `Foreign.Lua.Util`.
-
-- The module `Foreign.Lua.Utf8` is now exported.
-
-
-### 1.0.3.2
+## hslua-1.0.3.2
 
 Released 2019-08-21.
 
-- Added flag to use hardcoded values for registry keys: The names
-  of the registry keys used to store package information are
-  available as CPP values from file lauxlib.h since Lua 5.3.4;
-  compiling HsLua against older Lua versions was not possible, as
-  those values were expected to exist.
-
-  The respective values are now hardcoded into HsLua, and a new
-  flag `hardcode-reg-key` is introduced, which will cause the use
-  of these hardcoded values instead of those defined in
-  lauxlib.h. Using this flag makes it possible to compile hslua
-  against all Lua 5.3.* versions.
+-   Added flag to use hardcoded values for registry keys: The
+    names of the registry keys used to store package information
+    are available as CPP values from file lauxlib.h since Lua
+    5.3.4; compiling HsLua against older Lua versions was not
+    possible, as those values were expected to exist.
+
+    The respective values are now hardcoded into HsLua, and a new
+    flag `hardcode-reg-key` is introduced, which will cause the
+    use of these hardcoded values instead of those defined in
+    lauxlib.h. Using this flag makes it possible to compile hslua
+    against all Lua 5.3.\* versions.
 
-- Added missing C files for benchmarking to list of
-  *extra-source-files*.
+-   Added missing C files for benchmarking to list of
+    *extra-source-files*.
 
-### 1.0.3.1
+## hslua-1.0.3.1
 
 Released 2019-05-08.
 
-- Prevent filenames being treated as strings in debug messages.
-  Lua's `loadbuffer` takes a `source` description as an argument,
-  which is used for debug messages. The `loadfile` function now
-  adds a special prefix (`@`) to `source`, thus marking it as a
-  filename.
+-   Prevent filenames being treated as strings in debug messages.
+    Lua???s `loadbuffer` takes a `source` description as an
+    argument, which is used for debug messages. The `loadfile`
+    function now adds a special prefix (`@`) to `source`, thus
+    marking it as a filename.
 
-### 1.0.3
+## hslua-1.0.3
 
 Released 2019-05-04.
 
-- New module `Foreign.Lua.Module`, containing helper functions to
-  define and load modules from Haskell.
+-   New module `Foreign.Lua.Module`, containing helper functions
+    to define and load modules from Haskell.
 
-- Improve documentation of `open<lib>` (many thanks to Christian
-  Charukiewicz.)
+-   Improve documentation of `open<lib>` (many thanks to Christian
+    Charukiewicz.)
 
-### 1.0.2
+## hslua-1.0.2
 
 Released 2019-01-05.
 
-- Fixed cross-compilation: placement of C import declarations
-  were fixed, thereby resolving issues with cross-compilation.
-  (Vanessa McHale and Faraz Maleknia)
+-   Fixed cross-compilation: placement of C import declarations
+    were fixed, thereby resolving issues with cross-compilation.
+    (Vanessa McHale and Faraz Maleknia)
 
-- Added .gitattributes file, fixing the wrong language
-  classification of the GitHub repository. (Vanessa McHale)
+-   Added .gitattributes file, fixing the wrong language
+    classification of the GitHub repository. (Vanessa McHale)
 
-- Improved `toHaskellFunction` documentation. The documentation
-  is now more specific on which Haskell exceptions are caught and
-  which will lead to crashes.
+-   Improved `toHaskellFunction` documentation. The documentation
+    is now more specific on which Haskell exceptions are caught
+    and which will lead to crashes.
 
+## hslua-1.0.1
 
-### 1.0.1
+-   Exposed more functions from Lua???s `lauxlib` library:
 
-- Exposed more functions from Lua's `lauxlib` library:
+    -   `getmetafield`,
+    -   `getmetatable'`,
+    -   `getsubtable`, and
+    -   `traceback`.
 
-  + `getmetafield`,
-  + `getmetatable'`,
-  + `getsubtable`, and
-  + `traceback`.
+    The function `getsubtable` is a reimplementation instead of a
+    wrapper to the C function for simplicity (thereby avoiding
+    additional C wrappers).
 
-  The function `getsubtable` is a reimplementation instead of a wrapper
-  to the C function for simplicity (thereby avoiding additional C
-  wrappers).
+-   Fixed tests for GHC 8.6 by no longer depending on failable
+    pattern matching.
 
-- Fixed tests for GHC 8.6 by no longer depending on failable pattern
-  matching.
+## hslua-1.0.0
 
+### New features
 
-### 1.0.0
+-   Error handling at language borders has been vastly improved
+    and is now mostly automatic. Haskell???s
+    `Foreign.Lua.Exception`s are transformed into Lua errors and
+    *vice versa*. Lua-side wrappers are no longer necessary.
 
-#### New features
+-   Haskell functions are no longer pushed as userdata by
+    `pushHaskellFunction`, but as C functions. This simplifies
+    tasks where Lua expects true function objects object (for
+    example when looking for module loaders).
 
-- Error handling at language borders has been vastly improved and is now
-  mostly automatic. Haskell's `Foreign.Lua.Exception`s are transformed
-  into Lua errors and *vice versa*. Lua-side wrappers are no longer
-  necessary.
+-   Added stack instance for
 
-- Haskell functions are no longer pushed as userdata by
-  `pushHaskellFunction`, but as C functions. This simplifies tasks where
-  Lua expects true function objects object (for example when looking for
-  module loaders).
+    -   Data.Set.Set,
+    -   Integer,
+    -   Int,
+    -   Float, and
+    -   Double.
 
-- Added stack instance for
+    Instances for numbers fall back to strings when the
+    representation as a Lua number would cause a loss of
+    precision.
 
-  + Data.Set.Set,
-  + Integer,
-  + Int,
-  + Float, and
-  + Double.
+-   Haskell functions pushed with `pushHaskellFunction` can now be
+    garbage collected by Lua without having to call back into
+    Haskell. The callback into Haskell by the GC had previously
+    caused programs to hang in some situations.
 
-  Instances for numbers fall back to strings when the
-  representation as a Lua number would cause a loss of precision.
+-   Bindings to more Lua C API functions and macros: `isinteger`,
+    `load`, `loadbuffer`, and `pushglobaltable`.
 
-- Haskell functions pushed with `pushHaskellFunction` can now be
-  garbage collected by Lua without having to call back into
-  Haskell. The callback into Haskell by the GC had previously
-  caused programs to hang in some situations.
+-   Any Haskell value can be pushed to the Lua stack as userdata
+    via `pushAny` and retrieved via `peekAny`. Additional
+    functions are provided to setup the userdata metatable.
 
-- Bindings to more Lua C API functions and macros: `isinteger`, `load`,
-  `loadbuffer`, and `pushglobaltable`.
+-   The C preprocessor constants `LUA_LOADED_TABLE` and
+    `LUA_PRELOAD_TABLE` are made available as
+    `loadedTableRegistryField` and `preloadTableRegistryField`,
+    respectively.
 
-- Any Haskell value can be pushed to the Lua stack as userdata via
-  `pushAny` and retrieved via `peekAny`. Additional functions are
-  provided to setup the userdata metatable.
+-   Additional small helper functions:
 
-- The C preprocessor constants `LUA_LOADED_TABLE` and
-  `LUA_PRELOAD_TABLE` are made available as
-  `loadedTableRegistryField` and `preloadTableRegistryField`,
-  respectively.
+    -   `peekRead` ??? read value from a string.
+    -   `popValue` ??? peek value at the top of the Lua stack, then
+        remove it from the stack regardless of whether peeking was
+        successful or not.
 
-- Additional small helper functions:
+### Naming
 
-  + `peekRead` -- read value from a string.
-  + `popValue` -- peek value at the top of the Lua stack, then
-    remove it from the stack regardless of whether peeking was
-    successful or not.
+-   The *Lua* prefix was removed from types (`State`, `Integer`,
+    `Number`, `Exception`) and the respective infix from functions
+    (`try`, `run`, `runWith`, `runEither`). HsLua should be
+    imported qualified to avoid name collisions.
 
-#### Naming
+-   Terminology now consistently uses *exception* to refer to
+    Haskell exceptions, and *error* for Lua errors; function names
+    changed accordingly (`throwException`, `catchException`,
+    `withExceptionMessage`).
 
-- The *Lua* prefix was removed from types (`State`, `Integer`, `Number`,
-  `Exception`) and the respective infix from functions (`try`, `run`,
-  `runWith`, `runEither`). HsLua should be imported qualified to avoid
-  name collisions.
+-   Module *Foreign.Lua.Api* was renamed to *Foreign.Lua.Core*.
 
-- Terminology now consistently uses *exception* to refer to Haskell
-  exceptions, and *error* for Lua errors; function names changed
-  accordingly (`throwException`, `catchException`,
-  `withExceptionMessage`).
+-   *Foreign.Lua.lerror* was renamed to *Foreign.Lua.error*.
 
-- Module *Foreign.Lua.Api* was renamed to *Foreign.Lua.Core*.
+-   Typeclass *ToLuaStack* was renamed to *Pushable*.
 
-- *Foreign.Lua.lerror* was renamed to *Foreign.Lua.error*.
+-   Typeclass *FromLuaStack* was renamed to *Peekable*.
 
-- Typeclass *ToLuaStack* was renamed to *Pushable*.
+-   Cabal flag *use-pkgconfig* was renamed to *pkg-config* (which
+    is the flag name used by other projects such a zlib).
 
-- Typeclass *FromLuaStack* was renamed to *Peekable*.
+### Type signatures
 
-- Cabal flag *use-pkgconfig* was renamed to *pkg-config* (which is the
-   flag name used by other projects such a zlib).
+-   The return value of `lua_newuserdata` is *CSize* (was *CInt*).
 
+-   Table index parameter in `rawgeti` and `rawseti` must be of
+    type *LuaInteger*, but were of type *Int*.
 
-#### Type signatures
+-   The number of upvalues passed to `pushcclosure` must be of
+    type *NumArgs*.
 
-- The return value of `lua_newuserdata` is *CSize* (was *CInt*).
-
-- Table index parameter in `rawgeti` and `rawseti` must be of type
-  *LuaInteger*, but were of type *Int*.
-
-- The number of upvalues passed to `pushcclosure` must be of type
-  *NumArgs*.
-
-- `Lua.error` has type *Lua NumResults*, simplifying its use in
+-   `Lua.error` has type *Lua NumResults*, simplifying its use in
     HaskellFunctions.
 
-- Retrieval functions which can fail, i.e. `tocfunction`, `tointeger`,
-  `tonumber`, `tostring`, `tothread`, and `touserdata`, use the *Maybe*
-  type to indicate success or failure, avoiding the need to perform
-  additional checks.
-
-#### Removed Features
-
-- Support for Lua versions before 5.3 has been dropped.
-
-- Support for GHC 7.8 has been dropped.
-
-- `wrapHaskellFunction` has been made internal and is no longer
-   exported.
-
-#### Changed behavior
-
-- Peekable instances for numbers and strings became more forgiving.
-  Peeking of basic types now follows Lua's default conversion rules:
-
-  + numbers can be given as strings, and *vice versa*;
-  + any value can be converted into a boolean -- only `nil` and `false`
-    are peeked as `False`, all other as `True`.
-
-#### Other
-
-- Many internal improvements and additions such as a benchmarking suite,
-  code cleanups, better tests, etc.
-
-### 0.9.5.{1,2}
-
-- Relaxed upper bound on *exceptions*.
-
-### 0.9.5
-
-- Provide Optional as a replacement for OrNil. Exports of the latter
-  have been fixed.
-- Provide utility function `raiseError`: Its argument will be thrown as
-  an error in Lua.
-- Add `modifyLuaError`: The function lives in Foreign.Lua.Error and
-  allows to alter error messages. This is most useful for amending
-  errors with additional information.
-- Fixed a bug in `toList` which left a element on the stack if
-  deserializing that element lead to an error. This also affected the
-  FromLuaStack instance for lists.
-- Fixed a bug in `pairsFromTable` which left a key-value pair on the
-  stack if either of them could not be read into the expected type. This
-  also affected the FromLuaStack instance for Map.
-
-### 0.9.4
-
-- Make Lua an instance of MonadMask: MonadMask from Control.Monad.Catch
-  allows to mask asynchronous exceptions. This allows to define a
-  finalizer for Lua operations.
-- Add functions and constants to refer to stack indices: The functions
-  `nthFromBottom`, `nthFromTop` as well as the constants `stackTop` and
-  `stackBottom` have been introduced. Numeric constants are less clear,
-  and named constants can aid readability.
-- Add type OrNil: This type can be used when dealing with optional
-  arguments to Lua functions.
-- Add function absindex: it converts the acceptable index `idx` into an
-  equivalent absolute index (that is, one that does not depend on the
-  stack top). The function calls `lua_absindex` when compiled with Lua
-  5.2 or later; for Lua 5.1, it is reimplemented in Haskell.
-- Functions in `tasty` which have been deprecated have been replaced
-  with non-deprecated alternatives.
-
-
-### 0.9.3
-
-- Re-export more FunctionCalling helpers in `Foreign.Lua`: The typeclass
-  `ToHaskellFunction` and the helper function `toHaskellFunction` are
-  useful when working with functions. Importing them separately from
-  `Foreign.Lua.FunctionCalling` was an unnecessary burden; they are
-  therefor now re-exported by the main module.
-- Export registry-relatd constants `refnil` and `noref`: The constants
-  are related to Lua's registry functions (`ref` and `unref`).
-- Add helper to convert functions into CFunction: A new helper
-  `wrapHaskellFunction` is provided. It expects a
-  HaskellImportedFunction userdata (as produced by
-  `pushHaskellFunction`) on top of the stack and replaces it with a C
-  function. The new function converts error values generated with
-  `lerror` into Lua errors, i.e. it calls `lua_error`.
-- Add utility function `setglobal'`: It works like `setglobal`, but
-  works with packages and nested tables (dot-notation only).
-
-### 0.9.2
-
-- Add cabal flag 'export-dynamic': Default behavior is to include all symbols 
in
-  the dynamic symbol table, as this enables users to load dynamic lua 
libraries.
-  However, it is sometimes desirable to disable, e.g., when compiling a fully
-  static binary. See jgm/pandoc#3986.
-
-### 0.9.1
-
-- Increase user-friendlyness of error messages: The error message returned by
-  `toHaskellFunction` hinted at the fact that the failing function is a Haskell
-  function. This is mostly unnecessary information and might have confused
-  users.
-
-### 0.9.0
-
-- Added cabal flag to allow fully safe garbage collection: Lua garbage
-  collection can occur in most of the API functions, even in those usually not
-  calling back into haskell and hence marked as optimizable. The effect of this
-  is that finalizers which call Haskell functions will cause the program to
-  hang. A new flag `allow-unsafe-gc` is introduced and enabled by default.
-  Disabling this flag will mark more C API functions as potentially calling 
back
-  into Haskell. This has a serious performance impact.
-- `FromLuaStack` and `ToLuaStack` instances for lazy ByteStrings are added.
-- None-string error messages are handled properly: Lua allows error messages to
-  be of any type, but the haskell error handlers expected string values. 
Tables,
-  booleans, and other non-string values are now handled as well and converted 
to
-  strings.
-
-### 0.8.0
-
-- Use newtype definitions instead of type aliases for LuaNumber and LuaInteger.
-  This makes it easier to ensure the correct numeric instances in situations
-  where Lua might have been compiled with 32-bit numbers.
-- Instances of `FromLuaStack` and `ToLuaStack` for `Int` are removed. The
-  correctness of these instances cannot be guaranteed if Lua was compiled with 
a
-  non-standard integer type.
-
-### 0.7.1
-
-- The flag `lua_32bits` was added to allow users to compile Lua for 32-bit
-  systems.
-- When reading a list, throw an error if the lua value isn't a table instead of
-  silently returning an empty list.
-
-### 0.7.0
-
-- Tuples from pairs to octuples have been made instances of `FromLuaStack` and
-  `ToLuaStack`.
-- New functions `dostring` and `dofile` are provided to load and run strings 
and
-  files in a single step.
-- `LuaStatus` was renamed to `Status`, the *Lua* prefix was removed from its
-  type constructors.
-- The constructor `ErrFile` was added to `Status`. It is returned by `loadfile`
-  if the file cannot be read.
-- Remove unused FFI bindings and unused types, including all functions unsafe 
to
-  use from within Haskell and the library functions added with 0.5.0. Users 
with
-  special requirements should define their own wrappers and raw bindings.
-- The module *Foreign.Lua.Api.SafeBindings* was merge into
-  *Foreign.Lua.Api.RawBindings*.
-- FFI bindings are changed to use newtypes where sensible, most notably
-  `StackIndex`, `NumArgs`, and `NumResults`, but also the newly introduced
-  newtypes `StatusCode`, `TypeCode`, and `LuaBool`.
-- Add functions `tointegerx` and `tonumberx` which can be used to get and check
-  values from the stack in a single step.
-- The signature of `concat` was changed from `Int -> Lua ()` to
-  `NumArgs -> Lua ()`.
-- The signature of `loadfile` was changed from `String -> Lua Int` to
-  `String -> Lua Status`.
-- The type `LTYPE` was renamed to `Type`, its constructors were renamed to
-  follow the pattern `Type<Typename>`. `LuaRelation` was renamed to
-  `RelationalOperator`, the *Lua* prefix was removed from its constructors.
-- Add function `tolist` to allow getting a generic list from the stack without
-  having to worry about the overlapping instance with `[Char]`.
-
-
-### 0.6.0
-
-* Supported Lua Versions now include Lua 5.2 and Lua 5.3. LuaJIT and Lua 5.1
-  remain supported as well.
-* Flag `use-pkgconfig` was added to allow discovery of library and include 
paths
-  via pkg-config. Setting a specific Lua version flag now implies `system-lua`.
-  (Sean Proctor)
-* The module was renamed from `Scripting.Lua` to `Foreign.Lua`. The code is now
-  split over multiple sub-modules. Files processed with hsc2hs are restricted 
to
-  Foreign.Lua.Api.
-* A `Lua` monad (reader monad over LuaState) is introduced. Functions which 
took
-  a LuaState as their first argument are changed into monadic functions within
-  that monad.
-* Error handling has been redesigned completely. A new LuaException was
-  introduced and is thrown in unexpected situations. Errors in lua which are
-  leading to a `longjmp` are now caught with the help of additional C wrapper
-  functions. Those no longer lead to uncontrolled program termination but are
-  converted into a LuaException.
-* `peek` no longer returns `Maybe a` but just `a`. A LuaException is thrown if
-  an error occurs (i.e. in situtations where Nothing would have been returned
-  previously).
-* The `StackValue` typeclass has been split into `FromLuaStack` and
-  `ToLuaStack`. Instances not satisfying the law `x == push x *> peek (-1)` 
have
-  been dropped.
-* Documentation of API functions was improved. Most docstrings have been copied
-  from the official Lua manual, enriched with proper markup and links, and
-  changed to properly describe hslua specifics when necessary.
-* Example programs have been moved to a separate repository.
-* Unused files were removed. (Sean Proctor)
-
-### 0.5.0
-
-* New raw functions for `luaopen_base`, `luaopen_package`, `luaopen_string`,
-  `luaopen_table`, `luaopen_math`, `luaopen_io`, `luaopen_os`, `luaopen_debug`
-  and their high-level wrappers (with names `openbase`, `opentable` etc.)
-  implemented.
-* Remove custom versions of `loadfile` and `loadstring`.
-* Drop support for GHC versions < 7.8, avoid compiler warnings.
-* Ensure no symbols are stripped when linking the bundled lua interpreter.
-* Simplify `tostring` function definition. (Sean Proctor)
-* Explicitly deprecate `strlen`. (Sean Proctor)
-* Add links to lua documentation for functions wrapping the official lua C API.
-  (Sean Proctor).
-
-### 0.4.1
-
-* Bugfix(#30): `tolist` wasn't popping elements of the list from stack.
-
-### 0.4.0
-
-* `pushstring` and `tostring` now uses `ByteString` instead of `[Char]`.
-* `StackValue [Char]` instance is removed, `StackValue ByteString` is added.
-* `StackValue a => StackValue [a]` instance is added. It pushes a Lua array to
-  the stack. `pushlist`, `islist` and `tolist` functions are added.
-* Type errors in Haskell functions now propagated differently. See the
-  `Scripting.Lua` documentation for detailed explanation. This should fix
-  segfaults reported several times.
-* `lua_error` function is removed, it's never safe to call in Haskell.
+-   Retrieval functions which can fail, i.e.??`tocfunction`,
+    `tointeger`, `tonumber`, `tostring`, `tothread`, and
+    `touserdata`, use the *Maybe* type to indicate success or
+    failure, avoiding the need to perform additional checks.
+
+### Removed Features
+
+-   Support for Lua versions before 5.3 has been dropped.
+
+-   Support for GHC 7.8 has been dropped.
+
+-   `wrapHaskellFunction` has been made internal and is no longer
+    exported.
+
+### Changed behavior
+
+-   Peekable instances for numbers and strings became more
+    forgiving. Peeking of basic types now follows Lua???s default
+    conversion rules:
+
+    -   numbers can be given as strings, and *vice versa*;
+    -   any value can be converted into a boolean ??? only `nil` and
+        `false` are peeked as `False`, all other as `True`.
+
+### Other
+
+-   Many internal improvements and additions such as a
+    benchmarking suite, code cleanups, better tests, etc.
+
+## hslua-0.9.5.2
+
+-   Relaxed upper bound on *exceptions*. Again.
+
+## hslua-0.9.5.1
+
+-   Relaxed upper bound on *exceptions*.
+
+## hslua-0.9.5
+
+-   Provide Optional as a replacement for OrNil. Exports of the
+    latter have been fixed.
+-   Provide utility function `raiseError`: Its argument will be
+    thrown as an error in Lua.
+-   Add `modifyLuaError`: The function lives in Foreign.Lua.Error
+    and allows to alter error messages. This is most useful for
+    amending errors with additional information.
+-   Fixed a bug in `toList` which left a element on the stack if
+    deserializing that element lead to an error. This also
+    affected the FromLuaStack instance for lists.
+-   Fixed a bug in `pairsFromTable` which left a key-value pair on
+    the stack if either of them could not be read into the
+    expected type. This also affected the FromLuaStack instance
+    for Map.
+
+## hslua-0.9.4
+
+-   Make Lua an instance of MonadMask: MonadMask from
+    Control.Monad.Catch allows to mask asynchronous exceptions.
+    This allows to define a finalizer for Lua operations.
+-   Add functions and constants to refer to stack indices: The
+    functions `nthFromBottom`, `nthFromTop` as well as the
+    constants `stackTop` and `stackBottom` have been introduced.
+    Numeric constants are less clear, and named constants can aid
+    readability.
+-   Add type OrNil: This type can be used when dealing with
+    optional arguments to Lua functions.
+-   Add function absindex: it converts the acceptable index `idx`
+    into an equivalent absolute index (that is, one that does not
+    depend on the stack top). The function calls `lua_absindex`
+    when compiled with Lua 5.2 or later; for Lua 5.1, it is
+    reimplemented in Haskell.
+-   Functions in `tasty` which have been deprecated have been
+    replaced with non-deprecated alternatives.
+
+## hslua-0.9.3
+
+-   Re-export more FunctionCalling helpers in `Foreign.Lua`: The
+    typeclass `ToHaskellFunction` and the helper function
+    `toHaskellFunction` are useful when working with functions.
+    Importing them separately from `Foreign.Lua.FunctionCalling`
+    was an unnecessary burden; they are therefor now re-exported
+    by the main module.
+-   Export registry-relatd constants `refnil` and `noref`: The
+    constants are related to Lua???s registry functions (`ref` and
+    `unref`).
+-   Add helper to convert functions into CFunction: A new helper
+    `wrapHaskellFunction` is provided. It expects a
+    HaskellImportedFunction userdata (as produced by
+    `pushHaskellFunction`) on top of the stack and replaces it
+    with a C function. The new function converts error values
+    generated with `lerror` into Lua errors, i.e.??it calls
+    `lua_error`.
+-   Add utility function `setglobal'`: It works like `setglobal`,
+    but works with packages and nested tables (dot-notation only).
+
+## hslua-0.9.2
+
+-   Add cabal flag ???export-dynamic???: Default behavior is to
+    include all symbols in the dynamic symbol table, as this
+    enables users to load dynamic lua libraries. However, it is
+    sometimes desirable to disable, e.g., when compiling a fully
+    static binary. See jgm/pandoc#3986.
+
+## hslua-0.9.1
+
+-   Increase user-friendlyness of error messages: The error
+    message returned by `toHaskellFunction` hinted at the fact
+    that the failing function is a Haskell function. This is
+    mostly unnecessary information and might have confused users.
+
+## hslua-0.9.0
+
+-   Added cabal flag to allow fully safe garbage collection: Lua
+    garbage collection can occur in most of the API functions,
+    even in those usually not calling back into haskell and hence
+    marked as optimizable. The effect of this is that finalizers
+    which call Haskell functions will cause the program to hang. A
+    new flag `allow-unsafe-gc` is introduced and enabled by
+    default. Disabling this flag will mark more C API functions as
+    potentially calling back into Haskell. This has a serious
+    performance impact.
+-   `FromLuaStack` and `ToLuaStack` instances for lazy ByteStrings
+    are added.
+-   None-string error messages are handled properly: Lua allows
+    error messages to be of any type, but the haskell error
+    handlers expected string values. Tables, booleans, and other
+    non-string values are now handled as well and converted to
+    strings.
+
+## hslua-0.8.0
+
+-   Use newtype definitions instead of type aliases for LuaNumber
+    and LuaInteger. This makes it easier to ensure the correct
+    numeric instances in situations where Lua might have been
+    compiled with 32-bit numbers.
+-   Instances of `FromLuaStack` and `ToLuaStack` for `Int` are
+    removed. The correctness of these instances cannot be
+    guaranteed if Lua was compiled with a non-standard integer
+    type.
+
+## hslua-0.7.1
+
+-   The flag `lua_32bits` was added to allow users to compile Lua
+    for 32-bit systems.
+-   When reading a list, throw an error if the lua value isn???t a
+    table instead of silently returning an empty list.
+
+## hslua-0.7.0
+
+-   Tuples from pairs to octuples have been made instances of
+    `FromLuaStack` and `ToLuaStack`.
+-   New functions `dostring` and `dofile` are provided to load and
+    run strings and files in a single step.
+-   `LuaStatus` was renamed to `Status`, the *Lua* prefix was
+    removed from its type constructors.
+-   The constructor `ErrFile` was added to `Status`. It is
+    returned by `loadfile` if the file cannot be read.
+-   Remove unused FFI bindings and unused types, including all
+    functions unsafe to use from within Haskell and the library
+    functions added with 0.5.0. Users with special requirements
+    should define their own wrappers and raw bindings.
+-   The module *Foreign.Lua.Api.SafeBindings* was merge into
+    *Foreign.Lua.Api.RawBindings*.
+-   FFI bindings are changed to use newtypes where sensible, most
+    notably `StackIndex`, `NumArgs`, and `NumResults`, but also
+    the newly introduced newtypes `StatusCode`, `TypeCode`, and
+    `LuaBool`.
+-   Add functions `tointegerx` and `tonumberx` which can be used
+    to get and check values from the stack in a single step.
+-   The signature of `concat` was changed from `Int -> Lua ()` to
+    `NumArgs -> Lua ()`.
+-   The signature of `loadfile` was changed from
+    `String -> Lua Int` to `String -> Lua Status`.
+-   The type `LTYPE` was renamed to `Type`, its constructors were
+    renamed to follow the pattern `Type<Typename>`. `LuaRelation`
+    was renamed to `RelationalOperator`, the *Lua* prefix was
+    removed from its constructors.
+-   Add function `tolist` to allow getting a generic list from the
+    stack without having to worry about the overlapping instance
+    with `[Char]`.
+
+## hslua-0.6.0
+
+-   Supported Lua Versions now include Lua 5.2 and Lua 5.3. LuaJIT
+    and Lua 5.1 remain supported as well.
+-   Flag `use-pkgconfig` was added to allow discovery of library
+    and include paths via pkg-config. Setting a specific Lua
+    version flag now implies `system-lua`. (Sean Proctor)
+-   The module was renamed from `Scripting.Lua` to `Foreign.Lua`.
+    The code is now split over multiple sub-modules. Files
+    processed with hsc2hs are restricted to Foreign.Lua.Api.
+-   A `Lua` monad (reader monad over LuaState) is introduced.
+    Functions which took a LuaState as their first argument are
+    changed into monadic functions within that monad.
+-   Error handling has been redesigned completely. A new
+    LuaException was introduced and is thrown in unexpected
+    situations. Errors in lua which are leading to a `longjmp` are
+    now caught with the help of additional C wrapper functions.
+    Those no longer lead to uncontrolled program termination but
+    are converted into a LuaException.
+-   `peek` no longer returns `Maybe a` but just `a`. A
+    LuaException is thrown if an error occurs (i.e.??in situtations
+    where Nothing would have been returned previously).
+-   The `StackValue` typeclass has been split into `FromLuaStack`
+    and `ToLuaStack`. Instances not satisfying the law
+    `x == push x *> peek (-1)` have been dropped.
+-   Documentation of API functions was improved. Most docstrings
+    have been copied from the official Lua manual, enriched with
+    proper markup and links, and changed to properly describe
+    hslua specifics when necessary.
+-   Example programs have been moved to a separate repository.
+-   Unused files were removed. (Sean Proctor)
+
+## hslua-0.5.0
+
+-   New raw functions for `luaopen_base`, `luaopen_package`,
+    `luaopen_string`, `luaopen_table`, `luaopen_math`,
+    `luaopen_io`, `luaopen_os`, `luaopen_debug` and their
+    high-level wrappers (with names `openbase`, `opentable` etc.)
+    implemented.
+-   Remove custom versions of `loadfile` and `loadstring`.
+-   Drop support for GHC versions \< 7.8, avoid compiler warnings.
+-   Ensure no symbols are stripped when linking the bundled lua
+    interpreter.
+-   Simplify `tostring` function definition. (Sean Proctor)
+-   Explicitly deprecate `strlen`. (Sean Proctor)
+-   Add links to lua documentation for functions wrapping the
+    official lua C API. (Sean Proctor).
+
+## hslua-0.4.1
+
+-   Bugfix(#30): `tolist` wasn???t popping elements of the list from
+    stack.
+
+## hslua-0.4.0
+
+-   `pushstring` and `tostring` now uses `ByteString` instead of
+    `[Char]`.
+-   `StackValue [Char]` instance is removed,
+    `StackValue ByteString` is added.
+-   `StackValue a => StackValue [a]` instance is added. It pushes
+    a Lua array to the stack. `pushlist`, `islist` and `tolist`
+    functions are added.
+-   Type errors in Haskell functions now propagated differently.
+    See the `Scripting.Lua` documentation for detailed
+    explanation. This should fix segfaults reported several times.
+-   `lua_error` function is removed, it???s never safe to call in
+    Haskell.
 
 Related issues and pull requests: #12, #26, #24, #23, #18.
 
-### 0.3.14
+## hslua-0.3.14
+
+-   Pkgconf-based setup removed. Cabal is now using
+    `extra-libraries` to link with Lua.
+-   `luajit` flag is added to link hslua with LuaJIT.
 
-* Pkgconf-based setup removed. Cabal is now using `extra-libraries` to link 
with Lua.
-* `luajit` flag is added to link hslua with LuaJIT.
+## hslua-0.3.13
 
-### 0.3.13
+-   Small bugfix related with GHCi running under Windows.
 
-* Small bugfix related with GHCi running under Windows.
+## hslua-0.3.12
 
-### 0.3.12
+-   `pushrawhsfunction` and `registerrawhsfunction` functions are
+    added.
+-   `apicheck` flag is added to Cabal package to enable Lua API
+    checking. (useful for debugging)
 
-* `pushrawhsfunction` and `registerrawhsfunction` functions are added.
-* `apicheck` flag is added to Cabal package to enable Lua API checking. 
(useful for debugging)
+## hslua-0.3.11
 
-### 0.3.11
+-   `luaL_ref` and `luaL_unref` functions are added.
 
-* `luaL_ref` and `luaL_unref` functions are added.
+  [PVP Versioning]: https://pvp.haskell.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/LICENSE new/hslua-2.1.0/LICENSE
--- old/hslua-2.0.1/LICENSE     2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/LICENSE     2001-09-09 03:46:40.000000000 +0200
@@ -1,7 +1,7 @@
 Copyright ?? 1994-2020 Lua.org, PUC-Rio.
 Copyright ?? 2007-2012 Gracjan Polak
 Copyright ?? 2012-2015 ??mer Sinan A??acan
-Copyright ?? 2016-2021 Albert Krewinkel
+Copyright ?? 2016-2022 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/hslua.cabal new/hslua-2.1.0/hslua.cabal
--- old/hslua-2.0.1/hslua.cabal 2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/hslua.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                hslua
-version:             2.0.1
+version:             2.1.0
 synopsis:            Bindings to Lua, an embeddable scripting language
 description:         HsLua provides wrappers and helpers
                      to bridge Haskell and <https://www.lua.org/ Lua>.
@@ -18,7 +18,7 @@
 maintainer:          [email protected]
 copyright:           ?? 2007???2012 Gracjan Polak;
                      ?? 2012???2016 ??mer Sinan A??acan;
-                     ?? 2017-2021 Albert Krewinkel
+                     ?? 2017-2022 Albert Krewinkel
 category:            Foreign
 build-type:          Simple
 extra-source-files:  README.md
@@ -29,8 +29,9 @@
                    , GHC == 8.4.4
                    , GHC == 8.6.5
                    , GHC == 8.8.4
-                   , GHC == 8.10.4
+                   , GHC == 8.10.7
                    , GHC == 9.0.1
+                   , GHC == 9.2.1
 
 source-repository head
   type:                git
@@ -42,13 +43,13 @@
                      , bytestring              >= 0.10.2 && < 0.12
                      , containers              >= 0.5.9  && < 0.7
                      , exceptions              >= 0.8    && < 0.11
-                     , hslua-core              >= 2.0.0.2 && < 2.1
-                     , hslua-classes           >= 2.0    && < 2.1
-                     , hslua-marshalling       >= 2.0.1  && < 2.1
-                     , hslua-objectorientation >= 2.0.1  && < 2.1
-                     , hslua-packaging         >= 2.0    && < 2.1
+                     , hslua-core              >= 2.1    && < 2.2
+                     , hslua-classes           >= 2.1    && < 2.2
+                     , hslua-marshalling       >= 2.1    && < 2.2
+                     , hslua-objectorientation >= 2.1    && < 2.2
+                     , hslua-packaging         >= 2.1    && < 2.2
                      , mtl                     >= 2.2    && < 2.3
-                     , text                    >= 1.0    && < 1.3
+                     , text                    >= 1.2    && < 2.1
   ghc-options:         -Wall
                        -Wincomplete-record-updates
                        -Wnoncanonical-monad-instances
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/src/HsLua/Util.hs 
new/hslua-2.1.0/src/HsLua/Util.hs
--- old/hslua-2.0.1/src/HsLua/Util.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/src/HsLua/Util.hs   2001-09-09 03:46:40.000000000 +0200
@@ -2,7 +2,7 @@
 Module      : HsLua.Util
 Copyright   : ?? 2007???2012 Gracjan Polak;
               ?? 2012???2016 ??mer Sinan A??acan;
-              ?? 2017-2021 Albert Krewinkel
+              ?? 2017-2022 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <[email protected]>
 Stability   : beta
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/src/HsLua.hs new/hslua-2.1.0/src/HsLua.hs
--- old/hslua-2.0.1/src/HsLua.hs        2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/src/HsLua.hs        2001-09-09 03:46:40.000000000 +0200
@@ -2,7 +2,7 @@
 Module      : HsLua
 Copyright   : ?? 2007???2012 Gracjan Polak;
               ?? 2012???2016 ??mer Sinan A??acan;
-              ?? 2017-2021 Albert Krewinkel
+              ?? 2017-2022 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <[email protected]>
 Stability   : beta
@@ -39,8 +39,7 @@
 import HsLua.Core
 import HsLua.Class.Exposable
 import HsLua.Class.Invokable
-import HsLua.Class.Peekable hiding ( PeekError, reportValueOnFailure
-                                   , peekList, peekKeyValuePairs)
+import HsLua.Class.Peekable
 import HsLua.Class.Pushable hiding (pushList)
 import HsLua.Class.Util
 import HsLua.Packaging
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/test/HsLua/UtilTests.hs 
new/hslua-2.1.0/test/HsLua/UtilTests.hs
--- old/hslua-2.0.1/test/HsLua/UtilTests.hs     2001-09-09 03:46:40.000000000 
+0200
+++ new/hslua-2.1.0/test/HsLua/UtilTests.hs     2001-09-09 03:46:40.000000000 
+0200
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-|
 Module      :  HsLua.UtilTests
-Copyright   :  ?? 2017-2021 Albert Krewinkel
+Copyright   :  ?? 2017-2022 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/test/HsLuaTests.hs 
new/hslua-2.1.0/test/HsLuaTests.hs
--- old/hslua-2.0.1/test/HsLuaTests.hs  2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/test/HsLuaTests.hs  2001-09-09 03:46:40.000000000 +0200
@@ -3,7 +3,7 @@
 {-# LANGUAGE TypeApplications #-}
 {-|
 Module      : HsLua.Packaging.Module
-Copyright   : ?? 2019-2021 Albert Krewinkel
+Copyright   : ?? 2019-2022 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <[email protected]>
 Stability   : alpha
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hslua-2.0.1/test/test-hslua.hs 
new/hslua-2.1.0/test/test-hslua.hs
--- old/hslua-2.0.1/test/test-hslua.hs  2001-09-09 03:46:40.000000000 +0200
+++ new/hslua-2.1.0/test/test-hslua.hs  2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 {-|
 Module      : Main
-Copyright   : ?? 2017-2021 Albert Krewinkel
+Copyright   : ?? 2017-2022 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <[email protected]>
 

Reply via email to