# RCSB_UTILS_IO HISTORY

25-Aug-2018  - Split off from py-rcsb_db
26-Aug-2018  - V0.11 Tweak testing configuration
 6-Oct-2018  - V0.12 Add convenience methods to IoUtils()
10-Oct-2018  - V0.12 Change default encoding for list files to utf-8
12-Oct-2018  - V0.13 Adjustments for Py27 encoding compatibility
13-Oct-2018  - V0.14 Simplify list serialization to avoid Py2-3 encodiing differences
13-Oct-2018  - V0.15 Overhaul Py2-3 encoding for lists.
25-Oct-2018  - V0.16 Update testing environment and dependencies
26-Oct-2018  - V0.17 Add additonal JSON encodings for YAML mapping data types
25-Nov-2018  - V0.18 Add support for FASTA format
 1-Dec-2018  - V0.19 Add support for CSV and related delimited row formats
11-Dec-2018  - V0.20 Add comment filtering on input for CSV files
 6-Feb-2019  - V0.21 Add support for gzip compression as part of serializing mmCIF files,
                     add vrpt-xml-to-cif option and supporting method __deserializeVrptToCif()
 6-Mar-2019  - V0.22 Update installation dependencies and documentation
 9-Mar-2019  - V0.23 Add implementations for stubbed out remote access.
 9-Mar-2019  - V0.24 Add URL locator test and import fix to resolve PY27 compatibility issue.
10-Mar-2019  - V0.25 Add FileUtils.exists() method
16-Mar-2019  - V0.26 Add class UrlRequestUtil() with general wrappers for common get and post
                     methods and associated tests.
17-Mar-2019  - V0.27 Return HTTP response codes in UrlRequestUtil() methods.
24-Mar-2019  - V0.28 Suppress error message on missing validation report file.
25-Mar-2019  - V0.29 Expose comment processing for csv/tdd files as keyword argument
 2-Apr-2019  - V0.30 Add comment option and compression handling to __deserializeList()
19-Jun-2019  - V0.31 Address linting issues and and adjustments for multi-type return values.
11-Jul-2019  - V0.32 add explicit py2 safe file decompression to avoid encoding problems
25-Jul-2019  - V0.33 Try to improve retention of ordering for json load
 9-Aug-2019  - V0.34 Added retry for all url or service requests
10-Aug-2019  - V0.35 Incorporate ElementTree parser for XML deserializer
11-Aug-2019  - V0.36 Migrate compress/uncompreess and toAscii methods
                     from IoUtil to FileUtil. In FileUtil, add __extractZipMember() method.
                     Add retry support for __fetchUrlx(). Replace urlibx version of __fetchUrlx
                     with a version that depends on  requests module to better support
                     redirection and authentication.  Add further unit tests for FileUtil.
12-Aug-2019  - V0.37 Add modules CryptUtils and testCryptUtils.
13-Aug-2019  - V0.38 Add support for multipart serialization/deserialization
14-Aug-2019  - V0.39 Add methods for making working directories
29-Aug-2019  - V0.40 Fix py27 compatibility issues
 4-Sep-2019  - V0.41 Add common json numpy type encodings
18-Sep-2019  - V0.42 Add IoUtil() method deserializeCsvIter()
18-Sep-2019  - V0.43 remove return in the generator method for Py27
18-Sep-2019  - V0.44 Adjust testing timeout.
 7-Oct-2019  - V0.45 Adjust error handling in FileUtil()
27-Oct-2019  - V0.46 Add multiprocessor timeout decorator
29-Oct-2019  - V0.47 Add signal timeout decorator
20-Nov-2019  - V0.48 Add support for user supplied alternative delimiters, upgrade to py38
16-Dec-2019  - V0.49 Expand the exceptions for retry() on urlrequest get and post
25-Jan-2020  - V0.50 Add module ExecUtils() subprocess execution wrapper.
29-Jan-2020  - V0.51 Add encoding options for json serializer and xml deserializer
 1-Feb-2020  - V0.52 Add utility function getObjSize()
 3-Feb-2020  - V0.53 Update dependencies
10-Feb-2020  - V0.54 Add module TimeUtil()
17-Feb-2020  - V0.55 Add remove methods.
19-Feb-2020  - V0.56 Adjust failover processing for url fetches.
14-Mar-2020  - V0.57 Change policy to always precheck and create missing paths.
18-Apr-2020  - V0.58 Add feature to catch specified HTTP error codes in UrlRequestUtil()
18-Apr-2020  - V0.59 Adjustments for Py27 compatibility
18-Apr-2020  - V0.60 Further adjustments for Py27 compatibility
24-Apr-2020  - V0.61 Add return type processing in UrlRequestUtil() and undecorated method entry points.
 8-May-2020  - V0.62 Add default comment parser as a fallback for the FastaUtil()
13-May-2020  - V0.63 Update test cases for py 2.7.18.
26-May-2020  - V0.64 Adding timeout and user agent for url fetchs
28-May-2020  - V0.65 Add alternative URL fetch methods using requests module
 4-Jun-2020  - V0.66 Add public bundle and unbundle tar file methods in FileUtil()
 5-Jun-2020  - V0.67 Add sftp client class SftpUtil() and tests.
 9-Jun-2020  - V0.68 Documentation updates and some additional pre-checks for path existence prior to copy operations.
19-Jun-2020  - V0.69 Exposing comment parsing methods in FastaUtil().