Since upstream refuses to fix this issue:
https://github.com/elixir-lang/elixir/issues/12000
On rare occasions, our pre-release version, which is the prefix
of the git hash, might consist only of digits. Even more rarely, it
might start with a `0`. When that happens, Elixir will refuse to
parse that as a valid pre-release version (it wants it to be an
integer without a leading 0).
To prevent that, we will always prepend a "g" to the pre-release
version, ensuring it's never a valid number.
we can technically support relup for windows
but currently there is no such requirement made from any
users, not opensource users, not commercial users either.
This commit adds a function to the rule engine that alows users
to transform text or JSON objects using [jq filter programs][1].
[jq][1] is a command line tool that can be used to transform
and filter JSON text using jq's built-in language. The rule engine
function that is added with this commit uses the
[Erlang jq NIF library][2] that wraps the jq C library in an
Erlang NIF function.
[1]: https://stedolan.github.io/jq/
[2]: https://github.com/emqx/jq
The compile flag was introduced in EQM X 4.3 series
where CE and EE code was diverged large enough which made
non-practicle to determin edition at runtime.
such approach made testing quite challenging as we'll have to
build with different compile flags inorder to run per-edition
test cases
In this commit, we try to retrieve edition info from EMQX's
description text, (put to PT for fast access) at runtime
so we can test ALL editions from a super-set edition (EE).