# Changelog

## 1.1.0 - 2026-09-18

Public GitHub release following the limited 1.0.0 distribution. All diagrams,
tutorials, and package examples are generated from LuaCoolProp sources and an
external CoolProp shared library; the reference exercise files are not shipped.

- Adds reproducible README previews generated from the methane and butane
  tutorial PDFs, plus two complete quick-start PH examples.
- Adds CoolProp's requested scientific citation to the reference manual,
  README, and Lua API documentation.
- Keeps exercise reference scans, PDFs, and screenshots out of the source and
  release manifests; tutorial files use descriptive names.
- Fixes `pgfplots-autonode` label-state initialization across consecutive
  PGFPlots axes, handles exact disconnected-path endpoints, and adds
  multi-axis and endpoint regression fixtures.

- Adds a native PT (pressure--temperature) diagram with a logarithmic pressure
  axis; one rigorously sampled pure-fluid liquid--vapour coexistence curve from
  exact triple to critical endpoints; optional isentropes, isenthalps, and
  isochores; all shared process projections; semantic axis units; stable named
  curves; LaTeX, plain TeX, and ConTeXt examples; and indexed reference
  documentation.
- Releases the maintained LPPL 1.3c-or-later package under Christophe
  Jorssen's maintainership with synchronized release metadata.
- Produces deterministic CTAN browsing and TDS archives, normalizes file modes,
  and tests an installed TDS tree with LuaLaTeX, plain LuaTeX, ConTeXt MkIV,
  and standalone pgfplots-autonode.
- Stops changing the user's PGFPlots compatibility level and unrelated axes;
  automatic label-placement hooks are local to LuaCoolProp-created axes or
  explicitly enabled by users of the low-level API.
- Marks common critical endpoints as quality-independent graphical limits;
  vapor quality remains explicitly undefined at the critical state.
- Makes critical-region quality sampling genuinely adaptive in logarithmic
  reduced pressure for PH, PV, TS, and HS; the configured tolerance and
  recursion limit now govern the added high-pressure samples instead of a
  fixed epsilon table.

- Makes PH, PV, TS, and HS peers of one capability-checked diagram registry;
  unsupported background-family switches now fail while every projection
  retains all process-path types.
- Adds semantic axis-unit keys which couple numerical conversion to the
  generated label, including a genuine Celsius offset on linear TS axes; raw
  scale keys now advertise scaled SI coordinates.
- Preserves disconnected valid CoolProp domains as separate segments, emits
  PGFPlots jumps, exposes topology metadata, and adds configurable omitted-
  sample diagnostics.
- Exposes and locks CoolProp's `DEF`, `IIR`, `ASHRAE`, and `NBP` enthalpy/
  entropy reference conventions during initialization and records the active
  convention in process metadata and TeX fluid constants.
- Enforces a pure-fluid boundary for all diagram operations while retaining
  mixture support in the low-level Lua wrappers.
- Rejects thermodynamically inconsistent overdetermined states and process
  endpoints by validating every explicit property and each conserved process
  quantity against the canonical state resolved by CoolProp, with quantitative
  diagnostics and documented absolute/relative tolerances.
- Makes numeric, unit, list, grid-mode, preset, boolean, and explicit-bound
  parsing strict and locale independent. Numeric input now requires `.` as its
  decimal separator and accepts decimal scientific quantities such as
  `1.2E5Pa`; invalid input is never silently replaced, discarded, or repaired.
- Adds a native linear HS (mass-specific-enthalpy--mass-specific-entropy)
  diagram type with fluid-independent qualities, isochores, isotherms, and
  entropy-parameterised isobars; exact critical and two-phase handling; all
  six process paths; Water examples for LaTeX, plain TeX, and ConTeXt; and
  exhaustive indexed TeX and Lua documentation.
- Adds a native linear TS (temperature--mass-specific-entropy) diagram type
  with fluid-independent quality curves, canonical critical closure,
  constant-mass-specific-enthalpy backgrounds, all six process paths,
  format-generic TeX commands, structured Lua renderers, examples for LaTeX,
  plain TeX, and ConTeXt, and exhaustive indexed reference documentation.
- Adds an expert methane Linde-liquefaction teaching pair: a regenerated PH
  worksheet, six progressive correction views, coupled separator/regenerator/
  mixer balances, three-stage compression and cooling, live state exports,
  signed powers, and comparison with coarse graphical estimates.
- Adds a shared-source R1234yf swimming-pool heat-pump teaching pair: a dense
  PH worksheet, intersection-defined four-state solution cycle, saturation-
  derived operating pressures, industrial first-law discussion, process-fed
  state chaining, and an automated signed condenser-power calculation.
- Expands numeric process-export macros inside subsequent `from` and `to`
  state specifications, allowing reproducible process chains without copying
  intermediate CoolProp values while keeping TeX labels and styles protected.
- Adds a five-stage butane PV teaching tutorial: a reusable worksheet,
  phase-region and critical-state
  reading, ideal-gas comparison, intersection-defined tank state, isochoric
  heating path, and endpoint-derived numerical results.
- Fixes process-state completion so derived properties continue to use the
  original independent CoolProp pair; this resolves two-phase PV isochores
  whose target is specified by temperature after volume has been inferred.
- Documents official CoolProp download and reproducible source-build workflows
  for macOS, Linux, and Windows while keeping every dependency checkout and
  binary outside the CTAN package tree.
- Adds prominent disclosure that the package was developed with substantial
  ChatGPT-assisted ``vibe coding'', together with independent-validation and
  native-library trust guidance.
- Adds an explicit warning that full `--shell-escape` is required to expose the
  LuaTeX FFI module but grants dangerous external-command capabilities to the
  complete TeX document and all of its dependencies.
- Adds a native log-log PV (pressure--specific-volume) diagram type with
  quality curves, isotherms (including exact two-phase plateaux), isentropes,
  all process paths, multi-fluid critical closure tests, format-generic TeX
  commands, and exhaustive reference examples.
- Adds an extensible diagram registry with generic TeX dispatch commands and a
  structured Lua API; PH and PV are the built-in diagram types.
- Standardizes new PH documents on uppercase diagram names and the `quality`,
  `isotherm`, `isentrope`, `isochore`, and `process` vocabulary.
- Keeps the earlier mixed-case commands, abbreviated keys, and flat Lua
  functions as compatibility aliases.
- Makes the ConTeXt wrapper use the native PGFPlots frontend and format-aware
  Lua file resolution, including ConTeXt's e-TeX primitive aliases.
- Builds and tests LaTeX, plain TeX, and ConTeXt examples with `lualatex`,
  `luatex`, and ConTeXt MkIV respectively, with logs kept by the build script.
- Integrates automatic label placement as the canonical PGFPlots `autonode`
  library while retaining the former package and direct-loader entry points.
- Diagnoses labels registered without the mandatory `auto node placement`
  lifecycle, fixes the dense manual-axis showcase, and verifies that the solve
  and render hooks run in LaTeX, plain LuaTeX, and ConTeXt.
- Makes the documented per-label overlap weight participate symmetrically in
  repair/local-search costs, validates numerical backend options, and expands
  geometric regression coverage for borders, rotations, priorities, collision
  models, failure handling, and axis-state isolation.
- Adds standalone autonode examples for LaTeX, plain TeX, and ConTeXt so the
  library is tested independently from LuaCoolProp's thermodynamic layer.
- Adds an extensive Lua developer reference covering the complete public API,
  SI units, errors, FFI resource ownership, structured diagram records, future
  diagram registration, the TeX bridge, and compatibility boundaries.
- Documents every public CoolProp wrapper and managed `AbstractState` method in
  the Lua source with LDoc-compatible contracts.
- Runs a standalone `texlua` smoke test for the documented metadata, property,
  managed-state, PH curve, process, and PGFPlots serialization APIs.
- Adds an exhaustive English TeX reference with a documented example for every
  public command and key, live source/result showcases, precise defaults,
  accepted values, aliases, units, sampling controls, and process-state syntax.
- Adds the complete `pgfplots-autonode` user reference, including standalone
  LaTeX, plain TeX, and ConTeXt loading, all per-label and axis keys, solver
  algorithms, failure policies, diagnostics, and executable examples.
- Generates independent command and key/value indexes reproducibly with
  `makeindex` as part of `scripts/build-examples.sh`.
- Adds structural documentation-coverage checks and numerical regression tests
  for both LuaCoolProp and the autonomous PGFPlots label solver.
- Adds `scripts/test.sh` as the complete validation entry point for shell
  portability, public-reference coverage, Lua behavior, all three TeX formats,
  examples, and the indexed manual.
- Adds an explicit release manifest and deterministic archive builder that
  excludes CoolProp sources, binaries, logs, and transient TeX files.
- Adds an extensive instructor-oriented R717 refrigeration-machine tutorial,
  with a shared-source blank worksheet, annotated model solution, thermodynamic
  state table, process construction, energy balance, dimensional checks, and
  reproducible source/result diagrams.
- Publishes process endpoint coordinates through opt-in TeX macros and log
  messages, and derives the tutorial's states from intersections of named TikZ
  process paths instead of duplicated numeric coordinates.
- Adds an advanced six-stage R134a air-conditioner tutorial, from phase-region
  analysis through the complete cycle, endpoint-derived state properties,
  energy balances, and a comparison with approximate graphical readings.
- Closes every pure-fluid quality curve at one canonical critical state,
  removes the former `0.999 pcrit` truncation, and adds geometric near-critical
  refinement plus multi-fluid numerical regression coverage.
- Uses `siunitx` for generated LaTeX numbers and units while preserving any
  configuration established before LuaCoolProp is loaded; plain TeX and
  ConTeXt retain format-independent fallbacks.
- Makes PH axis and curve-family symbols configurable as TeX math material,
  including alternative quality and temperature notations such as `x` and
  `\theta`.

## 1.0.0 - 2026-09-05

Limited distribution to a small group of users. This release provided the PH
diagram, a generic TeX interface with LaTeX, plain TeX, and ConTeXt wrappers,
and the first version of the autonomous `pgfplots-autonode` library.

## 1.0-RC-01

- Consolidates the pressure-enthalpy diagram interface for pure fluids.
- Provides generic TeX code plus LaTeX, ConTeXt, and plain TeX wrappers.
- Delegates automatic label placement to pgfplots-autonode.
- Supports quality curves, isotherms, isentropes, isochores, and process paths.
- Provides stable curve names and per-curve label/style overrides.
- Provides an English user manual and developer reference.
