# v0.30.x series (current stable)

## v0.30.0 (27th March 2025)

In this major release, we add several features related with polarization and
aquatic surface modelling. We also further improve the expert interface with
additional syntactic sugar and debugging tools.

```{warning}
The `mycena` CKD dataset (10 nm resolution) has been updated and fixed. The
`mycena` keyword now routes to this updated version (`mycena_v2`), both for
data download and consumption. The previous version of the dataset is still
available as `mycena_v1`.
```

### Deprecated

* ⚠️ The {func}`eradiate.srf_tools.make_gaussian` function is deprecated. It
  will be removed in v0.31.0. Use {func}`eradiate.spectral.response.make_gaussian`
  as an alternative.
* ⚠️ The `mycena_v1` CKD absorption database has issues and should not be used.
  Instead, use `mycena_v2` (aliased as `mycena` now). The previous version of
  the dataset is still available for backward compatibility.

### Removed

* ⚠️ The {class}`MolecularAtmosphere` constructor no longer accepts a
  `phase_function` parameter ({ghpr}`460`).

### Added

* Added several ocean BRDF models: 6SV-like / "legacy" ({ghpr}`453`),
  specular polarized / "Mishchenko" ({ghpr}`466`), GRASP ({ghpr}`480`).
* 🖥️ Improved importance sampling for ocean BRDFs ({ghpr`480`}).
* Added depolarization factor to the Rayleigh phase function ({ghpr}`460`).
* Added a new {class}`.ArrayRadProfile` class ({ghpr}`468`). It implements an
  interface to user-defined raw radiative atmospheric profile data and is mostly
  used for debugging purposes. Note that it currently only supports
  monochromatic evaluation and will use it as a fallback in CKD modes.
* The {func}`.run` function, {meth}`.Experiment.process` and
  {meth}`.Experiment.postprocess` now accept a `measures` argument that allows
  to specify which measures will be processed ({ghpr}`471`, {ghpr}`472`).
* Added a new `mycena_v2` molecular absorption database (10 nm resolution)
  ({ghpr}`473`).
* Added a `drop_parameters` option to {meth}`.Experiment.init` ({ghpr}`474`).

### Changed

* Transferred the Gaussian SRF dataset creation function {func}`.make_gaussian`
  to the {mod}`eradiate.spectral.response` subpackage ({ghpr}`458`).
* Updated spectral response function database to optimize computational time
  ({ghpr}`469`).
* ⚠️ The `mycena` molecular absorption database is renamed `mycena_v1`. The
  `mycena` database identifier is an alias to `mycena_v2` ({ghpr}`473`).
* ⚠️ The file download lists available from the `eradiate data fetch` command
  have been updated ({ghpr`473`}): 3 lists (`mycena`, `mycena_v1` and
  `mycena_v2`) are now available ({ghpr`473`}).
* The missing index files for monochromatic databases have been added to the
  stable data store and the file download lists ({ghpr}`477`), hopefully
  preventing frequent database consistency issues.

### Fixed

* Fixed Gaussian SRF padding strategy ({ghpr}`458`).
* Package metadata now explicitly mentions that supported Python is up to 3.12.
* Fixed incorrect interpolation method in volume data textures ({ghpr}`465`).
* The {class}`.InterpolatedSpectrum` constructor now raises if it detects NaN
  in the values it receives ({ghpr}`467`).
* Fixed exception occurring when interpolating in a CKD absorption database that
  had species missing from the atmospheric profile ({ghpr}`470`).
* Fixed the azimuth convention of {class}`.MultiPixelDistantMeasure` which was
  discarded after initialization, providing erroneous azimuth outputs
  ({ghcommit}`fa9208`).
* Fixed the {func}`.scene_parameter` decorator, to which Mitsuba scene node
  lookup protocols were added ({ghcommit}`0b9cc5`).
* ⚠️ Duplicate measure IDs are no longer permitted ({ghpr}`472`).

% ### Internal changes
