Releases: mccode-dev/McCode
Releases · mccode-dev/McCode
Release list
McStas/McXtrace v3.7.10
Tiny update, m*plot-html only.
What's Changed
- Release doc updates 3.7.9 by @willend in #2545
- More html plotter tweaks (m*plot-html, as used from mctest) by @willend in #2547
- Add slider for control of iframe size by @willend in #2548
- More html plotter tweaks by @willend in #2549
- Final adjustment of geometry/scaling for mcplot-html by @willend in #2550
Full Changelog: v3.7.9...v3.7.10
McStas/McXtrace v3.7.9
Changes in McStas/McXtrace 3.7.9, July 2nd, 2026
Release 3.7.9 marks a milestone for McXtrace that finally gets full support for complex number calculations using MSVC on Windows. We further improve the installation experience on Windows by addition of a new install script for downloading and setting up the MSVC compiler tool chain.
Install instructions
- For McStas 3.7.9
- For McXtrace 3.7.9
What's Changed
Common to McStas and McXtrace
Platform suppport
- Windows
- mctest / windows output improvement by @willend in #2505
- batch-script to help install msvc on Windows by @willend in #2505
- Add micromamba clean --all -y in install batches by @willend in #2507
- Improved wording for README and add non-admin option to msvc-install script by @willend in #2508
- Add git when setting up dev-env on Windows by @willend in #2510
- Tools
- mctest:
- mcplot-html
- mcdisplay:
- mcrun
- Shared lib-codes
- Provide SCATTER_func for libraries to replicate SCATTER functionality by @mads-bertelsen in #2535
McStas only
- Minor comp / instrument improvements
- Exit minus 1 harmonization by @willend in #2503
- Fix for Incoherent component limited order + hollow geometry by @mads-bertelsen in #2506
- Various fixes for FZJ_BenchmarkSfin2/SANS_benchmark2 by @willend in #2517
- ILL_H15_SAM.instr: Common SPLIT=100 at sample(s) ensure ncount >=1e7 by @willend in #2518
- Ensure 1e7 for non-display runs of ILL_H22_D1B by @willend in #2519
- Various fixes for McXtrace and McStas instruments by @willend in #2520
- Various fixes for McXtrace instruments by @willend in #2520
- Added mcdisplay section to FlatEllipse_finite_mirror component by @mads-bertelsen in #2521
- Fix ascii reallocation in Union_mesh by @mads-bertelsen in #2532
- H frielinghaus SANS_benchmark2 input files by @willend in #2536
- Fix #2537: Bug in PSD_monitor_4PI found by BSc. student Christian Thyssen NBI. by @willend in #2538
McXtrace only
- General
- Support for MSVC (and complex numebers via mccode-complex-lib) on Windows
- Comp / instrument improvements
- McXtrace: Fix of #1579 for most (if not all) comps/instrs by @willend in #2504
- McXtrace test target updates by @willend in #2515
- Various fixes for McXtrace instruments by @willend in #2520
- Filter.comp is in fact incomplete for refraction and shape != cube. by @willend in #2522
- Temporary hack to avoid McXtrace cif2hkl fct. in Single_crystal on Windows by @willend in #2524
- Windows/cif2hkl issue workaround for Test_PowderN by @willend in #2525
- Various changes to stabilise McXtrace SOLEIL_PX2a tests by @willend in #2526
- More McXtrace tweaks, SOLEIL_PX2a and SOLEIL_PSICHE by @willend in #2527
- Beef up required stats for SOLEIL_PSICHE + adjust target val by @willend in #2528
- McXtrace Enable all tests in Test_Mirrors by @willend in #2529
- Fix header by @willend in #2530
- Fix of McXtrace/mxdisplay of specific instr by @willend in #2533
- Fix filter geometry by @ebknudsen in #2534
- Improve on flexibility of McXtrace Filter.comp input types by @willend in #2543
Full Changelog: v3.7.6...v3.7.9
McStas/McXtrace v3.7.7
What's Changed
- Updates to CHANGE docs by @willend in #2501
- Exit minus 1 harmonization by @willend in #2503
- McXtrace: Fix of #1579 for most (if not all) comps/instrs by @willend in #2504
- mctest / windows output improvement + batch to help install msvc on Windows by @willend in #2505
- Add micromamba clean --all -y in install batches by @willend in #2507
- Fix for Incoherent component limited order + hollow geometry by @mads-bertelsen in #2506
Full Changelog: v3.7.6...v3.7.7
McStas/McXtrace v3.7.6
What's Changed
Common to McStas and McXtrace
Tools
mcgui/mxguilist mode scanning:- Small but important improvements to
mcdisplay/mxdisplay:pyqtgraphvariant:- Restore various click/keyboard control across PyQt5/PyQt6
- Improvements to mcdisplay(-pyqtgraph) component list (do not underflow main window) by @willend in #2489
- Fix missing PyQt5->PyQt6 correction for mcdisplay-pyqtgraph by @willend in #2481
- Fix of another mcdisplay-pyqtgraph PyQt6 vs PyQt5 bug by @willend in #2485
matplotlibvariant:- Common, parsing-system:
Libraries
- KDSource functional in mingw builds (+other minor improvements) by @willend in #2497 (comes with both McStas and McXtrace even though
KDSource.compis McStas-only for now - Get rid of ‘dirent’ dependency on Windows systems
Installers
- New MSVC-based installer-bundle for both McStas and McXtrace, will eventually fully replace the MinGW installer-bundle
- See McStas windows install page for details
- See McXtrace windows install page for details
McStas only
Components
McXtrace only
- No McXtrace-specific comp/instr changes
Infrastructure, common to McStas/McXtrace
- Fixes to installdocs by @willend in #2476
- Various work on GitHub actions by @willend in #2488
- Give mctest a --displaymax handle by @willend in #2495
- Prepare for 3.7.6 release by @willend in #2498
Full Changelog: v3.7.1...v3.7.6
McStas/McXtrace v3.7.5
What's Changed
- Legacy / mingw + KDSource. (Just use conda-forge instead ...) by @willend in #2475
- Fixes to installdocs by @willend in #2476
- Update NMO.comp by @willend in #2474
- Fix missing PyQt5->PyQt6 correction for mcdisplay-pyqtgraph by @willend in #2481
- Silence mcdisplay-matplotlib noise when pressing 'q' by @willend in #2483
- Fix of another mcdisplay-pyqtgraph PyQt6 vs PyQt5 bug by @willend in #2485
- Add fflush(stdout) protection of DEBUG_COMPONENT (fix #2486) by @willend in #2487
- Various work on GitHub actions by @willend in #2488
- Improvements to mcdisplay(-pyqtgraph) component list by @willend in #2489
- Fixes for click-handling on pyqt6 by @willend in #2490
- Support mcrun -L scan mode via mcgui 'Scan steps' entry by @willend in #2493
- Give mctest a --displaymax handle by @willend in #2495
- Dirent windows fixup by @willend in #2496
- KDSource functional in mingw builds (+other minor improvements) by @willend in #2497
Full Changelog: v3.7.1...v3.7.5
McStas/McXtrace v3.7.4
What's Changed
- Legacy / mingw + KDSource. (Just use conda-forge instead ...) by @willend in #2475
- Fixes to installdocs by @willend in #2476
- Update NMO.comp by @willend in #2474
- Fix missing PyQt5->PyQt6 correction for mcdisplay-pyqtgraph by @willend in #2481
- Silence mcdisplay-matplotlib noise when pressing 'q' by @willend in #2483
- Fix of another mcdisplay-pyqtgraph PyQt6 vs PyQt5 bug by @willend in #2485
- Add fflush(stdout) protection of DEBUG_COMPONENT (fix #2486) by @willend in #2487
- Various work on GitHub actions by @willend in #2488
- Improvements to mcdisplay(-pyqtgraph) component list by @willend in #2489
- Fixes for click-handling on pyqt6 by @willend in #2490
Full Changelog: v3.7.1...v3.7.4
McStas/McXtrace v3.7.3
What's Changed
- Legacy / mingw + KDSource. (Just use conda-forge instead ...) by @willend in #2475
- Fixes to installdocs by @willend in #2476
- Update NMO.comp by @willend in #2474
- Fix missing PyQt5->PyQt6 correction for mcdisplay-pyqtgraph by @willend in #2481
- Silence mcdisplay-matplotlib noise when pressing 'q' by @willend in #2483
- Fix of another mcdisplay-pyqtgraph PyQt6 vs PyQt5 bug by @willend in #2485
- Add fflush(stdout) protection of DEBUG_COMPONENT (fix #2486) by @willend in #2487
- Various work on GitHub actions by @willend in #2488
- Improvements to mcdisplay(-pyqtgraph) component list by @willend in #2489
Full Changelog: v3.7.1...v3.7.3
McStas/McXtrace v3.7.2
Minor update release
What's Changed
- Legacy / mingw + KDSource. (Just use conda-forge instead ...) by @willend in #2475
- Fixes to installdocs by @willend in #2476
- Update NMO.comp by @willend in #2474
- Fix missing PyQt5->PyQt6 correction for mcdisplay-pyqtgraph by @willend in #2481
- Silence mcdisplay-matplotlib noise when pressing 'q' by @willend in #2483
Full Changelog: v3.7.1...v3.7.2
McStas/McXtrace v3.7.1
Changes in McStas/McXtrace 3.7.1, May 21st, 2026
What's Changed
Main new developments:
Common McStas and McXtrace developments:
- Up to 10
USERVARSsupported withMonitor_nD(nameduser0,...,user9) - Qt5 → Qt6 across the package and dependencies
- Bugfix: Fix of rare visualisation bug in
mcdisplay/mxdisplay(e.g. box was not allowed as a comp name) - Doc improvements:
mcdoc/mxdoccan render.texand.mdin addition to.html- Example instruments come with an in-repo
README.mdgenerated via this mechanism - See e.g. McStas BNL_H8 or McXtrace ESRF ID01
- CI/test improvements:
McStas specific developments:
- Integrated support for KDSource
- New component
KDSource - For usage details, see example instrument
Test_KDSourceand the KDSource documentation website - Available as automatic dependency on
conda-forgebased installations (including macOS and Windows 'installers' - Not available as .deb package on Debian systems but may function by installing via pip.
Recommendation: Just useconda-forge.
- New component
- Pulse-length adjustment available for
ESS_butterfly- Handled via specifically named instrument input parameter and
DEPENDENCYline - See example instrument
ESS_butterfly_Adjustable_Pulse
- Handled via specifically named instrument input parameter and
PowderNnow supportsNCrystalcfg-strings.- Forwards request to
NCrystalthat populates datastructures without intermediate.laz/.laufiles - See example instrument Test_Powders -
comp=0mode
- Forwards request to
- Bugfixes:
- Fix to Union, orientation of loggers wrt. master comp
- Bugfixes to recently added improved Union mesh
- Contributions from NBI/KU:
Inhomogenous_incoherent_processin Union from @Lomholy, (via ‘tinyexpr' string-expression inputs) - see rel. test instrument- New spinwave comp
SpinWave_BCOfrom @SSBNS - see rel. test instrument - ESS KVASIR instrument proposal - backend instrument with MCPL input from BIFROST optic. @AmalieFalkenberg. Includes Jupyter notebook in McStasScript syntax.
- McStas component manual uses
.texsnippets from generated via componentsmcdoc
McXtrace specific developments:
- Much improved Union subsystem for McXtrace by @ebknudsen. Makes use of Xraylib for Compton and Rayleigh scattering models.
- Test instruments for the new Union processes, both from @ebknudsen
- PowderCompton_union - Compton scattering and powder diffraction
- Test_KN_Comp_Rayl_union - test instrument using Klein-Nishina, Rayleigh, or Compton
scattering processes.
Detailed list - from the git commit log:
- Shift item in changelogs by @willend in #2400
- Minor manual patches by @willend in #2403
- Fixes to AI doc/manual patches by @willend in #2405
- Ensure to fill all BINS-oriented detector struct members by @willend in #2407
- Inhomogenous incoherent process in Union by @Lomholy in #2402
- Remove deprecated NCrystal-oriented workaround by @willend in #2411
- Suppress loading/plotting of event lists by @willend in #2412
- Fixes #2301 - endorse use of sasmodels comps by @willend in #2413
- Fix for #759 by @willend in #2414
- First stab at fixing #2406 by @willend in #2415
- Make basictest workflow structure more similar across conda / non-conda flows. by @willend in #2417
- Follow-up to #2402, should complete #2305 by @willend in #2418
- Disable MPI when testing non-conda mingw Windows by @willend in #2420
- mctest logs: More information in case of failures / numerical discrepancies by @willend in #2422
- Sync mesh_bugs from main CI dev by @Lomholy in #2423
- Fix to mctest issue: A failed test status would be inherited by subsequent tests by @willend in #2425
- Various improvements mctest by @willend in #2427
- Add jinja2 in windows non-conda CI workflows by @willend in #2429
- Expand Monitor_nD to 10 uservars + other work on monitors by @willend in #2428
- Example instrument with adjustable ESS pulse-length. by @willend in #2430
- Follow-up to #2428, required interface changes by @willend in #2431
- Fix annoying typos in newly-arrived instrument by @willend in #2432
- First attempt at making PowderN load NCMAT data directly via NCrystal by @tkittel in #2371
- Disable non-conda Windows CI. Broken in too many ways. We test that platform through conda only. by @willend in #2439
- union system updated for McXtrace 3 by @ebknudsen in #2282
- Fix for #2436 (McStas+McXtrace) and #2406 (McXtrace) by sync by @willend in #2440
- NCrystal sampling now use the correct per-particle RNG stream by @tkittel in #2437
- Follow up xrl union: Ensure better platform independence via @XRLFLAGS@ by @willend in #2441
- KDSource incoming by @willend in #2442
- Clean up KDSource comp/instr docs by @willend in #2443
- KDS in display section by @willend in #2446
- Initial steps toward fixing #2435 by @willend in #2448
- Candidate fix for #2434 by @willend in #2447
- mctest/mcviewtest: Log and present mcdisplay output pr. example instr by @willend in #2449
- CI/Infrastructure: Update conda-based workflows to use conda-incubator/setup-miniconda@v4 by @willend in #2450
- Consequence-edits after #2447, non mccodelib-parser mcdisplay tools by @willend in #2451
- webgl-classic mode works best with pure line-based visualisation by @willend in #2452
- Revert mcdis-prefixes for polygon / polyhedron (had side-effects) by @willend in #2453
- Fixes for failed visualisation of selected instrs in mctest by @willend in #2454
- Add trailing newlines as these lines interfere with mcdisplay/GPU by @willend in #2455
- Drop seed in %Example line by @willend in #2456
- Mesh bugs by @Lomholy in #2424
- Various bits of work for mcdisplay / from mctest and on GPU. by @willend in #2458
- Repair of mcdisplay-backends post PR #2447 (for fix of #2434) by @willend in #2459
- Run KDSource test-instrument also within the MCPL-test section by @willend in #2460
- Small changes to tiny expression for improved usability by @Lomholy in #2463
- New spin wave comp by @SSBNS in #2373
- Union logger transformations by @mads-bertelsen in #2426
- Apply clangformat to SpinWave_BCO.comp by @willend in #2465
- DRAFT prototyping for in-repo .md comp/instr docs by @willend in #2404
- Adding KVASIR secondary spectrometer mcstas ...
McStas/McXtrace v.3.7.0
Changes in McStas/McXtrace 3.7.0, May 21st, 2026
What's Changed
Main new developments:
Common McStas and McXtrace developments:
- Up to 10
USERVARSsupported withMonitor_nD(nameduser0,...,user9) - Qt5 → Qt6 across the package and dependencies
- Bugfix: Fix of rare visualisation bug in
mcdisplay/mxdisplay(e.g. box was not allowed as a comp name) - Doc improvements:
mcdoc/mxdoccan render.texand.mdin addition to.html- Example instruments come with an in-repo
README.mdgenerated via this mechanism - See e.g. McStas BNL_H8 or McXtrace ESRF ID01
- CI/test improvements:
McStas specific developments:
- Integrated support for KDSource
- New component
KDSource - For usage details, see example instrument
Test_KDSourceand the KDSource documentation website - Available as automatic dependency on
conda-forgebased installations (including macOS and Windows 'installers' - Not available as .deb package on Debian systems but may function by installing via pip.
Recommendation: Just useconda-forge.
- New component
- Pulse-length adjustment available for
ESS_butterfly- Handled via specifically named instrument input parameter and
DEPENDENCYline - See example instrument
ESS_butterfly_Adjustable_Pulse
- Handled via specifically named instrument input parameter and
PowderNnow supportsNCrystalcfg-strings.- Forwards request to
NCrystalthat populates datastructures without intermediate.laz/.laufiles - See example instrument Test_Powders -
comp=0mode
- Forwards request to
- Bugfixes:
- Fix to Union, orientation of loggers wrt. master comp
- Bugfixes to recently added improved Union mesh
- Contributions from NBI/KU:
Inhomogenous_incoherent_processin Union from @Lomholy, (via ‘tinyexpr' string-expression inputs) - see rel. test instrument- New spinwave comp
SpinWave_BCOfrom @SSBNS - see rel. test instrument - ESS KVASIR instrument proposal - backend instrument with MCPL input from BIFROST optic. @AmalieFalkenberg. Includes Jupyter notebook in McStasScript syntax.
- McStas component manual uses
.texsnippets from generated via componentsmcdoc
McXtrace specific developments:
- Much improved Union subsystem for McXtrace by @ebknudsen. Makes use of Xraylib for Compton and Rayleigh scattering models.
- Test instruments for the new Union processes, both from @ebknudsen
- PowderCompton_union - Compton scattering and powder diffraction
- Test_KN_Comp_Rayl_union - test instrument using Klein-Nishina, Rayleigh, or Compton
scattering processes.
Detailed list - from the git commit log:
- Shift item in changelogs by @willend in #2400
- Minor manual patches by @willend in #2403
- Fixes to AI doc/manual patches by @willend in #2405
- Ensure to fill all BINS-oriented detector struct members by @willend in #2407
- Inhomogenous incoherent process in Union by @Lomholy in #2402
- Remove deprecated NCrystal-oriented workaround by @willend in #2411
- Suppress loading/plotting of event lists by @willend in #2412
- Fixes #2301 - endorse use of sasmodels comps by @willend in #2413
- Fix for #759 by @willend in #2414
- First stab at fixing #2406 by @willend in #2415
- Make basictest workflow structure more similar across conda / non-conda flows. by @willend in #2417
- Follow-up to #2402, should complete #2305 by @willend in #2418
- Disable MPI when testing non-conda mingw Windows by @willend in #2420
- mctest logs: More information in case of failures / numerical discrepancies by @willend in #2422
- Sync mesh_bugs from main CI dev by @Lomholy in #2423
- Fix to mctest issue: A failed test status would be inherited by subsequent tests by @willend in #2425
- Various improvements mctest by @willend in #2427
- Add jinja2 in windows non-conda CI workflows by @willend in #2429
- Expand Monitor_nD to 10 uservars + other work on monitors by @willend in #2428
- Example instrument with adjustable ESS pulse-length. by @willend in #2430
- Follow-up to #2428, required interface changes by @willend in #2431
- Fix annoying typos in newly-arrived instrument by @willend in #2432
- First attempt at making PowderN load NCMAT data directly via NCrystal by @tkittel in #2371
- Disable non-conda Windows CI. Broken in too many ways. We test that platform through conda only. by @willend in #2439
- union system updated for McXtrace 3 by @ebknudsen in #2282
- Fix for #2436 (McStas+McXtrace) and #2406 (McXtrace) by sync by @willend in #2440
- NCrystal sampling now use the correct per-particle RNG stream by @tkittel in #2437
- Follow up xrl union: Ensure better platform independence via @XRLFLAGS@ by @willend in #2441
- KDSource incoming by @willend in #2442
- Clean up KDSource comp/instr docs by @willend in #2443
- KDS in display section by @willend in #2446
- Initial steps toward fixing #2435 by @willend in #2448
- Candidate fix for #2434 by @willend in #2447
- mctest/mcviewtest: Log and present mcdisplay output pr. example instr by @willend in #2449
- CI/Infrastructure: Update conda-based workflows to use conda-incubator/setup-miniconda@v4 by @willend in #2450
- Consequence-edits after #2447, non mccodelib-parser mcdisplay tools by @willend in #2451
- webgl-classic mode works best with pure line-based visualisation by @willend in #2452
- Revert mcdis-prefixes for polygon / polyhedron (had side-effects) by @willend in #2453
- Fixes for failed visualisation of selected instrs in mctest by @willend in #2454
- Add trailing newlines as these lines interfere with mcdisplay/GPU by @willend in #2455
- Drop seed in %Example line by @willend in #2456
- Mesh bugs by @Lomholy in #2424
- Various bits of work for mcdisplay / from mctest and on GPU. by @willend in #2458
- Repair of mcdisplay-backends post PR #2447 (for fix of #2434) by @willend in #2459
- Run KDSource test-instrument also within the MCPL-test section by @willend in #2460
- Small changes to tiny expression for improved usability by @Lomholy in #2463
- New spin wave comp by @SSBNS in #2373
- Union logger transformations by @mads-bertelsen in #2426
- Apply clangformat to SpinWave_BCO.comp by @willend in #2465
- DRAFT prototyping for in-repo .md comp/instr docs by @willend in #2404
- Adding KVASIR secondary spectrometer mcstas ...