» Sentinel Runtime Release Notes

These are the release notes for the Sentinel runtime.

We ship an up-to-date version of the Sentinel Simulator for every release of the runtime. To use the newest changes, download the simulator at the downloads page.

Sentinel integrations and embedded runtimes may not always have the latest version installed, depending on the product's individual release cycle. For more information, contact the support team for your specific integration.

» 0.7.0 (December 12, 2018)

BUG FIXES:

  • There have been changes to the runtime in how scope is handled over multiple policy executions. Scope is now correctly unique per single policy execution, and values set or builtins that are overridden in one policy will no longer affect those values within another.

» 0.6.0 (November 30, 2018)

FEATURES:

  • imports/runtime: This new import allows for one to check various aspects of the Sentinel runtime as it may be embedded in the simulator or a specific implementation. For now, it allows the version to be checked.

» 0.5.1 (November 28, 2018)

IMPROVEMENTS:

  • imports/time: Added the zone and zone_string attributes to assist with validation of a timespace's zone.
  • command/fmt: Added a new -check flag. This option does not commit changes, but instead checks to see what files need formatting and outputs them on stdout.

BUG FIXES:

  • command/test: Ensure that passing test results are correctly output one per line. Tests are also now run in a deterministic fashion based on lexicographical (alphabetical) order.
  • imports/time: month_name and weekday_name will now show up correctly in a returned timespace result.

» 0.5.0 (November 5, 2018)

IMPROVEMENTS:

  • spec: Selectors can now contain any reserved word (example: rule) or keyword operator (example: any, all, is, not). This only works for the selector part of the expression (after the first period) - the first primary expression (before the first period) still needs to be an identifier that does not conflict with reserved words.

BUG FIXES:

  • The simulator should now display import function call names correctly in import errors.

» 0.4.0 (October 1, 2018)

FEATURES:

  • builtin: Added the bool built-in type conversion function. Booleans will also now accepted as conversion into other values as well, with the full list of behaviors available in the spec.

» 0.3.2 (September 27, 2018)

FEATURES:

  • command/apply: sentinel apply now prints out messages output by the print() function when a trace is output on policy failure, or when a trace is forced with -trace.
  • imports/time: Added the month_name and weekday_name keys to the timespace, which return full-English names for the month and day of the week.

BUG FIXES:

  • command/fmt: sentinel fmt - Will no longer print out the filter status message on the output stream when -write=false Is not explicitly stated. This brings the behavior of the command in line with the help text.
  • runtime: Index operations on the right-hand-side that have negative indexes that go out of range (example: length(list) * -1 - 1) now correctly return undefined. left-hand-side index assignments with a out-of-range negative index still return runtime errors.

» 0.3.1 (August 3, 2018)

BUG FIXES:

  • runtime: Basic index assignment has been implemented as per the spec.
  • runtime: Index expressions for lists with negative indexes will no longer panic if the list index is less than length(list) * -1.

» 0.3.0 (July 20, 2018)

FEATURES:

  • New standard import: types. This can be used to dynamicaly detect the type of some value.

» 0.2.0 (April 11, 2018)

FEATURES:

  • New standard import: json. Marshal and unmarshal JSON documents and access their contents as native Sentinel values.
  • break and continue. These are now both specified and implemented. break allows loop exiting and continue allows immediate execution of the next iteration.

IMPROVEMENTS:

  • runtime: print() map values are now ordered alphabetically by keys.

BUG FIXES:

  • command/test: If no test block exists, test behaves like it is asserting main: true.
  • runtime: default maximum stack depth to 500
  • runtime: print() map values now appear like more typical maps.
  • runtime: division by zero is an error, not a crash
  • runtime: plugins that send map values with null values now decode properly into native Sentinel values.

» 0.1.0 (September 19, 2017)

Initial release.