Versions & change logs

Versions of and change logs for the saugns program and SAU language. The history page has a more broad and big-picture description, which also goes back before the tagged versions from 2019 and later.

The CHANGELOG included with saugns covers all tagged versions. Below, links for tags and a log focused only on the SAU language can be found.


Tagged versions

Per version, concise summaries of changes are written in plain git tags from v0.3.3 and on. Viewing the difference between versions is easy to do using the git command-line tool; git diff old-version new-version shows the whole thing at once for any two versions, but the diff may be large.



SAU language changes

Below is a shorter list of only changes that impact how scripts in the language are written – changes which often affect what's covered on this website. It may be updated ahead of new versions being tagged (see "stable branch" below). For fuller change notes for the saugns program, instead read its CHANGELOG.

This listing of changes is not completely exhaustive; some bugfixes, changes to undocumented behavior, and other small details affecting some possible scripts may go unlisted. The oldest tagged version v0.3.0 is compared to the historical (last 2012) sgensys-20120401.tgz version.

stable branch (untagged)

v0.4.4 (2024-04-09)

The new options for assigning numerical variables are meant to be used with a new variable=value command-line option, which allows passing values to scripts, optional or required, scripts possibly supplying fallback values.

Add backward-compatibility deprecated alias, 'name=. Old scripts can be updated to use the newer assignment syntax, without any manual adjustment, using regex search-and-replace:

perl -pi -e "s/'([A-Za-z0-9_]+\\s*)=/\\$\\1=/g;" paths...

v0.4.4b (2024-04-16)

Add backward-compatibility deprecated seed(x) function.

v0.4.3 (2024-04-03)

Global amplitudes in unchanged scripts may sometimes be lowered by the S a changes. The old behavior corresponds to changing each S avalue to S avalue.m1.

The free [] list cannot yet be used for anything, thus remains an undocumented feature until more features for it are added.

v0.4.2 (2023-08-23)

Most older scripts did not remove modulators by setting new lists; those that do will require adjustment. Apart from that, a perl one-liner can be used to upgrade the sweep syntax in scripts. Deprecated support for the old sweep syntax is kept in the short term.

perl -pi -e 's/{/\[/g; s/}/\]/g; s/\]\[/ /g;' paths...

v0.4.2b (2023-09-08)

This means that pre-v0.4.2 script style can be updated turning {...}[...] into [...][...], if preferred.

v0.4.2c (2023-10-02)

v0.4.2d (2023-12-31)

This version fixes a few smaller default time bugs, and makes voices always number optimally low when counted (occasionally affecting default script amplitude) too.

v0.4.1 (2023-07-04)

Old scripts using Wssr will no longer work as expected; if that wave type is wanted, it could be re-added. Most other old scripts will produce equivalent results after adjusting saw uses, and adjusting phase p for and renaming the old hrs and ahs.

v0.4.0 (2023-01-27)

Backward-compatibility aliases have been added so scripts with type O, and (in the shorter term) sweep parameter r, still work with deprecation warnings.

v0.4.0b (2023-02-06)

v0.4.0c (2023-02-24)

v0.4.0d (2023-03-17)

This version fixes a bug affecting some builds of the program (x86-64 platform with clang compiler) – this fixes the mt and mvb modes for the R generator.


v0.3.12 (2023-01-01)

v0.3.11 (2022-06-15)

v0.3.11b (2022-06-28)

v0.3.11c (2022-07-31)

v0.3.10 (2022-02-03)

v0.3.10b (2022-02-23)

v0.3.9 (2021-11-11)

v0.3.8 (2020-12-29)

v0.3.7 (2020-10-22)

v0.3.6 (2019-12-27)

v0.3.3 (2019-10-28)

v0.3.2 (2019-08-24)

v0.3.1 (2019-08-03)

v0.3.0 (2019-07-04)