Revision history for Needle::Compile

0.0.12  2026-06-24T23:21:46+02:00
    - Fix test that will break on rakudo 2026.06
    - Fix JSON::Path developer test

0.0.11  2026-05-25T20:34:26+02:00
    - Add support for :AST named argument to "compile-needle"
      to produce the AST instead of the Callable, for future
      integration into applications, such as App::Rak

0.0.10  2026-05-25T19:58:30+02:00
    - Fix code for post 6.e behaviour of %_
    - Modernize META
    - Add support for NEEDLE_COMPILE_DEBUG environment variable
    - Bump dependencies, because we can
    - Update copyright year

0.0.9  2024-08-21T18:19:10+02:00
    - Combine multiple consecutive regexes into a single regex
      for performance
    - Fix issue with multiple regexes crashing because $/ got
      defined more than once: fixed by moving adding to the block
      wrapping logic: having an extra $/ is probably not an issue
      for the use cases of Needle::Compile

0.0.8  2024-08-21T16:31:53+02:00
    - Make sure code blocks and regexes have a lexically visible
      thread-safe $/ to prevent unexpected results in threaded
      execution of the code

0.0.7  2024-08-16T17:53:20+02:00
    - Bump dependency on String::Utils, because we can
    - Fix some problems in the documentation

0.0.6  2024-08-15T22:43:27+02:00
    - Add support for :matches named argument: instead of producing
      a Bool for many types, it will produce a Slip of matches if
      there was an match, and False if there weren't 
    - Up dependency on "has-word" for the "all-words" subroutine
    - Make "implicit2explicit" also accept already explicit specifications
    - Catch any compilation errors: return a Failure with the
      original compilation error
    - Make sure that '*' and '//' are correctly handled as searches
      for exactly those characters
    - Trim leading and trailing whitespace from regex specification,
      as they are without meaning.  This should make it easier to
      follow the fast path of alphanumerics only, e.g. / foo /

0.0.5  2024-08-13T16:44:51+02:00
    - Add support for :repo and :module named arguments for the
      "code" type, to set up repos to search and modules to load
      (similar to -I and -M command line arguments respecively)
    - Add optional subroutine export "implicit2explicit", which
      converts an implicit query specification into an explicit
      type => query pair
    - Up dependency on String::Utils (because we can)
    - Add support for reading patterns from STDIN with the "-" as
      filename

0.0.4  2024-08-04T14:17:26+02:00
    - Add support for the "url:" prefix and "url" type, to fetch
      needles from a remote URL
    - Add StrType.ACCEPTS method for checking whether a given type
      string is valid or not

0.0.3  2024-08-03T21:51:52+02:00
    - Add support for the "s:" prefix and "split" type, to split
      a given needle on whitespace to interpret as multiple needles
    - Add support for multiple needles, either in a List, or as
      multiple arguments to "compile-needle"
    - Add support for the "&" prefix and "and" type to indicate
      "and"ing with the result of the previous needle (as opposed
      to default of "or"ing)
    - Optionally export a Type role for butting strings, which is
      limited to the known types
    - Optionally export a StrType class to allow dispatching on
      butted strings
    - Add support for reading patterns from a file, with the
      "file:" prefix and the "file" type
    - Add documentation and many more tests

0.0.2  2024-08-03T11:40:49+02:00
    - Add support for JSON::Path: jp: / json-path => / { jp()
    - Add support for $*_ in code needles for external libraries

0.0.1  2024-08-02T16:54:21+02:00
    - Initial version
