The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.047 - 2014-02-26

  • cleanup (Stanislaw Pusep)
  • No checks for IPv6 localhost for now :( (Stanislaw Pusep)
  • Updated Dist::Zilla (Stanislaw Pusep)
  • saner YADA defaults (Stanislaw Pusep)
  • YADA optimization for plain URL queues (Stanislaw Pusep)
  • remove ram comment about Parallel::Downloader (Christian Walde)
  • Fixed yet another test failing behind the proxy (Stanislaw Pusep)
  • reverting #871313f1ed (Stanislaw Pusep)
  • AnyEvent timers are now weak_ref (Stanislaw Pusep)
  • Perl v5.17.10 compatibility (Stanislaw Pusep)
  • "AnyOf" usage requires MooX::Types::MooseLike >= 0.18 (Stanislaw Pusep)
  • fixed timers for AnyEvent::Impl::Perl (Stanislaw Pusep)
  • typo fix (Stanislaw Pusep)
  • BROKEN COMPATIBILITY: added the "WARNING: GONE MOO!" POD section *everywhere* (Stanislaw Pusep)
  • removing further Mo[ou]se references from documentation (Stanislaw Pusep)
  • scope fix (Stanislaw Pusep)
  • dependency updates (Stanislaw Pusep)
  • --MooX::late (Stanislaw Pusep)
  • Zilled the Dist (Stanislaw Pusep)
  • more Any::Moose removal (Stanislaw Pusep)
  • Fixed FIXMEs (Stanislaw Pusep)
  • Moo-sification: take two (Stanislaw Pusep)
  • removed dead reload code (Stanislaw Pusep)
  • t/70-timeout.t seems OK now (Stanislaw Pusep)
  • "use base" was broken (Stanislaw Pusep)
  • recommend EV 4.11 as a prerequisite (Stanislaw Pusep)
  • eg/yada-crawler.pl cleanup (Stanislaw Pusep)
  • AE::N::C::Q::E header attribute readonly (Stanislaw Pusep)
  • cleaned dependencies (Stanislaw Pusep)
  • YADA cleanup (Stanislaw Pusep)
  • minor ::Multi accessor cleanup (Stanislaw Pusep)
  • http_message handling revamped (Stanislaw Pusep)
  • added eg/yada-crawler.pl (not very clear example) (Stanislaw Pusep)
  • benchmark update (Stanislaw Pusep)
  • further benchmark normalization (Stanislaw Pusep)
  • disable compression in Mojo::UA benchmark (Stanislaw Pusep)
  • Mojo::UserAgent benchmark fixed (mea culpa) (Stanislaw Pusep)
  • t/73-cycle.t is an author test (Stanislaw Pusep)
  • ooops, Mojo can't start/stop several times anymore? (Stanislaw Pusep)
  • Mojo::UserAgent benchmark overhaul (Stanislaw Pusep)
  • setting CURLOPT_POSTFIELDS to a HashRef converts to JSON automatically (Stanislaw Pusep)
  • removed useless eval check from AE::N::C::Const (Stanislaw Pusep)
  • useless meta->name removed (Stanislaw Pusep)
  • full perlcritic harsh compliance (Stanislaw Pusep)
  • calming down the perlcritic (Stanislaw Pusep)
  • Dist::Zilla bump (Stanislaw Pusep)
  • better traps for t/70-timeout.t (Stanislaw Pusep)
  • fragment supression tested (Stanislaw Pusep)
  • disabling Net::Curl::* prototypes (Stanislaw Pusep)
  • messing around (Stanislaw Pusep)
  • fixed encoding issues revealed by upgrading to Digest::SHA v5.74 (Stanislaw Pusep)
  • postponing $cv->send to properly destroy ::Multi instance (Stanislaw Pusep)
  • followlocation-caused header propagation fix (Stanislaw Pusep)
  • curly brackets cleanup (Stanislaw Pusep)
  • initialization exception testing (Stanislaw Pusep)
  • proper usage of BUILDARGS/FOREIGNBUILDARGS (Stanislaw Pusep)
  • fixing cyclic references (Stanislaw Pusep)
  • benchmark results update (Stanislaw Pusep)
  • less verbose recursion test (Stanislaw Pusep)
  • benchmark suite fixes (Stanislaw Pusep)
  • Test::Memory::Cycle test implemented (Stanislaw Pusep)
  • clearer benchmark reasoning (Stanislaw Pusep)
  • major breakthrough in Net::Curl::* "unreferenced scalar" fixing! (Stanislaw Pusep)
  • attempt to fight 1-millisecond timeout (again) (Stanislaw Pusep)
  • Net::Curl::Share instance destruction code is FUBAR; storing it inside a Mo[ou]se attribute was a really bad idea :~( (Stanislaw Pusep)
  • weak_ref unnecessary, after all (Stanislaw Pusep)
  • removed unnecessary & broken weak_ref declarations (Stanislaw Pusep)
  • replaced time() from Time::HiRes by AE::tie (Stanislaw Pusep)
  • a bit less deterministic t/61-nest.t (Stanislaw Pusep)
  • better compliance with libcurl docs (Stanislaw Pusep)
  • a bit cleaner Net::Curl::Share handling (Stanislaw Pusep)
  • very bad fix for Net::Curl::Share instance "weakness" (Stanislaw Pusep)
  • getting rid of "Attempt to free unreferenced scalar: SV 0xdeadbeef during global destruction." (Stanislaw Pusep)
  • version bump (Stanislaw Pusep)
  • fix release: dependencies were stripped accidentally (Stanislaw Pusep)
  • split Test::HTTP::AnyEvent::Server into a separate module (Stanislaw Pusep)
  • finally Test::HTTP::AnyEvent::Server can detach & run as separate process (Stanislaw Pusep)
  • YADA DWIM: documented & tested (Stanislaw Pusep)
  • updated test for nasty empty HTTP::Message condition (Stanislaw Pusep)
  • minor edge case condition adjustments (Stanislaw Pusep)
  • better Moose encapsulation (Stanislaw Pusep)
  • better type constraints (Stanislaw Pusep)
  • added common_opts to AE::N::C::Q and fixed CURLOPT_(SHARE|TIMEOUT) propagation for YADA (Stanislaw Pusep)
  • test fixes (no need to rely on cpan.org) (Stanislaw Pusep)
  • eg/simple.pl updated to show the new sugar syntax (Stanislaw Pusep)
  • do *NOT* return HTTP::Response if scheme is not HTTP/HTTPS (Stanislaw Pusep)
  • attempt to fix FreeBSD test errors (Stanislaw Pusep)
  • YADA append()/prepend() are now chainable (updated example in SYNOPSIS) (Stanislaw Pusep)
  • experimental YADA DWIM extensions for append()/prepend() (Stanislaw Pusep)
  • added AE::N::C::Q::Easy->opts attribute to quickly setopt() stuff (Stanislaw Pusep)
  • minor compatibility fixes (Stanislaw Pusep)
  • more verbose environment info (Stanislaw Pusep)
  • benchmark results updated (Stanislaw Pusep)
  • update process name in eg/benchmark.pl (Stanislaw Pusep)
  • refactored eg/benchmark.pl (Stanislaw Pusep)
  • test cloning (Stanislaw Pusep)
  • AE::N::C::Q::Easy->clone($param) fixed (Stanislaw Pusep)
  • benchmark updated (Stanislaw Pusep)
  • eg/queue: filtered URLs which lead to redirectors (Stanislaw Pusep)
  • fix: no socket_action(CURL_SOCKET_TIMEOUT) if no handles are open (Stanislaw Pusep)
  • reimplemented eg/benchmark/mojo.pl to work the non-blocking way (Stanislaw Pusep)
  • documentation update (Stanislaw Pusep)
  • implemented AnyEvent::HTTP::Tiny client to test Test::HTTP::AnyEvent::Server (Stanislaw Pusep)
  • use Any::Moose for Test::HTTP::AnyEvent::Server (Stanislaw Pusep)
  • gave up, Test::HTTP::Server is more reliable for blocking tests (Stanislaw Pusep)
  • enhance Test::HTTP::AnyEvent::Server coverage (Stanislaw Pusep)
  • more failing tests (Stanislaw Pusep)
  • more AE::N::C::Easy cleanup (Stanislaw Pusep)
  • removed Test::HTTP::Server dependency (now for sure) (Stanislaw Pusep)
  • test incorrect usage of AE::N::C::Q::Easy setopt()/getinfo() (Stanislaw Pusep)
  • migrate N::C::Multi & N::C::Easy object capability checks into test (Stanislaw Pusep)
  • test boundaries fine-tuned (Stanislaw Pusep)
  • removed unmet conditions (Stanislaw Pusep)
  • test watchdog & timeout (Stanislaw Pusep)
  • clean up duplicate URL condition (Stanislaw Pusep)
  • removed Test::HTTP::Server dependency (Stanislaw Pusep)
  • implemented Test::HTTP::AnyEvent::Server, as fork() breaks Net::Curl :( (Stanislaw Pusep)
  • use AE::postpone instead of "instant timer" hack (Stanislaw Pusep)
  • updated t/42-loopback-retry.t to use internal POST retry mechanism (Stanislaw Pusep)
  • attempt double GET at t/30-queued-single.t (to verify queue deduplication) (Stanislaw Pusep)
  • stripped dead code from AE::N::C::Q::Stats (Stanislaw Pusep)
  • fixed AE::N::C::Const cache typo (Stanislaw Pusep)
  • split queue accessors POD (Stanislaw Pusep)
  • correctly reenqueue POST requests (Stanislaw Pusep)
  • Mojo::UserAgent benchmark (Stanislaw Pusep)
  • benchmark fixed (Stanislaw Pusep)
  • removed Memoize dependency (Stanislaw Pusep)
  • squash setopt calls during init into one (Stanislaw Pusep)
  • Trait::Array is too slow to handle huge queues (Stanislaw Pusep)
  • automatically POST as JSON (Stanislaw Pusep)
  • raise CURLMOPT_MAXCONNECTS (Stanislaw Pusep)
  • example fixes (Stanislaw Pusep)
  • eg/CrawlApache.pm using Web::Scraper (Stanislaw Pusep)
  • removed common::sense (Stanislaw Pusep)
  • using ChangelogFromGit::CPAN::Changes for changelog (Stanislaw Pusep)
  • Changes (Stanislaw Pusep)
  • documentation updated with alternatives; prereq common::sense 3.5 (Stanislaw Pusep)
  • Changelog (Stanislaw Pusep)
  • fix for perl-5.15.9 (Stanislaw Pusep)
  • minor fixes (Stanislaw Pusep)
  • ++yada options (Stanislaw Pusep)
  • yada: stupid typo fix (Stanislaw Pusep)
  • benchmark is flawed as YADA also can't tell initialization from fetching apart :( (Stanislaw Pusep)
  • yada: filename from content-disposition/location tags (Stanislaw Pusep)
  • better socket watcher recycling (Stanislaw Pusep)
  • benchmark now separates initialization from the download; using remote server (Stanislaw Pusep)
  • yada: get_filename() (Stanislaw Pusep)
  • yada timeout parameter (Stanislaw Pusep)
  • --MooseX::NonMoose from dist.ini (Stanislaw Pusep)
  • verbose yada help (Stanislaw Pusep)
  • ++yada CLI tool (Stanislaw Pusep)
  • all tests under Any::Moose (Stanislaw Pusep)
  • meta->class_precedence_list => meta->name (Stanislaw Pusep)
  • ++MooseX::NonMoose to dist.ini (Stanislaw Pusep)
  • eg/benchmark.pl: unsure about the way to use AnyEvent::Curl::Multi; copied from Template::Parser::RemoteInclude (Stanislaw Pusep)
  • README version bump (Stanislaw Pusep)
  • ++CURL_LOCK_DATA_SSL_SESSION (Stanislaw Pusep)
  • MouseX::NativeTraits dependency (Stanislaw Pusep)
  • Replaced Moose by Any::Moose (Stanislaw Pusep)
  • fixes (Stanislaw Pusep)
  • benchmark fix (Stanislaw Pusep)
  • cleanup test (Stanislaw Pusep)
  • uninitialization fixes (Stanislaw Pusep)
  • Mouse prereqs (Stanislaw Pusep)
  • BUILDARGS hack (Stanislaw Pusep)
  • Moose => Any::Moose (Stanislaw Pusep)
  • AENCQ object now reusable (Stanislaw Pusep)
  • fixed kwalitee test due to new Parse::RecDescent release (Stanislaw Pusep)
  • "Attempt to free unreferenced scalar: SV 0xdeadbeef." warning was not Test::HTTP::Server's fault in 01-net-curl-compatibility.t, at all. (Stanislaw Pusep)
  • watchdog executes $self->multi->perform (Stanislaw Pusep)
  • watchdog (Stanislaw Pusep)
  • YADA alias (Stanislaw Pusep)
  • default timeout/retry update (Stanislaw Pusep)
  • Fixed 'Attempt to free unreferenced scalar: SV 0xdeadbeef during global destruction.' in t/01-net-curl-compatibility.t (Stanislaw Pusep)
  • max connections editable on-fly (Stanislaw Pusep)
  • retry CodeRef fix (Stanislaw Pusep)
  • eg/ fix (Stanislaw Pusep)
  • re-enqueued requests are forced to bypass de-duplication filter (Stanislaw Pusep)
  • allow_dups configurable (Stanislaw Pusep)
  • URI coerce typo fix (Stanislaw Pusep)
  • better cloning (Stanislaw Pusep)
  • update README.pod (Stanislaw Pusep)
  • reorganize tests (Stanislaw Pusep)
  • optionally use_stats (Stanislaw Pusep)
  • Const POD (Stanislaw Pusep)
  • Net::Curl::* constants accessor/cache (Stanislaw Pusep)
  • ++curl benchmark (Stanislaw Pusep)
  • added nice comparison chart (Stanislaw Pusep)
  • callback tests (Stanislaw Pusep)
  • Easy: constants cache; on_init/on_finish callbacks (Stanislaw Pusep)
  • Stats: precompute constants (Stanislaw Pusep)
  • benchmark example (Stanislaw Pusep)
  • new release (Stanislaw Pusep)
  • recursively update queue test (Stanislaw Pusep)
  • single request in queue test (Stanislaw Pusep)
  • fixed HTTP::Response encapsulation warning when response is empty (Stanislaw Pusep)
  • stupid termination condition bug (Stanislaw Pusep)
  • no CURLINFO_PRIMARY_PORT in older libcurl (Stanislaw Pusep)
  • now passes tests on perl-5.10.1 (Stanislaw Pusep)
  • getinfo()/setopt() improvements (Stanislaw Pusep)
  • documentation (Stanislaw Pusep)
  • HTTP::Response encapsulation (Stanislaw Pusep)
  • Easy getinfo() wrapper (Stanislaw Pusep)
  • Easy setopt() wrapper (Stanislaw Pusep)
  • coerce URLs (Stanislaw Pusep)
  • POD (Stanislaw Pusep)
  • end condition fix (used to cause segfault) (Stanislaw Pusep)
  • remove cv->begin/cv->end crap (Stanislaw Pusep)
  • weak_ref hell!!! (Stanislaw Pusep)
  • Queued test (Stanislaw Pusep)
  • Easy test & POD (Stanislaw Pusep)
  • POD[2] (Stanislaw Pusep)
  • Stats test (Stanislaw Pusep)
  • Net::Curl compatibility test (Stanislaw Pusep)
  • minor updates (Stanislaw Pusep)
  • AnyEvent::Net::Curl::Queued::Multi max attribute (Stanislaw Pusep)
  • leak fix (Stanislaw Pusep)
  • Dist::Zilla[4] (Stanislaw Pusep)
  • Dist::Zilla[3] (Stanislaw Pusep)
  • Dist::Zilla[2] (Stanislaw Pusep)
  • Dist::Zilla (Stanislaw Pusep)
  • CodeRef hack (Stanislaw Pusep)
  • output (Stanislaw Pusep)
  • stats (Stanislaw Pusep)
  • retries (Stanislaw Pusep)
  • split (Stanislaw Pusep)
  • (Stanislaw Pusep)
  • fixed taskset(1) link (Stanislaw Pusep)
  • eg/yada-crawler.pl: simplified parser initialization (Stanislaw Pusep)

Documentation

Yet Another Download Accelerator CLI wrapper

Modules

Access Net::Curl::* constants by name
Moo wrapper for queued downloads via Net::Curl & AnyEvent
Net::Curl::Easy wrapped by Moo
Net::Curl::Multi wrapped by Moo
Connection statistics for AnyEvent::Net::Curl::Queued::Easy
"Yet Another Download Accelerator": alias for AnyEvent::Net::Curl::Queued
"Yet Another Download Accelerator Worker": alias for AnyEvent::Net::Curl::Queued::Easy