* fixed minor links parsing bug (seek(0) prior to parsing!)
* renamed wwwsearch/ to other_packages/.
* added BeautifulSoup.
2006-02-06 Titus Brown <tissola.caltech.edu>
* 0.8.2 RELEASE.
* Documented config options.
* Added in parse_errors stuff: config parse options now all work.
* Wedged in all of the mechanize parse Factory refactoring.
* Refactored a bit to use Factory() amalgamation. In particular,
removed title() override in PatchedMechanizeBrowser; built a
Factory subclass in utils; and removed external references to
TidyAware code.
2006-02-05 Titus Brown <tissola.caltech.edu>
* Added 'set_output' command to redirect all output elsewhere.
* Updated pyparsing to 1.4.1.
2006-02-04 Titus Brown <tissola.caltech.edu>
* added execute_string.
* Updated wsgi_intercept to latest (non-caching) version.
* Removed test-wsgi-intercept code.
2006-02-01 Titus Brown <tissola.caltech.edu>
* Added ignore_errors functioning into wwwsearch code; now, when
ignore_errors=True on form parsing, parse errors are ignored.
* Renamed 'do_run_tidy' to 'use_tidy', and 'tidy_should_exist' to
'require_tidy'.
* Fixed redirect error once and for all by switching to using the
*correct* Request class.
2006-01-23 Titus Brown <tissola.caltech.edu>
* Added extensions/ __init__.py
* Removed special setup cmdclass.
2006-01-22 Titus Brown <tissola.caltech.edu>
* Removed space mangling in favor of JJL's fix in mechanize.
* Fixed multiple 'showlinks' problem (in _mechanize.py).
* Catch all parsing exceptions. (Kieran Holland)
* Added return values to a number of functions in commands.py,
documented appropriately.
* Added '?' behavior for 'go', so that 'go ?name=value' works.
(Sebastjan Trepca)
* Updated pyparsing to 1.4p1 version.
* Updated mechanize/ClientCookie/ClientForm.
* Removed ez_setup dependency.
2005-12-19 Titus Brown <tissola.caltech.edu>
* Added tvdebian.org's 'find' regexp flags patch.
* Added tvdebian.org's quoted patch.
* Added tvdebian.org's patch to widen showforms field names.
* Added tvdebian.org's patch to fix checkbox/submit multiplicity
errors.
* Added Jason Pellerin's tests patch.
2005-12-11 Titus Brown <tissola.caltech.edu>
* Added twill.get_browser(); deprecated twill.get_browser_state().
* Broke mechanize stuff out into _browser.py.
* Removed browser.url() in favor of get_url().
2005-12-10 Titus Brown <tissola.caltech.edu>
* RELEASE 0.8.1.
* Added Tom Parker's patch for multiple identical submit buttons.
2005-12-08 Titus Brown <tissola.caltech.edu>
* fixed wsgi_intercept start_response params: added exc_info.
* added 'sleep' argument to TestInfo init.
2005-12-06 Titus Brown <tissola.caltech.edu>
* Added sureshvv's commands in as 'match_parse' extension.
* Moved extensions/ into twill/extensions; modified sys.path
accordingly in package import.
2005-12-05 Titus Brown <tissola.caltech.edu>
* Fixed a problem where tidy was occasionally mangling long titles
with unnecessary newlines.
* Fixed a bug in PatchedMechanizeBrowser.title() where seek(0) was
not getting called.
2005-12-03 Titus Brown <tissola.caltech.edu>
* formfile now uses 'rb' to open files. (Tom Parker)
* local namespace now automatically created if it doesn't exist.
* Applied tv's patches for checkbox/hidden problems and incorrect
error messages.
* Fixed form submission to add referer headers; updated tests.
(Tom Parker)
* Fixed tests: setup -> setup_module, teardown -> teardown_module.
2005-11-29 Titus Brown <tissola.caltech.edu>
* RELEASE 0.8.
* Additional coverage and some miscellaneous fixes.
2005-11-28 Titus Brown <tissola.caltech.edu>
* Made http-equiv=refresh stuff work by overriding it in utils.py.
My fix is probably bad. oh well, shouldn't make a difference...
2005-11-27 Titus Brown <tissola.caltech.edu>
* Verified that eggs stuff now "just works".
* Put in a fix for an HTTP Basic Auth bug (that is fixed in Py 2.5!)
* Added in a test of 'formaction'.
* Added in a bunch of form tests to test-form, fixed bugs discovered
thereby.
* Added in sureshvv's formaction/fa patch.
* Added in docs re 'tidy'.
* Put in a rough 'tidy' implementation by wrapping FormsFactory and
LinksFactory.parser_class.
* Removed 'get_title' from RequestWrapper, moved to using
MechanizeBrowser.title().
* Added 'utils.run_tidy' function & 'test-tidy.py' under tests/.
* Moved the journey-exception-wrapping into the mechanize mech_open
function; this fixes a bug reported by sureshvv. Augmented
test-back.twill to test this, and added a 'plaintext' function
to the twill test server.
2005-11-20 Titus Brown <tissola.caltech.edu>
* Switched to using pullparser to extract title in utils.
* Increased code coverage of unit tests significantly.
2005-11-19 Titus Brown <tissola.caltech.edu>
* Fixed 'code' command to display non-numeric codes from get_code()
(which may return None). 'code' itself still requires an integer.
* Fixed test-wsgi-intercept.py to init global/local dictionaries.
* Added 'test-find.*'
* Set __match__ to matching string in find, url, and title.
2005-11-18 Titus Brown <tissola.caltech.edu>
* Version upgraded to 0.8.
* Removed ez_setup hooks for the moment, because they interfered
with build/install.
* Finished updating to latest mechanize code. whew.
* Miscellaneous fixes to browser.py.
* Miscellaneous fixes to ClientCookie/_Util.py.
* Added 'showhistory' command.
* WSGI intercept stuff is now much cleaner. Could be even cleaner,
yes...
* Updated ClientForm/ClientCookie/pullparser.
2005-11-17 Titus Brown <tissola.caltech.edu>
* substantially updated README with links to other tools.
* KeyboardInterrupts don't error out in twill-sh; they just force
a silent exit.
* Added a code 500 test to 'test-http-codes'.
2005-11-15 Titus Brown <tissola.caltech.edu>
* Fixed failure to seek(0) before parsing response; problem
in _parse_html. It broke 'back()' behavior for forms.
Added test-back.{py,twill}.
* Test cleanup: add try: finally: around __main__ stuff, and
add 'initial_url' args.
* Added 'advanced docs' section.
* Added http_proxy documentation.
* Fixed problems caused by failure to construct a valid
result object when HTTP errors (e.g. 404) happen. Tested
by test-http-codes.py.
* Added test-http-codes, cleaned up testlib a bit.
* Fixed a stupid bug in parse.py with 'local_dict' != 'locals_dict'.
2005-11-14 Titus Brown <tissola.caltech.edu>
* Added small section to README about 'nose' unit tests.
* Cleaned up the 'myhttplib' WSGI intercept code & added a test.
2005-11-11 Titus Brown <tissola.caltech.edu>
* Downgraded 0.8 version to 0.7.4. RELEASE.
2005-11-10 Titus Brown <tissola.caltech.edu>
* Moved 'test/' to 'tests/', added 'test-multisub.py',
moved 'twillserver.py' to 'twilltestserver.py', and fixed
it to run simple_server when executed from the command line.
* Fixed two form submission bugs, pointed out by Mike Rovner.
2005-11-09 Titus Brown <tissola.caltech.edu>
* Added William Volkman's patch fixing 'agent'.
2005-11-06 Titus Brown <tissola.caltech.edu>
* Updated 'formvalue' and 'submit' help docs.
2005-11-05 Titus Brown <tissola.caltech.edu>
* Added 'config' command, 'readonly_controls_writeable' option.
(James Cameron bug/fix)
* Updated version numbers to 0.8.
* Added command 'showlinks'.
* Changed 'state' variable to 'browser' in commands.py
2005-11-04 Titus Brown <tissola.caltech.edu>
* Put test/ tests into a nosetest-compatible format. Yay,
unit tests!
2005-10-30 Titus Brown <tissola.caltech.edu>
* Now catch errors from __ and $ eval failure (i.e. not in any
namespace) and reset the evaluation to just be the original name.
(bug reported by sureshvv).
2005-10-29 Titus Brown <tissola.caltech.edu>
* Cleared content-type header in wwwsearch.zip, urllib2_support.py,
class HTTPRedirectHandler, redirect_request. This fixes a bug
I noticed when testing collar: redirects inappropriately retain
content-type, and this breaks Quixote, at the least, when
enctype multipart/form-data is used in a POST prior to the
redirect. (CTB: this should be dealt with more generally.)
* Fixed back() behavior in _mechanize. (I probably broke it in the
first place, sigh.) Now accords with latest trunk _mechanize.py.
* Fixed order of __url__ setting in parse.execute_command.
* Added 'url' and 'exit' commands.
* Added 'debug twill' to set printout of twill commands as they
are executed.
* Attempted to add http_auth testing, but failed. (non-functional
code left in test/)
* Overrode 'view_html' bool function in PatchedMechanizeBrowser.
It now assumes that no content-type means text/html, and also
allows 'text/xml' to be used. (James Cameron's issue.)
* moved _TwillBrowserState into browser.py, named it TwillBrowser().
* twill-sh now prints out the exception str when executing files,
even when 'fail' flag is not set.
2005-10-18 Titus Brown <tissola.caltech.edu>
* fixed bug in get_form_field that inverted the priorities of
form/field searches.
* added documentation for add_auth, form/field identification.
2005-10-09 Titus Brown <tissola.caltech.edu>
* Added tvdebian.org's patch: add 'title' assertion,
and show error messages when TwillAssertions are caught.
2005-10-07 Titus Brown <tissola.caltech.edu>
* Updated to version 0.7.3 in the code; RELEASE.
* Added 'twill-fork' script for stress-testing.
2005-10-01 Titus Brown <tissola.caltech.edu>
* Increased code coverage of tests by adding in a few commands
to test_twill.twill.
* Added Robert Leftwich's patch to allow the use of ImageControl
for 'submit'.
2005-09-20 Titus Brown <tissola.caltech.edu>
* Added Nic Ferrier's patch to request text/html first.
2005-09-18 Titus Brown <tissola.caltech.edu>
* Switched to using eval for $variable substitution.
* Created namespaces.py, moved local/global dictionary stuff in
there. Created local namespace stack; namespaces now mean
something ;).
* Added setglobal and setlocal, then agonized about local/global
dictionaries.
* Added Ed Rahn's patch: run, runfile, and $variable substition.
Documented appropriately.
2005-09-10 Titus Brown <tissola.caltech.edu>
* Updated version to 0.7.2. RELEASE.
* Updated setup.py to contain full Pypi info & Trove classification.
* Made sure current directory was in sys.path on load;
useful for extend_with!
* Added debug http functionality.
* Added save_html <filename>.
2005-09-03 Titus Brown <tissola.caltech.edu>
* Fixed extend_with to update the interactive shell.
2005-08-20 Titus Brown <tissola.caltech.edu>
* Updated pyparsing.py to 1.3.2.
2005-06-08 Titus Brown <tissola.caltech.edu>
* Added 'add_auth' command for HTTP basic authentication.
* Added 'formfile' command for file uploads.
* Added 'test/README.txt' for testing docs.
* Applied Joeri van Ruth's patch to make '-' as a filename
read from stdin.
2005-06-06 Titus Brown <tissola.caltech.edu>
* Now checks for exact matches to fieldnames before trying out
regexps.
* Submit w/o submit buttons now working.
* Fixed quoted handling of __stuff__.
* More intelligent pyparsing stuff from Paul McGuire; in particular,
comments on the ends of lines are allowed, and '' in arguments
is disallowed.
2005-06-04 Titus Brown <tissola.caltech.edu>
* added a couple of command line options using 'optparse'.
* added __url__ ==> current URL.
* added some of Paul McGuire's suggestions for cleaning up the
pyparsing code.
* better error reporting on all exceptions while executing
file.
* Fixed a relative URL issue: twill now tries several URLs in order,
only prepending 'http://' when it's tried other URLs first. Added
test.
* Added Joeri van Ruth's patches: new sleep command, and transmit
value of submit buttons on form submission. Added tests for the
latter. Documented.
2005-05-26 Titus Brown <tissola.caltech.edu>
* all files specified on command-line now executed.
* emacs backup files (filename~) now skipped by twill-sh.
* error output on script execution now includes line number &
filename.
2005-05-25 Titus Brown <tissola.caltech.edu>
* added reset_state; run it on each execute_file.
2005-05-24 Titus Brown <tissola.caltech.edu>
* 'go domainname' now works as expected.
* Made various form-related submit() errors clearer.
* Fixed problem with spaces in link *text*. (Actually a more
general bug that caused link searches to fail in most cases.)
2005-05-23 Titus Brown <tissola.caltech.edu>
* Fixed problem with spaces in links/URLs.