The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl
# This is an active-changelog! Run it to update it using Darcs.
# See below for the actual Changelog stuff!

open my $out,"+<",$0;
seek $out,0,0;
seek DATA,0,0;
print $out ($l = <DATA>) until $l eq "__DATA__\n";
# Get the Darcs changelog
$f = `darcs changes`;
# Chop off the timestamps (but keep the date)
$f =~ s/\d\d:\d\d:\d\d ... //g;
# Combine like sections. This might need a bit of work.
1 while($f =~ s/^(... ...\s+\d+ \d\d\d\d  [\w@\.\-]+)$(.*)^\1$/$1$2/gms);
# Clear out the extra space we just made
$f =~ s/\n\n\n/\n/g;
print $out $f;

# ***************************************
# *** This is the actual Changelog :) ***
# ***************************************
__DATA__
Tue Jun 26 2007  awwaiid@thelackthereof.org
  * Don't add a '.' to session_id for query and cookie tracking, it was making it hard to do query-based sessions
  * Minor comments update to the Monitor app
  * Slight update to eg/guess.pl to reflect defaults
  * Documentation touch-ups
  * Update version and declare BETA status

Mon Jun 25 2007  scott@slowass.net
  * fix math error on reaping abandoned sessions so we don't kill early

Mon Jun 25 2007  awwaiid@thelackthereof.org
  * Fix defaults for session tracking

Mon May 28 2007  awwaiid@thelackthereof.org
  * Remove unnecessary 'use Coro' from C::Monitor
  * Move library includes to top of C::Monitor
  * Don't save $session in Continuity::Monitor
  * Clean code and add a bit of documentation to Continuity::Monitor

Mon May 28 2007  scott@slowass.net
  * autoloader logic and warning fixes (misc that got left on the floor earlier)
  * Add Continuity::Monitor
  * Give Continuity::Inspector a proper package name
  * get rid of the Data::Alias dependency

Sun May 27 2007  scott@slowass.net
  * stylic fixes with warnings and debugging statements and such
  * reap abandoned-ish sessions

Fri May 11 2007  scott@slowass.net
  * add to the C::Request API and documentation for the API, and a stub for $request->method in the HTTP::Server adapter
  * actually *add* the Continity::Inspector

Fri May 25 2007  awwaiid@thelackthereof.org
  * Update Changelog for release
  * Don't warn about redefining ->loop in Continuity.pm
  * Add hello.fcgi example
  * Whitespace formatting in RequestHolder
  * Slight adjustments to use- ordering in HttpDaemon
  * Bump version to 0.93

Sat May 19 2007  awwaiid@thelackthereof.org
  * Documentation update for Adapt::HttpDaemon
  * Update dependency versions for Coro and Coro::Event
  * Updates to FCGI -- works for me now

Thu May 10 2007  awwaiid@thelackthereof.org
  * FCGI updates, doesn't do cookies yet

Wed May  9 2007  scott@slowass.net
  * init stuff for reap() logic, and a todo comment
  * first pass at reap() routine
  * add Coro::Event or something like that to the deps

Tue May  1 2007  awwaiid@thelackthereof.org
  * Fix headers-sent checking and setting

Wed Apr 25 2007  awwaiid@thelackthereof.org
  * Fix the startup warnings, though I create a needless Coro::Event that should be eliminated
  * Comment and whitespace changes
  * Fix Continuity.pm documentation to assume implicit_first_request

Tue Apr 24 2007  awwaiid@thelackthereof.org
  * Remove some annoying debugging
  * Add send_headers method and delay sending headers until first print

Sun Apr 15 2007  scott@slowass.net
  * less insane cookie parsing code (I think... maybe I just didn't understand what was there before)
  * context switch on print to full write buffer like how I thought I had it before
  * fixes to static file serving to work around bugs in HTTP::Daemon where path names come up blank
  * implicit_first_next passed through
  * modularizing the inspector stuff and fixing the example to use the modular module
  * fix staticp bug where files like //foo.js weren't considred static
  * more docs patches -- list more of the constructor options and give slight more info about each
  * mention the assign_session_id callback in Continuity's docs

Fri Apr 13 2007  awwaiid@thelackthereof.org
  * Update changelog for release
  * More documentation, including advancing the link-callback technique
  * Bump version to 0.92, stairstep-logarithmic-style
  * Slight simplification of self-modifying Changelog
  * Make cookies sessions slightly more robust
  * Fix all the examples to assume implicit_first_next
  * add and enable implicit_first_next
  * More minor-ish documentation improvements for Continuity.pm
  * Give thanks to Marc Lehmann for Coro
  * Significant improvement of Continuity.pm intro documentation
  * Simplify the synopsis code in Continuity.pm
  * Fix references to adaptors' new locations

Tue Apr 10 2007  awwaiid@thelackthereof.org
  * Apparently 0.1 is less than 0.9! crazy. lets make CPAN happy
  * Update Changes for 0.10 release
  * Remove dead code from Changes ;)
  * Clean and simplify eg/counter.pl
  * Update version in Continuity.pm and README to 0.10
  * Comment out FCGI requirement in Makefile.PL
  * another MANIFEST update
  * add/remove some files to the MANIFEST
  * Add jquery library for js-based examples
  * disable fcgi.t -- it needs to be written better :)
  * Switch default session tracking to cookie-only

Sun Apr  8 2007  scott@slowass.net
  * writes were getting cut off at 65536, maybe as the non-blocking socket was ready but then went un-ready as it chocked on the data it was supposed to output, so we break output up into neater little bundles

Sat Apr  7 2007  scott@slowass.net
  * support no_content_type as an arg to Continuity::new, relay it to the adapter correctly

Fri Apr  6 2007  scott@slowass.net
  * multi-line parameter values were getting cut off -- oops!

Sat Mar 31 2007  scott@slowass.net
  * fix up peek example to work hopefully reliably and with the goal of making a module out of it and splitting it off from the example

Sat Mar 31 2007  awwaiid@thelackthereof.org
  * Slight debugging format change
  * slight formatting fix for eg/chat.pl (simple chat)
  * Add eg/guess-peek.pl -- this peeks at the secret number!
  * update guess.pl to use session cookies

Fri Mar 30 2007  awwaiid@thelackthereof.org
  * Formatting changes for debugging output
  * If *_session is set, use them even if they're blank
  * Significant improvement of code and docs for chat-ajax-push demo, and now uses jquery in the .js
  * Add the jquery library, for the revised chat-ajax-push demo

Thu Mar 29 2007  scott@slowass.net
  * cookie session support!

Wed Mar 28 2007  scott@slowass.net
  * support for immediately execute objects sent over the request queue
  * fix endless loop in last refactor, send_basic_header called from RequestHolder on the C::Request ob directly rather than on self and AUTOLOADed, cleaned up AUTOLOAD, Mapper directly creates RequestHolder rather than going through adapter

Wed Mar 28 2007  awwaiid@thelackthereof.org
  * Add in some stuff to run the new restructured code
  * generic RequestHolder object, unified interfaces for the request adapters, API docs and base class in Continuity::Request
  * Improve self-modifying changelog grouping regex
  * Slight debugging and simplification for getting at the session_id

Mon Mar 26 2007  awwaiid@thelackthereof.org
  * Preliminary (ie non-working) query-based session tracking
  * Add some more prerequisite checks in Makefile.PL

Sun Mar 18 2007  scott@slowass.net
  * lots of docs on execution contexts, ip_session, path_session, etc
  * add docs about ip_session, etc, remove refs in docs to ::Server, add sanity to docpath handling

Thu Mar  8 2007  awwaiid@thelackthereof.org
  * Use LWP::MediaTypes to calculate static content mime types for HttpDaemon adaptor

Tue Mar  6 2007  awwaiid@thelackthereof.org
  * Update MANIFEST
  * Random attempt and comments on getting the $server->loop going without a warning
  * Change leakfinder example to use new initial loop call
  * Remove some dead code from Mapper.pm
  * Fix mime type for static .js files in C::A::HttpDaemon
  * Minor comment change for counter.pl example
  * Clean ajax-push example a bit -- don't keep re-creating an event listener
  * Slight update to README
  * Make post-redirect example show cached input values

Tue Jan 23 2007  awwaiid@thelackthereof.org
  * Remove remaining references to Coro::Cont

Sun Jan 21 2007  awwaiid@thelackthereof.org
  * Update version number to 0.9
  * Update version number to 0.9
  * Remove dead code from C::A::HttpDaemon
  * Update copyright date to 2007
  * Use descriptive name for conn_write_event (instead of $e)
  * Remove dead code and update copyright info in FCGI modules
  * Update version requirements and author name in Makefile.PL

Thu Jan 18 2007  awwaiid@thelackthereof.org
  * Make eg/guess.pl use $server->loop (instead of calling Event::loop directly)
  * Make C::A::HttpDaemon compatable with Coro 3.3

Sat Nov 25 2006  awwaiid@thelackthereof.org
  * Make .jpg|gif|png|css|ico|js static by default
  * disable the FCGI-required extra yeild warning
  * Kill some old comments
  * Fix it so that you can get $server out of $request
  * Move basic_header sending into Request (out of Continuity.pm)
  * update comments
  * Add post-redirect.pl example (does 303-redir after a POST, demonstrates BACK and RELOAD detection by using a PageID)
  * Add simple chat.pl example (no JS)
  * Update chag-ajax-push example (whitespace)
  * Update addtwo.pl example
  * Remove Map directory (no longer needed)

Thu Oct 26 2006  awwaiid@thelackthereof.org
  * Make chat example not care where it is run from

Fri Oct 20 2006  awwaiid@thelackthereof.org
  * Add chat-ajax-push demo

Sat Oct 14 2006  awwaiid@thelackthereof.org
  tagged 0.8
  * Update changelog for 0.8 release
  * Slight text change in documentation of Continuity.pm
  * Add fcgi.t to darcs
  * Update MANIFEST before 0.8
  * Don't warn about the known sub re-declarations
  * Update README for 0.8 release
  * Update Makefile.PL for 0.8 release

Thu Oct 12 2006  awwaiid@thelackthereof.org
  * Return self in $request->print(..) so we can do $request->print('hi!')->next

Tue Aug 22 2006  awwaiid@thelackthereof.org
  * Update ascii art to fit on 24-ish lines and be more technicaly accurate
  * Documentation clean-up (plus bonus ascii art diagram!)
  * Fix up FCGI's peerhost to look at $ENV{REMOTE_ADDR}
  * Remove a Whole Lot of those debugging messages I added for testing FCGI

Mon Aug 21 2006  awwaiid@thelackthereof.org
  * Remove Continuity::Request from Manifest
  * Update Changes file to be self-updating. Scary!
  * Add guess.fcgi and update counter.fcgi
  * Add flag to turn on Module::Reload, enabled by default
  * TONS of fixes, FCGI now works! TONS of debugging messages!

Sun Aug 13 2006  awwaiid@thelackthereof.org
  * Add fcgi examples (actually tests right now)
  * updates to counter, simplify and help debug FCGI
  * Don't set STDOUT to the conn, it didn't work anyway
  * Cleanups -- make Mapper include Coro::Channel instead of Adaptor
  * Updates to make FCGI more like HttpDaemon

Sat Aug 12 2006  awwaiid@thelackthereof.org
  * All sorts of things -- mostly giving better names for queues and such

Wed Jul  5 2006  awwaiid@thelackthereof.org
  * Cancel IO event watchers once we've gotten an event

Tue Jul  4 2006  awwaiid@thelackthereof.org
  * Ooops, fix scott's name on main .PM
  * Leakfinder (or... indicator I should say)

Mon Jun 19 2006  awwaiid@thelackthereof.org
  * Update MANIFEST
  * eg/ updates
  * More cleaning for release, move broken examples
  * Updates to prepare for 0.7 release
  * Forward port- param to Adaptor
  * Updates to examples

Sun Jun 18 2006  scott@slowass.net
  * request ob supplied to user delegates to and remembers actual request object, todo items added as comments

Mon Jun  5 2006  scott@slowass.net
  * less debugging output

Sun May 28 2006  awwaiid@thelackthereof.org
  * Move phpcontize.pl example into old/ dir, before possible deletion
  * Remove ataxx example - shouldn't be part of the distribution, instead a separate app

Tue May 23 2006  awwaiid@thelackthereof.org
  * Comment reminder to throw error on non x-form-data content types sent to us
  * Put '.' before each part of a session_id ($path.$ip for example)
  * Simplify IP address guessing -- look for proxy and then fall back to normal
  * Pass *_session from Continuity->new to C::Mapper->new

Fri May 12 2006  awwaiid@thelackthereof.org
  * Update eg/counter.pl to use new API
  * In guess.pl change print to $request->print(...)
  * Remove old new_continuation sub (dead code)
  * Commentary on getting IP from proxies, and whitespace (formatting) change
  * Refine session_id generation a bit -- make it easy to specify using path vs IP vs cookie. Preliminary code.
  * Mapper doesn't need to fall back to ::main, but does need to yell if not given a callback at all
  * update hello.pl to use new API
  * Update guess.pl to use new API
  * Remove some junk from eg/

Thu May 11 2006  scott@slowass.net
  * $request->next support rather than having to do $request=$request->next
  * fix example to match API change of sending in null request as first arg
  * handle coroutines that exit and need to be recreated; also fixes bug where the initial request a coroutine was created for was sent twice, so now the first request going in is a null request again
  * don't abort if one request can't be read, and remove all leading slashes when doing send static, not just first
  * don't abort if we fail to read a request for some reason

Wed May 10 2006  scott@slowass.net
  * should have added long ago... request object wraps HTTP::Request and keeps other per-coro state and API
  * coro is a dependency

Tue May  9 2006  scott@slowass.net
  * fixed bug where adapter had be passed ref to sever, fixes to serving static content

Mon May  8 2006  scott@slowass.net
  * queue requests to user coroutines

Sat May  6 2006  scott@slowass.net
  * still just fleshing stuff out and making it work (doesn't get any more vague than that0

Fri May  5 2006  scott@slowass.net
  * fixes

Wed Apr 26 2006  scott@slowass.net
  * crap, i don't know

Fri Apr 21 2006  awwaiid@thelackthereof.org
  * Add addtwo example
  * Add highport.c utility
  * re-enable closing stdout when done. was disabled for fastcgi stuff?
  * random changes to examples that don't matter
  * update distro-related stuff
  * remove continuation tree test
  * rename some fastcgi examples

Fri Mar 17 2006  awwaiid@thelackthereof.org
  * Initial FastCGI implementation! Doesn't work for POST vars

Tue Mar 14 2006  awwaiid@thelackthereof.org
  * No need to declare &main entrypoint, and use js to set focus

Sat Mar  4 2006  awwaiid@thelackthereof.org
  * Misc updates / additions to examples
  * Use HTTP::Request::AsCGI as a more-simple way to extract request params
  * C::S::Simple can now yield values back to the server
  * Print some extra no-caching headers in C::S::Simple
  * Look for any path starting with app_path (use =~ instead of eq)
  * Make mapper use PID param instead of cookie to track sessions
  * Remove inventory example (now separate project)

Sat Jan 21 2006  awwaiid@thelackthereof.org
  * update MANIFEST
  * Tune Makefile.PL deps

Tue Jan 17 2006  awwaiid@thelackthereof.org
  * Add eg/ readme
  * Mention that Continuity.pm is just for documentation
  * Added some skeleton POD and removed some cruft
  * Add file for C::Adapt::HttpDaemon
  * Add code to use C::Adapt::HttpDaemon
  * remove some extraneous debugging from mapper
  * change lib path for guess.pl example
  * Split mapper out from C::Server
  * Remove old dir

Thu Jan 12 2006  awwaiid@thelackthereof.org
  * Fix dependency version

Sat Jan  7 2006  awwaiid@thelackthereof.org
  * Update to inventory eg
  * Add plain red/blue gifs for ataxx
  * Updates to ataxx example

Sat Dec 31 2005  awwaiid@thelackthereof.org
  * Add advanced counter example -- needs work
  * Change counter example to use new lib path
  * Add ataxx example

Wed Dec 14 2005  awwaiid@thelackthereof.org
  * Move stuff around to fit better in CPAN

Thu Dec  8 2005  awwaiid@thelackthereof.org
  * Add simple 'hello world' example
  * in counter.pl, we don't need to specify main as teh entry point any longer
  * remove getParams from (outdated) C:Client::CGI
  * update PHP example
  * make ::main the default starting point
  * oh, add some content to mapper (still not used)
  * add mapper file to archive (not used yet)

Sat Dec  3 2005  awwaiid@thelackthereof.org
  * do not send content-type if no_content_type flag is set
  * If no app-path is specified, send all content -> app

Wed Nov 30 2005  awwaiid@thelackthereof.org
  * Update inventory app
  * Fix other random apps to use revised API
  * Fix animals game for new C:S:Simple API
  * Shuffle things around a bit. rename docs dir to apps
  * Formalize debugging mechanism in C::Server

Mon Nov 28 2005  awwaiid@thelackthereof.org
  * Add guessing game demo
  * Changes, including adding C::Server::Simple

Sun Nov 20 2005  awwaiid@thelackthereof.org
  * TONS of changes (again) to make things back into working order

Sat Nov 12 2005  awwaiid@thelackthereof.org
  * shufling things around

Fri Nov 11 2005  scott@slowass.net
  * suggested user facing API

Fri Nov 11 2005  awwaiid@thelackthereof.org
  * Pass the app URL to the mainLoop
  * move counter demo, and make it use new interface
  * remove a bit more borked code
  * more broken stuff
  * Remove server.pl shortcut
  * TONS OF CHANGES -- probably doesn't work

Sun Nov  6 2005  awwaiid@thelackthereof.org
  * Update countup program for misc stuff
  * Make a server.pl script to start server
  * Change naming of modules

Sat Nov  5 2005  awwaiid@thelackthereof.org
  * oh, apparently I need :form too
  * er... another :standard -> :html from CGI
  * 11 lines and now we have CRUD! (up from RU)
  * Only need :html from CGI (of course, we don't actually NEED that)
  * Doc for inventory table schema
  * Make html_update use all fields. Use strict; and switch order for input names to $table:$col:$id
  * Comments for the HTMLView component base and changed name from html_input to html_text
  * Add a bunch of docs
  * Track continuations by path (in addition to the cookie)
  * match feline's settings

Thu Nov  3 2005  awwaiid@thelackthereof.org
  * Move stuff around
  * Inventory demo, and misc changes

Tue Oct 25 2005  awwaiid@thelackthereof.org
  * Proof-of-concept PHP integration

Sun Oct 23 2005  awwaiid@thelackthereof.org
  * Figured out the ReuseAddr setting so I don't ahve to keep switching ports

Sun Oct 16 2005  awwaiid@thelackthereof.org
  * mve merlyn-animals example

Thu Oct 13 2005  awwaiid@thelackthereof.org
  * Added notes file
  * Created document dir (served docs, not help docs). moved apps into there and altered them to not run the mainloop
  * Add static serving, and serve .pl files as apps

Tue Oct 11 2005  awwaiid@thelackthereof.org
  * Fix animals origin comment
  * Added animals example, along with original from Merlyn
  * Removed unnecessary distractions from server (flush stdout and extra session increment)
  * Large update -- track sessions

Wed Sep 28 2005  awwaiid@thelackthereof.org
  * Move some code out of server and into client lib
  * just another testing patch
  * Minor changes of style

Tue Sep 27 2005  awwaiid@thelackthereof.org
  * kill test

Tue Sep 27 2005  sillymonkeyf@epfarms.org
  * testing patch

Fri Sep 16 2005  awwaiid@thelackthereof.org
  * Random comment

Thu Sep 15 2005  awwaiid@thelackthereof.org
  * Add the more advanced counter thingie
  * Move content-type printer into CServe. Probably temporarily
  * Significant changes, now does parameters!
  * Catch up patch
  * Fix package name
  * Don't forget to be a valid module!
  * Add perl #!
  * Add count-up app
  * Move and convert to lib
  * Generalize a bit towards a multi-application server
  * Initial setup