Skip to content

Releases: luau-project/LuaInstaller

v0.6.1.0

27 Jul 22:28
21f1b9f

Choose a tag to compare

Important

Please, before trying to use any tool provided here, perform the initial Setup

Overview

This is a bug-fix release:

  • Fixed the installation of lua.hpp for Lua versions ranging from 5.1 to 5.1.5. Previously, this lua.hpp header file was missed because it is not located in the usual source folder. However, lua.hpp is an important file needed by people creating modules written in C++ for such Lua versions;
  • Improved the order of arguments passed to MSVC compiler and linker;
  • Updated images on README to reflect the new release (v0.6.1.0).

End User application

running

Command Line application

running-from-cmd

v0.6.0.0

29 Apr 02:20

Choose a tag to compare

Important

Please, before trying to use any tool provided here, perform the initial Setup

Overview

The most impacting change: this release brings the possibility to perform a native build Lua for the ARM64 architecture (no cross-compilation). To do that, the user must to be running a 64-bit Windows on ARM.

Other changes that happened:

  • Fixed the state (enabled / disabled) of refresh and install during their execution on LuaInstaller (end user).
  • Added new alias for the help command (-h and --help) on LuaInstaller.Console;
  • Added new commands to list Visual Studio versions capable to build Lua targeting ARM64 architecture (list-vs-arm64) on LuaInstaller.Console;
  • Added new commands to list Windows SDK versions capable to build Lua targeting ARM64 architecture (list-win-sdk-arm64) on LuaInstaller.Console;
  • The image of LuaInstaller (end user) on the home page was updated;

running

  • A new subsection for developers featuring the usage of LuaInstaller.Console was added to the home page.

running-from-cmd

v0.5.0.0

30 Nov 19:51

Choose a tag to compare

Important

Please, before trying to use any tool provided here, perform the initial Setup

Overview

In this release, the most impacting changes were:

  • An icon was provided for the LuaInstaller application, which is also displayed in the README page;
  • Added CI examples on docs;
  • Updated Setup images on README;
  • Updated running LuaInstaller image on README, showing the new icon running
  • Information about the installer (version and website) is now available on the interface of the LuaInstaller application;
  • New commands were added to LuaInstaller.Console: help-website (displays the website of the project) and --version or -v (displays the version of the installer).
  • When installing through LuaInstaller.Console, version and website of the installer is shown on a successful Lua installation
    luainstaller-console
  • Reworked compiler and linker options;
  • All artifacts (interpreter, compiler and DLL) are built using /MD compiler switch.

Technical discussion of the changes

  • Reworked compiler and linker options: all arguments are passed to compiler and linker through compiler options and linker options, respectively. This way, it becomes easier to add / remove options passed to these tools without changing the base compiler Execute command. Also, this change enables a possible future feature to provide a custom CFLAGS to compiler and LDFLAGS to linker;
  • Based on Lua 5.1 build script for MSVC, and the way how LuaRocks builds libraries with MSVC, all artifacts (interpreter, compiler and DLL) are now using /MD compiler switch, causing the artifact to use the multithread-specific and DLL-specific version of the run-time library. Due this change, the final user might have to install Microsoft Visual C++ Redistributable package;

v0.4.0.0

30 Oct 23:17

Choose a tag to compare

Important

Please, before trying to use any tool provided here, perform the initial Setup.

Overview

The most important aspect of this release was the fix related to Windows SDK discovery, and the capability to build Lua using older Windows SDK versions. Now, the tools are able to detect Windows SDK (7.1, 8.0, 8.1 and newer)

Screenshot from 2024-10-30 20-07-27

that were installed by Visual Studio, or by the standard installer provided by the SDK archives. Not only discovery, but the tools can also build Lua using each Windows SDK mentioned above (7.1 or newer).

Note

If you want to build Lua using Windows SDK 8.1 or older, unless you have legacy versions of Visual Studio (2013 or older), you are required to have Universal CRT SDK installed on your computer. For such, any Windows SDK 10 or newer installed also brings the Universal CRT SDK together. In short, you need both Windows SDK 8.1 + Windows SDK 10.0 (or newer) installed to build for 8.1 (same applies for 8.0 and 7.1).

Technical discussion of the changes

  1. Discovery of Windows SDK was fixed. Previously, even though an user could have multiple Windows SDK installed either by Visual Studio or standalone installers, the tool didn't detect them properly. Also, multiple copies of the same SDK could be viewed on some conditions. For now, only a single instance of the SDK will be shown;

  2. Building Lua using old Windows SDK version was fixed (SDK 7.1, 8.0 and 8.1). However, as explained above, it most likely needs a Windows SDK 10.0 or newer installed too. Final users of Windows 7, 8.0 and 8.1 are required to install Windows Updates to receive the Universal CRT;

  3. Beginning on this release, we added a summary of the options used to build Lua through LuaInstaller.Console. This summary appears after a successful installation
    Screenshot from 2024-10-30 20-02-58

  4. New commands list-win-sdk-x86 and list-win-sdk-x64 were added to LuaInstaller.Console;

  5. In the project LuaInstaller.Core, the class IInstalledComponents was reworked to abstract the returned list of Visual Studio and Windows SDK instances. A method to get the latest version of such tools was added; Moreover, the method Build in the class InstallationManager was renamed to ExecuteInstall, and it was declared obsolete;

  6. Documentation for each project were moved to docs top level folder to ease navigation.

v0.3.0.0

21 Oct 16:19

Choose a tag to compare

Important

Please, before trying to use the tools provided here, perform the initial Setup.

Overview

  1. This new release builds Lua with compatibility to previous Lua versions, as is on unix;
  2. Basic usage for LuaInstaller.Core was added;
  3. This release also fixes pkg-config related variables depending on the Lua version

Note

At the moment, v0.2.0.0 continues to work, because there are no Lua versions that make pkg-config fail. However, if Lua reaches 5.10.0 in the future, v0.2.0.0 will face an issue when writing pkg-config files.

Technical discussion of the changes

  1. This release brings the same behavior of building Lua on unix systems: when -DLUA_COMPAT_* macro is defined on the Makefile, it is added to the build parameters;
  2. Fixed an issue that interpreted 5.10.0 as an older version than 5.2.4. This issue affected the generated pkg-config file, and thus forwarding the issue for modules that depend on it. As explained above, v0.2.0.0 is safe while Lua does not hit 5.10.0 or something like that;
  3. In order to fix the version-related issue, all the version-related objects were reworked (LuaVersion, VisualStudioVersion, WindowsSdkVersion and others) to have a default comparison as expected (ascending), not the one used on UI (descending). This obviously break compatibility with v0.2.0.0 and older.

v0.2.0.0

14 Oct 22:17

Choose a tag to compare

Overview

Since the introduction of pkg-config files in the installed directory of Lua, LuaInstaller became able to integrate nicely in the build process of some important libraries like LGI. However, it brought to light some hidden bugs in that fresh introduced feature. With this release, issues regarding the path of directories stored on such files were addressed.

In the current state, the library is continuously tested by different configurations of two famous libraries (LuaFileSystem and LGI), and also LuaRocks.

Technical discussion of the main changes

  • Fixed INSTALL_LMOD and INSTALL_CMOD on installed pkg-config files (.pc) for Lua 5.2.4 and older. On Lua modules that depend on these variables, they should work without LuaRocks being installed from now on;
  • INSTALL_LMOD and INSTALL_CMOD on installed pkg-config files (.pc) now holds the full path to the destination directory. When installing Lua through the graphical program (LuaInstaller.exe) and a relative destination path was given, the pkg-config file stored the path as relative;
  • On LuaInstaller.Core, warnings related to WebClient-derived features were solved by coding a new download feature using the recommended HttpClient class. Other minor warnings were also cleaned;
  • For the users of the library LuaInstaller.Core, the method GetLatestVersion was marked as obsolete. Now, TryGetLatestVersion is the recommended approach;
  • CI was improved by adding LGI as a build requirement. At the moment of writing, since LGI on Windows depends on INSTALL_LMOD and INSTALL_CMOD of the pkg-config files, it verifies the good behavior of the installed pkg-config files;
  • CI was split to span different reusable workflows.

v0.1.0.1

13 Oct 09:51

Choose a tag to compare

Main changes

  1. Now, a pkg-config file for Lua was added as an installed file. This change has the purpose to allow library users to employ the pkg-config tool to find Lua when developing C modules. Moreover, on Windows, some important libraries like https://github.com/lgi-devs/lgi relies on a pkg-config file for Lua in order to install nicely through meson;
  2. AppVeyor CI was dropped. On the other hand, GitHub Actions was added as CI CI, which can be seen at https://github.com/luau-project/LuaInstaller/blob/master/.github/workflows/CI.yaml:
    • The binaries installed by this toolset are now tested with LuaRocks, and LuaFileSystem, in order to check a good behavior of the Lua installation;
    • As a safety measure, the binaries released here are no longer built manually. Instead, such binaries are now generated by the CI on GitHub Actions. Each zip file has respective MD5 and SHA256 hashes.
  3. Previously, the linker built binaries directly to the installation directory. Now, binaries are installed to a work directory, then copied to the installation directory;
  4. DLL and import library were renamed.

Compatibility

Important

Breaking changes: Lua DLL name now follows the pattern luaXY.dll, where X is the major and Y the minor version of Lua (previously, it was named luaX.Y). This change has the intent to use the same name as used by Lua's original Makefile. The import library (.lib) has also been renamed to luaXY.lib.

v0.0.4

21 Dec 04:19

Choose a tag to compare

v0.0.4 Pre-release
Pre-release

It is a bug fix release: Fixing Visual Studio version matching behavior.

Important

Before trying to install anything, follow the instructions on README to install MSVC Build Tools and Windows SDK. After these tools are properly installed on your Windows system, you are ready to proceed.

  • For EndUsers: Download and extract LuaInstaller.EndUsers-x64.zip file, then run LuaInstaller.exe to perform Lua installations.
  • For Developers: If you are interested in the command line version, download and extract LuaInstaller.Console-x64.zip file, then run LuaInstaller.Console.exe to install Lua from the command line.

Enjoy!

v0.0.3-alpha

22 Jun 00:58

Choose a tag to compare

v0.0.3-alpha Pre-release
Pre-release

This release allows LuaInstaller.exe to build Lua from its source code using the 3 latest versions of Visual Studio at the moment (VS 2022, VS 2019 and VS 2017).

Take a closer look in the README and follow that mini tutorial to:

  1. install the latest MSVC build tools;
  2. install the latest Windows SDK;
  3. download this release;
  4. use LuaInstaller.exe.

Enjoy.

v0.0.2-alpha

12 Jan 11:58

Choose a tag to compare

v0.0.2-alpha Pre-release
Pre-release

This release is a fix for Windows SDK discovery in some systems.

LuaInstaller.Console.zip
LuaInstaller.Core.zip
LuaInstaller.zip