Releases: SasView/sasview
nightly-build
Nightly build of main SasView branch
SasView 6.2.0 Alpha3
This alpha, alongside sasmodels v1.1.0a3, fixes the three new models that were not working -- truncated_octahedron, tetrahedron, and truncated_tetrahedron.
What's Changed
*Don't include magnetism parameters in pure python models by @pkienzle in #3961
- Release 6.2.0 polyhedron html by @sara-mokhtari in #3972
New Contributors
- @sara-mokhtari made their first contribution in #3972
Full Changelog: v6.2.0a2...v6.2.0a3
SasView 6.2.0 Alpha2
Due to a packaging issue with fibonacci.py in sasmodels, the installers for alpha 1 did not include the new models.
This alpha fixes that.
Please find the complete list of changes included in the release notes for v6.2.0a1.
Full Changelog: v6.2.0a1...v6.2.0a2
SasView 6.2.0 Alpha1
New in Version 6.2.0 Alpha
This is the alpha release to test the new features, improvements, and bug fixes as listed below that will be in the feature release v6.2.0.
This release is built using Sasmodels v1.1.0a1, Sasdata v0.12.0a1, and bumps v1.0.4.
New Features
- Multiple slicers are now supported, including plot stacking and symmetric slicers by @jellybean2004 in #3758, #3806, #3832 and #3837
- The Invariant perspective has been given a major facelift, with a more user-friendly navigation. It now supports the calculation of SLD contrast from volume fraction (reverse calculation) and uncertainties on input parameters by @jellybean2004 in #3789 and #3835
- A new button is now available for any 1D plot to be sent to the Data Explorer for further analysis by @ChristianWoegerbauer in #3763
- Support for SAXS fitting v2 has been added by @klytje in #3786
Improvements
- Improvements in Corfunc slider, UI and documentation by @jellybean2004 and @DrPaulSharp in #3587, #3850, #3851, #3908
- Add Shape2SAS plugin models (not available to users) by @klytje in #3544
- Set wedge slicer fold default to True by @jellybean2004 in #3601
- Show correlation stats as a table by @rozyczko in #3754
- Make data operation window resizable and update docs by @Cristian2299 in #3755
- Implement Close Project functionality by @rozyczko in #3757
- Make Return act as Tab in parameter tables by @rozyczko in #3760
- Refactor and improve the fitting widget by @rozyczko in #3776
- Change Guinier extrapolation to radius squared by @DrPaulSharp in #3841
- Implement horizontal resize by @rozyczko in #3848
- Add Help context menu item by @rozyczko in #3849
- Remove hardcoded background colours and standardise UI by @jellybean2004 in #3862
- Restore fold for sector slicers by @jellybean2004 in #3878
- Add corrected intensities to Corfunc output by @jellybean2004 in #3907
- Improve fitting reports by @krzywon in #3870
- Normalise wedge slicer phi to (-180,180] by @jellybean2004 in #3928
- Close slicer parameter window with 2D plot by @jellybean2004 in #3930
- Redraw Box Sum after parameters are updated by @jellybean2004 in #3946
- Add tooltips to perspective UIs by @jellybean2004 in #3950
Infrastructure
- Dependabot: include all action updates in one PR by @krzywon in #3602
- Reduce duplicate CI builds and improve workflows by @llimeht in #3642
- Upgrade Python to 3.12 by @DrPaulSharp in #3649
- Set Python 3.13 for the next release by @llimeht in #3652
- Rework CI variables by @llimeht in #3653
- Update installation documentation by @DrPaulSharp in #3657
- Add Credits/Licences dialog with relevant licence and copyright data by @llimeht in #3680
- Improve PR job handling by @llimeht in #3734
- Remove requirement pins from release branches by @llimeht in #3743
- Update install instructions, README, and add resources by @TLO218 in #3753
- Add UI file for What's New window by @rozyczko in #3759
- Enable building custom branches by @wpotrzebowski in #3769
- Centralise release Python version definition by @llimeht in #3782
- Add CLI argument for data path by @krzywon in #3814
- Add Python 3.14 as a supported interpreter by @llimeht in #3822
- Improve release tooling by @llimeht in #3823
- Fix installer test job name display by @llimeht in #3840
- Fix duplicated CI job runs on pull requests by @backmari in #3866
- Release automation script rework and remove authors by @krzywon in #3872 and #3918
- Remove
DISPLAY: 99value from CI by @krzywon in #3893 - Add builds to CI for pushes to main by @DrPaulSharp in #3917
- Use the new official DigiCert action by @rozyczko in #3937
- Fix invocation of
compile_licenses.pyby @llimeht in #3938 - Remove
.coveragefile by @krzywon in #3942 - Add MPL hooks by @krzywon in #3944
- Temporarily pin and then unpin the pyausaxs version by @DrPaulSharp and @klytje in #3951 and #3953
Code quality
- Make ruff more verbose about what it does not like by @llimeht in #3666
- Generalize Corfunc slider by @jellybean2004 in #3833
- Implement SliderPerspective properly by @jellybean2004 in #3859
- Clean up and reformat Invariant perspective by @jellybean2004 in #3861
- Use
GuiUtil.communicatorwherever possible by @krzywon in #3863 and #3936 - Reactivate GUI tests from the CI by @krzywon in #3867
- Clean up inversion code by @jellybean2004 in #3881
- Improve and add tests for Invariant Perspective UI and calculator by @jellybean2004 in #3888 and #3897
- Fix GSC GUI unit test by @krzywon in #3906
- Add offscreen mode to top-level
conftest.pyby @jellybean2004 in #3911 - Remove print statements from sascalc tests by @krzywon in #3922
- Clean up Size Distribution perspective UI files by @jellybean2004 in #3948
Bug Fixes
- Fix nightly build issues by @DrPaulSharp in #3650 and #3651
- Remove relative import in
main.pyby @DrPaulSharp in #3656 - Fix startup bug by @DrPaulSharp in #3732
- Fix stray references to
run.pyby @DrPaulSharp in #3733 - Fix C++ conversion error in plotting by @jellybean2004 in #3745
- Fix typo in the documentation for adding files via upload by @conanr-create in #3751
- Exclude C&S fitting tabs from
tab_idcalculation by @rozyczko in #3756 - Fix dispersity parameter naming for the multishell model by @dehoni in #3779
- Fix name selection issue in the Data Operations Panel by @krzywon in #3810
- Fix replace fit button handling after project load by @krzywon in #3816
- Fix keypair alias after certificate update by @rozyczko in #3817
- Restrict custom plot button to the Data Explorer by @DrPaulSharp in #3828
- Remove uv lock file by @jellybean2004 in #3852
- Fix handling of None in
kernel_moduleby @rozyczko in #3845 - Fix truthiness logic check by @rozyczko in #3846
- Fix 2D polydispersity bug by @DrPaulSharp in #3855
- Fix model reordering in constrained fitting by @rozyczko in #3857
- Fix invariant graphs by @jellybean2004 in #3869
- Fix optimizer loading after project load by @krzywon in #3871
- Fix unique ID generation for multiple slicers by @jellybean2004 in #3879
- Fix scaling bug in 1D plots by @DrPaulSharp in #3889
- Fix...
SasView v6.1.3
New in Version 6.1.3
This is a minor bug fix release of SasView. This release is built using Python v3.11, Sasmodels v1.0.12, Sasdata v0.11.0, and Bumps v1.0.2.
MacOS Intel Support - Advisory
This will likely be the final SasView release with full MacOS Intel processor support.
Pypi distribution and wheel installation
This release depends on pkg_resources which was removed from the setuptools package as of v82.0.0. This requirement was overlooked in our distribution list, so the sasview wheels currently try to use the latest version of setuptools, which is not compatible with this release. To fix the issue when installing SasView using standard Python installation tools, please run uv pip install sasview setuptools==81.0.0 (or pip install sasview setuptools==81.0.0).
What's Changed
Bug Fixes
- Fix handling cancel action on single fit with multi constraint by @bmaranville in #3808
- Fix unchecking constraints by @bmaranville in #3809
- Fix complex compiled constraints by @bmaranville in #3811
- Fix for project load breaking the replace fit button by @krzywon in #3816
- Fixing name for dispersity parameter for multishell models by @dehoni in #3779
- Adds logger error for unsuitably scaled axes by @DrPaulSharp in #3778
- Fixed disconnect logic with the proper PySide6 signal checking method by @rozyczko in #3771
- Revert the polydisp table to the original state on model change by @rozyczko in #3768
- Fixes for quick plotting - both 1D and 3D by @rozyczko in #3749
- Warn user before starting scattering calcs on large structures by @klytje in #3737
- Ensure polydispersity and magnetic parameters are available in batch fitting by @rozyczko in #3843
- Ensure orientation parameters are available in polydispersity panel by @DrPaulSharp in #3855
- Fix issue related to model order in constrained fit window by @rozyczko in #3857
Documentation Fixes
- Factor out documentation-locating code to be portable by @llimeht in #3667
- Prevent crashes and log errors if docs can't be found by @llimeht in #3689
- Fix typo in Kiessig calculator documentation by @conanr-create in #3750
- Fix typo in help documentation for fitting options by @butlerpd in #3736
Python Cleanup and Code Formatting (Linting) Changes
- Clean up some nitpicks - dead file removal by @llimeht in #3735
- Remove some big files from the distributions by @llimeht in #3482
New Contributors
- @conanr-create made their first contribution in #3750
Full Changelog: v6.1.2...v6.1.3
SasView 6.1.3 RC1
New in Version 6.1.3 RC1
This is a release candidate for a SasView bug fix release. A final release is scheduled for sometime before the end of February, 2026. This release is built using Sasmodels v1.0.12, Sasdata v0.11.0, and Bumps v1.0.2.
MacOS Intel Support - Advisory
This will likely be the final SasView release with full MacOS Intel processor support.
What's Changed
Bug Fixes
- Fix handling cancel action on single fit with multi constraint by @bmaranville in #3808
- Fix unchecking constraints by @bmaranville in #3809
- Fix complex compiled constraints by @bmaranville in #3811
- Fix for project load breaking the replace fit button by @krzywon in #3816
- Fixing name for dispersity parameter for multishell models by @dehoni in #3779
- Adds logger error for unsuitably scaled axes by @DrPaulSharp in #3778
- Fixed disconnect logic with the proper PySide6 signal checking method by @rozyczko in #3771
- Revert the polydisp table to the original state on model change by @rozyczko in #3768
- Fixes for quick plotting - both 1D and 3D by @rozyczko in #3749
- Warn user before starting scattering calcs on large structures by @klytje in #3737
- Ensure polydispersity and magnetic parameters are available in batch fitting by @rozyczko in #3843
- Ensure orientation parameters are available in polydispersity panel by @DrPaulSharp in #3855
- Fix issue related to model order in constrained fit window by @rozyczko in #3857
Documentation Fixes
- Factor out documentation-locating code to be portable by @llimeht in #3667
- Prevent crashes and log errors if docs can't be found by @llimeht in #3689
- Fix typo in Kiessig calculator documentation by @conanr-create in #3750
- Fix typo in help documentation for fitting options by @butlerpd in #3736
Python Cleanup and Code Formatting (Linting) Changes
- Clean up some nitpicks - dead file removal by @llimeht in #3735
- Remove some big files from the distributions by @llimeht in #3482
Not Included in This Release (RC1), but Might Be Included in v6.1.3 Final Release
New Contributors
- @conanr-create made their first contribution in #3750
Full Changelog: v6.1.2...v6.1.3rc1
SasView 6.1.3 Alpha1
New in Version 6.1.3
This is a pre-release to test if a series of bug fixes will make the next release of SasView. It is built with Sasmodels v1.0.12, Sasdata v0.11.0, and Bumps v1.0.2.
What's Changed
Bug Fixes
- Fix handling cancel action on single fit with multi constraint by @bmaranville in #3808
- Fix unchecking constraints by @bmaranville in #3809
- Fix complex compiled constraints by @bmaranville in #3811
- Fix for project load breaking the replace fit button by @krzywon in #3816
- Fixing name for dispersity parameter for multishell models by @dehoni in #3779
- Adds logger error for unsuitably scaled axes by @DrPaulSharp in #3778
- Fixed disconnect logic with the proper PySide6 signal checking method by @rozyczko in #3771
- Revert the polydisp table to the original state on model change by @rozyczko in #3768
- Fixes for quick plotting - both 1D and 3D by @rozyczko in #3749
- Warn user before starting scattering calcs on large structures by @klytje in #3737
Documentation Fixes
- Factor out documentation-locating code to be portable by @llimeht in #3667
- Prevent crashes and log errors if docs can't be found by @llimeht in #3689
- Fix typo in Kiessig calculator documentation by @conanr-create in #3750
- Fix typo in help documentation for fitting options by @butlerpd in #3736
Python Cleanup and Code Formatting (Linting) Changes
- Clean up some nitpicks - dead file removal by @llimeht in #3735
- Remove some big files from the distributions by @llimeht in #3482
New Contributors
- @conanr-create made their first contribution in #3750
Full Changelog: v6.1.2...v6.1.3a1
SasView 6.1.2
New in Version 6.1.2
This is a minor bug fix release of SasView. It is built with Sasmodels v1.0.12, Sasdata v0.11.0, and Bumps v1.0.2.
This release fixes two issues introduced in v6.1.1:
- Plugin models will work in this version
- The 2-Yukawa structure factor is available for use
What's Changed
Bug Fixes
- Fix for plugin models not being found by @DrPaulSharp in #3659
- Fix for Wedge and Sector Slicers in Q using the same plot by @jellybean2004 in #3597
- Replaces 'magic numbers' with enum by @jellybean2004 in #3598
- Adds plotUpdateSignal to BoxSlicer by @DrPaulSharp in #3600
- Fix for Chi2 calculation in Inversion perspective by @jellybean2004 in #3607
- Invariant bugfixes and 'TODO' tasks by @jellybean2004 in #3627
- Removes redundant param by @jellybean2004 in #3633
- Invariant reformat by @jellybean2004 in #3631
- Adds module level logging to all files by @jellybean2004 in #3637
- Adds function for close by @jellybean2004 in #3635
Documentation Fixes
- Various fixes to try to get sasview sphinx docs to build cleanly. by @pkienzle in #3504
- Include API docs from sasmodels in sasview sphinx output by @llimeht in #3661
- Update plugin model location in docs by @DrPaulSharp in #3665
Python Cleanup and Code Formatting (Linting) Changes
- Converts type comments to type hints by @DrPaulSharp in #3578
- Explicitly specifies latest version of ruff in CI by @DrPaulSharp in #3608
- Adds local pre-commit hook for ruff linting auto fixes by @DrPaulSharp in #3573
Infrastructure Changes
- Add dependabot for github actions by @krzywon in #3571
- Limit windows signing action by @rozyczko in #3617
- Install innosetup in windows installer CI runs by @llimeht in #3606
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #3592
- Bump dawidd6/action-download-artifact from 6 to 11 by @dependabot[bot] in #3591
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #3590
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #3588
- Bump digicert/ssm-code-signing from 1.0.1 to 1.1.1 by @dependabot[bot] in #3589
- move qt gui build to cli.py and remove run.py by @pkienzle in #3596
- Change remaining mentions of appdirs to platformdirs by @llimeht in #3640
- Removes macos-13 from CI by @DrPaulSharp in #3629
- Replace direct AUSAXS library integration with the pyAUSAXS wrapper by @klytje in #3634
- MacOS Intel build using macos 15 by @krzywon in #3818
New Contributors
- @jellybean2004 made their first contribution in #3597
Full Changelog: v6.1.1...v6.1.2
SasView 6.1.2 RC1
New in Version 6.1.2
This is a minor bug fix release of SasView. It is built with Sasmodels v1.0.12, Sasdata v0.11.0, and Bumps v1.0.2.
This release fixes two major issues introduced in v6.1.1:
- Plugin models now work correctly
- The 2-Yukawa structure factor is available and does not throw an error.
What's Changed
Bug Fixes
- Fix for plugin models not being found by @DrPaulSharp in #3659
- Fix for Wedge and Sector Slicers in Q using the same plot by @jellybean2004 in #3597
- Replaces 'magic numbers' with enum by @jellybean2004 in #3598
- Adds plotUpdateSignal to BoxSlicer by @DrPaulSharp in #3600
- Fix for Chi2 calculation in Inversion perspective by @jellybean2004 in #3607
- Invariant bugfixes and 'TODO' tasks by @jellybean2004 in #3627
- Removes redundant param by @jellybean2004 in #3633
- Invariant reformat by @jellybean2004 in #3631
- Adds module level logging to all files by @jellybean2004 in #3637
- Adds function for close by @jellybean2004 in #3635
Documentation Fixes
- Various fixes to try to get sasview sphinx docs to build cleanly. by @pkienzle in #3504
- Include API docs from sasmodels in sasview sphinx output by @llimeht in #3661
- Update plugin model location in docs by @DrPaulSharp in #3665
Python Cleanup and Code Formatting (Linting) Changes
- Converts type comments to type hints by @DrPaulSharp in #3578
- Explicitly specifies latest version of ruff in CI by @DrPaulSharp in #3608
- Adds local pre-commit hook for ruff linting auto fixes by @DrPaulSharp in #3573
Infrastructure Changes
- Add dependabot for github actions by @krzywon in #3571
- Limit windows signing action by @rozyczko in #3617
- Install innosetup in windows installer CI runs by @llimeht in #3606
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #3592
- Bump dawidd6/action-download-artifact from 6 to 11 by @dependabot[bot] in #3591
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #3590
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #3588
- Bump digicert/ssm-code-signing from 1.0.1 to 1.1.1 by @dependabot[bot] in #3589
- move qt gui build to cli.py and remove run.py by @pkienzle in #3596
- Change remaining mentions of appdirs to platformdirs by @llimeht in #3640
- Removes macos-13 from CI by @DrPaulSharp in #3629
- Replace direct AUSAXS library integration with the pyAUSAXS wrapper by @klytje in #3634
New Contributors
- @jellybean2004 made their first contribution in #3597
Full Changelog: v6.1.1...v6.1.2rc1
SasView 6.1.1
New in Version 6.1.1
This is a minor bug fix release of SasView. It is built with Sasmodels v1.0.11, Sasdata v0.11.0, and Bumps v1.0.2
What's Changed
Bug Fixes
- Fix the magnetic fitting widget functionality by @rozyczko in #3581
- Fix for PD plotting by @krzywon in #3505
- Ensure plugin models are removed from the original user directory when moved by @krzywon in #3538
- Fix new version available widget on non-Windows systems by @jamescrake-merani in #3552
- Overide Qdialog closeEvent method to force kill(x) button to behave like the close button by @butlerpd in #3465
- Move the example data to the user directory and clean up by @krzywon in #3535
- Ensure the example data directory is in the same location as the tutorial says it is by @krzywon in #3585
- Clear the calculated values in the Inversion perspective when a lone data entry is removed by @DrPaulSharp in #3567
- Enable batch slicing to P(r) inversion by @dehoni and @jamescrake-merani in #3512
- Various fixes to batch P(r) by @jamescrake-merani in #3563
- Ensure the external libausaxs is downloaded when building installers by @klytje in #3554
Documentation Fixes
- Fixed MumMag typo (should be MuMag) by @krzywon in #3514
- Update corfunc-theory.rst by @lucas-wilkins in #3565
Python Cleanup and Code Formatting (Linting) Changes
- Applies automatic fixes from the default ruff ruleset by @DrPaulSharp in #3507
- Adds ability to automatically apply ruff linting fixes to CI by @DrPaulSharp in #3520
- Applies fixes for Ruff linting errors by @DrPaulSharp in #3539
- Adds isort (I) ruleset to ruff linter by @DrPaulSharp in #3555
- Adds Pyupgrade (UP) ruleset and rules SIM118 & SIM300 to ruff linter by @DrPaulSharp in #3560
- Fixes whitespace errors by @DrPaulSharp in #3561
Infrastructure Changes
- Fixes fatal access violation in Windows tests by @DrPaulSharp in #3497
- Disable dependabot for python dependency checks - Disable Dependabot by @krzywon in #3517
- Stop new version dialogue from appearing in test by @llimeht in #3364
- Speed up CI with faster python module installation with uv by @llimeht in #3351
- Update tarball name in nightly flow to match CI.yml by @llimeht in #3334
- Clean out nightly files by @llimeht in #3337
- Suppress signature errors when CI run on PRs from forks by @llimeht in #3355
- Publish wheels along side other installers in nightly-builds action by @llimeht in #3335
- Specify a requirement of at least Python 3.11 in the pyproject.toml by @jamescrake-merani in #3508
- Use requirements-dev.txt instead of list of dependencies by @krzywon in #3515
- Fix Invariant Test Warnings by @krzywon in #3509
Flatpak Release
Flatpak users can download the SasView flatpak from flathub: https://flathub.org/apps/org.sasview.sasview.
Wheel
SasView is now available to install via the pip package manager. You can install it to an environment with the command:
pip install sasviewAlternatively, you can use the uv tool to run SasView with the following command:
uvx sasviewThis will automatically create a virtual environment, install SasView to it, and run SasView.
Known Issues
Neither the Add/Multiply Editor or the Plugin Model functionality are working in SasView 6.1.1. We would like to apologise for any inconvenience and are urgently working to rectify these deficiencies. In the meantime, if you need to create a model with Add/Multiply please install SasView 6.1.0. If you have an existing plugin, or have downloaded a model from the Marketplace and wish to use it in SasView 6.1.1, copy the relevant .py/.c files to the \sasmodels\models sub-folder in your SasView installation folder and restart the program.
All known bugs and feature requests can be found in the issues on github.
sasview issues | sasmodels issues | sasdata issues
New Contributors
- @DrPaulSharp made their first contribution in #3497
Full Changelog: v6.1.0...v6.1.1