Changelog
=========
All notable changes to L-SURF will be documented in this file.
The format is based on `Keep a Changelog `_,
and this project adheres to `Semantic Versioning `_.
[0.2.0] - 2024-12-28
--------------------
Added
~~~~~
* Complete package restructuring as L-SURF (Light Surface Reflections)
* Modular architecture with separate core, materials, sources, surfaces, detectors modules
* Comprehensive visualization module with reusable plotting functions
* Full Sphinx documentation with user guide, API reference, and examples
* Conda packaging support with meta.yaml recipe
* pyproject.toml for modern Python packaging
* Type hints throughout codebase (PEP 561 compliant)
* 8 example applications demonstrating key features
* 123 unit tests with pytest
* CI/CD configuration placeholders
Changed
~~~~~~~
* Package renamed from surface_reflections to lsurf
* Import syntax: ``import lsurf as sr``
* Refactored examples to use visualization module functions
* Updated all documentation to use L-SURF branding
* Environment name changed to lsurf
Fixed
~~~~~
* Planar surface support in ``plot_ray_paths_with_surface``
* Module imports in test suite
* Package discovery in setuptools configuration
[0.1.0] - 2024-12-01
--------------------
Initial development release.
Added
~~~~~
* GPU-accelerated ray tracing core
* Fresnel reflection and refraction
* Multiple surface types: planar, spherical, Gerstner waves
* Curved Earth geometry for large-scale simulations
* Ray sources: point, collimated, diverging, Gaussian
* Spherical, planar, and directional detectors
* Material definitions with dispersion models
* Multi-bounce ray tracing with intensity splitting
* Time-of-flight tracking
* Polarization support (s and p components)
* HDF5 data saving for large simulations
* Basic visualization functions
.. _Keep a Changelog: https://keepachangelog.com/en/1.0.0/
.. _Semantic Versioning: https://semver.org/spec/v2.0.0.html