Version 10.0.4 - Fixed find_by_value in the index of a category, avoid swapping columns in the search keys Version 10.0.3 - Clear pdbx_nonpoly_scheme before filling it in reconstruction - Changed handling of numbers with a preceding plus character, these are now stored as strings to avoid inadvertently mutilating phone numbers. Version 10.0.2 - Fixed regression in reconstruction introduced in 10.0.1 - Fixed symmetry operations - Added validation for pdbx_item_enumeration as well as case-sensitive checks for enumerations when needed. Version 10.0.1 - Fixed some regressions, like assigning to items. - At emplace time (in category) values that are in the wrong type according to a dictionary will be converted/casted. May fail of course. Version 10.0.0 - Major rewrite of the internal storage of values. Used to be strings only, now there are several basic types. - Modernised code and cleaned up warnings using lint tools Version 9.0.6 - Various small fixes Version 10.0.0 - Added a SQLite interface. Version 9.0.5 - Added exists to compound_factory - Added sub_matrix, fix and extend determinant calculation - Added yet another structure::create_non_poly - Remove revision.hpp file in make clean (new VersionString.cmake) Version 9.0.4 - Fix various stopping and reconstruction errors Version 9.0.3 - Reconstruction fixed when some entity ids are missing Version 9.0.2 - Fix code that reconstructs sequences, could throw a map::at - Many optimisations in validation and reconstruction code. Version 9.0.1 - Use pcre2 from pkg-config if available, if not build a version from the original code. Version 9.0.0 - Rename fields of cif::mm::polymer to match the naming in mmcif_pdbx.dic. Also, related, fix building mm::structure using the correct mapping between atom_site and residues. - _atom_site.auth_alt_id does not exist, it should be _atom_site.pdbx_auth_alt_id of course. - Added a more lightweight fixup for mmcif_pdbx files that lack certain categories. Version 8.0.1 - Fix cif::mm::structure::cleanup_empty_categories, removed too much - Add default value for B_iso_or_equiv in residue::create_new_atom - Reconstruct some branch records in bare pdbx files - Fix parsing PDB files (bug due to missing validator in dest. cat.) - Do not fail conversion of PDB files when compound info is missing Version 8.0.0 - A dictionary is for a datablock and a file can have datablocks with differing dictionaries. Version 7.0.10 - Deal with missing _entity.type in reconstructing mmCIF files - Replace code creating quaternions from rotation matrices that might sometimes give incorrect results. Or at least, the test code failed on this particular kind of code. Sometimes. - Fix reconstruction to build pdbx_nonpoly_scheme Version 7.0.9 - Using cif::file::load_dictionary it is now possible to load a dictionary along with its extensions in one go. E.g. file.load_dictionary("mmcif_pdbx;dssp-extension") - Fix in compound factory to avoid errors with lower case compound id's - Fix sac_parser's index to be case insensitive Version 7.0.8 - Fix PDB Remark 3 parser - Added three way comparison for point Version 7.0.7 - Set CIFPP_DATA_DIR on target cifpp for use in projects that include libcifpp directly Version 7.0.6 - Fix linking to std::atomic Version 7.0.5 - Fix case where category index was not updated for updated value Version 7.0.4 - Do not install headers and library in case we're not the top project Version 7.0.3 - Fix installation, write exports.hpp again Version 7.0.2 - Fix in testing error_code results. Version 7.0.1 - Various reconstruction fixes - category order in output fixed - better implementation of constructors for file, datablock and category - small optimisation in iterator Version 7.0.0 - Renaming many methods and parameters to be more consistent with the mmCIF dictionaries. (Most notably, item used to be called column or tag sometimes). - validation_error is now a std::system_error error value. The exception is gone. - Added repairSequenceInfo to repair invalid files Version 6.1.0 - Add formula weight to entity in pdb2cif - Change order of categories inside a datablock to match order in file - Change default order to write out categories in a file based on parent/child relationship - Added validate_pdbx and recover_pdbx - Fixed a serious bug in category_index when moving categories Version 6.0.0 - Drop the use of CCP4's monomer library for compound information Version 5.2.5 - Correctly import the Eigen3 library Version 5.2.4 - Changes required to build on Windows Version 5.2.3 - New constructors for cif::item, one taking std::optional values and another taking only a name resulting in a value '.' (i.e. inapplicable). - added cif::cell::get_volume Version 5.2.2 - Remove dependency on Eigen3 for users of libcifpp - Fix typos in documentation - Do not build latex files in documentation - Fixed conversion from string to integer, would fail on +2 e.g. - sqrt is not constexpr, thus kGoldenRatio should be const, not constexpr Version 5.2.1 - New versionstring module - small fixes for generating documentation - correctly setting SONAME Version 5.2.0 - With lots of documentation - Refactored coloured text output - Removed the subdirectory cif++/pdb, there now is a single header file pdb.hpp for I/O of legacy PDB files. Version 5.1.3 - Dropped pkgconfig support Version 5.1.2 - New version string code - Added check for Eigen3 in cifppConfig.cmake Version 5.1.1 - Added missing include in symmetry.hpp - Added empty() to matrix - Fix for parsing legacy PDB files with a last line that does not end with a new line character. Version 5.1 - New parser, optimised for speed - Fix in unique ID generator Version 5.0.10 - Fix in progress_bar, was using too much CPU - Optimised mmCIF parser Version 5.0.9 - Fix in dihedral angle calculations - Added create_water to model - Writing twin domain info in PDB files and more PDB fixes - remove_atom improved (remove struct_conn records) - Added a specialisation for category::find1 - fix memory leak in category Version 5.0.8 - implemented find_first, find_min, find_max and count in category - find1 now throws an exception if condition does not not exactly match one row - Change in writing out PDB files, now looking up the original auth_seq_num via the pdbx_xxx_scheme categories based on the atom_site.auth_seq_num -> pdbx_xxx_scheme.pdb_seq_num relationship. - fix memory leak in category Version 5.0.7.1 - Use the implementation from zeep for std::experimental::is_detected Version 5.0.7 - Reintroduce exports file. For DLL's Version 5.0.6 - Fix file::contains, using iequals - Fix is_cis Version 5.0.5 - Fix code to work on 32 bit machines Version 5.0.4 - Revert removal of CIFPP_SHARE_DIR export Version 5.0.3 - Fix installation of libcifpp into the correct locations Version 5.0.2 - Fix export of CISPEP records in PDB format - Better support for exporting package_source Version 5.0.1 - Fix loading dictionaries - Support for cifv1.0 files Version 5.0.0 - Total rewrite of cif part - Removed DSSP code, moved into dssp project itself Version 4.2.1 - Improved REMARK 3 parser (for TLS in large molecules) Version 4.2.0 - Yet another rewrite of resource loading Version 4.1.1 - Fall back to zero charge for scattering factors if the atom was not found in the table. - Improve code to locate resources, failing less. Version 4.1.0 - Some interface changes for mmcif::Atom Version 4.0.1 - Added a bunch of const methods to Datablock and Category. - Changed PDB writing interface to accept Datablock instead of File. Version 4.0.0 - getResidue in mmcif::Structure now requires both a sequence ID and an auth sequence ID. As a result the code was cleaned up considerably. Version 3.0.5 - mmcif::Structure redesign. It is now a wrapper around a cif::Datablock. Version 3.0.4 - Fix in mmCIF parser, now correctly handles the unquoted string ?? Version 3.0.3 - Better configuration checks, for atomic e.g. - Fixed a problem introduced in refactoring mmcif::Atom - Version string creation Version 3.0.2 - refactored mmcif::Atom for performance reasons Version 3.0.1 - Fixed processing of proline restraints file from CCP4, proline is a peptide, really. - Added code to facilitate DSSP Version 3.0.0 - Replaced many strings in the API with string_view for performance reasons. - Upgraded mmcif::Structure - various other small fixes Version 2.0.5 - Backporting updated CMakeLists.txt file Version 2.0.4 - Reverted a too strict test when reading cif files. Version 2.0.3 - Fixed reading mmCIF files where model numbers are used and model number 1 is missing. Version 2.0.2 - Added configuration flag to disable downloading CCD data during build Note that there are now two flags for CCD data: DOWNLOAD_CCD to enable downloading during build INSTALL_UPDATE_SCRIPT to install an update mechanism for this file - Updated unit tests to work even if no CCD data is available Version 2.0.1 - Fixed the generator for the symmetry operator table Version 2.0.0 - New API interface for accessing query results - Removed bzip2 support - improved makefiles Version 1.1.1 - Now with full support for MS Windows Version 1.1.0 - Changed from GNU configure to CMake. - Loading compound information from CCD file Version 1.0.1 - Changed the way resources are looked up, local dir first, then /var/cache and finally compiled in resources (with mrc). Version 1.0.0 - First public release