ghc-hslua/ghc-hslua.changes

563 lines
24 KiB
Plaintext

-------------------------------------------------------------------
Thu Jan 18 17:38:49 UTC 2024 - Peter Simons <psimons@suse.com>
- Update hslua to version 2.3.1.
## hslua-2.3.1
Released 2024-01-18.
- Relaxed upper bound for text, containers, and bytestring,
allowing text-2.1, containers-0.7, and bytestring-0.12.
- Require latest versions of HsLua packages.
-------------------------------------------------------------------
Thu Apr 13 12:06:13 UTC 2023 - Peter Simons <psimons@suse.com>
- Update hslua to version 2.3.0.
## hslua-2.3.0
Released 2023-03-13.
- Require version 2.3.* of HsLua packages: hslua-core,
hslua-marshalling, hslua-objectorientation, hslua-packaging,
hslua-aeson, hslua-classes.
- Include `hslua-typing`, re-export `HsLua.Typing`.
-------------------------------------------------------------------
Thu Mar 30 17:06:59 UTC 2023 - Peter Simons <psimons@suse.com>
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
-------------------------------------------------------------------
Sun Jun 19 11:56:53 UTC 2022 - Peter Simons <psimons@suse.com>
- Update hslua to version 2.2.1.
## hslua-2.2.1
Released 2022-06-19.
- Require hslua-core-2.2.1.
- Require hslua-marshalling-2.2.0.1.
- Relax upper bound for mtl, allow mtl-2.3.
-------------------------------------------------------------------
Fri May 20 09:02:24 UTC 2022 - Peter Simons <psimons@suse.com>
- Update hslua to version 2.2.0 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sat Feb 19 14:38:11 UTC 2022 - Peter Simons <psimons@suse.com>
- Update hslua to version 2.2.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.2.0/src/CHANGELOG.md
-------------------------------------------------------------------
Sat Jan 29 10:07:48 UTC 2022 - Peter Simons <psimons@suse.com>
- 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
-------------------------------------------------------------------
Thu Nov 4 12:12:18 UTC 2021 - psimons@suse.com
- Update hslua to version 2.0.1.
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.0.1/src/CHANGELOG.md
-------------------------------------------------------------------
Mon Nov 1 08:29:37 UTC 2021 - psimons@suse.com
- Update hslua to version 2.0.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.0.0/src/CHANGELOG.md
-------------------------------------------------------------------
Tue Oct 19 07:22:06 UTC 2021 - psimons@suse.com
- Update hslua to version 1.3.0.2.
### 1.3.0.2
Released 2021-10-14.
- Bumped upper package version bound, allowing bytestring 0.11.
-------------------------------------------------------------------
Mon Feb 8 05:05:44 UTC 2021 - psimons@suse.com
- Update hslua to version 1.3.0.1.
### 1.3.0.1
Released 2021-02-06.
- Fixed build with GHC 9.0.1 (Simon Jakobi).
- Improved test-suite; fixed memory leaks in some tests.
- Moved CI to GitHub Actions.
-------------------------------------------------------------------
Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
-------------------------------------------------------------------
Sat Oct 17 02:01:28 UTC 2020 - psimons@suse.com
- Update hslua to version 1.3.0.
### 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.
-------------------------------------------------------------------
Tue Aug 18 10:45:04 UTC 2020 - Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
-------------------------------------------------------------------
Sun Aug 16 02:01:37 UTC 2020 - psimons@suse.com
- Update hslua to version 1.2.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-1.2.0/src/CHANGELOG.md
-------------------------------------------------------------------
Sun Jun 28 02:00:44 UTC 2020 - psimons@suse.com
- Update hslua to version 1.1.2.
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-1.1.2/src/CHANGELOG.md
-------------------------------------------------------------------
Tue Jun 9 09:10:54 UTC 2020 - psimons@suse.com
- Update hslua to version 1.1.1.
### 1.1.1
Released 2020-06-02
- 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.
- 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.
- 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 a bug which caused unnecessary use of strings to represent
floating point numbers under certain configurations.
### 1.1.0
Released 2020-03-25.
**WARNING:** The changes in this release are experimental. It is
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.
- 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.
- Function `runWith` is moved from module `Foreign.Lua.Core` to
`Foreign.Lua.Util`.
- The module `Foreign.Lua.Utf8` is now exported.
-------------------------------------------------------------------
Fri Nov 8 16:13:53 UTC 2019 - Peter Simons <psimons@suse.com>
- Drop obsolete group attributes.
-------------------------------------------------------------------
Thu Aug 22 02:02:16 UTC 2019 - psimons@suse.com
- Update hslua to version 1.0.3.2.
### 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 missing C files for benchmarking to list of
*extra-source-files*.
-------------------------------------------------------------------
Thu May 9 02:01:19 UTC 2019 - psimons@suse.com
- Update hslua to version 1.0.3.1.
### 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.
-------------------------------------------------------------------
Sun May 5 02:01:21 UTC 2019 - psimons@suse.com
- Update hslua to version 1.0.3.
### 1.0.3
Released 2019-05-04.
- 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.)
-------------------------------------------------------------------
Sun Jan 6 03:01:19 UTC 2019 - psimons@suse.com
- Update hslua to version 1.0.2.
### 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)
- 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.
-------------------------------------------------------------------
Thu Oct 4 15:40:07 UTC 2018 - psimons@suse.com
- Update hslua to version 1.0.1.
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-1.0.1/src/CHANGELOG.md
-------------------------------------------------------------------
Wed Jul 18 14:26:27 UTC 2018 - psimons@suse.com
- Cosmetic: replace tabs with blanks, strip trailing white space,
and update copyright headers with spec-cleaner.
-------------------------------------------------------------------
Mon May 14 17:02:11 UTC 2018 - psimons@suse.com
- Update hslua to version 0.9.5.2.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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]`.
* 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)
* 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).
-------------------------------------------------------------------
Thu Aug 17 09:35:36 UTC 2017 - dimstar@opensuse.org
- Fix build with the new lua package layout by specifying
--extra-include-dirs based on lua.pc.
-------------------------------------------------------------------
Thu Aug 3 15:38:38 UTC 2017 - psimons@suse.com
- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
-------------------------------------------------------------------
Sun Jul 10 17:22:35 UTC 2016 - psimons@suse.com
- Update to version 0.4.1 revision 0 with cabal2obs.
-------------------------------------------------------------------
Sun Sep 13 12:46:14 UTC 2015 - mimi.vx@gmail.com
- update to 0.4.1
* Bugfix: tolist wasn't popping elements of the list from stack.
-------------------------------------------------------------------
Fri Aug 7 07:36:15 UTC 2015 - mimi.vx@gmail.com
- update to 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.
* Pkgconf-based setup removed. Cabal is now using extra-libraries to link with Lua.
* luajit flag is added to link hslua with LuaJIT.
-------------------------------------------------------------------
Tue Apr 21 11:57:18 UTC 2015 - mimi.vx@gmail.com
- update to 0.3.13
* `pushrawhsfunction` and `registerrawhsfunction` functions are added.
* `luaL_ref` and `luaL_unref` functions are added.
-------------------------------------------------------------------
Tue Apr 7 16:55:39 UTC 2015 - peter.trommler@ohm-hochschule.de
- update to 0.3.9
- drop include-lua_neutralize_longjmp.patch
* fixed upstream
-------------------------------------------------------------------
Wed Mar 26 15:48:38 UTC 2014 - peter.trommler@ohm-hochschule.de
- fix license tag
* license file contradicts license tag in cabal file
-------------------------------------------------------------------
Fri Nov 1 15:35:25 UTC 2013 - sbahling@suse.com
- Proper lua-devel BuildRequires for SLE_11
-------------------------------------------------------------------
Mon Oct 21 20:44:15 UTC 2013 - sbahling@suse.com
- include-lua_neutralize_longjmp.patch:
Include custom lua_neutralize_longjmp function when compiling
using system lua libraries.
-------------------------------------------------------------------
Mon Oct 21 14:39:23 UTC 2013 - sbahling@suse.com
- Use lua51. Pandoc needs 5.1 API.
-------------------------------------------------------------------
Fri Oct 18 17:24:24 UTC 2013 - peter.trommler@ohm-hochschule.de
- use system provided lua library
-------------------------------------------------------------------
Sun Oct 6 17:38:11 UTC 2013 - sbahling@suse.com
- Intial package - version 0.3.7