diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ad9fd9dd8..8611963796 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,47 @@ # CHANGE LOG +## Version 1.5 (June 1, 2016) + +### Major Enhancements and Changes + +1. Added two new import classes for importing from [iMorph](http://imorph.fr) and [3DMA-Rock](http://www.ams.sunysb.edu/~lindquis/3dma/3dma_rock/3dma_rock.html). + +2. Now uses [dill](https://pypi.python.org/pypi/dill) instead of Python's standard [pickle](https://docs.python.org/3.5/library/pickle.html) library. This means that custom pore scale models and classes can be saved to "pnm" files. + +3. Changed the name of the "Controller" object to "Workspace", which more literally describes it's role. "Controller" can still be used for backward compatibility. + +4. All Network and topology manipulation tools are now found under ```Network.tools``` although they can still be accessed via ```Utilities.topology``` for backwards compatibility. + +5. Completely reworked documentation. The 'user guide' now consists of 3 tutorials of varying levels, with the aim that users will know how to use OpenPNM pretty well after completing all three. There is also a separate 'reference' section in the user guide that explains the inner workings of the code in more detail, but users don't have to sift through these to get started anymore. + +6. All documentation is now hosted on [ReadTheDocs](https://readthedocs.org/projects/openpnm/), which rebuilds the documentation every time a new commit is pushed to Github. The docs will now always be up-to-date! + +7. A new parallel repository has been created to house all Examples at https://github.com/PMEAL/OpenPNM-Examples. All the code in this repository is tested against the latest version of OpenPNM on PyPI, so if there are any broken examples we'll know about it. This will remedy the frustration felt by many users when trying to learn OpenPNM by examples. This is also why the Tutorials were created as the main User Guide (see 5 above). + +### New Features + +1. Added ability to have spatially varying pore seed values, which is useful for creating porosity distributions or undulations. + +2. Added new arguments to ```num_neighbors```. It can now apply set logic (i.e. 'union' and 'intersection') when counting neighbors, and it can now count neighboring throats as well as pores with the ```element``` keyword (which is 'pores' by default to maintain backwards compatibility). + +3. Object handles are now stored in dicts rather than lists, so you can access them by name (geom.phases['air']) and also iterate on the dict (pn.phases.values()). This was implemented in a backwards compatible way so geom.phases() and geom.phases('air') still work as they used to...of course using the dict syntax is encourage henceforth. + +### Minor Improvements and Bug Fixes + +1. Fixed code coverage reporting on [Codecov](https://codecov.io/gh/PMEAL/OpenPNM) + +2. Changed many print statements to logger messages + +3. Several private methods were removed that were never called by the code + +### Acknowledgements + +The OpenPNM Developers would like to thank the following people for contributing to this release: + +Matthew Stadelman (@stadelmanma) for crafting the iMorph IO class + +Masa Prodanovic for help with the 3DMA-Rock import class + ## Version 1.4 (February 22nd, 2016) ### Major Enhancements and Additions