|
1 | | -# Changes |
| 1 | +## Changelog |
| 2 | + |
| 3 | +### Breaking Changes |
| 4 | + |
| 5 | +* For h5 files, the internal data layout has changed. rayx/rayx-ui wont be able to write/read the old format |
2 | 6 |
|
3 | 7 | ### RAYX-CORE |
4 | | -* Improve tests on correctness for gratings by @fannyzotter in https://github.com/hz-b/rayx/pull/307 |
5 | | -* Rework Refrac2D by @fannyzotter in https://github.com/hz-b/rayx/pull/308 |
6 | | -* Exchange Vulkan GPU tracer with Alpaka (using Cuda) and enable multithreaded CPU tracing. by @ichinii in https://github.com/hz-b/rayx/pull/304 |
7 | | -* adapt compile.sh by @ichinii in https://github.com/hz-b/rayx/pull/317 |
8 | | -* Rework/core classes by @Atraxus in https://github.com/hz-b/rayx/pull/316 |
9 | | -* Exchange custom math library with std math library for complex numbers and trigonometry |
10 | | -* Minor bug fixes |
| 8 | +* New optical element: **Crystal** (https://github.com/hz-b/rayx/pull/380) |
| 9 | + * For more information visit our [wiki](https://hz-b.github.io): https://hz-b.github.io/rayx/Model/BeamlineObjects/OpticalElements/Crystal.html |
| 10 | +* New optical element: **Single layer foil** (https://github.com/hz-b/rayx/pull/391) |
| 11 | + * For more information visit our [wiki](https://hz-b.github.io): https://hz-b.github.io/rayx/Model/BeamlineObjects/OpticalElements/Foil.html |
| 12 | +* Beamlines are now represented as a tree graph (improved support for grouping of elements) (https://github.com/hz-b/rayx/pull/350) |
| 13 | +* For h5 files, the internal data layout has changed (https://github.com/hz-b/rayx/pull/374) |
| 14 | + * Each attribute is stored separately |
| 15 | + * Each attribute may or may not be stored, depending on format options set (`--format ...` flag) |
| 16 | +* May record events from a single element only (https://github.com/hz-b/rayx/pull/365) |
| 17 | +* May record specific attributes of events only (https://github.com/hz-b/rayx/pull/374) |
| 18 | +* Advance electric field using optical path length (https://github.com/hz-b/rayx/pull/394) |
| 19 | +* Rework verbose mode console output (`--verbose` flag) |
| 20 | +* Fix efficiency calculation |
| 21 | +* Updated dependency `alpaka` to version `2.0.0` (https://github.com/alpaka-group/alpaka/releases/tag/2.0.0) (https://github.com/hz-b/rayx/pull/399) |
| 22 | + * Inherently, the build dependency `boost` was dropped in rayx |
| 23 | +* By default, rayx-core now compiles for all major cuda architectures (https://github.com/hz-b/rayx/pull/399) |
| 24 | + |
| 25 | +### RAYX (cli) |
| 26 | + |
| 27 | +* Rename cli format options |
| 28 | +`-F,--format TEXT Write specific Ray attributes to output H5 files. Provide a space-separated list of attributes. default value: "path_id position_x position_y position_z event_type direction_x direction_y direction_z energy electric_field_x electric_field_y electric_field_z path_length order element_id source_id "` |
| 29 | +* Add cli option to dump meta data of h5 and rml files |
| 30 | +`-D,--dump TEXT Dump the meta data of a file (h5 or rml)` |
| 31 | +* Add cli option to record events from a single element only |
| 32 | +`-R,--record-element INT Record events only for a specifc element` |
| 33 | +* Add cli option to specify output filepath of csv or h5 files (https://github.com/hz-b/rayx/pull/366) |
| 34 | +`-o,--output TEXT Output path or filename` |
11 | 35 |
|
12 | 36 | ### RAYX-UI |
13 | | -* RAYX-UI Cleanup by @Atraxus in https://github.com/hz-b/rayx/pull/292 |
14 | | -* RAYX-UI Optimization by @EnricoAhlers in https://github.com/hz-b/rayx/pull/305 |
15 | | -* Rework file dialog by @Atraxus in https://github.com/hz-b/rayx/pull/290 |
16 | | -* New: UI for beamline design by @EnricoAhlers in https://github.com/hz-b/rayx/pull/296 |
| 37 | + |
| 38 | +* Improve Wayland support on Linux (https://github.com/hz-b/rayx/pull/353) |
| 39 | +* Add flag to run in verbose mode (`--verbose` flag) (https://github.com/hz-b/rayx/pull/351) |
| 40 | + |
| 41 | +### Other Changes |
| 42 | +* Improved ease of compilation using `compile.sh` script (https://github.com/hz-b/rayx/pull/385) |
| 43 | +* Add CMake option to enable/disable OpenMP backend (https://github.com/hz-b/rayx/pull/357) |
| 44 | +* Add CMake option to build `rayx-core` as static lib (https://github.com/hz-b/rayx/pull/343) |
| 45 | +* Enable use of rayx as a submodule in another project (https://github.com/hz-b/rayx/pull/359) |
| 46 | +* Add shell.nix file, for starting a nix-shell environment, containing all dependencies required to build (https://github.com/hz-b/rayx/pull/389) |
17 | 47 |
|
18 | 48 | ## New Contributors |
19 | | -* @ichinii made their first contribution in https://github.com/hz-b/rayx/pull/304 |
| 49 | +* @JonasTrenkler made their first contribution (https://github.com/hz-b/rayx/pull/357) |
| 50 | + |
| 51 | +## Other |
| 52 | + |
| 53 | +**Full Changelog**: https://github.com/hz-b/rayx/compare/v0.21.2...v1.0.0 |
| 54 | + |
| 55 | +<!-- ### Runtime Performance Comparison --> |
| 56 | +<!-- Runtime performance compared to the previous release (https://github.com/hz-b/rayx/tree/v0.21.2) --> |
| 57 | + |
| 58 | +## Probably coming soon |
20 | 59 |
|
21 | | -**Full Changelog**: https://github.com/hz-b/rayx/compare/v0.20.0...v0.21.0 |
| 60 | +* Mac support including multithreaded tracing on CPU using OpenMP (x86 and arm) |
| 61 | +* Nix flake for reproducable dependency handling to make developing and building rayx more accessible |
| 62 | +* Multi layer foil |
0 commit comments