It is with immense pleasure that I announce that the newest version of my scripting language, harlock v0.5.1 is out!
Here is the detailed release log, with a list the artifacts to install the language on debian-like systems, or directly a binary for the supported architectures.
Release note + artifacts @github/Abathargh/harlock
Build harlock v0.5.1 from source
Notice that you can always compile and install harlock by executing:
go install github.com/Abathargh/harlock/cmd/harlock
or:
git clone https://github.com/Abathargh/harlock
make install
Release details
This v0.5.1 release is a bugfix one, that solidifies harlock usage within build pipelines.
The main issues that were tackled are:
- 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. When talking about top-level scope, I mean code executed in any non-function body context, like:
var e = try open(elf_file, "elf")
var text_addr = try e.section_address(text)
var text_size = try e.section_size(text)
- 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
- Minor fixes to .gitignore and Makefile.
Last couple of releases included a new error system which was thoroughly tested and fixing it is the main reason for v0.5.1.
Usage and new developments
I’ve been using harlock a lot to test the avr_io nim library that I work on, alongside personal projects where I need firmware to be updated over the wire/air with huge success.
A nice working project using the language can be found in the bootloader example for avr_io, where it is used to showcase the library capabilities when writing bootloaders for embedded applications.
I wrote an in-depth article on how to use harlock for these kind of scenarios on antima at the following link.
That’s all for now, I hope you enjoyed the article and feel free to leave a comment below if you have any questions or want me to elaborate on any detail