- 2019-08-14: Ensures that Rails 6.x releases are supported [@jcoyne]
- 2019-08-02: Corrected the syntax for the CircleCI configuration [@botimer]
- 2019-05-28: Updated CircleCI to test against Rails release 5.1.7 and Ruby releases 2.6.3, 2.5.5, and 2.4.6 [@jrgriffiniii]
- 2019-05-08: Deprecated Travis CI for CircleCI for continuous integration testing [@jrgriffiniii]
- 2018-09-19: Updated documentation for compliance with the Core Component Maintenance Working Group templates [@jrgriffiniii]
- 2018-09-19: Integrated Coveralls [@jrgriffiniii]
- 2016-10-27: Removed Travis CI notifications to IRC [@mjgiarlo]
- 2015-05-26: Converted documentation to Markdown [@atz]
- 2015-04-21: Convert specs to RSpec 2.99.2 syntax with Transpec [@atz]
- 2015-03-10: Changed RSpec assertions from .should() to the newer, preferred expect().to() [@nodanaonlyzuul]
- 2014-09-11: Use HTTPS URLs for RubyGems [Michael Slone]
- 2014-07-17: Bump solrizer version to ~> 3.3 [Justin Coyne]
- 2014-07-17: Use the system libxml2 on travis [Justin Coyne]
- 2014-07-17: Remove dependency on mediashelf-loggable [Justin Coyne]
- 2014-06-13: Setting values on a proxy term should build the parent terms if they don’t exist [Justin Coyne]
- 2014-06-05: Handle invalid time for Rails 3 [Justin Coyne]
- 2014-06-02: Updating solrizer, correcting rspec deprecations [Adam Wead]
- Fix bug where values that were the same as the existing values were removed from the update list
- Return an array instead of a hash Term#update_values
- When passing an array to Term#update_values, it will overwrite all of the existing values of that term.
- OM::XML::Document#find_by_terms_and_value should match strings with text() = xpath query, rather than contains().
- Revert deprecation of passing Hash values
- Deprecate passing Hash values into DynamicNode#val= or
- Document#update_attributes. This behavior will be removed in 3.0.0
- Rails 4 support
- Pass nil in order to remove a node (instead of blank string)
- Fix missing comma after exception
- bump solrizer to 3.1.0
- support for element names with periods in them
- support for ‘type: :time’
- Support new solr schema
- Removed unused mods_article_terminology.xml
- Replacing :data_type with :type; deprecating :data_type
- Making test related to HYDRA-647 pending
- Adding .type method for ruby 1.8.7 compatibility
- XML serialization should use the data_type node name and not type
- Update homepage in gemspec
- Remove .rvmrc
- Remove debugger from gemfile
- Add casting to dates and integers when you specify the :type attribute on a terminology node
- Integration spec to illustrate selective querying.
- Add #use_terminology and #extend_terminology methods to extend existing OM terminologies
- Delegate all methods on the dynamic node to the found values
- Allow arrays to be set on dynamic nodes
- HYDRA-657 OM Terms that share a name with methods on Nokogiri Builders have incorrect builder templates
- HYDRA-674 XML Builder templates incorrect for :none attributes
- HYDRA-742 Can’t modify frozen string (parameters in rails 3.2, when using ruby 1.9.3)
- HYDRA-737 OM tests fail under ree 1.8.7-2011.12 (Fix also applies to ruby 1.8.7-p357)
- HYDRA-358 Added support for namespaceless terminologies
- HYDRA-415 [https://jira.duraspace.org/browse/HYDRA-415] Fixed insert of attribute nodes
- update to rspec2
- compatibility fixes for ruby 1.9
- RedCloth updated to 4.2.9
- Replace local ‘delimited_list’ logic with
Array#join
- HYDRA-681 https://jira.duraspace.org/browse/HYDRA-681 Om was calling
.dirty
when updating nodes, it should only do that when it’s operating on aNokogiri:Datastream
- HYDRA-682 https://jira.duraspace.org/browse/HYDRA-682 Om first level terms support update
- HYDRA-667 Fixed bug where updating nodes wasn’t marking the document as dirty
- Added dynamic node access DSL. Added a warning when calling an index on a proxy term.
- Document automatically includes Validation module, meaning that you can now call .validate on any document
- TerminologyBuilder.root now passes on its options to the root term builder that it creates.
- NamedTermProxies can now point to terms at the root of a Terminology
- Added OM::XML::TemplateRegistry for built-in templating and creation of new XML nodes
- HYDRA-395: Fixed bug that prevented you from appending term values with apostrophes in them
- HYDRA-371: Provide a way to specify a term that points to nodes where an attribute is not set
Add support for this syntax in Terminologies, where an attribute value can be :none. When an attribute’s value is set to :none, a not() predicate is used in the resulting xpath
t.computing\_id(:path=\>“namePart”, :attributes=\>{:type=\>:none})
will result in an xpath that looks like:
//namePart[not(@type)]
namePart[not(@type)]
- HYDRA-329: Allow for NamedTermProxies at root of Terminology
Stable release
- Improving generation of constrained xpath queries
- Improving support for deeply nested nodes (still needs work though)
- root_property now inserts an entry into the properties hash
- added
.generate
method for building new instances of declared properties - refinements to accessor_xpath
- made attribute_xpath idempotent
- added accessor_generic_name and accessor_hierarchical_name methods
- changed syntax for looking up accessors with (optional) index values — no using [{:person=>1}, :first_name] instead of [:person, 1, :first_name]
- RENAMED to om (formerly opinionated-xml)
- broke up functionality into Modules
- added
OM::XML::Accessor
functionality
- Note: OX v.1 Does not handle treating attribute values as the changing “value” of a node