Version 0.19
o the internal DDI structure is now defined as an updateable cache
o bug fix importing a DDI Codebook wih a separate CSV file
(thanks to Pyry Kantanen for the report)
o argument "csv" in function convert() can also be set to a logical
value when argument "embed" is set to FALSE, when converting to
DDI Codebook .xml files
o argument "file" rename to "to" in function exportDDI()
o function exportDDI() renamed to exportCodebook()
o function getMetadata() renamed to getCodebook()

Version 0.18
o bug fix converting to Excel
o bug fix in globalAttributes() checking for optional and recommended
o bug fix in updateCodebook() properly detecting the "xml:lang" attribute
o variable IDs are preserved if found, when converting to DDI

Version 0.17
o added pre-final DDI Codebook 2.6 elements
o major upgrade, a whole series of new functions
o refactored function exportDDI()
o removed arguments "declared", "save" and "OS" from function getMetadata()
o new argument "ignore" added to function getMetadata()
o make_labelled() renamed to makeLabelled() for a consistent namespace

Version 0.16
o maintenance work to comply with the CRAN related issues generated by the
new behavior of the base function is.atomic()

Version 0.15
o exporting to SAS .xpt files uses a default version 5, since the haven
default version 8 does not seem to work
o tagged NAs no longer automatically deactivate the argument "declared" in
function convert()
o refactored and improved function recodeMissings()
o reached half of the functions with full coverage

Version 0.14
o package documentation system converted to roxygen2
o argument "codebook" renamed to "obj" in function setupfile()
o when a path to a single file is provided, setupfile() outputs in the same
directory, otherwise in the current working directory
o improved, corrected and finally tested setup file for SAS
o the "<notes>" element in the DDI XML file is now augmented with two
attributes "level" and "subject" to differentiate it from other possible
"<notes>" elements and make it obvious this one contains the CSV dataset

Version 0.13
o new argument "stringnum" in function setupfile()
o the R data frame gains a new attribute "stdyDscr" when importing from DDI
o bug fix importing from DDI with external .csv file
o function convert() now recognizes ".zsav" as SPSS input file
o fixed situation with input files containing multiple dots
o function recodeValues() renamed to recodeMissings()

Version 0.12
o exporting to Excel creates new sheets containing metadata information
about the variables and their values
o new argument "encoding" in functions convert() and getMetadata()
o new argument "recode" in function setupfile()
o new argument "csv" in function convert()
o fixed varFormat when exporting to DDI
o convert() now correctly returns a tibble when the input is a DDI codebook,
and the argument "declared" is deactivated
o convert to and from SAS transport files
o metadata is now (also) collected from factor levels, for R data frames
o converting to SAS automatically creates a catalog file, next to the datafile
o new function recodeCharcat() to recode character categorical variables to
numeric categorical variables
o argument "chartonum" moved from function recodeValues() to function convert()

Version 0.11
o new argument "xmlns" in function exportDDI(), to allow creating XML files
using a namespace
o new argument "..." in function exportDDI(), to accept more incoming options
o improved setup file to import .csv file into R

Version 0.10
o new arguments "monolang" and "xmlang" in function exportDDI()
o removed formal argument "embed" from function convert(), but it is still
possible to be used via the "..." and automatically passed to exportDDI()
o more validation checks when converting to DDI Codebook

Version 0.9
o added the necessary "ddi:codebook:2_5" statement to the xsi:schemaLocation
in the codebook, to validate the resulting DDI .xml file
o updated the documentation of function convert() to explain how to use the
argument "user_na" from function read.spss() in package haven
o new argument "recode" in function convert(), to allow users to control
if the Stata missing values get recoded to actual numbers
o function recodeMissing() renamed to recodeValues()
o improved function setupfile(), now accepting datafiles as input
o more integration with read / write functions from package haven
o multiple improvements and bug fixes to the internal code

Version 0.8
o fixed bug exporting invalid DDI .xml files
o fixed bug exporting declared missing values to Excel
o new logical argument "declared" in function convert() allowing users to
control if variables in converted objects will have the class 'declared'

Version 0.7
o proper production of setup files due to changing the codeBook structure
o modified convert() for objects of class 'declared', to avoid a bug in
package ReadStat that prevents exporting missing values to SPSS for
integer variables
o sync-ed with the latest version of package admisc

Version 0.6
o function convert() now invisibly returns the imported data
o function convert() now accepts Excel files for both input and output
o improved function exportDDI(), now correctly using special characters
o when converting to R objects, variables are automatically coerced
to declared labelled objects (see package declared for details)
o updated code to the latest version of package haven, and (consequently)
removed argument "binpath" from function convert()
o new function recodeMissing()

Version 0.5
o fixed bug in make_labelled() when a variable is character,
yet the value labels and the defined missing values are numeric
o various other improvements to internal functions

Version 0.4
o improved function convert() for speed
o sync-ed with the latest version of package admisc

Version 0.3
o new function convert(), to convert from one statistical package to another
o new function exportDDI(), for DDI codebook version 2.5
o new function getMetadata(), to extract metadata information from
statistical package files (such as SPSS or Stata)
o replaced package XML with package xml2
(thanks to Ruben Arslan for the suggestion)
o changed the design of the R setup file, employing labelled variables
o R package haven is now used to deal with missing values and missing ranges
o removed formal arguments "delim", "miss", "trymiss", "uniqueid" and "SD"
from function setupfile()
o improved code for the SAS setup files
o various bug fixes in function setupfile()

Version 0.2
o better arrangement of missing types in the R commands
o some improvements in the R code generation
o improved SAS setup file (thanks to Alexandre Kych)
o the package now reads both ".csv" and ".csv.gz" files
o new internal function getDelimiter() to try identifying the .csv column
separator
o fixed a small bug preventing the identification and formatting of string
variables in SPSS
o fixed a bug dealing with missing values for SPSS setup files

Version 0.1
o R and SAS versions are now produced, in addition to SPSS and Stata
o additional argument "saveFile" to function getMetadata()

Version 0.0-7
o fixed a small bug in setupfile()
o argument "outfile" not mandatory anymore

Version 0.0-6
o new function getMetadata() that reads an .xml file and produces the
relevant .R metadata file
o setupfile() now automatically detects .xml file(s) and uses the
getMetadata() function to use the DDI metadata from the XML files.

Version 0.0-5
o setupfile() now accepts csvfile as a path to the csv data
o argument "csvfile" renamed to "csv"
o all created setup files are saved in the current directory, in the
"Setup files" (created) folder

Version 0.0-4
o Various bug fixes, thanks to Sebastian Kocar

Version 0.0-3
o Better detection for ranges of missing values

Version 0.0-2
o Added batch mode support
o Reading .csv files now automatically detects three different delimiters:
"," or ";" or tab separated files.
o There is additional information for the user, indicating which variables
in the .csv file do not have any metadata information, or if there is
metadata for variables not existing in the .csv file.
o A warning is given if there is no header first row in the .csv file
o The "." sign to represent a missing is now detected and a NOTE is printed
on the screen.
o For the SPSS setup file, not more than 3 distinct missing values are allowed.

Version 0.0-1
o First version of the package