What's new in Txr 66:
May 18th, 2013
· This version adds many new features, bugfixes, and completion of the reference manual.
What's new in Txr 65:
April 21st, 2012
· This version has been ported to OS X, FreeBSD, and NetBSD, supports a few popular regex tokens, exposes the regex compiler as a function (allowing programs to build and use regular expression syntax trees), provides new ways of iterating over hash tables with lazy lists, adds some time functions, improves seeding of PRNG, and fixes a bug related to argument processing in @(next) directive.
What's new in Txr 62:
March 24th, 2012
· Floating point support has been introduced, allowing TXR to be more suitable for scientific data munging, making this a major milestone.
· Some new functional combinators have been added.
· There is a small refinement in URL/percent encoding/decoding.
· A showstopper bug in recently introduced quicksort routine has been repaired, affecting vector/string sorting.
What's new in Txr 059:
February 29th, 2012
· This is a bugfix release.
What's new in Txr 058:
February 26th, 2012
· TXR programs can now be split into modules.
· Embedded TXR Lisp can now call back into the pattern language.
· Exception handling is now exposed in TXR Lisp.
· Optional arguments are supported in TXR Lisp functions.
· The braced variable substitution syntax in output has been extended to do arbitrary expressions, and its indexing notation is now generic over vectors and strings.
· More generic sequence functions have been added to the library, including a generic sort.
· There's a new del operator for deleting sequence elements/ranges and hash elements denoted by the bracket syntax.
What's new in Txr 057:
February 14th, 2012
· "Freeform" scanning (treating an arbitrarily sized remainder of the input as one big string) is now possible in constant memory.
· Bugs in hex and octal character constants, the format function, and printing of string objects were fixed.
What's new in Txr 056:
February 6th, 2012
· This version fixes incorrect UTF-8 decoding of a valid character range, and closes security issues related to UTF-8 decoding and re-encoding.
· A regression that broke computed field widths in release 55 is fixed.
· Hex and octal escapes in string literals and quasiliterals are now recognized like the documentation says.
· The [...] notation now has evaluation semantics for symbolic arguments which are like Lisp-1.
· An operator called op has been introduced for writing simple lambdas with a currying syntax with numbered and implicit arguments.
What's new in Txr 055:
January 30th, 2012
· This version introduces a new square bracket syntax that performs an intuitive operation based on the type of the first object.
· It provides Lisp-1 style calls for functions (no call operator) and array indexing and slicing for lists, vectors, strings, and hashes.
· Indexed elements and slices are assignable.
· Indexing and slicing can be used in the output template language and in string quasiliterals.
What's new in Txr 054:
January 23rd, 2012
· The main improvement in this release relates to the debugger.
· It is now possible to step into, over, or out of expressions, and see a complete environment and backtraces.
· A lazy version of "append" has been added to the embedded Lisp.
What's new in Txr 053:
January 12th, 2012
· New functions and operators were included in the Lisp dialect for lazy list processing and parallel iteration.
· Variable substitutions in output and quasiliterals can have computed field widths.
· A showstopper bug in the evaluation of built-in global variables was fixed.
What's new in Txr 052:
January 8th, 2012
· This version adds a new fuzz directive for imperfect matches over a range of lines, similar to the context line fuzz in the patch utility.
· The gather directive has been extended with an optional until/last clause to limit its range.
· New mod and modlast directives in repeat/rep specify alternative output when the repeat count is equal to some n modulo m.
· repeat/rep take an argument which nominates a variable which holds the repeat count.
· A gensym function has been added to TXR Lisp.
· Bugfixes have been made.
What's new in Txr 051:
December 29th, 2011
· This version fixed several bugs, including a showstopper in bignum integers on 32-bit platforms.
· There are improvements in the areas of pseudo-random number generation and lazy list processing.
What's new in Txr 050:
December 24th, 2011
· This version contains several critical bugfixes.
· There is some new functionality, including a new API for pseudo-random-number generation.
· More documentation has been written.
What's new in Txr 049:
December 20th, 2011
· First cut at horizontal match functions.
What's new in Txr 048:
December 15th, 2011
· This version fixes portability bugs in the MPI library leading to incorrect bignum results and crashes.
· It adds new functions: expt, exptmod, sqrt, numberp, evenp, oddp, abs, gcd, reduce-left, and reduce-right.
What's new in Txr 047:
December 13th, 2011
· Bignum arithmetic is now integrated into the language.
· Overflow in word-sized (fixnum) integers transparently produces bignums.
· Functions have been added in Lisp dialect for character manipulation, vectors, and association lists.
· New special operators have been added: progn and flip.
· An implicit named block in defun bodies, and an implicit anonymous block in for loops.
· Minor bugfixes.
What's new in Txr 045:
December 6th, 2011
· This version adds many new functions in Lisp dialect, and bugfixes.
What's new in Txr 042:
November 21st, 2011
· TXR can now parse grammars, thanks to horizontal functions.
· A breakpoint/step debugger has been added.
· There are new ways of capturing text into variables, bugfixes (including ones affecting stability), and a Vim syntax highlighting file.
What's new in Txr 040:
October 21st, 2011
· A small semantics change.
· An important GC bugfix affecting some platforms.
· Refactored for better performance and maintainability.
· Native (non-Cygwin) Win32 port.
What's new in Txr 039:
October 11th, 2011
· Ported to Cygwin.
· Important bugfixes.
· A number of new features.
What's new in Txr 037:
September 27th, 2011
· A filtering syntax for variable substitutions, user-defined filters, minor semantic tweaks, and bugfixes.
What's new in Txr 035:
October 6th, 2010
· Fixed the gc-related bug and a regression bug in basic query logic.
What's new in Txr 033:
January 27th, 2010
· Since version 028, there has have been a few GC fixes, a bunch of regex work. Check it out!
What's new in Txr 019:
October 22nd, 2009
· There is a new freeform directive for unstructured matching across multiple lines.
· Variables can be bound to regexes and used for matching.
What's new in Txr 018:
October 19th, 2009
· Important bugfixes were made.
· The @(skip) directive was discovered not to be yielding the correct line past the material that was matched, allowing subsequent query forms to go over the same material.
· A regression in @(collect) was found: looping infinitely in the case that the collect body succeeds without matching anything (and yields the same match position); it now moves by one line in that situation.
What's new in Txr 017:
October 19th, 2009
· A bug in exception subtype definition (defex) was fixed.
· A tail recursion optimization was done in the garbage collector.
· The -f option was added for specifying a query file, allowing more options to follow.
· More documentation on exceptions was written.
What's new in Txr 016:
October 19th, 2009
· A throw directive for user exceptions and user-defined hierarchical exception types (subtype-supertype exceptions).
· Catch clauses can now have parameters, and throw passes arguments to catch.
· The -f command line option was renamed to -c.
What's new in Txr 014:
October 5th, 2009
· Queries can now define functions.
· Functions can nest and recurse.
· Definitions have dynamic scope.
· A new "cases" directive has been added, which is like "some" but with short-circuiting semantics. This is useful for controlling function recursions.
· String literals have been added to the syntax.
· Arguments in function calls can be string literals.
· There are some small bugfixes.
What's new in Txr 013:
October 1st, 2009
· Some minor garbage collection issues fixed.
· Infinite looping bug fixed.
· New @(trailer) directive.
· extract.y (match_files): Implemented trailer directive.
· extract.l (version): Bump to 013.
· lib.h (trailer): Declaration added.
· lib.c (trailer): External definition added.
· (obj_init): Initializer trailer with interned symbol.
· txr.1: Documented @(trailer) and bumped version to 013.