Commits on May 22, 2008
  1. CPAN upload 0.020

    sanko committed May 22, 2008
  2. + [etc] Layout tweaks and inline comments moving toward some sort of …

    sanko committed May 22, 2008
    + [fix] more .torrent integrity checks during piece read/write (fixes issue #1)
    + [etc] author tests now use $ENV{RELEASE_TESTING} to comply with The Oslo
              Consensus.  See
    + [fix] experimental kbps_up and kbps_down methods and parameters have been
              correctly renamed kBps_up and kBps_down.
    + [etc] added all needed test modules to build_requires and
              recommends when $ENV{RELEASE_TESTING} is true
    + [new] New N::B::process_connections() method.  And N::B's internals open up
              just a little more.
    + [etc] default N::B::timeout changed from 5 to 1 second
    + [fix] Plenty-o-utf8/Unicode fixes in N::B::Session and N::B::File.  It works
              as it should now.  ...on Win32 at least.
    + [fix] N::B::use_unicode() mutator has been removed.  Unicode filenames are
              handled automatically on Win32.
    + [new] t/200_classes/220_NBS/225_unicode.t - Tests UTF-8 filenames in .torrent
    + [new] N::B::Session::name() - see docs
    + [new] scripts/ - µTorrent WebUI-based demo of Net::BitTorrent's
              "new" alternative event processing
    + [fix] N::B::_locate_session() is now case-insensitive
    + [new] Notes.pod - Annotated guide to the ins and outs of Net::BitTorrent
      - It's a work in progress.  And without a real home in the distribution yet.
    + [del] N::B::PeerID.pod - Incorporated into Notes.pod
    + [del] N::B::FAQ - Incorporated into Notes.pod
    + [etc] Renamed Todo => Todo.pod
    + [fix] Now we verify data before filling the request.
    + [etc] CPAN
Commits on Apr 25, 2008
  1. + [fix] Internal scheduling has been centralized in expectation of th…

    sanko committed Apr 25, 2008
    …ings to come
    + [etc] After a brief detour, everything is back on track
    + [etc] Old style set_callback_* API is depreciated
    + [new] Client-wide up/down transfer rate limits
    + [etc] Documentation updates 
      - README 
        + Example code changed to reflect current API
      - lib/Net/
        + Spellcheck.  Ha.
        + New kbps_up and kbps_down methods and parameters
        + Example code changed to reflect current API
    + [etc] CPAN
Commits on Apr 19, 2008
  1. + [fix] N::B::S::File is now taint safe

    sanko committed Apr 19, 2008
      - ...I think.
    + [etc] perl 5.8.1 required
      - This value is based solely on current CPAN Reporter PASS tests
    + [fix] N::B::S::Peer had a left over call to a now defunct method
    + [etc] build_requires modules are now listed as requires as well.
Commits on Apr 12, 2008
  1. + [etc] No code change but upgrade is recommended to fix bad M::B dist.

    sanko committed Apr 12, 2008
            Something fishy going on with the gzip'd file.  Some systems
            (like PAUSE) properly extract directories and some (like the cpan
            shell) extract it all into the base directory causing build
Commits on Apr 11, 2008
  1. + [fix] N::B::S::Tracker::_tcp_parse_data and N::B::Session::new

    sanko committed Apr 11, 2008
      - bdecode call was being called in array context for no reason at all
    + [new] -skip_hashcheck is now documented as a param for scripts/
    + [fix] ExtProtocol off by default
    + [etc] CPAN
    + [etc] Revised TODO
Commits on Apr 10, 2008
  1. + [etc] POD fixes in /lib/Net/

    sanko committed Apr 10, 2008
    + [fix] removed unused dependancies from Build.PL
      - Moved some to build_requires and the Win32 stuff to recommends
    + [fix] /t/000_basic/005_signature.t was rewritten
      - was using a bad plan
      - svn:keywords was missing
    + [fix] idiot mistake with the callback system
    + [fix] N::B::S::File::_open() bug that missed preexisting file handles
    + [new] Debug levels: TRACE FATAL ERROR WARN INFO DEBUG
      - Import from Net::BitTorrent::Util individually or as :log
    + [fix] N::B::S::Tracker objects are now blessed
    + [del] removed peer_outgoing_packet callback
    + [fix] refactored most of N::B::S::Peer in anticipation of extensions :D
      - Looking forward is fun.
Commits on Apr 5, 2008
  1. + [etc] moved from ExtUtils::MakeMaker to Module::Build

    sanko committed Apr 5, 2008
    + [etc] Pod Coverage rated at 100%
    + [fix] relocated docs/PeerID_spec.pod => /lib/Net/BitTorrent/PeerID.pod
      - PAUSE was ignoring it as documentation (but used its abstract to
        describe N::B itself) and I'm not interested enough to figure out
        how to force it to properly index the /doc/ directory.
    + [etc] Updated svn:keywords properties for all files.
    + [fix] Changed all abstracts to less c+p-like "BitTorrent client class"
      - kicks self
    + [fix] Removed ex-dependancies from Makefile.PL's PREREQ_PM
      - English (was used by t/900_etc/921_perlcritic.t)
      - Class::ISA ( idea where that came from.)
    + [fix] Made Encode a Win32-only prerequisite
      - is only used on Win32.  For now.
    + [fix] Removed silly $Net::BitTorrent::DEBUG variable from packages
      - replaced them all with on_call callbacks
    + [fix] changed most carp and all croak calls to on_log callbacks
      - ...why was I using croak?
    + [fix] changed maximum_buffer_size from the almost random value of 98304 to 131072 (2**17)
    + [etc] rename t/000_basic/002_load.t => t/000_basic/020_load.t
    + [etc] rename t/000_basic/001_load_prerequisites.t => t/000_basic/010_load_prerequisites.t
    + [new] t/000_basic/005_signature.t
      - Checks gpg signature
    + [del] Net::BitTorrent#Notes/TAGS
    + [fix] removed Net::BitTorrent::Session::set_block_size()
    + [fix] converted Net::BitTorrent::Session::block_size() to a mutator
Commits on Apr 1, 2008
  1. CPAN

    sanko committed Apr 1, 2008
  2. + [fix] removed spurious use of non-core module

    sanko committed Apr 1, 2008
      - t/100_data_parsing/111_compact.t
      - t/100_data_parsing/112_compact_bad.t
      - t/100_data_parsing/116_uncompact.t
      - t/100_data_parsing/117_uncompact_bad.t
    + [fix] paths changed to reflect new test suite layout
      - t/200_classes/220_NBS/221_new.t
    + [fix] *nix friendly non-blocking tcp
      - Net::BitTorrent::Session::Tracker
    + [etc] Rewording of 500 tests prompt to reflect how unnecessary the are
      - Makefile.PL
    + [fix] More pod coverage changes (private subs w/o leading underscore) in nearly all packages
    + [fix] N::B was using Time::HiRes::usleep() rather than Time::HiRes::sleep()
      - "...why is N::B eating my processor?" D'oh!
    + [etc] Ready for CPAN? Hmmmm...
Commits on Mar 31, 2008
  1. + [new] Test suite organization

    sanko committed Mar 31, 2008
    + [etc] Loads of changes mostly perlcritic-y fluff... I mean stuff.
Commits on Mar 24, 2008
  1. + [fix] Relocated several modules

    sanko committed Mar 24, 2008
      - Net::BitTorrent::Tracker => Net::BitTorrent::Session::Tracker
      - Net::BitTorrent::Peer => Net::BitTorrent::Session::Peer
      - Net::BitTorrent::Peer::Request => Net::BitTorrent::Session::Peer::Request
      - ...what was I thinking?
    + [etc] Documentation updates (still incomplete)
      - Net::BitTorrent::Session
      - Net::BitTorrent::Session::File
      - Net::BitTorrent::Session::Peer
      - Net::BitTorrent::Session::Peer::Request
      - Net::BitTorrent::Session::Piece
      - Net::BitTorrent::Session::Piece::Block
      - Net::BitTorrent::Session::Tracker
      - Net::BitTorrent::Util
      - Net::BitTorrent::FAQ
      - /docs/PeerID_spec.pod
Commits on Mar 20, 2008
  1. - [fix] number of working pieces in N::B::Session changed

    sanko committed Mar 20, 2008
      + new formula: $max_working = (scalar($current_working) + (($free_blocks < $open_slots) ? 1 : 0))
    - [fix] /t/etc/ now only grabs jpg files
    - [new] /t/etc/miniswarm/seed/2183742557_5c9a91727d_m.jpg
      + /t/etc/miniswarm/seed/credit.txt has been updated
    - [new] N::B::Peer::outgoing_requests()
    - [fix] /t/etc/miniswarm.torrent svn:mime-type changed to application/x-bittorrent
Commits on Mar 16, 2008
  1. - [new] Endgame mode begins automatically (un[der]tested)

    sanko committed Mar 16, 2008
      + for now, we wait until the session has 10 pieces left before completion
      + in the future, this will vary based on the overall size of the torrent
    - [new] N::B::Peer::cancel_old_requests() [tentative name]
      + called by N::B::Peer::pulse()
    - [new] All classes have at least stub as_string() subs
      + N::B::S::P::Block::as_string() used to {die;} ...what was I thinking?
    - [etc] new tidy rules (for better or worse...)
      + has made even unedited files appear to be modified...
    - [new] /scripts/ has a new -skip_hashcheck parameter (for now)
    - [fix] /scripts/ no longer sets block sizes or file priorities for new sessions
      + block sizes were usually too large (>=32k) and requests were often ignored or delayed
      + priority was being set only to test functionality
Commits on Mar 5, 2008
  1. - [fix] *nix-friendly stuff tested on clean Kubuntu 6.06 (what I had …

    sanko committed Mar 5, 2008
    …lying around)
      + /t/etc/miniswarm/seed/credit.txt svn:eol-style property changed to LF
      + non-blocking connect in N::B::Peer::new() using fcntl(...,F_SETFL,...)
      + removed silly Win32 warning from N::B::use_unicode()
    - [fix] N::B::Tracker::announce() was calling N::B::LocalPort()
    - [etc] still tinkering with /t/etc/miniswarm.t
      + older TAP doesn't like when tests ok() "out of order"
      + path for seeds changed