Skip to content

Tags: NLnetLabs/roto

Tags

v0.10.0

Toggle v0.10.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #342 from NLnetLabs/tag-0.10.0

Tag 0.10.0

v0.9.0

Toggle v0.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #290 from NLnetLabs/release-0.9.0

Tag version 0.9.0

v0.8.0

Toggle v0.8.0's commit message
chore: Release

v0.7.1

Toggle v0.7.1's commit message
chore: Release roto version 0.7.1

roto-macros-v0.7.1

Toggle roto-macros-v0.7.1's commit message
chore: Release roto-macros version 0.7.1

v0.7.0

Toggle v0.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #230 from NLnetLabs/release-0.7.0

Tag version 0.7.0

v0.6.0

Toggle v0.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #170 from NLnetLabs/release-0.6.0

Tag version 0.6.0

v0.5.0

Toggle v0.5.0's commit message
chore: Release roto version 0.5.0

roto-macros-v0.5.0

Toggle roto-macros-v0.5.0's commit message
chore: Release roto-macros version 0.5.0

v0.4.0

Toggle v0.4.0's commit message
Release 2025-01-29.

- Filter maps no longer have a `define` and an `apply` block. `let` bindings
  should be used instead. For example:

```roto
filter-map foo() {
    define {
        x = 4;
    }
    apply {
        accept x;
    }
}

filter-map foo() {
    let x = 4;
    accept x;
}
```

- Variables can now be created in more places with `let` bindings. `let`
  bindings replace the `define`/`apply` mechanism and are much more general
  because they can be used in any block. For example, inside functions or
  `if`-`else` blocks. The binding is scoped until the end of the block it is
  defined in. It is not allowed to declare multiple variables with the same
  name within a single block.
- The `String` type was added to represent pieces of text. String literals
  are enclosed in double quotes (`"`).
- It is now possible to declare constants in the runtime for a Roto script.
- Similarly, it is now possible to add "context" to Roto scripts. The variables
  in the context behave like constants, but they can differ between different
  calls to a script. In other words, constants are defined when the script is
  _compiled_, context is defined when the script is _run_.

- 64-bit numbers (i.e. `i64` and `u64`) were not type checked and compiled
  properly. They are now fixed.