#!/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__
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
Tue Apr 24 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
* 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
Wed Mar 7 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
Wed Jan 17 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
Thu Oct 19 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!
Sun Aug 20 2006 awwaiid@thelackthereof.org
* 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
Tue Jul 4 2006 awwaiid@thelackthereof.org
* Cancel IO event watchers once we've gotten an event
* 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
Sun Jun 18 2006 awwaiid@thelackthereof.org
* 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
Mon May 22 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
Thu May 11 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
Tue Dec 13 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
Fri Nov 11 2005 awwaiid@thelackthereof.org
* shufling things around
Fri Nov 11 2005 scott@slowass.net
* suggested user facing API
* 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)
Fri Nov 4 2005 awwaiid@thelackthereof.org
* match feline's settings
Thu Nov 3 2005 awwaiid@thelackthereof.org
* Move stuff around
* Inventory demo, and misc changes
Mon Oct 24 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)
Mon Oct 10 2005 awwaiid@thelackthereof.org
* 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
Wed Sep 14 2005 awwaiid@thelackthereof.org
* Initial setup