The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
==================================================
Changes from 2011-06-06 00:00:00 +0000 to present.
==================================================

------------------------------------------
version 0.098 at 2012-06-05 15:29:25 +0000
------------------------------------------

  Change: 6232da8fc427b5a90573130cab1746d11583a91c
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-06-05 11:27:46 +0000

    Fix dist.ini for better release automation. 

  Change: 9fe808025575ec51014250617dbad08785d685e1
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-06-04 01:47:15 +0000

    Generate _clone() methods at class compile time.

    The attributes being cloned don't change at runtime. A dynamic loop
    over the attributes in a class is more flexibility than we need right
    now. Build the code for _clone() at compile time, string-eval it into
    existence, and then use meta add_method() to put it into place.

    Future self, please forgive me. 

  Change: 8854a8610491ec04d9d654782993529abde32862
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-06-04 01:46:29 +0000

    Add a benchmark for re_emit(), which helps profile event cloning. 

  Change: ec4a1817922d759c599bfd0bf7998a64db22c824
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-06-03 22:39:49 +0000

    Memoize Reflex::Event attribute names by class.

    Class attribute names don't change at runtime, so call it only once
    and memoize them. 

  Change: 5bc706912d4072d64c3b64fdb63bdb0adffe6c47
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-06-03 22:33:57 +0000

    Make classes immutable. Mutable classes are a lot slower. 

  Change: 55385547d6508b2aa44b740969a6409c1cb6eb65
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-06-03 22:26:09 +0000

    Add the first benchmarking/profiling program: event creation &
    destruction. 

  Change: 9dc4b344cc9a041d46492fd26d97cc3f9d3b06df
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-05-17 05:17:10 +0000

    Merge pull request #3 from yanick/patch-1

    SYMOPSIS? :-) 

  Change: 517a0e8fc54a6a0cd323f88c8448b25f9bbee3a1
  Author: Yanick Champoux <yanick@babyl.dyndns.org>
  Date : 2012-05-16 18:03:22 +0000

    SYMOPSIS? :-) 

  Change: a5a26bf9a098ed3f1d9bcf9d78ab26f2c2763a6f
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-04-17 09:27:47 +0000

    Document how to plug in new event loops without crazy shenanigans. 

  Change: 789a130f73138ba063b59fccd4b05700d040ad32
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-04-17 09:25:37 +0000

    Fix make_error_handler() to use event objects.

    Nick Perez pointed out that make_error_hanler() was using the old
    style events. I fixed that and a typo invoked by the error condition
    in Reflex::Role::Connecting. 

  Change: 8c5b88149fd2beba7b18521c23283d0d4653cf9f
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-26 01:32:07 +0000

    Reserve MooseX::Role::Reactive for the event-loop agnostic part of
    Reflex. 

------------------------------------------
version 0.097 at 2012-03-16 01:21:26 +0000
------------------------------------------

  Change: fc8b82a46d8ed471a98bb483e6855cf870bdcd97
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-15 21:21:26 +0000

    Bump the version for release. I shouldn't need to do this. 

  Change: f1cda55d18b80f20eb2e1d5c74e22e16655e2ed7
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-09 12:27:22 +0000

    Fix a warning due to strange destruction order.

    Object destruction can be deferred until after POE::Kernel stops,
    through nasties like circular references. Diagnostic messages are
    thrown when they try to unregister their handles too late. Detect
    that POE::Kernel has stopped, and avoid the moot unregistering.

    I'm not sure I like this. It feels sloppy. Like it's supporting
    applications that insist on leaking memory, or something. 

  Change: 1a177092921c125b21696c6d0d5e3017583c8d45
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-09 12:25:57 +0000

    Allow Reflex::Filehandle to be used with handle instead of
    descriptor.

    Sometimes you're working with a file handle, and sometimes all you
    have is a descriptor. Fix a bug in the code to support either. 

  Change: 34b639506f2904cd13200b5041cd1cea26b9c9b1
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-08 16:50:07 +0000

    Pass att_active through from RR::Streaming to RR::Writable.

    Jason May provided a test case proving that att_active wasn't being
    passed through to Reflex::Role::Writable. This fixes the issue he
    reported on irc.perl.org #reflex. 

------------------------------------------
version 0_096 at 2012-03-06 16:29:31 +0000
------------------------------------------

  Change: 8538e37f0e988f730590dbd5a1153d98df25fa97
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-06 11:29:31 +0000

    Make version self-bumping and releases self-tagging. 

  Change: c65f2650b26af8f09b9c40b0c8dc1a117f63e597
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-06 07:23:14 +0000

    Remove // because CPAN testers still test Perl predating that
    feature. 

  Change: 5a5072e0c97e23e4f8713e5cb45b5507a2bc1243
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-04 13:50:53 +0000

    Add an example of handling POE sig('DIE') from Reflex.

    This is adapted from fREW Schmidt's test program posted to
    irc.perl.org #poe. He asked whether a timer could handle exceptions
    from its own callbacks, and this is an attempt to implement it in
    terms of POE's SIGDIE exception handling. 

------------------------------------------
version 0_095 at 2012-03-03 01:41:53 +0000
------------------------------------------

  Change: 65eb070c98ad1aa98c1f9707771028db56ec2297
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-03-02 20:41:53 +0000

    Modernize ZeroMQ examples to use event objects. 

  Change: 6d4b0137c5c9abb8edab3c8f048d6c53993ff478
  Author: Chris Prather <chris@prather.org>
  Date : 2012-03-02 03:19:12 +0000

    add TODO doc 

  Change: bd9dae0e29312617b8a721460a06c99998b70518
  Author: Chris Prather <chris@prather.org>
  Date : 2012-03-02 03:16:01 +0000

    temporary work around for a meta_lookup bug in Moose 

  Change: e22a087d249e3fcf9456b521baced4295c180d6f
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-02-29 07:21:23 +0000

    Merge branch 'master' of github.com:rcaputo/reflex 

  Change: 17c77bc2d22244719b246efec097c332b42cc979
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-02-29 07:18:16 +0000

    Work around a known issue in Moose::Exporter.

    This partly solves problems introduced by updates to Moose and/or
    MooseX::Role::Parameterized. 

  Change: e9350990ebbbe07eb7f4e6bf1d79df0b61f784e3
  Author: Chris Prather <chris@prather.org>
  Date : 2012-02-21 21:13:43 +0000

    fix the dist.ini so that it builds cleaner for submitters

    * Add a bunch of hidden dependencies for POD::Weaver * Fix the
    configuration for the [Repository] plugin so it works more
    generically (I think) 

  Change: 2514c80798f6c469f641c13697fe905a3ce8f494
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-01-25 16:55:03 +0000

    Create an example that uses POE::Component::Client::HTTP.

    Requires a version of POE::Component::Client::HTTP newer than 0.944. 

------------------------------------------
version 0_093 at 2012-01-19 12:47:05 +0000
------------------------------------------

  Change: 4d51f5f052041b4f29e75a1c31fdb9c4119d0d03
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2012-01-19 07:47:05 +0000

    Bump version for release. 

  Change: eeb7232cccbe44746fe822930bb44701469caf62
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-12-16 00:16:27 +0000

    Merge pull request #2 from jasonmay/master

    Pass the object as an emitter properly on an error event 

  Change: 78134ee84c693a6820371f4bbd12a3ea80851325
  Author: Jason May <jason.a.may@gmail.com>
  Date : 2011-12-14 21:47:33 +0000

    Pass the object as an emitter properly on an error event 

------------------------------------------
version 0_092 at 2011-11-03 03:00:49 +0000
------------------------------------------

  Change: bb83b47a7898077b0e6edf943cd469a9bbc71deb
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-11-02 23:00:49 +0000

    Add a simple example of using a POE::Session alongside Reflex. 

  Change: 5c57d49f9a64a781af8eb0c91cb2fffb20252353
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-10-27 21:30:23 +0000

    !!! Experiment with Reflex events being objects.

    Introduces a compatibility breakage in emit(), and all callbacks
    receive an event object rather than a hash of key/value pairs. 

  Change: afe420ce335688f6eb5cb7e6ea17030ff1cecc94
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-10-19 13:28:11 +0000

    Add Reflex::Filehandle for times when you just want to know if
    there's readability and/or writability and don't need a stream. 

  Change: 0a497450b346210b6bfb2bf8b8c6c920314c39d3
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-09-15 16:25:09 +0000

    eg/Runner.pm works with other open3()-like things. Very nice! 

-------------------------------------------
version 0_0901 at 2011-08-26 03:21:01 +0000
-------------------------------------------

  Change: 56ac1a4b853043e258dfcc052e954c4afbfd4d0d
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-08-25 23:21:01 +0000

    Update to work with recent Moose. Fixes a bug reported by Tyler
    Riddle on irc.perl.org #reflex. 

------------------------------------------
version 0_090 at 2011-07-31 02:41:53 +0000
------------------------------------------

  Change: 98db344273bd63e97283aef4690f1147ebd26e05
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-30 22:41:53 +0000

    Bump the version for release. 

  Change: e9fb8dd2b684c2332cfa914f737f20a263b03c41
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-30 22:36:46 +0000

    Apply Sébastien Aperghis-Tramoni's patch to allow Reflex to compile
    on Perl 5.8.8. Resolves rt.cpan.org ticket 66275. 

  Change: fc48064961e2bc9a85b83eb41d80a20a33fc3ae9
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-30 22:33:53 +0000

    Remove PodPlexus plugin for now. That's a bigger yak than will fit in
    any recent release. 

  Change: a94504ff16cdb05c11469e20c4dcd38b5eab9832
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-30 22:33:17 +0000

    Commit experimental things for others to consider. 

  Change: 4dba6022a1d977f170c21a4d4efb01a3d38a47bf
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-30 22:29:03 +0000

    Reorganize to make a little more accessible, based on feedback from
    YAPC::NA. 

  Change: 000a5036fd9342f67b51c77e3dd59f5d6853f471
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-16 20:18:06 +0000

    Implement a non-Moose inheritance example. Test the new Pod::Plexus
    "=include" directive. 

  Change: b72e530173db48f39ca2bee0a410ddb34411cb84
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-16 15:07:27 +0000

    Begin using Pod::Plexus and Pod::Weaver. 

  Change: 30bfa45994926534e5c94bc0dd83edf980edd8d6
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-05 23:13:55 +0000

    Implement a couple prototypes for injecting event loops into
    Reflex::Base. Heavily leaning on confound's advice from irc.perl.org
    #moose. 

  Change: 8b5146ac2e8090a0190ded77039f61b00a2950e8
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-07-05 22:22:37 +0000

    Prototype a Reflexive ZeroMQ socket, with basic publish and subscribe
    examples. 

  Change: 9479f27167e894e18f36a4a7fbbb72155549156a
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-06-28 02:16:14 +0000

    Experimentally coerce callbacks from contextual parameters. 

  Change: 4dcae463a99d85c05d2cb03356bb721e3c84fc3a
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-31 01:10:20 +0000

    Whitespace fixes. 

  Change: e0d6b992e52a4f93e58bd96f985f82896d563ce4
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-31 01:04:43 +0000

    Explicitly export watches() and emits() from their corresponding
    Reflex traits. 

  Change: 71a77f8dbcbc35125b1e7ee3238a740746da57e6
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-31 01:03:56 +0000

    Revise documentation. 

  Change: 5b0127b4bad48d1b5a48f39309859e693a8738d8
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-30 22:02:06 +0000

    Remove emit() from roles.

    Roles are all about static composition, and events are for dynamic
    composition. Roles that emit() events blur this distinction, so I'm
    deeming them to be "bad".

    Additionally, one of Reflex's prime directives is for consumers to
    decide how they'll handle things. Implementing "interface" callbacks
    in roles (even default ones) takes this away from the consumer. The
    current solution is to provide declarative helpers to define the
    defaults. They also make more explicit that it's the consumer's role
    (har) to define callbacks in all cases. This is slightly less
    convenient, but it's a lot cleaner.

    Also add vim format lines so I stop dealing with whitespace
    inconsistencies. 

  Change: 18c07d9577fb4e77d0bef4ecb680c31277a6beea
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-26 09:51:06 +0000

    Avoid breaking code that uses Reflex::Trait::Observed.

    Add a Reflex::Trait::Observed that's implemented by
    Reflex::Trait::Watched. This is a temporary plceholder to avoid
    upgrade awkwardness. It'll go away in a few releases of Reflex. 

  Change: 354b571ef2509485a2cc4f3a660738dcec20bcc9
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-26 00:56:43 +0000

    Remove the "Empty" message. undef is just fine for this purpose. 

  Change: 9513af3bd7026db10548a3071870be7a2e21749f
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-26 00:51:44 +0000

    Rename "observe" to "watch".

    It's shorter, and it aligns the names of things with what node.js
    people understand. 

  Change: 20c1bb9c51c40c519dd311f1932b47be926972c5
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-18 01:09:03 +0000

    Experimental queued I/O model, like a pared down STREAMS system.
    Meant to address ordering issues when I/O races with notifications
    like EOF and SIGCHLD, which can happen in pipe/fork/exec situations. 

  Change: 8cbeb92e5b2a9833a40cf7496b9c082a32838666
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-05-07 19:12:58 +0000

    Outline more multiprocess and ransparent RPC considerations. 

  Change: 3d7a5058b539fa631a3f894e6aa95122ee81c7a2
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-04-16 03:24:43 +0000

    "Lifeguard" was confusing, so call it "Pool Manager" for now. 

  Change: b0db25334d1592fdefe2ebd8bd7e04824d7afb2d
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-03-26 04:19:02 +0000

    Add Andy Gorman's requirements for worker management. Begin generic
    worker management requirements. 

  Change: 9ee64987571c3734d03c6de6215dd52ccdc49af2
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-03-20 00:20:15 +0000

    Add experimental support to merge promise queues, but I think this
    isn't flexible enough to be generic. Expect it to be replaced by...
    better. 

  Change: 97fe645e9ad687b414a9983774d9abd25da1c42b
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-03-20 00:18:42 +0000

    Reflex objects seem to interact in ways similar to the Enterprise
    Integration Patterns. Summarize some of those patterns in the TODO
    outline, and add tasks to investigate more. 

  Change: c5a86a1985c373e3ef0f96d71692a83acaa5d1e9
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-03-19 14:02:34 +0000

    Add ability to wait for the next() occurrence of a particular event.
    Using it in my rx-firmata work: $uno->put_handle("\xF0\x6B\xF7");
    $uno->next('initialized'); 

  Change: f279d0812b7e19acd87a0b24befb23b443e25b66
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-03-15 23:05:37 +0000

    Braindump Erlang inspiration for distributed Reflex. New tasks set
    the project back 3%. :( 

  Change: 49fbf78c1626e65d6ce158b5a643732888b43396
  Author: Dylan William Hardison <dylan@hardison.net>
  Date : 2011-03-04 23:55:44 +0000

    Don't assume handle is named handle. 

  Change: fb03bf2b03759d781c92b3d3f5d8ca9ff3da6642
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-02-13 13:02:31 +0000

    Add get_id() to Reflex::Role::Reactive. Rekey all object-keyed data
    on object ID instead, improving iThread-safety and fork()-safety on
    Windows. 

  Change: f56955440e184f5377840040974ae871505a288c
  Author: Jason May <jason.a.may@gmail.com>
  Date : 2011-02-13 12:41:32 +0000

    Add objects() trait delegate. 

  Change: 1d07a7687db51ceefffc94d2fa7688d8382b58e6
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-02-13 11:43:38 +0000

    Reweaken the sender. While it would be nice to keep the sender
    around, it was causing resource deadlocks in example programs. 

  Change: 8e6117cfc8beaab82bd73d0c4c13ea6965a8d0db
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-02-13 11:42:27 +0000

    Start each Reflex object with a Promise. Previously the call to
    next() would trigger creation of a Promise. Messages delivered before
    next() could be called would be discarded. 

  Change: da49313800ae599d5e4d290c83bc0f80f782419c
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-02-13 11:41:41 +0000

    Doc fix. Make it explicit that input that input streams are
    asynchronous. 

  Change: 048f18992504b5e149bab77e75ee5f6ee94cd1b1
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-02-13 11:40:18 +0000

    Don't allow events to enqueue forever in a Promise callback. 

  Change: 3bd9acb1e815ed4966afaa56baf932331e6b09ba
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-01-24 19:27:14 +0000

    Explain that request() is a convenience method to gloss over the
    details of $poe_kernel->post(). 

  Change: f32ece5c9228d31ab73f6c4182b5fae2bcbcaf0c
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-01-24 18:45:21 +0000

    Improve the comments in the POE component examples. Rob Bloodgood
    pointed out that the code's not self-explanatory. 

  Change: 94eb8a53c1c60525aa4d782c5ef6b68e62f3d754
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2011-01-06 18:36:14 +0000

    Forgot to document a couple newish classes. 

=================================================
Plus 13 releases after 2011-06-06 00:00:00 +0000.
=================================================