v0.10dev
- Refactor MarginalTable and ConditionalTable into just Table
- Updated basic IPython notebook accordingly
- Added appropriate blocks on Table methods to execute on if the appropriate table type (most methods only work for marginal tables)
- Added number system support that allows user to specify whether they want to use float, Decimal, SymPy integer, or SymPy float
- Added a simple SymPy IPython notebook

v0.9dev
- Added tests for MarginalTable's learn_with_expectation_maximization
- Added learn_with_expectation_maximization to MarginalTable
- Added data_likelihood and data_log_likelihood methods to MarginalTable
- Added data_to_assignments helper function to convert header and data samples to assignments, updated data using methods (e.g. learn_from_complete_data) to take in assignments instead of a header and data directly
- Added complete_partials to Assignment which will return the completion of an Assignment to a set of Variables but only including the Variables that were not in the Assignment originally (instead of the Assignment across all variables as returned by complete)
- Preliminary creation of Query class, replaces parse_query with Query.from_natural, MarginalTable's query method now takes in a Query object while MarginalTable's call method converts the arguments into a Query object and calls query
- Converted tabs to four spaces (I'm taking the plunge)

v0.8dev, 2013-07-07
- Removed Variable.get_assignments() and instead made Variable emulate sequence types for tuple unpacking
- Completed Assignment tests
- Added MarginalTable multiplication tests
- Added ConditionalTable tests
- Allowed construction of Assignment from a SingleAssignment instance (as opposited to having to create a sequence with one instance of SingleAssignment) so
    a = Assignment(A<<True)
  works without having to do
    a = Assignment([A<<True])
  which also works
- Renamed JointTable to MarginalTable
- Added MarginalTable multiplication with MarginalTable
- Added ConditionalTable multiplication with MarginalTable
- Added an all_variables member to ConditionalTable
- Fixed item getting and setting keying for ConditionalTable, allows specification of variables without explicit specification of which ones are context or not
- Added repository and package links to README
- Added TODO section to README
- Added References section to README
- Renamed bn_test.ipynb to basics.ipynb
- Added markdown files to MANIFEST.in
- Added symbolic link to module in bin/examples
- Added some distribution archives
- Changed package URL to GitHub repo URL

v0.7.1dev, 2013-07-02
- Separated query parsing into a helper function
- Added validity assertion to JointTable.get_samples
- Noted that IPython notebook display of d3.js based graph visualization for Bayesian network is really hacky (and therefore does not work properly at the moment)
- Moved version from setup.py to module.__version__
- Expanded test cases to cover helpers, JointTable, and JointTable learning from complete data
- Added some test skeletons to be filled out later

v0.7.dev, 2013-06-29
- Expectation maximization learning for incomplete data.

v0.6, 2013-06-29
- Initial packaging.
