Version 0.4.3
------------------------------------------------------------------------------

NEW FEATURES

* Added `output_handler` argument to `evaluate`. Should be a
  `output_handler` object, which is a list of functions for handling
  each type of result, prior to printing of visible return
  values. This allows clients to override the console-like printing of
  values, while still processing them in the correct temporal
  context. The other handlers are necessary to convey the correct
  ordering of the output. This essentially provides stream-based
  processing, as an alternative to the existing deferred processing.

* New option, `stop_on_error` which controls behaviour when errors
  occur.  The default value, `0`, acts like you've copied and pasted
  the code into the console, and continues to execute all code. `1`
  will stop the code execution and return the results of evaluation up
  to that point, and `2` will raise an error.

BUG FIXES

* Compound expressions like `x <- 10; x` are now evaluated completely.

* Chinese characters on windows now work correctly (thanks to Yihui Xie)

* Graphics and output interleaved correctly when generated from a loop or 
  other compound statements

* By default, `evaluate` will now open a new graphics device and clean it up 
  afterwards.  To suppress that behaviour use `new_device = FALSE`

* use `show` to display S4 objects.

Version 0.4.2
------------------------------------------------------------------------------

* replace deprecated `.Internal(eval.with.vis)` with correct `withVisible`

* `evaluate` gains `debug` argument

Version 0.4.1
------------------------------------------------------------------------------

* use `test_package` to avoid problems with latest version of `testthat`

evaluate 0.4 (2011-11-03) 
=========================

* Use plot hooks to capture multiple plots created in a loop or within a
  function.  (Contributed by Yihui Xie)

evaluate 0.3 
============

* Import `stringr` instead of depending on it.

* Test plot recording only in the presence of interactive devices.

evaluate 0.2
============

* try_capture_stack and create_traceback do a much better job of removing
  infrastructure calls from the captured traceback

* visible results are automatically evaluated and their outputs are captured.
  This is particularly important for lattice and ggplot graphics, which
  otherwise require special handling. It also correctly captures warnings,
  errors and messages raised by the print method.