# What's New Highlights from recent releases and commits. ## Schema & Placement - **SchemaPlacer** — NXDL-guided auto-placement for SPEC and other inputs. - **Application definition bias** — prefer fields from a chosen application definition (for example `NXxas`). - **Bundled NXDL** — if `external_references/nexus/nexus_definitions` is present, it is used as the default `--nxdl-root`. - **Units-aware scoring** — units such as `eV`, `K`, `deg` steer placement to appropriate fields. - **CSV metadata** — enrich variables with `description`/`units` values that propagate into generated definitions. ## HDF5 & Templates - **Links vs extract modes** — control how definitions are generated from existing HDF5/NeXus files. - **Per-scan outputs** — SPEC workflow (`-f`) emits one file per scan plus a master with external links. - **Single-scan templates** — `-t` creates reusable templates expanded across scans during conversion. - **YAML output** — optional YAML definitions when generating templates. - **Name sanitisation** — invalid dataset/group names are normalised, preserving the original label in `@long_name`. ## Inputs & Plugins - **SPEC** — robust parser with normalised keys and common aliasing. - **DTA/DAT (batteries)** — RAW/non-RAW/temperature readers plus combined folder generation. - **PEAXIS** — folder generator and SIF/XAS/DAT parsers. - **MPES** — generator + parser for multi-photon emission spectroscopy HDF5 data; activated by `-b mpes`. - **YAML** — generator + parser for YAML-format data files with optional SchemaPlacer placement. - **JSON-LD** — generator + parser for fixed-width/delimited text described via CDI/Schema.org JSON-LD (`--jsonld-structure FILE`). - **Diamond B18 XAFS** — unified ASCII/NeXus parser + NXxas generator; every parsed variable is now linked to the produced definition. - **HDF5/NeXus** — generator + parser, building definitions from existing files. - **TIFF** — image-centric definitions with detector/data placeholders and NXdata linkage. - **Plugin system** — plug-and-play modules; auto-discovered without explicit registration. ## CLI & Batch - **Batch conversion** — recursion, glob filters, dry-run summaries. - **Folder generation modes** — `--single-file` vs `--multi-file`. - **Beamline context** — IKFT, batteries, PEAXIS, MPES modes. - **Batteries analysis** — `--batteries-analysis` derives EIS/SoC/IV datasets during conversion. - **DTA/RAW user name** — `--user-name NAME` embeds a user field in generated pair templates; otherwise prompted interactively and cached for the run. - **Prompt literals** — `.nxd` values of the form `?"Prompt text"` ask for user input once per run and reuse the answer for all files in a batch. - **ICAT ingestion** — `-I NUM` appends a `proposal_/` subfolder to outputs. - **Utilities** — `--license`, `--notice`, `--list-beamlines`, CSV export for variables. - **Auto-generate NXD** — during conversion, create definitions per file when scanning directories. - **Validation** — `--validate` runs `punx` on generated `.nxs` outputs. - **Value export** — `--export-values-csv` writes HDF5 dataset values to CSV with optional prefix filtering.