0.12.3 2025-11-28 - Introduce 'write_atom_sub' option to write_SMILES(). 0.12.2 2025-11-19 - Introduce 'report_unnecessary_dot_usage' parser option. 0.12.1 2025-10-22 - Do not remove square brackets from atom if its normal valence is ambiguous. - Fix a bug in handling of disconnected molecular entities in parentheses. - Warn about 2 aromatic atoms in a cycle not having an aromatic bond between them. - Warn about aromatic atoms with less than 2 aromatic bonds. 0.12.0 2025-04-25 - Ceasing to output aromatic bonds, excess parentheses and explicit hydrogen atoms by default. These features can be re-enabled by writer options. - Reusing ring bond numbers immediately after their closure. The old behavior can be brought back via an option. 0.11.6 2025-02-14 - Restoring incompatibility with Perl Graph package versions before v0.9727 which have a bug in bridges(). - Limiting the set of allowed aromatic elements. 0.11.5 2025-02-13 - Fixing a bug failing to recognise @TB10. - Forbidding unknown chemical elements. - Forbidding ring bonds to self. - Accepting order subroutine in kekulise() in order to make the algorithm stable. - Supporting octahedral chirality in chirality_to_pseudograph(). - Introducing Chemistry::OpenSMILES::is_aromatic_bond(). - Reporting aromatic bonds outside aromatic rings in _validate(). 0.11.4 2025-02-04 - Reducing false-positive cis/trans conflicts detected in _validate(). - Fixing a bug causing allene systems to be validated more times than needed in _validate(). 0.11.3 2025-02-03 - Respecting and validating allene systems in _validate(). - Better validation of cis/trans and chirality settings in _validate(). 0.11.2 2025-01-16 - Fixing nondeterminism in relative cis/trans marker placement. 0.11.1 2025-01-14 - Recognising unimportant anomer chiral centers. 0.11.0 2025-01-06 - Fixing handling of octahedral chirality. - Implementing an alternative method to mark cis/trans settings by giving their list instead of providing a callback. 0.10.0 2024-11-28 - Reworking the logic of marking atoms with nonstandard valences. - Introducing Chemistry::OpenSMILES::valence(). - Changing the API of Chemistry::OpenSMILES::Writer::write_SMILES() to accept option hash as the second parameter. Backwards compatibility for old calls is retained. 0.9.2 2024-11-26 - Fix a pair of bugs in valence calculation. 0.9.1 2024-11-26 - Handling trigonal bipyramidal centers. - Exporting all Chemistry::OpenSMILES::is_chiral_*() subroutines. - Fixing a bug where H atom counts of 0 given in square brackets were not preserved. 0.9.0 2023-10-25 - Handling square planar chirality. 0.8.6 2023-06-19 - Implementing is_ring_atom(). - No longer removing chiral centers from atoms in rings. - Accepting coloring subroutine references in is_unimportant_double_bond() and mark_all_double_bonds(). - Returning false instead of undefined value. - Exporting %bond_order_to_symbol and %bond_symbol_to_order to simplify conversion between bond symbols and orders. 0.8.5 2023-01-26 - Fixing incorrect chirality handling code as it did not consider all ring bonds up to now. 0.8.4 2022-11-29 - Ceasing to mark unimportant double bonds in Chemistry::OpenSMILES::Stereo. 0.8.3 2022-11-03 - Exporting %Chemistry::OpenSMILES::normal_valence. 0.8.2 2022-09-20 - Adding Chemistry::OpenSMILES::Aromaticity and Chemistry::OpenSMILES::Stereo from smiles-scripts project v0.2.0. - Fixing prototypes of recently added functions. - Introducing Chemistry::OpenSMILES::is_double_bond(). - Introducing Chemistry::OpenSMILES::is_ring_bond(). 0.8.1 2022-05-11 - Fixing a bug with incomplete cis/trans markers on ring bonds. - Introducing Chemistry::OpenSMILES::toggle_cistrans(). - Introducing two functions for bond type determination. 0.8.0 2022-05-05 - Implementing support for tetrahedral chiral centers having lone pairs. - Safeguarding against infinite cycles in Chemistry::OpenSMILES::Writer::_permutation_order(). - Fixing mistake in Chemistry::OpenSMILES::Parser::parse() documentation. 0.7.0 2021-10-30 - Fixing important issue with representing tetrahedral chiral centers by introducing 'chirality_neighbours' key to atom hashes. 0.6.0 2021-10-18 - Allowing multi-digit hydrogen counts if enabled via parser option. - Standardizing chiral markers for allenal carbons. - Not standardizing chiral markers in raw output. - Reporting '@' and '@@' chiralities with other than 4 neighbours as they cannot be processed right now. 0.5.2 2021-10-11 - Creating explicitly refvertexed Graph objects to get around all the problems caused by interpreting them as scalar values. 0.5.1 2021-08-29 - Working around an incompatibility with Graph v0.9721. 0.5.0 2021-08-26 - Handling raw parsing output in Chemistry::OpenSMILES::clean_chiral_centers(). - Fixing a bug in position counting due to $1 pollution. - Detecting and reporting disconnected parts of moieties. - Introducing Chemistry::OpenSMILES::is_chiral() to detect both chiral atoms and moieties. - Fixing bug in Chemistry::OpenSMILES::clean_chiral_centers() which caused removal of all chiral centers, not just tetrahedral. - Introducing Chemistry::OpenSMILES::mirror() to invert chiral centers, currently only tetrahedral. - Fixing bug in printing of chiral centers, previously only tetrahedral centers were printed. 0.4.6 2021-04-14 - Fixing reading/writing of cis/trans ring bonds. 0.4.5 2021-03-25 - Fixing a bug in aromatic bond detection. 0.4.4 2021-03-09 - Introducing Chemistry::OpenSMILES::clean_chiral_centers() to remove unnecessary tetrahedral chiral settings. 0.4.3 2021-01-25 - Supporting tetrahedral chirality in Chemistry::OpenSMILES::Writer::write_SMILES(). - Chiralities @TH1 and @TH2 are the same as @ and @@, respectively. - Specifying the requirement of Graph v0.97 or later. - Fixing issue with homepage. 0.4.2 2021-01-20 - Exporting Chemistry::OpenSMILES::Writer::write_SMILES(). - Removing chirality information from written SMILES, as code to write this reliably is not yet available. - Fixing writing of cis/trans bonds. 0.4.1 2021-01-12 - Fixing an issue with 'scalar %hash' in t/01_atoms.t. - Listing a dependency on Graph::Traversal::DFS. 0.4.0 2021-01-11 - Adding Chemistry::OpenSMILES::Writer, implementing a SMILES writer for the data structures built by Chemistry::OpenSMILES::Parser. - Converting 'charge' atom field to integer. - Exporting Chemistry::OpenSMILES::is_aromatic(). 0.3.2 2020-10-05 - Explicitly setting bond order to ':' on bonds between aromatic atoms. 0.3.1 2020-09-17 - Establishing deterministic order while generating graph vertices for implicit hydrogen atoms. 0.3.0 2020-09-16 - Deriving counts of implicit hydrogen atoms. - Default number of attached hydrogen atoms for atoms in square brackets is 0. - Supporting bracketless '*' atom. 0.2.1 2020-08-13 - Adding 'number' atom field to store atom positions in the initial SMILES string. - Making 'class' atom field mandatory. - Making 'isotope' atom field an integer. 0.2.0 2020-05-20 - Fixing an issue with graph merging. - Unifying the representation of single bonds. - Extending POD documentation. 0.1.3 2020-05-19 - Detecting and reporting unbalanced parentheses. - Detecting and reporting unclosed ring bonds. - Fixing position pointers in error messages, removing line numbers. - Adding versioned dependency on Module::Build::Parse::Yapp v0.1.2. - Declaring minimum Perl version. - Fixing the POD. 0.1.2 2020-05-17 - Turning hydrogen counts into real vertices. If 'raw' option is present, hydrogen counts are left as integers instead. 0.1.1 2020-05-14 - Adding missing dependency on Graph::Undirected. - Adding POD. 0.1.0 2020-05-13 - Initial release.