Rand Stats

IRC::Log

zef:lizmat
Revision history for IRC-Log

0.0.24  2021-12-11T20:11:49+01:00
    - Remove .merge method, it can only work on IRC::Log::Colabti

0.0.23  2021-12-11T14:33:15+01:00
    - Add support for .merge method

0.0.22  2021-12-10T22:21:16+01:00
    - Add support for .heartbeat Entry instance method
    - Add support for EXPORT class method

0.0.21  2021-12-01T21:44:16+01:00
    - Use less scoping for conversation/control checks

0.0.20  2021-11-18T11:58:42+01:00
    - Make sure an empty log file is properly handled

0.0.19  2021-11-17T13:55:55+01:00
    - Add %.nick-indices hash for fast lookup of nick-names, which
      turned out to be a severe bottleneck in parsing of a log.
      This change made parsing of the perl6 historical log about
      2.5x as fast as with 0.0.18, and 20% faster than 0.0.14
      (before the last refactor).  Memory usage is also down about
      20% since 0.0.14.

0.0.18  2021-11-16T21:34:28+01:00
    - Added support for :targets to .search method
    - Fixed several other issues with .search found when trying to
      use it from IRC::Channel::Log
    - Changed the interface to parse-log, to make parsing a little
      bit faster and remove the mutability of the .nr-control-entries
      and .nr.conversation.entries that is no longer needed

0.0.17  2021-11-15T12:30:48+01:00
    - Add full .search capability
    - Add .Date method
    - Added dependency on "has-word" module

0.0.16  2021-11-12T18:20:33+01:00
    - Rename .this-target to .target-entry
    - Add methods .target-index, .entries-lt-target, .entries-le-target,
      .entries-ge-target, .entries-gt-target
    - The .entries and .problems methods now always return IterationBuffer
    - The .parse method now only takes the text to parse
    - Consuming classes now need to provide a .parse-log method, rather
      than a .parse method, which is now provided by the role.  This
      allows some common functionality to be moved from the consumer
      classes, simplifying them significantly

0.0.15  2021-11-10T00:52:31+01:00
    - Added .nick-names and .entries-of-nick methods
    - Added .clear method to reset an object for re-parsing
    - Pretty extensive refactor to save memory, probably a little
      bit at the expense of CPU.  Each message now consists of at
      least a "log" attribute, and a so-called hmon attribute (a
      32bit unsigned integer value containing hour, minute, ordinal
      and nick-index value).  Nick-names are now stored in a native
      str array (1-based).  Linking between messages is now done
      with the $entries and the associated $hmon values.  The %nicks
      hash is now gone: all there is now is a .entries-of-nick method
      that lazily produces the entries of the nick given.  This
      reduces the memory footprint significantly, as well as simplifies
      updating of any additional messages.  Consumers of the IRC::Log
      role can simplify their parsing logic, as they no longer need
      to keep track of position and other stuff
    - Added dependency on Array::Sorted::Util

0.0.14  2021-10-26T23:00:36+02:00
    - Work around issue with .target

0.0.13  2021-10-25T23:24:31+02:00
    - Fix issue with .entries returning an IterationBuffer
      instead of a List
    - Limit values that can be passed to TWEAK for hour, minute,
      ordinal and pos

0.0.12  2021-10-24T13:28:40+02:00
    - Subtle change in semantics of .next/.prev.  Instead
      of returning Empty on end reached, they now return Nil

0.0.11  2021-10-23T14:22:44+02:00
    - Added "first-entry" and "last-entry" methods
    - Fix some documentation typos

0.0.10  2021-09-05T21:23:01+02:00
    - Move to the zef ecosystem

0.0.9  2021-08-20T12:43:20+02:00
    - Delegate handling of last-topic-change to "parse" method

0.0.8  2021-08-20T10:51:15+02:00
    - Add .last-topic-change instance method

0.0.7  2021-06-09T19:47:15+02:00
    - Add .next / .prev entry methods

0.0.6  2021-05-25T17:52:53+02:00
    - Make Message.gist be the same what IRC::Log::Colabti parses

0.0.5  2021-05-23T23:13:45+02:00
    - Oops.  .new should not return its type object.  Need more tests

0.0.4  2021-05-23T22:50:25+02:00
    - Changed default branch.
    - Expect .update to return Nil, 0 or > 0

0.0.3  2021-05-19T17:50:07+02:00
    - Seems tagging got mixed up somehow

0.0.2  2021-05-19T17:32:10+02:00
    - Tweaks to make IRC::Log::Colabti work

0.0.1  2021-05-19T17:27:07+02:00
    - Initial version