Changelog#

A terse, version-by-version record of every notable change. For the narrative behind each release — highlights, migration guidance, and known limitations — see the Release Notes.

This project follows Keep a Changelog conventions and semantic versioning. Every entry carries a colour-coded badge so the log can be scanned at a glance:

  • Feature New — a new capability, module, or application

  • Enhancement Perf — improved behaviour or performance

  • Fix — a bug fix

  • API Change Deprecated — a change to the public API surface

  • Breaking Security — read carefully before upgrading

  • Docs Build Tests — documentation and project tooling


2.0.0rc1 Feature API Change Breaking Docs#

Release candidate — the first pre-stable tag of the v2 line. The public API is not backwards-compatible with v1 and may still change before 2.0.0 final; see Migration from v1 for a v1 → v2 name map.

Added#

  • Feature Multi-backend AI engine — every neural model (FCN, ResNet, CNN1D, UNet2D, DRCNN) dispatches transparently to PyTorch or TensorFlow through a unified abstraction layer (pycsamt.backends).

  • Feature Named-step processing pipelinepycsamt.pipeline chains catalogued steps (QC, notch, band selection, static shift, rotation, …) into reproducible runs with reports, presets, and YAML round-tripping.

  • Feature EM analytics toolboxpycsamt.emtools: QC tables, dimensionality, skew, strike, phase-tensor diagnostics, corrections, and one-call plotting for every view.

  • Feature Modeling stack — synthetic forward modelling (pycsamt.forward), external engines Occam2D / ModEM / MARE2DEM under pycsamt.models, and deep-learning inversion in pycsamt.ai (1-D/2-D/3-D nets, ensembles, uncertainty).

  • Feature Geological interpretationpycsamt.interp supersedes geodrill: method-agnostic model calibration, a 25-rock EM database, and Oasis Montaj / LAS 2.0 / VTK export.

  • Feature AI agents — specialised loader / QC / processing / inversion agents plus a workflow orchestrator that turns a plain-text request into a previewable agent chain (pycsamt.agents).

  • Feature IoT field telemetrypycsamt.iot: edge QC on the recorder, telemetry schemas and transports, power budgeting, GPS-sync audit, and a live field-session dashboard.

  • New Four applications, one engine — the desktop GUI, the web app, the Agent Master chat surface, and the MapView workbench (see Applications).

  • New Offline agent example gallery — seven runnable, zero-cost examples covering routing, context parsing, the model zoo, forward modelling, plan validation, coordination, and the AgentMaster front door (see Examples).

Changed#

  • API Change Configuration is explicit — runtime behaviour (output directories, plot styles, axis conventions, agent budgets) is set through the documented configure_* / reset_* families instead of scattered keyword arguments; see the API configuration guide.

  • API Change EDI is the source of truth — the impedance Z object and EDICollection now drive every processing and inversion pipeline.

Fixed#

  • Fix Encoding-safe figure saving — saving a figure or writing the plot config no longer raises UnicodeEncodeError on a legacy Windows (cp1252) console; the file is already on disk, so the save is no longer reported as failed (pycsamt.api.plot).

  • Fix Robust agent previewsAgentCoordinator dry-run previews route their output through an encoding-safe printer, so a preview never crashes on non-ASCII glyphs (pycsamt.agents).

Removed#

  • Breaking pycsamt.geodrill — removed; use pycsamt.interp.

  • Breaking pycsamt.ff — removed; use pycsamt.emtools.

  • Breaking pycsamt.viewer — removed; use module-level .plot() methods on result objects.

  • Breaking pycsamt.modeling — removed; use pycsamt.models.

  • Breaking All v1 CLI entry points — removed and replaced by the v2 command set.

Docs & tooling#

  • Docs Documentation rebuilt — executed example galleries for every tool family (Examples), task-based user guides, application manuals, and a full autodoc reference.

  • Docs Reference hub — a new Resources landing page groups the Glossary of MT/AMT/CSAMT terms and the bibliography.

  • Build PyPI-installable — pure pyproject.toml; setup.py removed.

Migration from v1#

The v1 module tree is replaced by the subsystem packages above. v1 scripts do not run unchanged against v2 — start from the user guide equivalents of your workflow, and use this map for the most common names:

v1

v2 equivalent

pycsamt.geodrill.geocore.GeoStratigraphy

pycsamt.interp.ModelCalibrator

pycsamt.geodrill.geocore.Geodrill

pycsamt.interp.ResistivityModel + ModelCalibrator

pycsamt.geodrill.geodatabase.GeoDataBase

pycsamt.interp.RockDatabase

pycsamt.modeling.occam2d

pycsamt.models.occam2d

pycsamt.viewer.plot

Module-level plot_*() methods on result objects

pycsamt.ff.processing

pycsamt.emtools


1.2.1 Docs#

Last stable v1 release. See README_v1.md for the full v1 changelog.