This release contains a workaround for a bug that is in SAS 9.04 M5 (Maintenance 5). This bug in SAS affects the sd2df methods of saspy. The data step code that is generated by these methods (MEMORY and DISK), can be affected by this bug, when the SAS session is running in a mutibyte encoding and the data has mutibyte character data. Single byte SAS sessions are not exposed to the bug. The CSV method of sd2df generates Proc Export code, but proc export generates data step code, which may or may not be affected by this bug.; again, only with mutibyte data. At the time of this writing, there is not a hotfix available for M5, so this release of saspy has the following to work around this problem.
saspy will check the version of SAS that it connects to and the encoding that SAS session is running in. If it is M5 and a multibyte encoding, a note will be issued and a configuration option, 'm5dsbug', will be set to True. This option causes alternate data step code to be used in the MEMORY and DISK versions of sd2df. This option can be set explicitly in the configuration definition, or specified on the SASsession method, like any other config option. If set, no message will be displayed and the setting (True or False) will be honored. If/when a hotfix is available for SAS, and applied, you can set m5dsbug to False and everything will behave as before. If you run M5 in a multibyte encoding but only have single byte data, you can set it to False also, as the bug only happens with multibyte data. This problem was found when tracking down Issue #274