Skip to content

Releases: evo-lua/evo-runtime

v0.0.10

14 Aug 09:43
1ec411a
Compare
Choose a tag to compare

New Features

  • Add a function to encode TGA images to the C_ImageProcessing API namespace
  • Add a function to swap pixel formats to the stbi FFI bindings

Pull Requests

  • [1ec411a] - Update the changelog for v0.0.10
  • [6ef9491] - Update OpenSSL to the latest HEAD
  • [153f9dd] - Correct the default branch name for wgpu-native in scan-submodules.lua
  • [8e9ca87] - Update LuaJIT to the latest HEAD
  • [115b769] - Add linkage of ntdll.lib on Windows to the Ninja build script
  • [6b3d3a3] - Add a function to swap pixel formats to the stbi FFI bindings
  • [1c4cffc] - Fix a typo in the stbi test suite
  • [273e4a5] - Add EncodeTGA to the image processing API
  • [d291241] - Update the phrasing in the changelog for v0.0.9

Contributors (in alphabetical order)

  • No external contributors

v0.0.9

12 Jul 08:03
497371b
Compare
Choose a tag to compare

New Features

  • Added a new C_ImageProcessing API namespace (higher-level convenience layer on top the stbi library)

Breaking Changes

  • Replaced stbi.maxBitmapSize with format-specific functions that return more reliable results

Pull Requests

  • [497371b] - Update the changelog for v0.0.9
  • [9225a7d] - Add a new ImageProcessing API namespace
  • [463a509] - Add a more reliable way to compute image sizes
  • [8bb5d21] - Add readable struct names for the stbi FFI typedefs
  • [7b205dd] - Add global aliases for commonly-used FFI functions

Contributors (in alphabetical order)

  • No external contributors

v0.0.8

09 Jul 00:23
c0046a7
Compare
Choose a tag to compare

New Features

  • Added FFI bindings for several missing GLFW functions

Pull Requests

  • [c0046a7] - Update the changelog for v.0.0.8
  • [e8c9eea] - Add key and mouse button polling via GLFW
  • [fc8c3cb] - Enable setting cursor images via GLFW
  • [912910d] - Add getCursorPosition to the GLFW library
  • [2f20906] - Add getWindowSize as an alias to the GLFW library
  • [64bcb20] - Fix the flaky integration test for HTTP routing

Contributors (in alphabetical order)

  • No external contributors

v0.0.7

02 Jul 18:29
13e6750
Compare
Choose a tag to compare

New Features

  • Added a new FFI binding for stbi_flip_vertically_on_write to more easily invert textures in memory
  • Shorthands for measuring the execution time have been added as console.startTimer and console.stopTimer

Breaking Changes

  • All swapchain-related webgpu APIs have been renamed (to consistently use swapchain instead of swap_chain)

Pull Requests

  • [13e6750] - Update the changelog for v0.0.7
  • [445569a] - Add stbi_flip_vertically_on_write to the stbi FFI bindings
  • [23f452c] - Add timer shorthands to the console library
  • [c73afd7] - Fix the inconsistent names of wgpu swapchain APIs

Contributors (in alphabetical order)

  • No external contributors

v0.0.6

24 Jun 22:08
1efd97a
Compare
Choose a tag to compare

New Features

  • Added partial bindings for the glfw library to help manage native windows and events
  • Experimental FFI bindings for Mozilla's WebGPU implementation (exposed via the webgpu package)

Pull Requests

  • [1efd97a] - Update the changelog for v0.0.6
  • [35b6e64] - Bind some additional GLFW window functions
  • [67c3717] - Add support for WebGPU surfaces to the GLFW bindings
  • [bfd049f] - Fix a compilation error due to missing size_t in WSL
  • [35a14ad] - Integrate wgpu-native via FFI bindings (and enable GLFW to utilize WebGPU surfaces)
  • [7ae1523] - Bind some additional GLFW APIs that are required to create fullscreen windows
  • [cc6872a] - Add support for tracking GLFW windowing and input events
  • [d37301e] - Implement an API to manage event queues for storing stack-allocated event details
  • [14e660e] - Add some unit tests for the miniz Deflator API
  • [d58fde9] - Pin the cppcheck version used for static analysis
  • [2975818] - Add some preliminary FFI bindings for select GLFW APIs

Contributors (in alphabetical order)

  • No external contributors

v0.0.5

19 Jun 12:10
827f120
Compare
Choose a tag to compare

New Features

  • The runtime now includes bindings to the miniz library as a complimentary API to the existing zlib bindings
  • Also included is a new regex library (powered by PCRE2) for dealing with regular expressions
  • It's now possible to use the evo build command to create standalone executables from Lua apps

Pull Requests

  • [827f120] - Update the changelog for v0.0.5
  • [3c5e505] - Implement a new build CLI command to create self-contained executables
  • [70e899e] - Improve the wording of failure messages returned by miniz.new_reader
  • [d362f43] - Allow passing individual files to the unit test script
  • [7b72c61] - Add snapshot tests for the user-facing CLI
  • [1a6ac20] - Fix an inconsistent name in the assertions library
  • [f5e4ea3] - Add a method to enable very basic snapshot testing to the Runtime API namespace
  • [64742b4] - Integrate PCRE2 and expose it as a new regex library
  • [24ad40d] - Add miniz as an alternative to the embedded zlib library
  • [885deb4] - Add a test case for computing adler32 checksums via zlib
  • [adc323a] - Update the changelog for v0.0.4

Contributors (in alphabetical order)

  • No external contributors

v0.0.4

07 Jun 14:23
Compare
Choose a tag to compare

New Features

  • The runtime now includes a new stbi library (powered by stb) that allows converting between common image formats

Breaking Changes

  • Split ReadDirectory and ReadDirectoryTree (for recursive mode) in the C_FileSystem API namespace

Pull Requests

  • [12f52e0] - Add a new pixel recoloring method to the stbi library API
  • [875445e] - Add color-depth specific loading functions to the stbi FFI bindings
  • [d48a750] - Add FFI bindings for some of the most useful stbi image conversion APIs
  • [959aab2] - Add -Wfatal-errors to the build configuration
  • [fcd9a63] - Update the checkout action to V3 in all workflows
  • [f2aed09] - Streamline the library definitions for the ninjabuild generator script
  • [4bdec93] - Improve the phrasing of the submodule scanner output
  • [1a1ba68] - Eliminate the isRecursiveMode flag of ReadDirectory by introducing ReadDirectoryTree
  • [9e1d12d] - Rename API parameters for consistency with the docs
  • [6609523] - Add a missing upvalue in the HttpServer module
  • [92ceeb9] - Update luv to the latest HEAD
  • [95cad39] - Update pcre2 to the latest HEAD
  • [183a9f8] - Update miniz to the latest HEAD
  • [c9e405e] - Update lpeg to the latest HEAD
  • [2814ed0] - Update LuaJIT to the latest head
  • [031ade7] - Update webview to the latest HEAD
  • [ecb81ca] - Update uwebsockets to the latest HEAD
  • [d61d568] - Update inspect.lua to the latest HEAD
  • [68b00b1] - Update OpenSSL to the latest HEAD
  • [420ee3c] - Update the CodeQL workflow to only run when scheduled
  • [3768ba9] - Update the changelog for v0.0.3

Contributors (in alphabetical order)

  • No external contributors

v0.0.3

21 May 09:08
Compare
Choose a tag to compare

New Features

  • The runtime now includes a new json library (powered by rapidjson) that allows converting between JSON strings and Lua tables
  • A new MakeDirectoryTree function has been added to the C_FileSystem API; it recursively creates any parent directories that are missing

Improvements

  • Native WebViews created via the C_WebView API should no longer be invisible on Mac OS when the window's dimensions haven't been explicitly set

Pull Requests

  • [4368b68] - Fix the displayed json library version in the CLI help text
  • [f76603c] - Fix an error in the submodule status checker script
  • [e607ba8] - Set a default size for WebView windows
  • [9493554] - Set up automated security scans via CodeQL and GitHub Actions
  • [ed99e2b] - Add a script to scan submodules for new commits
  • [1333ae6] - Implement prettified JSON encoding as a nonstandard extension
  • [e88d592] - Update the LuaJIT build script to patch bcsave on MSYS2
  • [93d70e1] - Add aliases for parse and stringify to the json library
  • [0908bef] - Simplify the version command output
  • [8a58890] - Integrate lua-rapidjson and expose its API as a new json library
  • [bf007d0] - Update the changelog for v0.0.2
  • [464e329] - Add a new MakeDirectoryTree function to the FileSystem API
  • [30f6e53] - Update the changelog for v0.0.2

Contributors (in alphabetical order)

  • No external contributors

v0.0.2

12 May 11:16
Compare
Choose a tag to compare

New Features

  • High-level API namespace for managing embedded WebViews
  • WebViews can toggle between fullscreen and windowed mode
  • Scripts can now programmatically set the app icon for native WebView windows
  • Added a new string.filesize extension to create human-readable formatted size strings (with units)

Improvements

  • The MSYS2 standard library DLLs are no longer required to run on Windows

Pull Requests

  • [174b360a] - Streamline the displayed OpenSSL version format
  • [f67361c8] - Add epsilon boundaries to the flaky timer tests
  • [1f24f784] - Update OpenSSL to v3.1.0
  • [bd412384] - Add a new C_WebView API namespace
  • [ff231d3c] - Fix intermittent test failures due to TCP chunking
  • [d9b90692] - Reduce the failure rate of timer tests on OSX
  • [9f798edc] - Eliminate dependencies on MINGW64 runtime DLLs from Windows builds
  • [dc070a7e] - Add a function to set the app icon for native WebView windows
  • [87c10bb9] - Add support for full-screen WebViews to the FFI bindings
  • [8e5f3c8e] - Update the changelog generation script (and changelog for v0.0.1)
  • [96e4eb9b] - Add a nonstandard string.filesize extension (to format debug output)

Contributors (in alphabetical order)

  • No external contributors

v0.0.1

01 May 03:10
85cc81a
Compare
Choose a tag to compare

New Features

  • Simplistic command-line interface for running Lua scripts
  • Mostly-complete Lua port of the NodeJS path library
  • Builtin test runner (BDD style) and assertions library
  • Basic HTTP and WebSockets server APIs (using uWebSockets)
  • Embedded LuaJIT FFI bindings for webview, uws, and stduuid
  • Embedded Lua bindings for libuv, zlib, and openssl
  • Several extensions to the Lua standard libraries
  • High-level API namespaces for file system access and timer management
  • Lua library for UUID generation (via stduuid)

Breaking Changes

  • This version of the runtime is generally backwards-incompatible with the previous (C-based) iteration, though many APIs are still the same

Pull Requests

  • [85cc81a7] - Enable changelog generation once again
  • [e6e553f3] - Add an API to write response headers to active HTTP requests
  • [2c6bbd6d] - Add an API to write the response status of active HTTP requests
  • [69478739] - Add HTTP functionality to the uws FFI bindings
  • [51f4630a] - Refactor the WebSocket routing logic
  • [45e111c3] - Improve the phrasing of basic test runner summaries
  • [07cf678e] - Implement an experimental Timer API namespace
  • [91c8d65b] - Add a nonstandard table.contains extension
  • [b3a2a60e] - Fix duplicate port numbers in network integration tests
  • [bf4e9aa6] - Remove the uws header from HTTP responses
  • [b54e7b19] - Add a dereferenced SIGPIPE signal handler
  • [96b758d9] - Add cppcheck to the static analysis (former luacheck) workflow
  • [28b51345] - Add FFI bindings for uwebsockets
  • [be8738fa] - Update the clang-format config for single-line conditions
  • [1d2ab60c] - Fix autoformat not being applied to C++ headers
  • [3c62973c] - Port the nonstandard string.explode extension from evo-luvi
  • [42bf358e] - Integrate uwebsockets and usockets into the ninja build process
  • [135708e4] - Add a missing -e flag to unixbuild.sh
  • [233547cf] - Add some unit tests for the CLI output generators
  • [a9e554d5] - Enable equality assertions for float values
  • [93a31289] - Fix a typo in the ccache setup step
  • [777754f6] - Set up ccache for GitHub Actions
  • [bc375c55] - Integrate zlib via lua-zlib bindings
  • [5e50d4e1] - Improve the consistency of uuid function names
  • [e23e11b9] - Remove some unused git submodules
  • [e9cfdd13] - Add FFI and Lua bindings for the stduuid library
  • [ab1383e7] - Re-add the C_FileSystem API namespace
  • [30cba126] - Add the global path alias to .luacheckrc
  • [0f126cfb] - Implement some basic unit testing hooks for registered setup and teardown functions
  • [d39e0b99] - Re-add the ported path library from NodeJS
  • [b81aa28e] - Add a missing smoke test for the global extend alias
  • [bd85c31f] - Re-add the extend builtin to simplify basic OOP
  • [88c464c5] - Add a simple unit test for the printf global alias
  • [d2b95ec1] - Enable colorized output for gcc errors and warnings
  • [b862a291] - Integrate OpenSSL via lua-openssl bindings
  • [dfd7f23a] - Implement asynchronous updates for WebView windows
  • [dc9bc49a] - Implement functionality for processing simple command-line arguments
  • [576d6b0e] - Rename the assertFailure message parameter
  • [c1d1f57b] - Add the STATIC_FFI_EXPORTS global to .luacheckrc
  • [2932533a] - Remove the hardcoded default value for MACOSX_DEPLOYMENT_TARGET
  • [a3463e99] - Add a first version of the console API for capturing stdout
  • [cc127d30] - Create a new C_Runtime namespace for the command line interface
  • [a8180a2b] - Add group-based cancellation to the build workflows
  • [ba0c5788] - Improve the error messages in some assertion smoke tests
  • [bde68ed6] - Add some missing globals to .luacheckrc
  • [96c66328] - Update LuaJIT to the latest HEAD
  • [ea7f4665] - Add some package.path setup code to the build script
  • [28ba7745] - Add a default NuGet package source to the WebView2 download script
  • [15e40832] - Add a global printf alias
  • [b7320b00] - Create global aliases for frequently-accessed functionality
  • [33347238] - Fix an error with userdata assertions
  • [29753f47] - Improve some variable names in the assertions library
  • [8c6ef848] - Add FFI bindings for the webview API
  • [57665ee2] - Fix a stack misalignment error on Mac OS
  • [3a2d4512] - Update the clang-format settings to always indent namespaces
  • [f92f96d6] - Add some required setup code for static FFI bindings
  • [12557fcd] - Fix an error in the reporting of detailed test runs
  • [5c1c2c83] - Remove the now-obsolete placeholder test
  • [[baf09c93](baf09c9...
Read more