[v0.3.0](https://github.com/jeertmans/DiffeRT2d/compare/v0.2.0...v0.3.0)
(v0.3.0-added)=
Added
+ Path methods now accept `Point` in addition to `Float[Array, "2"]` for `tx`
and `rx` arguments.
[59](https://github.com/jeertmans/DiffeRT2d/pull/59)
(v0.3.0-changed)=
Changed
+ Changed `.point` and `.points` class attributes to `.xy` and `.xys`
to emphasize that they are the raw x-y coordinates.
This is a **breaking change**.
[59](https://github.com/jeertmans/DiffeRT2d/pull/59)
+ Changed `Scene` attributes to me immutable, to follow the principle
of PyTrees.
This is a **breaking change**.
[59](https://github.com/jeertmans/DiffeRT2d/pull/59)
+ Removed the `seed` argument for path methods and made the `key` argument
mandatory when needed. The `key` and `kwargs` arguments are now present
everywhere, but may be unused.
This is a **breaking change**.
[59](https://github.com/jeertmans/DiffeRT2d/pull/59)
(v0.3.0-chore)=
Chore
+ Changed to project to use modern tools like Rye, Ruff (discarding Black
and others), `bump-my-version`, ReadTheDocs documentation hosting, better
type hints, etc.
This is a **breaking change** because some functions parameters changed
(e.g., `minimize`), a type checker is used on many functions, and classes
are now frozen dataclasses (because PyTrees).
[58](https://github.com/jeertmans/DiffeRT2d/pull/58)
+ Update the examples and lib to match changes in codebase and satisfy Pyright.
[59](https://github.com/jeertmans/DiffeRT2d/pull/59)
+ Reworked documentation to include notes on JAX, jaxtyping, and scientific
publications.
[59](https://github.com/jeertmans/DiffeRT2d/pull/59)