lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hello list,

Announcing a new release of LuaRocks, the package manager for Lua.

This release contains a significant improvement in the management of
LuaRocks mirrors, which should make the CLI client much more resilient
to intermittent failures in the main server, as well as a number of
other fixes. Upgrade is especially recommended if you use LuaRocks in
a CI pipeline.

## What's new in LuaRocks 3.7.0

* Improved connectivity resiliency
  * LuaRocks can now use mirrors for downloading rocks even
    if downloading the manifest from the main server succeeds.
    In previous versions, LuaRocks would check whether to use
    a mirror in the first download operation, when it fetches the
    manifest. Once the server (luarocks.org or one of its default
    mirrors) was chosen, it would stick with it for the rest of the
    command.
    The resulting behavior was that if the manifest failed to load,
    it switched to a mirror and continued from there. But if the
    manifest fetches ok and the then actual rock download fails,
    it would give up, instead of trying that in a mirror as well.
    Now, it retries every download on a mirror whenever the base
    URL matches one configured in rocks_servers. The original
    behavior was satisfactory if there was complete downtime
    in the main server, but this new behavior should make the
    CLI much more resilient with regard to any intermittent failures
    happening on the main server.
* On Unix, it now respects environment variables
  $XDG_CACHE_HOME and $XDG_CONFIG_HOME
  * This means the user's configuration typically resides in
    ~/.config/luarocks/ as per the XDG standard
  * The legacy path ~/.luarocks/ continues to be tested first,
    for backwards compatibility
* Fixes check for the default Lua version set in the user's home
  configuration
* Fixes an issue on Windows where it would incorrectly revoke
  permissions from the current user when installing

LuaRocks 3.6.0 was released last month but wasn't announced on this
list so here's a changelog for that as well:

## What's new in LuaRocks 3.6.0

* Adds a double-check step to verify that all files from
  a rock are installed
* Improve resilience of the manifest reader to deal with manifests
  written with older versions of LuaRocks lower than 3.0
* `luarocks pack` now checks that the directory inside the archive
  being packed as a `.src.rock` actually exists, refusing to pack an
  invalid rock from a badly configured rockspec.
* Fixes behavior of `luarocks pack` when the `url` entry of a rockspec
  points to a bare file.
* Remove an entry from the manifest if the rock itself is already missing
* The `configure` script now checks that the version of `lua.h`
  found matches that of the Lua interpreter detected or configured
* Fixes the renaming of scripts when multiple versions are installed
* Fixes availability check for `svn` for rockspecs using Subversion
* Fixes for running with an empty PATH environment variable
* Portability improvements:
  * Windows: vcvarsall.bat output is now properly redirected to NUL
    meaning that the output of `luarocks path` can be used in scripts
  * Fixes autodetection for Cygwin
  * Handles macOS versions greater than 10.10
  * Adds platform specific configurations for NetBSD
  * Respects CC/CFLAGS/LDFLAGS on FreeBSD
* Luacheck now runs on the LuaRocks CI
* Distributed binaries are built using Lua 5.3

LuaRocks 3.7.0 contains commits by Carl Smedstad, Gustavo Ramires,
Alexey Melnichuk, and Hisham Muhammad. LuaRocks 3.6.0 contains commits
by Po-Chuan Hsieh, sharpobject, Hugo Musso Gualandi, daurnimator, Carl
Smedstad, Simone Livieri, Lawrence Hoffman, Lemures Lemniscati, and
Hisham Muhammad. You can find detailed credits in the Git history.

You can find all links for installation at https://luarocks.org —
source packages for all supported platforms and binaries for Windows
(32 and 64 bit) as well as Linux x86-64 are available.

Special thanks go to Kong <https://konghq.com/> and itch.io
<https://itch.io> for their continued commitment to open source,
sponsoring the maintenance of the LuaRocks in various ways. If your
company is interested in sponsoring the maintenance of LuaRocks and/or
a support contract, feel free to contact me off-list at
hisham@luarocks.org.

Cheers!

-- Hisham