Skip to the content.

Public API and schema lifecycle

NeqSim public contracts include Java and Python APIs, JSON schemas, DEXPI representations, MCP tools, command-line interfaces, and persisted model or engineering packages.

Compatibility rules

Deprecation

Deprecation requires documentation of the replacement and migration path. A deprecated public contract remains supported through at least one subsequent minor- or major-version release after the deprecation is announced. A patch-version release does not satisfy this minimum. For the current NeqSim release workflow, count the minor- or major-version release when it is published using the version set in the POM. Removal is a separate breaking change and must follow the rules below, including a new major contract version.

An LTS release does not by itself extend this minimum period. If the contract has an explicit LTS support commitment, keep supporting it for that LTS line until its published end-of-support date, unless a security or correctness issue makes that unsafe.

Breaking changes

A breaking change requires an accepted NRC, a new major contract version, migration documentation, compatibility tests, and release notes. Where practical, NeqSim should provide a reader or converter for the immediately preceding major version.

Qualification boundary

API stability says that integrations can rely on a contract. It does not say that the underlying calculation is qualified for a particular project, standard, operating range, or engineering decision.

Legacy TP-flash solver migration

SysNewtonRhapsonTPflashNew is deprecated following issue #4212. It is the legacy solver that originally used JAMA; the production TPflash implementation uses SysNewtonRhapsonTPflash. Application callers should migrate to ThermodynamicOperations.TPflash() so that the normal stability and equilibrium orchestration remains in control.

The public class, constructor and methods remain available. The later EJML migration changed its internal matrix fields, so old JAMA-based serialized solver instances are incompatible even though the version identifier is unchanged; recreate those working solvers from their model inputs. Existing calls are not redirected and intermediate states are not equivalent: the legacy solver uses logarithmic K-value variables, whereas the current Newton solver uses Michelsen’s u variables. Direct users must compare their fluid cases and convergence behavior when migrating.

Removal remains a separate change after the required release-cycle/LTS deprecation period and the breaking-change process above. Absence of in-repository callers alone does not establish absence of external users. No removal date is promised.

Numerical backend migration

Replacing internal JAMA calculations with EJML does not retire public Matrix signatures or serialized state. Follow the JAMA to EJML migration and dependency retirement guide before removing the dependency. Its release gates apply independently to each deprecated public contract.

Legacy Aspen IP.21 historian integration

Since NeqSim 3.25.0, AspenIP21Database, OnlineSignal, and the measurement-device methods that expose or configure the legacy signal are deprecated (issue #4186). Constructors, method signatures, serialized field layouts and serialVersionUID values are retained. Existing connection attempts and read/failure behavior are unchanged. Deprecation does not certify the legacy JDBC/ODBC path on current JVMs or provide a new historian connector.

Move historian acquisition, authentication, tag mapping, sample quality and freshness checks into the application integration layer using a supported client for the chosen historian. For NeqSim condition analysis, pass the checked numeric sample and engineering unit to MeasurementDeviceBaseClass.setOnlineMeasurementValue(double, String) and read it with getOnlineMeasurementValue(). This input does not populate OnlineSignal, implement its timestamp/connection behavior, or change the legacy getOnlineValue() method. Applications using that method must migrate their acquisition/read path explicitly. Offline calculated measurements remain available through getMeasuredValue(...).

No replacement JDBC query API or automatic sample adapter is introduced. Retain existing integrations during migration and qualify the application’s sample mapping separately. Deleting these public types or methods requires the release period and breaking-change process above; this deprecation does not schedule removal in a patch release.