Skip to content

Releases: jamiejennings/rosie-pattern-language

Version 1.0.0-beta-11

05 Jun 18:03
Compare
Choose a tag to compare
Version 1.0.0-beta-11 Pre-release
Pre-release

CHANGED

  • The ci macro will now operate on character sets as well as literals, making them all case insensitive. (Note that ci continues to operate only on its argument, e.g. ci:[A-Z] converts [A-Z] into a case insensitive version. It will not change patterns already bound to names. I.e. ci:foo is the same as foo.)
  • The output option called subs now returns an empty string when there is a match but it has no sub-matches.

FIXED

  • Bug in REPL introduced in the previous beta.

Notes:

  • The Beta release period will be ending soon. In June, we will very likely have our version 1.0.0 release.
  • See the CHANGELOG for the full list.
  • The first installment of librosie documentation has been posted on the Rosie blog. If anything is not clear, let us know! (Open an issue, or discuss on reddit.)

Version 1.0.0-beta-10

11 May 15:08
Compare
Choose a tag to compare
Version 1.0.0-beta-10 Pre-release
Pre-release

ENHANCED

  • The trace function now takes a "style" option (aka "encoder") which can be full, condensed, or json.
  • The trace command in the CLI uses '-o' to specify the trace style.
  • The json output for tracing implements Issue #49 (trace was called 'eval' in the past).
  • The default color assignments for -o color are now visible via the config command (CLI) and the config() API.

CHANGED

  • The CLI will now accept the -o option after the command (match, grep, or trace).

FIXED

  • The num.int pattern was modified in a bad way in the last beta. It has been fixed.
  • Issue #79

Notes:

  • The Beta release period will be ending soon. In June, we will very likely have our version 1.0.0 release.
  • See the CHANGELOG for the full list.
  • The first installment of librosie documentation has been posted on the Rosie blog. If anything is not clear, let us know! (Open an issue, or discuss on reddit.)

Version 1.0.0-beta-9

24 Apr 20:08
Compare
Choose a tag to compare
Version 1.0.0-beta-9 Pre-release
Pre-release

CHANGE in the API and CLI

  • The output option named "matches" has been renamed to "data" for consistency with "subs". And the output option named "default" has been removed. We apologize for these changes. (Our intention is to make these clean-ups now, while we are in beta.)

CHANGE in the standard library

  • The num.float and num.int patterns now accepts all valid JSON floats and ints, respectively. They also accept numbers like "+1" and "02" which are not valid JSON.
  • The various patterns in num that have fractional parts will no longer separate out just the fractional part into a submatch labeled frac.

Notes:

  • See the CHANGELOG for the full list.
  • The first installment of librosie documentation has been posted on the Rosie blog. If anything is not clear, let us know! (Open an issue, or discuss on reddit.)

Version 1.0.0-beta-8

23 Apr 14:35
Compare
Choose a tag to compare
Version 1.0.0-beta-8 Pre-release
Pre-release

API CHANGE in rosie.py

  • The boolean output encoder now returns True/False instead of True/None.

CHANGE in the standard library

  • The net.fqdn pattern used to accept floats like 1.2e03. It no longer does. You can use net.fdqn_strict to accept all valid partially qualified domain names, which would include 1.2e03.

Notes:

  • See the CHANGELOG for the full list.
  • Blog posts about the changes and enhancements are at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)

Version 1.0.0-beta-7

10 Apr 20:24
Compare
Choose a tag to compare
Version 1.0.0-beta-7 Pre-release
Pre-release

API CHANGE in rosie.py

  • The argument to rosie.engine() has been removed. By default, rosie.py will load librosie by looking first in the same directory as rosie.py. If that fails, it will load from the system location (e.g. /usr/local/lib).
  • If you want to control which librosie is loaded, e.g. if you have multiple rosie installations, then you must call rosie.load(path) before creating any engines.
  • The path argument to rosie.load() can be a string or rosie.librosie_local or rosie.librosie_system:
    • If the argument is a string, it should be the directory in which rosie.py will find librosie.
    • The string may start with '/' (absolute path), './' (relative to current working directory), or '//' (relative to the directory in which rosie.py was loaded by python.
    • The argument librosie_local is equivalent to '//' (load from rosie.py directory).
    • The argument librosie_system is equivalent to '' (the empty string) or None.
    • Supplying a path relative to the current working directory is allowed, but discouraged.
  • Note that set_librosie_dir() from beta-6 has been removed. We apologize for any confusion.

Notes:

  • See the CHANGELOG for the full list.
  • Blog posts about the changes and enhancements are at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)

Version 1.0.0-beta-6

08 Apr 14:34
Compare
Choose a tag to compare
Version 1.0.0-beta-6 Pre-release
Pre-release

API CHANGE in rosie.py

  • The argument to rosie.engine() has been removed. To select how rosie.py finds the librosie library, call rosie.set_librosie_dir. If you don't call rosie.set_librosie_dir, the default is to follow the system load path, which typically looks in places like /usr/lib and /usr/local/lib.

Fixed:

  • A race condition that could cause a deadlock in multi-threaded programs has been removed. When multiple threads were using librosie, each with their own engine (as required), and they were processing the same file, there was an unfortunate interaction regarding file locking.

Notes:

  • See the CHANGELOG for the full list.
  • Blog posts about the changes and enhancements are at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)

Version 1.0.0-beta-5

01 Apr 13:05
Compare
Choose a tag to compare
Version 1.0.0-beta-5 Pre-release
Pre-release

Fixed:

  • Bug in rosie.py that occurred when printing one particular error message
  • Error messages from rcfile processing are now returned by librosie to the calling program

Notes:

  • See the CHANGELOG for the full list.
  • Blog posts about the changes and enhancements are at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)

Version 1.0.0-beta-4

16 Mar 20:53
Compare
Choose a tag to compare
Version 1.0.0-beta-4 Pre-release
Pre-release

Fixed:

  • Some commands (CLI) did not respect some command-line options.
  • Some error messages were not returned correctly from librosie to the calling program.

Notes:

  • See the CHANGELOG for the full list.
  • Blog posts about the changes and enhancements are at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)

Version 1.0.0-beta-3

15 Mar 20:06
Compare
Choose a tag to compare
Version 1.0.0-beta-3 Pre-release
Pre-release

Small bug fixes, but an important one that fixes librosie for Python3 users.

Notes:

  • See the CHANGELOG for the full list.
  • Blog posts about the changes and enhancements are at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)

Version 1.0.0-beta-2

09 Mar 18:10
Compare
Choose a tag to compare
Version 1.0.0-beta-2 Pre-release
Pre-release

Notable changes:

  • New output encoder, bool that indicates a match or not, but returns no other data. Not useful at the command line, but useful from programs using librosie.
  • New example (in extra/examples): python program to count source lines of code (for files that use line comments, not block comments). Not meant to be a solution, but just an example of using librosie from python.

Notes:

  • See the CHANGELOG for the full list.
  • More blog posts about the changes and enhancements will appear in the coming weeks at the Rosie blog.
  • All documentation should be up to date now, though librosie documentation is still in the works. If anything is not clear, let us know! (Open an issue.)