Releases: evo-lua/evo-runtime
Releases · evo-lua/evo-runtime
v0.0.10
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
New Features
- Added a new
C_ImageProcessing
API namespace (higher-level convenience layer on top thestbi
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
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
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
andconsole.stopTimer
Breaking Changes
- All swapchain-related
webgpu
APIs have been renamed (to consistently useswapchain
instead ofswap_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
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
New Features
- The runtime now includes bindings to the
miniz
library as a complimentary API to the existingzlib
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
New Features
- The runtime now includes a new
stbi
library (powered by stb) that allows converting between common image formats
Breaking Changes
- Split
ReadDirectory
andReadDirectoryTree
(for recursive mode) in theC_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
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 theC_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
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
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...