* Added automatic handling in `ldc.py` for handling records with no explicit introduction. * Suggested use of `pipx` instead of pip if you only want the utilities * Documentation cleanup.
* Allow an override on upload to force a particular mimetype * TSVs can have custom paths so that destination file trees can be made on the fly * Typo <strike>correcshuns</strike> corrections
* `dataverse_utils.dvdata.Study` objects now have `source_version` and `target_version` keys.
* Class method`dataverse_utils.dvdata.Study.get_version` will retrieve a target's Dataverse version.
* `dataverse_utils.dvdata.Study.fix_licence` will replace formerly correct licence type `'NONE'` with `None` for compatibilty with Dataverse v5.10+.
* `dataverse_utils.dvdata.Study.production_location` will change `productionPlace` multiple value to `True` and convert `value` to `[value]` for compatibility with Dataverse v5.13+.
* `dataverse_utils.dvdata.Study.set_version` with call to target url method will create (hopefully) correct upload json.
* `dv_study_migrator` now uses these methods from `dataverse_utils.dvdata.Study`.
* `dv_study_migrator` checks for Dataverse target version and (ideally) handles licence uploads correctly. That is, there will be "Custom Dataset Terms" plus the terms of use when migrating data from another instance.
* New script `dv_study_migrator` can transfer metadata *and* files between dataverse installations * **dataverse_utils.upload_file** now has customizable timeout, labels, etc. * `dv_record_copy` has corrected documentation