- Update to Ruby 2.4.1
- Update to RuboCop 0.52
- Update to Ruby 2.2.5
- Treat blank or empty award number as nil when constructing a
FundingReference
.
- 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
<geoLocationBox/>
coordinates into north/south and east/west.
- Allow empty
<identifier/>
tags on read, but not write - Allow but ignore empty
<subject/>
and<description/>
tags on read
- Fixed issue where
<geoLocation>
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<geoLocation>
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.
- Fixed issue where
Datacite::Mapping::Date
objects initialized with RubyDates
orDatetimes
couldn't be serialized to XML.
- 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 (
<geoLocationPolygon/>
,<fundingReference>
) will be dropped, with a warning - IGSN identifiers will be converted to Handle identifiers
- invalid elements (
language
andxml:lang
attributes no longer default to'en'
and are now fully optional.Date
now properly supports RKMS-ISO8601 date ranges- Remove
Datacite::Mapping.log
in favor ofwarn()
- 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:<subject/>
and<description/>
tags without text are ignored on read, as are<geoLocation>
tags with no child elements.- missing
<identifiers/>
and<identifiers/>
with missing values are ignored on read, but theResource
must be given a validIdentifier
before writing it back out.
- Datacite 4.0 support:
- read Datacite 4.0
<fundingReference/>
tag (introduced in 0.1.17) - read Datacite 4.0
<geoLocationBox>
nodes with coordinates in child nodes (<southBoundLatitude>
,<westBoundLongitude>
,<northBoundLatitude>
,<eastBoundLongitude>
) rather than element text - read Datacite 4.0
<geoLocationPoint
nodes coordinates in child nodes (<pointLatitude>
,<pointLongitude>
) rather than element text
- read Datacite 4.0
- Filter out
<subject/>
tags without values
- In
Rights::CC_BY
, use "Creative Commons Attribution 4.0 International (CC BY 4.0)" as value, as per summary, instead of "Creative Commons Attribution 4.0 International (CC-BY)".
- Added experimental support for Datacite 4.0
<fundingReference/>
tag - Added convenience constants
Rights::CC_ZERO
andRights::CC_BY
for the CC0 public domain declaration and CC-BY Creative Commons Attribution License
- Add new
:nonvalidating
mapping for less strict parsing of problem files. - Provide better error messages for missing identifier values.
- Update to XML::MappingExtensions 0.4.1
- Fix issues with XML::MappingExtensions 0.4.x
- Update to XML::MappingExtensions 0.3.6 for improved namespace support
- Added
namespace_prefix
accessor toResource
to support explicit namespace prefixing - Update to TypesafeEnum 0.1.7 for improved debug output
- Update to XML::MappingExtensions 0.3.5
- (withdrawn)
- Replace all
require_relative
with absoluterequire
to avoid symlink issues
- Added convenience methods to directly access creator names and affiliations
- Added convenience methods to directly access funder attributes
- Add convenience method
Identifier.from_doi()
to parse DOI strings in various formats (doi:
,http://dx.doi.org/
, etc.)
- Stop having XML::Mapping generate accessors for fields that need validation (& stop using aliasing to layer validation on top of generated accessors)
- Make validation method aliasing more robust against double-require problems, hopefully preventing
SystemStackError (stack level too deep)
on misconfigured systems
- Make gemspec smart enough to handle SSH checkouts
- Update to XML::MappingExtensions 0.3.4
- Update to TypesafeEnum 0.1.5
- Fix issue where missing
xml:lang
attribute in<resource>
would produce ano 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 0.3.3
- Update to TypesafeEnum 0.1.4
- Update to TypesafeEnum 0.1.3
- Update to XML::MappingExtensions 0.3.2, allowing use of #parse_xml and #write_xml in examples and tests
- Initial release