# Version 2.3.0

## Bug Fixes

* Fix documentaion links and cross-references (#306)
* isCertExpired() test produces timezone mismatch warning (#304)
* Fix windows TLS error by forcing TLS 1.2 client side (#308)

# Version 2.2.2

## New Features and functions

* Remove hash dependency (#293)
* Add support for new method signature for D1Client (#252)

## Bug Fixes

* Ensure rightsHolder persists when uploading a data package (#292)
* Fix bug where 'publc = TRUE' argument did not set public read on all objects (#285)
* Account for edge case errors in 'archive()'

# Version 2.2.1

## New Features and functions

* The 'lazyLoad' behavior for 'getDataObject()', 'getDataPackage()' has changed (#258)
* Use 'SHA-256' checksum for sysmeta/object uploads (#257)
* UploadDataPackage now supports 'common' objects (#251)
* Create packages with uniform checksum (#261)
* Update tests for compatibility with testthat 3e (#260)
* Query results returned 'as=data.frame' now contain Solr multi-valued fields as R lists (#250)

## Bug Fixes

* Fixed bug where uploading modified 'metadata-only' package causes error (#256)
* Fixed bug where private content could not be accessed with `getChecksum()1 (#262)

# Version 2.1.5

## New Features and functions

* Disabled potentially long running unit tests performing network operations when on CRAN (#248)
* Reviewed/updated the use of test environments in the unit tests (#160)
* Reduced test dependencies on test CN environments (#157)

## Bug Fixes

* Fixed confusing error message on incorrect D1Client call (#203)

# Version 2.1.4

## New Features and functions

* Mark deprecated function as defunct (#240)

## Bug Fixes

* Fix CRAN check warnings for dataone 2.1.3 (#241)
* Remove knitr/RDS dependency on R 3.5 (#245)
* Fix getDataPackage() failing with "subscript out of bounds" (#243)
* Fix roxygen2 errors related to function arguments (#241)

# Version 2.1.3

## New Features and functions

* Ensure that DataONE network errors don't cause the package checks to fail (#238).

# Version 2.1.2

## Bug Fixes

* Improve error handling for services that call DataONE 'resolve' service (#232)
* Eliminate duplicate entries for package vignettes (#232)

# Version 2.1.1

## Bug Fixes

* Resolve temporary directory problem on Windows (#204)
* Fixed broken links in the 'dataone-overview' vignette (#205)
* Declare 'xml2' package to resolve CRAN build errors (#218)

## New Features and functions

* Added a destination file path argument to getPackage() (#211)
* downloadObject() provides an easy way to download files from DataONE to disk (#217)

# Version 2.1.0

## Bug Fixes

* Fixed bug where query() was incorrectly converting date results (#174)

* Fixed bug where query() was returning incorrect results for multi-valued Solr fields (#179)

* Fixed bug where createObject() was not uploading in-memory objects correctly (#198)

## New Features and functions

* Updated methods to aid in downloading, editing and updating packages in DataONE (#175)

* Added getMetadataMember() to identify the metadata object for a DataPackage (#175)

* Updated getPackage() to accept pids for data or metadata object (#178)

* The resource map for a package now sets the default name (sysmeta.fileName) based on the metadata pid (#195)

# Version 2.0.2

## Bug Fixes
* Fixed a problem where the unit tests were failing due to an incompatibility with 
  testthat 1.0.2. All unit tests are now passing with testthat 1.0.2. (#171)
  
* uploadDataPackage() now uses the @cn slot to set the value for
  the default resolveURI (#170)
  
* All methods that send a PID to DataONE now property URLencode
  the PID. (#163)

# Version 2.0.1

## Bug Fixes

* The unit tests were dependent on unstable development machines
  and would fail if these machines were not available, not configured
  correctly, or did not contain expected content. This dependency has been
  resolved.

# Version 2.0.0

## New features and functions

* Complete rewrite of the package, eliminating all dependencies on Java

* Support for the DataONE v2 API, as well as the existing v1 API

* DataONE authentication tokens are supported for any DataONE node
  that has implemented the DataONE v2 API (https://purl.dataone.org/architecture).
  Tokens are supported in both the production and test environments.

## NEW S4 CLASSES

* Class CNode - provides methods to search, get and send data to a DataONE Coordinating Node

* Class MNode - provides methods to search, get and send data to a DataONE Member Node

* Class D1Client - provides a higher level methods to interact with DataONE
  Coordinating Nodes and Member Nodes
  
* Class AuthenticationManager - provides methods to obtain information about
  DataONE authentication tokens or certificates 
