Releases: jamiejennings/rosie-pattern-language
Releases · jamiejennings/rosie-pattern-language
Version 1.0.0-beta-11
CHANGED
- The
ci
macro will now operate on character sets as well as literals, making them all case insensitive. (Note thatci
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 asfoo
.) - 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
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 theconfig
command (CLI) and theconfig()
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
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
andnum.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 labeledfrac
.
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
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
API CHANGE in rosie.py
- The argument to
rosie.engine()
has been removed. By default, rosie.py will loadlibrosie
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 callrosie.load(path)
before creating any engines. - The
path
argument torosie.load()
can be a string orrosie.librosie_local
orrosie.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.
- If the argument is a string, it should be the directory in which rosie.py will find
- 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
API CHANGE in rosie.py
- The argument to
rosie.engine()
has been removed. To select how rosie.py finds thelibrosie
library, callrosie.set_librosie_dir
. If you don't callrosie.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
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
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
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
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 usinglibrosie
. - 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.)