Releases: Abathargh/harlock
Releases · Abathargh/harlock
harlock v0.5.1
This is a new bugfix release mainly addressing some issues in using harlock in build pipelines.
Notice that starting from this version, support for darwin/386
and darwin/arm
is dropped.
Fixes and QoL
- Correctly handling runtime and evaluation errors being raised at the top-level scope to trigger a non-zero error code. This led to silent errors being passed inside of pipelines using harlock.
- Drop support for go 1.15+ unsupported targets.
- Adding previously missing
.exe
suffix for windows executable names when cross-compiling for windows on non-windows platforms. - Minor fixes to .gitignore and Makefile.
Attached to this release, you can find pre-compiled binaries and .deb packages for version 0.5.1 of the harlock language.
harlock v0.5.0
New Features
- The set bultin function can now accept other sets as an arguments.
- The array.map builtin method can now take builtin functions as an argument.
- Adding runtime errors to the language, which do not exit the application and can be handler by users.
- Adding the error() builtin function to let user create custom errors.
- Adding the int() builtin function that converts strings to integers.
- Adding the as_array() builtin function that converts integers into their byte array representation.
- Moving the hex parser to /pkg/hex.
Fixes and QoL
- Runtime errors and type check errors now carry line information with them.
- Try expressions only intercept runtime expressions.
- Fixed a bug that prevented try expression from throwing errors in global scope.
- Better help messages and formatting in prompts, better error messages when using the embed flag.
Attached to this release, you can find pre-compiled binaries and .deb packages for version 0.5.0 of the harlock language.
harlock v0.4.1
Fixes and QoL
- Fixed a
bytes.read_at
bug where the position and size were parsed wrongly and the size was considered as the same value passed for the position. - Fixed an
elf.write_section
bug, where the method was accepting any object as the array parameter. - Fixed minor typos in error messages.
- Fixed minor typos in builtin descriptions.
Attached to this release, you can find pre-compiled binaries and .deb packages for version 0.4.0 of the harlock language.
harlock v0.4.0
Breaking changes:
- The
hex
builtin no longer accepts strings as inputs. It now either expects an integer (like always) or an array of bytes, from which it returns an hex-string encoded version of the array.
New Features
- The elf file type has now access to the
elf.section_address
andelf.section_size
methods. - The hex file type has now access to the
hex.binary_size
method. - The array type has now access to the
array.map
andarray.reduce
methods. - New
hash
builtin function that can be used for checksum validations (supports sha1, sha256, md5 -- hash(array, "algorithm name as str"). - New
from_hex
builtin, implementing the old hex(string) case.
Fixes and QoL
- More thorough evaluation test cases.
- Error messages for builtin function and methods are now systematically generated through a table based approach, making them more reliable. They now include the line number where the error occurred too.
Attached to this release, you can find pre-compiled binaries and .deb packages for version 0.4.0 of the harlock language.