## 0.2.4 (8 November 2016) - Fix issue where writing a resource in Datacite 3 would cause the Datacite 3 namespace to stick around, even when later writing Datacite 4. - Remove well-intentioned but ill-advised feature that would auto-sort `` coordinates into north/south and east/west. ## 0.2.3 (5 October 2016) - Allow empty `` tags on read, but not write - Allow but ignore empty `` and `` tags on read ## 0.2.2 (4 October 2016) - Fixed issue where `` child elements would be written in Datacite 4 schema declaration order (place, point, box, polygon) instead of Datacite 3 schema sequence order (point, box, place), causing `` elements with multiple children to fail Datacite 3 schema validation. - Allow `Resource.version` to take numeric arguments. - Fixed issue where `Date#<=>` would erroneously report date objects with the same value but differen types as equal. ## 0.2.1 (28 September 2016) - Fixed issue where `Datacite::Mapping::Date` objects initialized with Ruby `Dates` or `Datetimes` couldn't be serialized to XML. ## 0.2.0 (26 September 2016) - Datacite 4.0 support: - reading supports both Datacite 3 and Datacite 4 - writing now defaults to Datacite 4 - deprecated elements will produce a warning - Datacite 3 support via `mapping: :datacite_3` - invalid elements (``, ``) will be dropped, with a warning - [IGSN](http://igsn.github.io/overview/) identifiers will be converted to Handle identifiers - `language` and `xml:lang` attributes no longer default to `'en'` and are now fully optional. - `Date` now properly supports [RKMS-ISO8601](http://www.ukoln.ac.uk/metadata/dcmi/collection-RKMS-ISO8601/) date ranges - Remove `Datacite::Mapping.log` in favor of `warn()` - Array fields (`subjects`, `contributors`, etc.) can no longer be set to nil; if set to nil they will instead return an empty array. - `:nonvalidating` mapping has been removed. Instead: - `` and `` tags without text are ignored on read, as are `` tags with no child elements. - missing `` and `` with missing values are ignored on read, but the `Resource` must be given a valid `Identifier` before writing it back out. ## 0.1.18 (unreleased) - Datacite 4.0 support: - read Datacite 4.0 `` tag (introduced in 0.1.17) - read Datacite 4.0 `` nodes with coordinates in child nodes (``, ``, ``, ``) rather than element text - read Datacite 4.0 ``, ``) rather than element text ## 0.1.17.2 (19 August 2016) - Filter out `` tags without values ## 0.1.17.1 (5 August 2016) - In `Rights::CC_BY`, use "Creative Commons Attribution 4.0 International (CC BY 4.0)" as value, as per [summary](https://creativecommons.org/licenses/by/4.0/), instead of "Creative Commons Attribution 4.0 International (CC-BY)". ## 0.1.17 (5 August 2016) - Added experimental support for Datacite 4.0 `` tag - Added convenience constants `Rights::CC_ZERO` and `Rights::CC_BY` for the [CC0](https://creativecommons.org/publicdomain/zero/1.0/legalcode) public domain declaration and [CC-BY](https://creativecommons.org/licenses/by/4.0/) Creative Commons Attribution License ## 0.1.16 (14 July 2016) - Add new `:nonvalidating` mapping for less strict parsing of problem files. - Provide better error messages for missing identifier values. ## 0.1.15 (18 May 2016) - Update to XML::MappingExtensions 0.4.1 ## 0.1.14 (17 May 2016) - Fix issues with XML::MappingExtensions 0.4.x ## 0.1.13 (2 May 2016) - Update to XML::MappingExtensions 0.3.6 for improved namespace support - Added `namespace_prefix` accessor to `Resource` to support explicit namespace prefixing - Update to TypesafeEnum 0.1.7 for improved debug output ## 0.1.12 (28 April 2016) - Update to XML::MappingExtensions 0.3.5 ## 0.1.11 (28 April 2016) - (withdrawn) ## 0.1.10 (25 April 2016) - Replace all `require_relative` with absolute `require` to avoid symlink issues ## 0.1.9 (19 April 2016) - Added convenience methods to directly access creator names and affiliations - Added convenience methods to directly access funder attributes ## 0.1.8 (7 April 2016) - Add convenience method `Identifier.from_doi()` to parse DOI strings in various formats (`doi:`, `http://dx.doi.org/`, etc.) ## 0.1.7 (28 March 2016) - Stop having XML::Mapping generate accessors for fields that need validation (& stop using aliasing to layer validation on top of generated accessors) ## 0.1.6 (24 March 2016) - Make validation method aliasing more robust against double-require problems, hopefully preventing `SystemStackError (stack level too deep)` on misconfigured systems ## 0.1.5 (27 Jan 2016) - Make gemspec smart enough to handle SSH checkouts - Update to [XML::MappingExtensions](https://github.com/dmolesUC3/xml-mapping_extensions) 0.3.4 - Update to [TypesafeEnum](https://github.com/dmolesUC3/typesafe_enum) 0.1.5 ## 0.1.4 (6 Jan 2016) - Fix issue where missing `xml:lang` attribute in `` would produce a `no value, and no default value` error instead of defaulting to `'en'` as documented - Ensure that YARD formats README correctly when converting from GitHub-flavored Markdown to HTML - Update to [XML::MappingExtensions](https://github.com/dmolesUC3/xml-mapping_extensions) 0.3.3 ## 0.1.3 (18 Dec 2015) - Update to [TypesafeEnum](https://github.com/dmolesUC3/typesafe_enum) 0.1.4 ## 0.1.2 (17 Dec 2015) - Update to [TypesafeEnum](https://github.com/dmolesUC3/typesafe_enum) 0.1.3 ## 0.1.1 (14 Dec 2015) - Update to [XML::MappingExtensions](https://github.com/dmolesUC3/xml-mapping_extensions) 0.3.2, allowing use of [#parse_xml](http://www.rubydoc.info/github/dmolesUC3/xml-mapping_extensions/master/XML/Mapping/ClassMethods#parse_xml-instance_method) and [#write_xml](http://www.rubydoc.info/github/dmolesUC3/xml-mapping_extensions/master/XML/Mapping#write_xml-instance_method) in examples and tests ## 0.1.0 (10 Dec 2015) - Initial release