2014-02-03      0.4:
--------------------
  * enhancements:
    - # 206 Rename "zoom tool" to "wheel zoom tool"
    - # 216 Add 'legend' Method to Retrieve Current Legends
    - # 220 Put bokehjs on a cdn
    - # 222 bokeh-server ImportError handler just prints the error message
    - # 223 Resolution on Time Axis in 'datetime' Plot is Very Coarse
    - # 227 dev setup for bokehjs
    - # 228 Direct column datasource
    - # 233 Scroll zoom for XY-Axes and independent X- and Y-Axis
    - # 234 Python 3 support
    - # 241 Bollinger band examples
    - # 244 css paths were missing "http://"
    - # 248 BaseGlyph testing and refactoring test_properties
    - # 252 Adding mpg dataset
    - # 253 Feature/embed issues
    - # 254 Restored Python 3 compatibility
    - # 255 Make gevent optional - websockets wont' work, but that's mostly ok
    - # 256 More tests and a fix
    - # 257 Feature/selection
    - # 259 Remove ObjectArrayDatasource and replace them with column data sources
    - # 260 output_notebook() breaks the file/edit/etc. toolbar in IPython Notebook examples
    - # 261 Improved sessions, bug fixes and headless testing of examples
    - # 262 Adding link to actual webpage for tutorial information
    - # 272 Circles should default to size/screen units like other markers
    - # 273 scatter() should not special-case circle radii anymore
    - # 274 Use "marker" for scatter(...) argument
    - # 276 Update examples to use simpler specification for 'size'
    - # 277 Replace deprecated 'type' parameter with 'marker' in examples
    - # 278 remove bower dependecy
    - # 279 Use [0...a.length] instead of [0..a.length-1]
    - # 280 Add eco task to watch list in Gruntfile.coffee
    - # 283 Improve dev docs about how to build bokehjs
    - # 285 Start of some tests for bokeh.protocol
    - # 288 Changes to server plots not showing automatically
    - # 291 Better ticking for datetime data (and regular data)
    - # 292 Fixes to make CDX work with bokeh@master
    - # 293 More Tests
    - # 296 Add support for color mapped and rgba images from python
    - # 299 Don't special-case ColumnDataSource in glyph.coffee
    - # 314 Properties aren't checking for attrs on backbone views/models
    - # 313 Better error message from subprocess.Popen() and fix KeyError issue again
    - # 312 Automatically activate pan tool on mousedown
    - # 307 Remove event sinks
    - # 303 Axes not showing up on line plot in spectrogram
    - # 301 Set cursor matching active tool during dragging
    - # 300 Fix tools so that keypress doesn't trigger tool activation
  * bugfixes:
    - # 208 SyntaxWarning: import * only allowed at module level
    - # 211 Fix broken links in README to demos
    - # 212 Expose legend positioning via Python API
    - # 214 label_text_align and label_text_baseline duplicated in legend.coffee
    - # 224 select tool only draws selection bounds when moving the mouse
    - # 226 tool sometimes switches to pan with no notification for the user
    - # 235 Select then Zoom out creates rendering errors
    - # 154 Another issue Json fault
    - # 229 KeyError with bokeh-server
    - # 238 'color' Argument of bokeh.plotting.text Ignored
    - # 239 Error when executing burtin.ipynb
    - # 240 Setting range requires having a second renderer
    - # 243 Output .html file breaks if directory changes
    - # 246 Pull function is broken - it calls session.load, which doesn't exist...
    - # 247 Running the bokehserver with splitjs False and devjs True does not work.
    - # 250 Bugfix/build error
    - # 251 Semi-fixing hold behavior for notebook
    - # 265 Problem with Pattern property
    - # 266 Legend text color changing unexpectedly
    - # 269 text_color should not use get_default_color() as-is?
    - # 270 hold(1) does not work with patches and circle
    - # 271 Alpha not treated correctly as a data spec
    - # 281 Text baseline not being respected
    - # 282 Bokeh server tests error
    - # 295 Fix issues with require.config()
    - # 297 Datarange1d computes start/end incorrectly when single points are negative
    - # 306 bokehjs demos broken

2013-11-18      0.3:
--------------------
  * merge bokehjs into bokeh repository
  * bokehjs build refactor to use grunt
  * added colorbrewer palettes on python side
  * enhancements:
    - #68 Remove guidespec and bake the attributes directly into the GuideRenderer
    - #158 Made FAQ fonts consistent
    - #157 xaxis, etc should return collection object
    - #151 Merge BokehJS repository
    - #129 The sampledata download is confusing
    - #105 All of the glyph examples have the same color
    - #82 Improve hold() functionality in notebook
    - #163 Rebuild only files that changed
  * bugfixes:
    - #155 ColumnDataSource does not update column_names
    - #152 Possible to have two Preview/Save tools
    - #150 If you plot circles that all have a position (0,0), there is a crash
    - #131 "Fork me on github" corner banner appears underneath some text boxes
    - #117 axis_line_color=None does not work
    - #162 Preview save tool broken
    - #199 Setting renderer.root_url has no effect


2013-10-11      0.2:
--------------------
  * enable (optional) HiDPI mode in bokehjs for retina displays
  * improve examples and documentation
  * expose sample data through bokeh.sampledata
  * implement more bokehjs primitive glyphs (patches, multiline)
  * add static HTML embed capability
  * add versioneer
  * add many new glyph/marker types
  * enhancements:
    - #73 Update bokeh.sampledata.download to take an alternate download directory
    - #89 Need better message if user forgets output_file(), etc
    - #90 Need better message if output_notebook is used outside a notebook
    - #71 Add datetime axis from bokehj
    - #70 Use request animation frame where possible
    - #65 Make colors representable by DataSpecs.
  * bugixes:
    - #98 line() without line_color does not render
    - #112 Add missing requirements, include bokeh.vendor into build
    - #115 Plotting a single point in causes javascript error in ticking 
    - #77 colorspec on Grid and Axis objects not serialized
    - #76 Cannot find redis.conf
    - #69 None does not pass as null to bokehjs
    - #55 The last plot in a page full of plots behaves weird when the Zoom tool
      button is depressed
    - #54 legend rendering bug in plotting/file/legend.py
    - #75 Why are our rectangle borders goofy-looking?


2013-09-05    0.1.1:
--------------------
  * improve error messages on server examples


2013-09-03      0.1:
--------------------
  * initial release
