v1.4.0, 07/21/23 -- add get_data_types function that maps symbol name to gdx.GamsDataType; 
                    add load_set_text kwarg to gdx.GdxSymbol.load, to_dataframe, and to_dataframes
v1.3.0, 05/09/23 -- performance improvements (faster read and write)
                    GAMS directory finder improvements
                    documentation improvements
                    skip over individual GdxSymbols that fail to load
                    drop support for Python versions < 3.7
                    various minor improvements and bug fixes                                        
v1.2.0, 09/18/20 -- search for GAMS in more places, especially on Windows
                    gdxpds.gdx.GdxSymbol.unload method for user-directed memory managment
                    convenience functions gdxpds.gdx.append_set and append_parameter
                    special value handling moved to its own module
                    clarifying that Python 2.X is not longer supported
                    general documentation, pylint, and testing improvements
v1.1.0, 10/09/18 -- fixes to_dataframes and to_gdx memory leaks, respects 
                    GAMS_DIR environment variable, additional bug and warning 
                    fixes. GdxSymbol.dataframe can now be set just using the 
                    GdxSymbol.dims columns; in that case the value columns are 
                    filled in with defaults
v1.0.4, 03/02/18 -- make sure set 'Value' column fix works even when dims are all named '*'
v1.0.3, 02/15/18 -- fix up set 'Value' column when write to GDX
v1.0.2, 01/19/18 -- instructions and additional filepaths for running pytest on 
                    installed package
v1.0.1, 09/12/17 -- workaround bug fix for library conflicts between gdxcc and pandas 
                    on some Linux systems
v1.0.0, 09/07/17 -- complete rewrite of gdx file api; new GdxFile and GdxSymbol objects
                    dimension names are imported as DataFrame column names by default
                    conversion between GDX and numpy special value encodings
v0.6.0, 04/19/17 -- now works with Python 2 and Python 3
v0.5.3, 01/17/17 -- fixing bugs related to non-standard indexes and scalars
v0.5.2, 01/12/17 -- fixing bug related to divide by zero error for reading empty symbols
v0.5.1, 01/10/17 -- fixing bug with writing dataframes without 0 in the index
                    fixing up dependency issues #4 and #5
v0.5.0, 09/23/16 -- can save sets and scalars to gdx
                    debug statements and post-load garbage collection related to #1
v0.4.1, 10/30/15 -- enable GamsDirFinder to work on posix systems (#2)
v0.4.0, 07/24/15 -- add license and release on github.com
v0.3.0, 12/30/14 -- add improved version of gdxdict.py to package
                    add lazy_load to read_gdx.Translator (uses gdxdict.gdxdict's new lazy_load)
                    add list_symbols and to_dataframe read methods
v0.2.0, 11/17/14 -- preserve case sensitivity in data labels
                    document DataFrames assumptions - #3
                    make 'value' label check more lenient
                    some RuntimeErrors were constructed without being raised - #2
v0.1.0, 10/21/14 -- initial release
