SAS Packages Framework, version 20251126
Changes:
- Automatic documentation generator in the %generatePackage() macro can now exclude files generated by `%splitCodeForPackage()` macro.
SAS Packages Framework, version 20251122
Changes:
- When a package is generated with the `%generatePackage()` macro, additional info about operating system and SAS release are added to the help notes.
- Documentation updated.
The SQLinDS package [ver. 2.3.1]
Package regenerated with SAS Packages Framework, version 20251122. No functional changes, documentation cleaned up.
The BasePlus package [ver. 3.1.1]
Update:
- Minor updates `%dirsAndFiles()` macro.
- File SHA256: `F*6394CE27FBCF48D475F682CBCF8CA8B4FDD6D40D2672EF571F4A561BDDF274A6` for this version
- Content SHA256: `C*3CA28DF8F3E6D6670D7FD44788D347452F24F4BCF18115873E7EBC742FE30CA4` for this version
The BasePlus package [ver. 3.1.0]
Update:
- Update in macro `%findDSwithVarVal()`. To handle bigger range of engines, when a library is assigned with different engine than: "BASE","SPDE","V6","V7","V8","V9","CVP" observation number is not returned.
- File SHA256: `F*9FFBC40A2B7FC51161C7D6D120DADC3ACEF8087E4EB43BB1A3F0FBC1F1CBD5AC` for this version
- Content SHA256: `C*76C55A9F392EAB938D199144CC834EF332CD78BA8B98565FA003DEA509A33A3E` for this version
SAS Packages Framework, version 20251017
Changes:
- New parameters `workInTestResults=` and `testWorkPath=` added to the `%generatePackage()` macro.
- Documentation updated.
The BasePlus package [ver. 3.0.0]
New:
- New utility macro `%workLib()`, created in collaboration with Ryo Nakaya, added.
- File SHA256: `F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D` for this version
- Content SHA256: `C*680412F6B403870A3A8975FC17300F7C92AEDECA48D3F242B5BC4E545DC6D313` for this version
The BasePlus package [ver. 2.4.1]
Fix:
- Fix engine recognition code in `%splitDSintoBlocks()` macro.
- File SHA256: `F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C` for this version
- Content SHA256: `C*27861ABABB412E8229FE25CD5EEA868F49BB3CBD805CCE65F321ADBC522FAC4E` for this version
The BasePlus package [ver. 2.4.0]
Changes:
- new parameter `backslashSens=` added to the `%dirsAndFiles()` macro.
- File SHA256: `F*19FE220C82DE4B9990B4AC352A9D9DEF5FAF2FD601BE756B2F3A2AC39CDAF381` for this version
- Content SHA256: `C*83DEF0C93481B1C77494531E5CE9F8EB8E4C15AB3CC48D1E9C0223C13A84DB3F` for this version
The BasePlus package [ver. 2.3.1]
Changes:
Fix in log notes produced by `%getVars()` and `%QgetVars()`.
- File SHA256: `F*B2D318DD9708D74E5A7C419F7CAE1BF46D662B7F6AEE7E6B1B9D9B6858A5C41A` for this version
- Content SHA256: `C*C34B47FDC4A22C5F5EACA087FA5308B97C367E8B7C32C5B28D37B491C6DAA9A3` for this version
# The BasePlus package [ver. 2.3.0]
- File SHA256: `F*71DC1AFA709B2977E8AEA452721776F62EEC8240ABD658AC83AA6D4310FC49B6` for this version
- Content SHA256: `C*9CEDE8C64D2C619EBC27AC85B4904D2CE2423C832C6C313E526946FC1417EFD1` for this version
---
### Changes:
Update in macros:
- `%getVars()` and `%QgetVars()`
- New *optional* parameter `nlit=`. Introduced to improve `validvarname=ANY` handling. Indicates if the `NLITERAL()` function should be executed to cover spacial characters. Default value is `0`.
- Code simplification for the `mcArray=` parameter case.
- Situation when the `%getVars()` macro is called with `mcArray=` in `%put` or `%let` statements is handled more gracefully.
- `%zipEvalf()` and `%QzipEvalf()`
- If the list contains quoted blanks, they are respected now, i.e. `a "b c"` are considered 2 strings, `a` and `b c`.
See documentation for details.
---
SAS Packages Framework, version 20250728
Changes:
- The `mirror=3` parameter in the `%installPackage()` macro allows access `https://github.com/PharmaForest/`.
- Values `SASPAC` and `PharmaForest` are accepted by the `mirror=` parameter in the `%installPackage()` macro.
- Documentation updated.
SAS Packages Framework, version 20250710
Changes:
- Framework's code cleanup: all uses of the autocall `%lowcase()` macro were removed or replaced by `%sysfunc(lowcase(...))` call.
- Formatting of the default MIT license text in the `%generatePackage()` macro was changed.
- The `sourcePath=` parameter in the `%installPackage()` macro now allows both quoted and un-quoted address.
- Documentation updated.
SAS Packages Framework, version 20241207
Changes:
- New parameter `instDoc=` in the `%installPackage()` macro allows to download (if one is available) the `.md` documentation file for a package.
SAS Packages Framework, version 20241102
Changes:
In the `%loadPackage()`, the `%ICEloadPackage()`, and the `%loadPackageAddCnt()` macros version of a package can be provided with a comparison condition.
If the required version is provided with a comparison operator, e.g., `<=`, `=`, or `>`, then the operator is used to compare `required` and `provided` versions.
The following example:
```sas
%loadPackage(myPackage
,requiredVersion=1.2.2=
)
```
will force to load the package only if the required version is exactly equal to the provided one.
Comparison is done in form "`req. comparison prov.`".
Documentation and HoW-materials updated.
#SAS Packages Framework, version `20241014`
## Changes
---
The [%generatePackage()]{https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#generatepackage} macro accepts two new code types:
- `DS2PCK` for Proc DS2 packages, and
- `DS2THR` for Proc DS2 threads.
Those two new types allow to add `PROC DS2` *threads* and *packages* to a SAS package.
---
The [%loadPackage()]{https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#loadpackage} macro has new parameter:
- `DS2force` - when set to `1` an existing data set named the same as thread or package is overwritten by DS2 file.
While loading a package that contains `PRCO DS2` code, by default, if there already exist a SAS data set with the same name (which is not a DS2 thread or package file) a warning is issued in the log and the thread/package data set is not generated. To force overwrite, set the `DS2force=` parameter of the `%loadPackage()` macro to 1.
---
Minor updates and fixes:
- Proc `sql` "drop table" replaced with `fedsqsl`'s for data sets deletion.
- Proc `iml`, `fcmp`, and `proto` code blocks end with `quit;` statement.
---
[Documentation]{https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation} and [Hands-on-Workshops materials]{https://github.com/yabwon/HoW-SASPackages} updated.
---
## SAS Packages Framework, version `20240927`
---
### Changes
- Aesthetic changes in log when running the `%installPackage()` macro, notes about successful/failed installation.
- New parameter `SFRCVN` added to the `%installPackage()` macro, `SFRCVN` provides a *name* for a macro variable to store value of the *success-failure return code* of the installation process. Return value has the following form: `<number of successes>.<number of failures>` The macro variable is created as a *global* macro variable.
- Documentation updated.
---
## The BasePlus package [ver. 2.0.1]
This release is dedicated to all dyslexics in the world.
### Changes:
New macros:
- [`%expandDataSetsList()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#expanddatasetslist-macro) allowing to expand data set lists of the form: `a1-a3`, `b_:`, mixed, and `_all_`;
- [`%unifyVarsCaseSize()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#unifyvarscasesize-macro) allowing to convert all variables in a list of datasets to all-low-case or all-upcase letters.
Both macros are result of recent discussions at `SAS-L` and `communities.sas.com`.
New format/informats:
- [`bpklength.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bpklength-format)
- [`bplength.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bplength-format)
- Bug fix in spelling (`lenght` vs `length`).
See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details.
---
SHA256 digest for BasePlus: `F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609`
---
### Example 1. New macros.
~~~~sas
data a1 a2 a3 b_x b_y b_z;
set sashelp.class(obs=1);
run;
%put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#;
proc print data=a1;
proc print data=b_x;
run;
%unifyVarsCaseSize(work,a1-a3 b_:)
proc print data=a1;
proc print data=b_x;
run;
~~~~
### Example 2. New formats/informats:
~~~~sas
data _null_;
x = input('żółw', bpklength.);
y = input('żółw', bplength.);
put x= y=;
run;
~~~~
~~~~log
x=4 y=7
~~~~
## The BasePlus package [ver. 1.42.0]
### Changes:
New macro
[`%GenerateOneLiners()`](https://github.com/SASPAC/baseplus/blob/1.42.0/baseplus.md#generateoneliners-macro)
allowing to generate "one liner" functions of the form:
~~~~sas
%macro FUNCTION()/parmbuff;
%sysfunc(FUNCTION&syspbuff)
%mend FUNCTION;
~~~~
See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details.
---
SHA256 digest for BasePlus: `F*6012D1475AE22A4445C032D8EAE092BE515D8CD2AE390CC087F5987ACB8BCB13`
---
### Example
~~~~sas
%GenerateOneLiners(
listOfFunctions=SUM MEAN MEDIAN VAR
, prefix=_)
%put
%_SUM(1,2,3,4,5,6)
%_MEAN(1,2,3,4,5,6)
%_MEDIAN(1,2,3,4,5,6)
%_VAR(1,2,3,4,5,6)
;
~~~~
SAS Packages Framework, version `20240529`
Changes:
- aesthetic changes in log when running `%generatePackage()` macro,
- reshaped format of an automatic documentation header,
- and little bug fix for automatic documentation generation (for excluding file from documentation the `IN` operator should be used instead `IN:`).
---
BasePlus, version `1.39.0`
Changes:
- new parameter `DSout=` added in `%downloadFilesTo()` macro,
- file SHA256: `F*3C3A2050E3FF46E1FC0F936634A66FC3F294A3531EFE0A7DC9CE74F2EF17C687` for this version.
SAS Packages Framework, version `20240529`
Changes:
- aesthetic changes in log when running `%generatePackage()` macro,
- reshaped format of an automatic documentation header,
- and little bug fix for automatic documentation generation (for excluding file from documentation the `IN` operator should be used instead `IN:`).
---
BasePlus, version `1.39.0`
Changes:
- new parameter `DSout=` added in `%downloadFilesTo()` macro,
- file SHA256: `F*3C3A2050E3FF46E1FC0F936634A66FC3F294A3531EFE0A7DC9CE74F2EF17C687` for this version.
SAS Packages Framework, version 20240423
A minor aesthetic update in a log note about KMF snippets added to `%generatePackage()` macro. Does not change any functionality, just make it look nicer.
SAS Packages Framework, version 20240415
Features:
- In the `%generatePackage()` macro, when `markdownDoc=` parameters is used, packages files can be "excluded" from being used to produce documentation markdown file.
- Documentation updated.
The BasePlus package [ver. 1.38.0]
Update to the `%rainCloudPlot()` macro, new parameter for "vertical" plots added.
Documentation updated and "cleaned".
---
SHA256 digest for BasePlus: `F*209FB8198270DEAB6151CE31391A352A065B4EE2689F40433FA9550A7F4AAC18`
---
SAS Packages Framework, version 20231210
Changes:
- Two new parameters added for the `%generatePackage()` macro.
The parameters are:
- `markdownDoc=` - Indicates if a markdown file with documentation be generated from help information blocks.
- `easyArch=` - When creating documentation file (`markdownDoc=1`) it indicates if a copy of the zip and markdown files with the version number in the file name be created.
- The `HelloWorldPackage.md` example updated.
- Documentation updated.
The macroArray package [ver. 1.2.6]
Changes:
- Minor update in `%mcDictionary()` and `%mcHashTable()` macros. Restrictions for object names check updated.
- Documentation updated.
SHA256 digest for the latest version macroArray: F*3F3893F1FCD78719543703E4353F4CC19811D247C016F220FF729B283C1AD790
## SAS Packages Framework, version `20231123`
### Changes in SPF
- Minor update in log aesthetics for `%generatePackage()` macro.
---
### The macroArray package [ver. 1.2.3]
- Update in `q=` parameter for the `%array()` macro.
- Fix in data set existence for `ds=` parameter in the `%array()` macro.
- Documentation updated.
---
### Packages regenerated with the latest version of SPF:
- macroArray package [ver. 1.2.3]
SHA256 digests for packages:
- macroArray: `F*A0840B92EB9356EDB318DBE9B579A345C85ABF69E8D5F7C73C144C66F2F74FB4`