Skip to content

Latest commit

 

History

History
247 lines (199 loc) · 10.8 KB

CHANGELOG.md

File metadata and controls

247 lines (199 loc) · 10.8 KB

Change Log

All big and breaking changes for mBuild will be recorded here. This project adheres to Semantic Versioning.

0.10.4 (2019-12-28)

Features

  • Add wrap_coords function for wrapping particles into a box (#643)

Bug Fixes

  • Don't populate empty lists for hoomd snapshot (#647)

Maintenance

  • Add nbval as requirement for tests in conda recpe (#656)
  • Remove six and some Python 2 legacy code (#641)
  • Remove examples (from this repository) (#658)
  • Fix travis by not installing md5sha1sum (#660)
  • Add CHANGELOG (#632)

0.10.3 (2019-10-27)

Features

  • Add Cassandra MCF writer (#636)
  • Add HOOMD snapshot converter (#622)
  • Generate mb.Compound from Parmed or MDTraj residues (#526)
  • Add **kwargs for write_gsd (#653)

Bug Fixes

  • Fix unique naming problem in to_networkx (#583)
  • Default the mBuild PAR-writer to use IMPROPER (#648)
  • Fix ghost ports attached to removed compound (#593)
  • Remove duplicate NP particles in TNP example (#625)
  • Only import MCF writer if networkx is installed (#654)

Maintenance

  • Add LGTM (#616)
  • Add Azure CI testing (#615, #617, #618, #630, #637, #638)
  • Update Travis CI (#649)
  • Update conda recipe to include nbval (#611, #656)
  • Pin nglview to 2.7+ (#651, #655)
  • Reduce length of some unit tests (#621)
  • Rename AmorphousSilica to be more descriptive (#630)

0.10.1 (2019-10-9)

This is a bugfix release to resolve a potential issue with a foyer dependency with mBuild 0.10.0.

Bugfixes

  • Remove a foyer import that was producing a circular dependency (#610)

0.10.0 (2019-10-8)

Breaking Change

  • Officially drop Python 2.7 (#573)

Features

  • Load mBuild compounds from existing ParmEd and MDTraj objects (#561)
  • Convert mBuild compound to and from JSON format (#581)
  • Include testing of notebooks in CI (#590)
  • Add NGLView tooltip (#600)
  • Initialize mBuild Compounds from SMILES strings (#598)
  • Write out parameterized structures to a CHARMM .par file (#508)
  • Add method to convert to and from Pybel (#555)
  • Add POSCAR file writer in an effort to incorporate VASP into mBuild (#468)

Bug Fixes

  • Remove unnecessary Pybel import statement in mb.load (#604)
  • Change how proxy compounds are named so that MOL2 files are in the correct format (#605)
  • Rename atom names in silica interface example to be compatible with recent mBuild release (#594)
  • Improve error handling for Box class (#576)
  • Add a with open block to manage file open (#585)
  • Add _clone() function to the Proxy class to properly clone an instance of Proxy (#592)

Miscellaneous

  • Add compound_pb2.py file generated from protoc compiler to gitignore (#602)
  • Improve documentation of various mBuild classes and functions (#577, #578, #579, #580)
  • Add additional testing for foyer_kwargs (#428)

0.9.3 (2019-8-5)

Breaking Changes

  • This is the last release supporting Python 2.7

Features

  • A more descriptive exception is raised when attempting to access a non-existent Port (#544)
  • Element capitalization is better enforced in ParmEd conversions (#550)
  • The XYZ reader can now act on a passed compound (#567)
  • The LAMMPS writer now accurately prints residue IDs (#569)

Bugfixes

  • Visualizing compounds in notebooks no longer returns a duplicate widget (#545)
  • Names of custom elements are no longer clobbered during visualization (#563)

Maintenance

  • The image in our gitter link has been updated (#543)
  • Some links in tutorials have been corrected (#548)
  • Installation documentation has been updated to reflect changes in conda configurations (#558)
  • Some other documentation has been refreshed (#560)
  • The GSD version is pinned to 1.7 in order to continue Python 2.7 support (#572)

0.9.2 (2019-5-27)

Breaking Changes

  • Python 3.5 is no longer officially supported or tested on as part of the development process.

Features

  • mBuild is now tested and packaged on Python 3.7 (#542)

Maintenance

  • MDTraj is no longer pinned to an old version (#542)
  • Coveralls is dropped; we have been using codecov for a few months (#542)

0.9.1 (2019-5-26)

Breaking Changes

This is the last release including official support for Python 3.5. It will likely work for some time but mBuild will not be tested on Python 3.5 during development.

Features

  • Residue names can optionally be inferred from compound names in conversion to ParmEd (#475)
  • Custom cross-interactions (NBFIXES in ParmEd jargon) can now be written to LAMMPS data files (#456)
  • The LAMMPS writer now prints helpful comments to more verbosely describe which atom types are associated with each potential (#535)

Maintenance

  • Some stylistic changes were made as suggested by various linters (#522)
  • Appveyor now tests on Python 3.6 (#520)

Documentation

  • Installation docs were updated to explicitly list supported Python versions (#532)
  • A comment pointing to the glozter Anaconda channel has been updated to point to conda-forge (#534)

Miscellaneous

  • Some tests depending on foyer are now properly skipped when it it not installed (#521)
  • Some examples were updated in accordance with their new structure as internal recipes (#536, #538)

0.9.0 (2019-4-11)

Features

  • A plugin or "recipe" architecture has been added to allow external modules to be imported inside of mBuild (#501)
  • Python 3.6 is now explicitly supported and tested (#518)

Maintenance

  • A contributor's guide (#500) and .github issue & pull request templates (#498) have been added
  • A redundant and unused block of code was removed (#515)
  • The glotzer and bioconda channels, which are now obsolete in this scope, have been dropped (#516)

0.8.3 (2019-2-23)

Breaking Changes

  • When writing hoomdxml files, units will now be in kJ/mol & nm instead of kcal/mol & ang, so particle positions will differ by a factor of 10.

Features

  • A to_networkx function was added to convert the hierarchy of a compound to a graph (#484)
  • Packing functions now use XYZ files while running PACKMOL, bypassing some issues with PDB files (#422)
  • When saving hoomdxml files, auto_scale=True will scale reference units from max forcefield parameters. (#488)

Maintenance

  • Switched to codecov for code coverage testing (#485)
  • Some dependencies accidentally missing in earlier PRs were cleaned up (#493)

Bugfixes

  • update_coordinates now behaves well when passed an XYZ file or operating on simple hierarchies (#496)
  • Internal conversion from ParmEd structures to HOOMDXML files was improved (#463, see above)

0.8.2 (2019-1-8)

Features

  • Special Pair Support (1-4 pair information) to GSD writers (#473)
    • GSD files now include 1-4 special pairs for use in OPLS

Misc and Bugfixes

  • Dependency requirements have been updated (#457)
    • A dependency loop between Foyer and mBuild has been resolved
  • Fixed a bug that prevented Appveyor builds from running (#477)
  • Temporary PDB files left behind by packing functions are now properly removed (#471)
    • Packing.py uses temporary files which were previously never closed. This sometimes caused the program to reach the limit of open files for a process set by the OS
  • pytest-ignore-flaky has been replaced in favor of xfail (#471)
  • Additonal fixes for PACKMOL input files (#474)
    • Input files are now closed by mBuild in order to ensure it can be read by PACKMOL
    • Error reporting is now caught when the subprocess returns an error code
  • Microsoft VSCode extraneous files are now ignored by git (#478)

0.8.1 (2018-11-28)

Features

  • Packing functions can optionally constrain the rotation of Compounds when using fill_box (#407)
  • Additional lammps datafile support (#412)
    • Add functionality for atomic, charge, and molecular atom_styles
    • Fix atomic and molecular atom-styles
    • Add optional atom-style argument to save function
    • Add tests to check for correct Atoms format
  • A Compound can be generated from a SMILES string if the user has Open Babel installed (#430)
  • The website was updated with details how to properly cite mBuild (#421)
  • OpenMM can now be used for energy minimization (#416)
  • A simple xyz file reader was added (#423)
  • Defaults in Compound.visualize have been improved (#438)
  • mBuild boxes can now store angles (#448)
  • mBuild boxes can now be passed to various writers (#448)
  • A changelog is now included in the root directory (#454)

Misc and Bugfixes

  • Switched from OpenMM to MDTraj to check for element existence (#408)
  • Changed bilayer notebook to use Compound methods for object manipulation (#406)
  • Added test to ensure that users can provide a custom forcefield XML file when applying a forcefield to a Compound (#431)
  • An error is now generated if the miniconda MD5 sum does not match when performing tests (#409)
  • LAMMPS box values are now written appropriately in Angstroms (#459)
  • Coordinates in HOOMDXML and GSD files are now correctly written in the range [L /2 to L] (#452)
  • A bug in the ordering of some Bravais angles in non-rectangular lattices has been fixed (#450)

0.8.0 (2018-01-18)

Features

  • Improved packing API
    • fill_box method now supports user-specified densities (#372)
    • Support for non-cubic boxes (#385)
    • Added edge buffer for pseudo-support of periodic boundaries (#385)
    • Allow users to access PACKMOL raw output (#385)
    • Improve documentation and removed repetitious code (#385)
  • Proper support for triclinic lattices (#386)
  • More intuitive Port behavior when adding/removing bonds
    • Ports are now added along the bond vector when bonds are removed
    • Ports are removed when using force_overlap when attribute add_bond is True (#390)

Misc and Bugfixes

  • Increased precision of PACKMOL overlap tolerance (#367)
  • Increased robustness for packing.py argument types (#368)
  • Continuous Integration (CI) fixes (#369, #375, #392, #402, #405)
  • Documentation updates (#371)
  • Combining rules for non-bonded interactions can now be specified when saving compounds (#377)
  • Remove ambigious data types for Box attributes (#384)
  • Fixed changing of basis for non-cubic lattices (#386)
  • Fixed issue where Ports were not aligned properly along user-specified direction (#390)
  • Add support for controlling Foyer warning verbosity when saving Compounds (#391)
  • Added more information to Port.__repr__ (#396)
  • Fixed bug in unit conversion for periodicity in Compound.from_parmed() (#401)
  • Rounding Lattice.lattice_point positions to 0. when below a certain threshold (#404)

0.7.1 (2017-06-09)

Merge pull request (#352) from summeraz/use_parmed Parmed loaders by default, remove Mdtraj dependency

0.7.0 (2017-06-09)

Bump version to 0.7.0

0.6.1 (2017-02-14)

Tag 0.6.1

0.6.0 (2017-02-14)

Tag 0.6.0

0.5.2 (2015-08-27)

Merge pull request (#131) from ctk3b/dev-package Fix requirements.