Skip to content

Releases: fugue/fregot

v0.11.1

28 May 17:08
26abba7
Compare
Choose a tag to compare
 -  0.11.1 (2020-05-28)
     *  Fix zero `with` statements wiping caches.  This was a serious
        performance regression introduced in `v0.9.0`.
     *  Always use lenient decoding for base64 strings.

v0.11.0

20 May 09:45
f88dc85
Compare
Choose a tag to compare
 -  0.11.0 (2020-05-20)
     *  You can now remove a breakpoint again by calling `:break` with the
        same argument that you used to set it.
     *  Fix bug in reification of packages as trees.
     *  Make indexing type errors produce an empty result rather than throwing
        an error.
     *  Print the row context in addition to the result in the REPL.

v0.10.1

07 May 15:49
a11a2b0
Compare
Choose a tag to compare
 -  0.10.1 (2020-05-07)
     *  Upgrade to GHC 8.8 and stack LTS-15.6.
     *  Loosen restrictions on the LHS of `:=`.  This allows you to assign
        to arrays, e.g.:

            [_, num, _] := split("routes.1234.cidr_block", ".")

v0.10.0

04 May 14:45
c237f74
Compare
Choose a tag to compare
 -  0.10.0 (2020-05-04)
     *  Add `json.marshal` builtin function.
     *  Fix isssue where `{}` was treated as an empty set, not an empty object.
     *  Add `base64` builtin functions:

         -  `base64.encode`
         -  `base64.decode`
         -  `base64url.encode`
         -  `base64url.decode`
     *  Add `io.jwt` builtin functions:

         -  `io.jwt.encode_sign`
         -  `io.jwt.decode`
         -  `io.jwt.decode_verify`

        These use an external library and will not work for all key types.  We
        can resolve that as demand for other key types comes up.

v0.9.1

17 Apr 13:17
b0e7dbb
Compare
Choose a tag to compare
 -  0.9.1 (2020-04-17)
     *  Better error for foo.bar() if foo is not imported
     *  Disallow :reload while debugging
     *  Type error when using satured call result

        You can use functions that take arguments, such as `array.concat` in two
        ways:

        1.  `array.concat([1], [2], out)`
        2.  `out = array.concat([1], [2])` (alternatively using `:=`)

        This makes you wonder what the _return type_ of
        `array.concat([1], [2], out)` is.  We used to have a boolean here, that
        returned whether or not `out` unified with the result.  However, that
        allows us to write code as:

            x = array.concat([1], [2], out)

        Which is almost always an arity mistake on the programmer's side.  This
        release changes the return type of saturated calls to the _void_ type,
        so it can't be assigned or used.

v0.9.0

18 Mar 19:25
8cbad96
Compare
Choose a tag to compare
 -  0.9.0 (2020-03-19)
     * Support `with data` statements in addition to `with input` statements.
     * Fix issue when using REPL reloading and the `--input` argument.
     * Fix a crashing when indexing the `null` value with a key.
     * Fix scoping of `with` statements.  `with` statements used to (wrongly)
       affect the input for the entirety of the query, whereas they should
       really only affect the current statement.

v0.8.0

27 Feb 19:39
e0fa528
Compare
Choose a tag to compare
 -  0.8.0 (2020-02-27)
     *  Small performance tweaks.
     *  Add `copyHandle` to interpreter module.
     *  Replace problematic AST nodes by errors.  This drastically reduces the
        amount of errors you see; hopefully leaving only the root causes.

v0.7.6

05 Feb 15:40
ca1193e
Compare
Choose a tag to compare
 -  0.7.6 (2020-02-05)
     *  Add `regex.split` builtin function.

v0.7.5

04 Feb 16:33
Compare
Choose a tag to compare
 -  0.7.5 (2020-02-04)
     *  Add `is_number` builtin function.
     *  Add more trim builtins functions: `trim_left`, `trim_prefix`,
        `trim_right`, `trim_suffix`, `trim_space`.
     *  Add `--no-history-file` flag to `fregot repl`.
     *  Make the return type of `==` a boolean.
     *  Fix issue with return type of `walk()`.

v0.7.4

20 Jan 20:38
10aca8e
Compare
Choose a tag to compare
 -  0.7.4 (2020-01-20)
     *  Add `walk` builtin function.
     *  Allow builtin functions to stream values rather than just returning a
        single one.