Releases: sassoftware/saspy
Releases · sassoftware/saspy
V4.7.0
[4.7.0] - 2023-02-08
Added
Changed
Enhanced
The estimate
statement in at least some procs is allowed to be specified more than once, unlike most proc statements.
There was previously no support for generating a given statement more than once. Estimate= now allows a list of strings and will generate
an estimate statement for each string in the list.
Fixed
Fixed
symget(name) returns &name
if the marco isn't defined, which is what SAS prints out. So I fixed symget to issue symexist
first and if not defined issue a warning and return None, which is what it should have been doing all along.
Removed
V4.6.0
[4.6.0] - 2023-02-01
Added
Added
@dmsenter89 added support for Proc MI in the SASStat package. Also, added tests for this in the Stat testing file.
Changed
-
Enhanced
Made a significant performance improvement in the IOM Access Method with reading the log back from the SAS session.
-
Enhanced
@ShuguangSun enhanced the run_sas script to support executing multiple scripts in one call
Fixed
-
Fixed
@dmsenter89 Fixed a number of things with Proc code generation for methods in the SASStat package and some minor things for all
analytic methods. Fixed statements for Proc Factor.
-
Fixed
@dmsenter89 Fixed a number of things in the Stat testing file.
Removed
V4.5.0
[4.5.0] - 2023-01-12
Added
Enhanced
Added support in the HTTP Access Method for if there's a proxy server set up to get to the actual Viya deployment.
There's a new proxy
keyword in the config used to provide 'host:port' of the proxy.
Changed
Fixed
Removed
V4.4.3
[4.4.3] - 2022-12-23
Added
Changed
Fixed
Fix
The changes for the last release caused one issue w/ unverifiable certificates, where the error isn't
thrown when the connection is created, needed to add a connect() call at that time to catch the error; that was happening
before, in a call I moved till later, which is why the error wasn't being caught on the creation where I was checking for it.
Again, no coding chages for anyone, just made it throw the error where I was checjing for it.
Removed
V4.4.2
[4.4.2] - 2022-12-23
Added
Changed
Fixed
-
Fix
I caused a regression with Viya 3.5 from having to rework authentication due to chages in
Viya 4. This fixes that and requires no coding changes. This fixes issue #500
-
Fix
I fixed another issue with the same reworking as above that presented in another specific
case. This fixes that and requires no coding changes. This fixes issue #503
Removed
V4.4.1
[4.4.1] - 2022-12-01
Added
Enhanced
I added a number of security type enhancements to the repo; none of which has to do with
how the code works, and requires no code changes. This was all based upon OpenSSF best practices for
Cybersecurity regarding open source repos. You can see the new badge on the home page: in the README.
Changed
Fixed
-
Fix
I made a fix to the IOM access method based upon a vulnerability scan from the newly added SAST
tool that was part of the Security based enhancements added to the repo. This requires no code changes.
-
Fix
I made a fix for the SAS_kernel, which depends upon SASPY to do the work interacting with SAS.
There was a breaking change in the Kernel interface regarding prompting. I fixed it so it still works
with previous versions (of course; no breaking changes for my customers!), as well as with the new api.
This fix addresses SAS_kernel issue sassoftware/sas_kernel#83
Removed
V4.4.0
[4.4.0] - 2022-11-14
Added
Enhanced
@rayewright added a half dozen more ML procs to the sasViyaML package for Viya.
Changed
-
Enhanced
Added documentation specifically identifying datatype conversions between SAS data Sets
and Pandas dataframes; both directions. This was added in the AdvancedTopics section of the doc and the other
couple parts of that section also about data movement were moved to all be contiguous and thus make all more
clear. No code changes, just documentation.
-
Enhanced
Added documentation for the IOM access method regarding authentication. The Configurations
section already specifies how to authenticate with different means, but now there's a part of the doc explicitly
identifying which methods are supported and the one method that is not supported; SAS Token Authentication.
-
Enhanced
@andyjessen cleaned up some links in the doc that were still referring to master instead of main
for the branch they linked to.
-
Enhanced
The HTTP access method, to Viya, requires a valid authentication token be passes to every request.
This token is acquired when calling SASsession(). This token had been set to expire after 10 hours. Viya has been changed
to have these tokens expire after 1 hour, so to keep this from causing problems for SASPy sessions, which can be
interactive and last much longer than one hour, I've added support to reauthenticate and get a new authtoken prior
to the current one expiring. This happens as long as the SASsession object is valid and connected. There are no coding
changes required in user code. This should all just happen under the covers with no requirements on the user or program.
I did add a method for explicitly refreshing the authtoken, but that should not be required at any time. But, it may
be of use as a diagnostic in the field if there are ever issues reauthenticating. So, again, no code changes required.
Fixed
Removed
V4.3.5
[4.3.5] - 2022-10-17
Added
Changed
Tweak
Had a PR with fixes to Doc; mostly typos and consistent use of terms. Also fixed a broken link.
Fixed
-
Fix
Fix for leaked resources. The pipes that are created between subprocess and Python were not being
released prior to subtask termination. This results in a resource leak that is identified when running with
settings that report these issues. I clean this up in both the IOM and STDIO access methods, they each had
similar concerns. No programming changes required.
-
Fix
Fix for issue 487 where, in the df2sd() method, there was data that contained the data step
termination string which resulted in the data step, which was retrieving the data and writing it to the SAS
data step, terminating prior to processing all of the data and then SAS would take the rest of the stream
as SAS code, which fails miserably and consumes memory with all of the errors going to the log. It also
terminates the connection to the client. I've also added code in the java client to catch this kind of
failure so it wouldn't hang, like it was. So this is addressed and fixed in this release, and requires no
programming changes.
Removed
V4.3.4
[4.3.4] - 2022-10-05
Added
Changed
Tweak
I'm moving to a newer dev environment; newer OS version, newer Python version, and all the newer modules, ...
Using Sphinx to build the doc fails with this newer version, so I've had to tweak and reworks things to get the doc to build
with this newer version of evrerything. So, there were a lot of minor adjustments pushed to accomodate this. It's all working
and, of course, requires no programming changes due to any of this. A plus is that now the index, shown on the left side of the
page, finally has links to the individual methods, in the API section of the doc! This is a welcome enhancement.
Fixed
-
Fix
Fix for issue 480 was in the last version. That issue was a discrepency with how Python on MacOS works compared to
any other operating system. I've had to implement workarounds for Mac Python for a number of issues in the past. This release
has a couple more workarouds for problems with the Mac version of Python too. These are in the IOM access method, whereas the
last versions fix was in the STDIO access method. Again, no programming changes required.
-
Fix
All of the analytic methods correspond to some SAS Procedure. Each method is one analytic PROC. The code that generates
the PROC syntax for all of tese methods is a bit convoluted. While fixing the method signatures for the doc building issues,
last release, I noticed that if the USER librfer is assigned, then none of the analytic method work. I've worked through that code
to resolve this, so in this release, that problem is fixed and they all work as they should have regardless of is USER is assigned
or not.
Removed
V4.3.3
[4.3.3] - 2022-09-26
Added
Changed
Tweak
The analytic methods all take a SASdata object, or the name of a SAS dataset (str). The method signatures used
['SASdata', str] to represent either/or, not a list. The current Spinx doc build no longer allows that and doesn't generate
signatures, so I hade to replace the [] with (). No programming changes, just a tweak to get the doc to build right with the
newer version of Spinx.
Fixed
Fix
Fix for issue 480. No programming changes required.
Removed