Changes for version 1.000006 - 2018-04-16 (TRIAL RELEASE)

  • Removed is_closing()
  • Removed is_active()
  • Removed loop_configure()
  • Removed loop_alive()
  • Removed reference to UV::Poll->new_socket() as that's all done in the standard ->new() constructor now.
  • Updated documentation for the Handle classes to better indicate their use.
  • Removed extra library detection for windows as this is now done in Alien::libuv
  • Bumped the requirement of Alien::libuv to 1.000
  • Removed some bad Poll tests
  • Add try/catch block for all Handle start methods
  • Removed Moo requirements

Changes for version 1.000005 - 2018-01-28 (TRIAL RELEASE)

  • Update 02-loop-alive.t to more closely resemble libuv's
  • Remove lib/p5uv_handles.h (no longer needed)
  • Remove lib/p5uv_loops.h (no longer needed)
  • Ensure all Handle objects call ->_destruct() on destruction rather than just calling close.
  • Provide the current "closed" state of the handle to its destructor to assist with knowing when to free safely.
  • Rename Loop->_destroy() to Loop->_destruct() to be consistent
  • Make Loop->_destroy() use p5uv_destroy_loop() to free properly
  • A few changes at the suggestion of Devel::PPPort
  • Added a few more tests to ensure we can export things correctly
  • Added a UV::check() function. A convenience wrapper to UV::Check->new
  • Added a UV::idle() function. A convenience wrapper to UV::Idle->new
  • Added a UV::poll() function. A convenience wrapper to UV::Poll->new
  • Added a UV::prepare() function. A convenience wrapper to UV::Prepare->new
  • Reworked the tests to exercise the above convenience wrappers
  • Removed a few superfluous 'use' statements

Changes for version 1.000004 - 2018-01-25 (TRIAL RELEASE)

  • Require at least ExtUtils::MakeMaker v7.12 for XSMULTI
  • Move all *.[ch] into lib with the module using XSMULTI (mohawk)
  • Redesign everything
  • Now using XS::Object::Magic to hide the C structs within our Perl objects
  • Now using Moo
  • Doing more of the work in Perl-land
  • Pretty much a complete-rewrite from v1.000003

Changes for version 1.000003 - 2017-10-26 (TRIAL RELEASE)

  • Don't store Loop stashes globally (thread safety)
  • Moved constant declarations / some de-dupe efforts (Thanks Paul Evans)
  • Added Perl context to all functions that call the Perl API
  • Separated loop and handle functions from the XS interface

Changes for version 1.000002 - 2017-09-24 (TRIAL RELEASE)

  • Don't store Handle stashes globally for Handle types (thread safety)
  • Simplified the typemap
  • Removed UV::default_loop from UV.xs and added to instead
  • Renamed some macros to make more sense.
  • Removed unused macros
  • Default value for SIGPROF as it doesn't exist in Windows (useful in *nix)

Changes for version 1.000001 - 2017-08-17 (TRIAL RELEASE)

  • Update some prereqs
  • Remove use of SO_REUSEPORT in the tests. We store the port already.
  • Made 05-poll-closesocket.t a windows-only test

Changes for version 1.000000_01 - 2017-08-12 (TRIAL RELEASE)

  • Migrated to Dist::Zilla
  • Moved the version of libuv from 0.x to 1.x
  • Dropped the included src of libuv
  • Dropped the libuv license since we no longer include their source
  • Use Alien::libuv for ensuring we have a libuv to build against
  • Completely rewrote the software due to massive changes between 0.x - 1.x
  • Added Math::Int64 for proper uint64_t support
  • Reworked the UV::loop into a new UV::Loop area
  • Added the ability to get non-default loops


Perl interface to libuv
Check handles in libuv
Handles in libuv
Idle handles in libuv
Looping with libuv
Poll handles in libuv
Prepare handles in libuv
Timers in libuv