# Changelog ## 1.1.1 - 2026-09-20 - Makes the independently distributed `pgfplots-autonode` package a required runtime dependency instead of embedding a second package in LuaCoolProp. - Removes autonode implementation files, standalone documentation, examples, and tests from the LuaCoolProp CTAN and TDS archives. - Tests the integration against a separately supplied `pgfplots-autonode.tds.zip`; the label library now has its own repository, release workflow, documentation, and test suite. ## 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.