Skip to content

Releases: Abathargh/harlock

harlock v0.5.1

13 Jul 10:51
Compare
Choose a tag to compare

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

25 May 19:23
Compare
Choose a tag to compare

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

13 May 17:45
Compare
Choose a tag to compare

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

07 May 17:40
Compare
Choose a tag to compare

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 and elf.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 and array.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.