Skip to content

4.6.0 release

Compare
Choose a tag to compare
@dmbaturin dmbaturin released this 17 Jun 13:26
· 75 commits to main since this release

Release post: https://soupault.app/blog/soupault-4.6.0-release/

New features and improvements

New plugin API functions

  • Sys.getenv(name, default_value) function (default_value is optional).
  • String.ends_with(string, suffix).
  • String.is_valid_utf8(string) and String.is_valid_ascii(string) functions.
  • Table.length(table) — returns the number of items in a table.
  • Table.for_all(func, table) — checks if boolean function func is true for all items in a table.
  • Table.for_any(func, table) — checks if boolean function func is true for at least one item in a table.
  • Table.is_empty(t) — returns true if t has no items in it.
  • Table.copy(t) — returns a copy of the table t.
  • HTML.is_empty(e) — returns true if e has zero child nodes.
  • HTML.is_root(e) — returns true if e has no parent node.
  • HTML.is_document(e) — returns true if e is a soup (document) node rather than an element or a text.
  • Value.is_html(v) — returns true is v is an HTML document or node.

Bug fixes

  • Fixed an unhandled OTOML exception when loading configs with duplicate key names (such issues generate proper parse errors now).