Repository navigation
Releases
Releases · DataIntegrationGroup/OcotilloAPI
v1.5.0
1.5.0 (2026-10-21)
Features
- chemistry: Add legacy unit abbreviations (7343d59)
- chemistry: Adopt field samples in LIMS (189aa1d)
- chemistry: adopt field-sheet samples in lims ingest (BDMS-1283) (4be9f90)
- chemistry: Ingest isotope results (b3d24ca)
- chemistry: ingest isotope results (BDMS-1461) (a1848d1)
- chemistry: Match lab samples by letter (b3b946a)
- chemistry: Report empty isotope rows (401a881)
- chemistry: report empty isotope rows in the workbooks (BDMS-1461) (0518241)
- chemistry: report every failed field-sheet row in one pass (BDMS-1273) (f4b4f11)
- chemistry: Report failed rows in one pass (340366e)
- chemistry: Warn about unread columns (f9d5316)
- chemistry: Write the failed-row reports (0362223)
- cli: Add --failed-rows and --loadable (65350b0)
- cli: Add db-info command (7cec01a)
- cli: Add the isotope ingest commands (eb480cc)
- cli: List adopted samples in bulk-upload (3900d93)
- cli: Name the database in chemistry ingest reports (126167e)
- cli: show which database the CLI reaches (BDMS-1273) (2f6c014)
- lexicon: add quivira coalition and woodland hills well share association organizations (BDMS-1221) (86ba376)
- lexicon: Add two new organization terms (91b8c5c)
- README: add ogcapi-internal to README (02164de)
Bug Fixes
- .env.example: use comment to explain gcs credentials (81295ca)
- chemistry/result: update parameter_name generation BDMS-1292 (dc8b527)
- chemistry: keep field-sheet readings on the right sample (BDMS-1273) (5ee20e0)
- chemistry: Match field samples by ID only (73f2f4e)
- chemistry: Match lab samples by ID only (f26ca8f)
- chemistry: Match sheet rows by name first (51bffca)
- chemistry: Reject ambiguous sample points (2a596be)
- chemistry: Reject lab samples that disagree (d4ae713)
- chemistry: Reject readings from another day (2d2a3ef)
- chemistry: Reword the empty row reason (4144ad9)
- chemistry: Stop on a changed LIMS re-load (ace799d)
- ci: survive the cold start the smoke step hits after a deploy (BDMS-1352) (6c8880e)
- ci: survive the cold start the smoke step hits after a deploy (BDMS-1352) (ab6a4e2)
- docker-compose: default non-secrets (e6e5c63)
- hydrograph: batch transducer block inserts to stop publish timeouts (BDMS-1445) (23e0997)
- hydrograph: batch transducer block inserts to stop publish timeouts (BDMS-1445) (f6820f7)
- README: amend per PR feedback (57dde55)
- README: fix typo (a861d7c)
- README: fix typo (0e68a0c)
- README: remove artifact from edits (07ea7a2)
- README: update document for ogc api endpoints (8863abb)
- services/chemistry: patch parameter_name field to only use analyte as source (bd9e4c2)
- transfers: move load_env to top of file (bb2ef96)
- update README and environment setup files (BDMS-1485) (32db2c9)
- well-inventory: Backfill thing release status (da8c096)
- well-inventory: backfill thing release status (BDMS-1240) (fb52e33)
- well-inventory: Set thing release status (58f6192)
- well-inventory: set thing release status (BDMS-1233) (cc8ca7e)
- wells: Correct OLWC depth and MP height (8a90d12)
- wells: correct OLWC depth and MP height (BDMS-1435) (42a7ad8)
v1.4.0
1.4.0 (2026-09-23)
Features
- (BDMS-630: consolidate load_dotenv() to one per entry point) (ae33a3e)
- api_key: user-issued API keys for /ogcapi-internal (79f5163)
- api_key: user-issued API keys for /ogcapi-internal (161fc0d)
- api/chemistry: update chemistry results API with EPA limit comparisons (9c23295)
- api/chemisty: add new display chemistry endpoint (53a8e4b)
- api: serve the regulatory limits table (b209ffe)
- api: serve the regulatory limits table (229e04d)
- chemistry: accept CollectionMethod as meaning or legacy code (65c1304)
- chemistry: field-sheet ingest for sample info and field parameters (BDMS-1241) (8f90593)
- chemistry: ingest field sheet sample info and params (d53db29)
- cli: match webmap project areas by OBJECTID (65b1747)
- data-migrations: add dry-run support to the runner and CLI (8f2e782)
- domain: add a feet to inches conversion (ca3cde5)
- groups: add group-table parity migration from a staging snapshot (a35b141)
- groups: collapse duplicate project rows (ae4d988)
- groups: consolidate duplicate Geographic Area groups (0e3e084)
- groups: consolidate duplicate Geographic Area groups (BDMS-1143) (49f3dfb)
- groups: drop what the webmap no longer backs (23aea8b)
- ingest: archive what
ocoreads to a dlt raw zone (67998b3) - lexicon: add entry for Northwest New Mexico Utility Authority (3e75312)
- lexicon: add entry for Northwest New Mexico Utility Authority (58110b6)
- lexicon: add entry for the EPA (fb3f7c0)
- lexicon: add new "Hilton Ranch" organization term (0ccb615)
- lexicon: add new "Hilton Ranch" organization term (cce2a36)
- lexicon: add new "La Puerta HOA" and "Las Brisas HOA" organization terms (ebe9cf3)
- lexicon: add new "La Puerta HOA" and "Las Brisas HOA" organization terms (bea6168)
- lexicon: add unsafe measurement entry to groundwater level reasons (bfe9c97)
- lexicon: add unsafe measurement entry to groundwater level reasons (92f5e34)
- observation: add per-reading transducer routes, gate writes on AMP.Admin (25b197c)
- observation: add per-reading transducer routes, gate writes on AMP.Admin (56c795c)
- observation: approve a transducer block and its readings together (2c68917)
- observation: approve a transducer block and its readings together (d7caf0c)
- ogc: add the water well field operations internal layer (6fd64fa)
- ogc: add the water well field operations internal layer (9fb2410)
- ogc: apply Level 1 title naming pass across layers (#906) (30bac8a)
- ogc: consolidate field-operations columns (809c899)
- ogc: create-separate-alt-id-columns-in-field-ops-layer-bdms-1257 (c15f807)
- ogc: drop well-only columns from the springs view(BDMS-986) (#918) (8a20849)
- ogc: publish field operations elevation field in feet (BDMS-1256) (db50f2c)
- ogc: publish field operations elevation in feet (a0cea0a)
- ogc: Split alternate_ids by organization (dff7eb6)
- project-areas: add a separate AEM project-areas layer (90014d9)
- project-areas: scope OGC layer to ArcGIS layer 18 + separate AEM layer (d9b83bc)
- project-areas: scope OGC layer to the ArcGIS layer-18 study areas (cae9811)
- services/chemistry_display: add NMA_Radionuclides to _get_results() (32a0040)
- well-inventory: allow wells outside New Mexico (BDMS-1109) (15ed781)
Bug Fixes
- alembic: compact two heads into one, default to staging head (BDMS-631) (40d4055)
- alembic: linearize api_key migration onto staging head (5211d9e)
- alembic: restore load_dotenv import in env.py for merge resolution (366383b)
- api/chemistry: patch symbol not found 500 error (5165540)
- auth: use dotted Authentik group names for OGC and Lexicon (7d0d071)
- auth: use dotted Authentik group names for OGC and Lexicon (1677f90)
- chemistry/result: add optional exclude_field_duplicate_samples param BDMS-1281 (6bbd7b5)
- chemistry/result: add optional exclude_field_duplicate_samples search param (dccf945)
- chemistry/result: add optional sample point id ([7f2be02](7f2be02a7516e9053d1722508...
v1.4.0-rc.1
1.4.0-rc.1 (2026-09-23)
Features
- (BDMS-630: consolidate load_dotenv() to one per entry point) (ae33a3e)
- api_key: user-issued API keys for /ogcapi-internal (79f5163)
- api/chemistry: update chemistry results API with EPA limit comparisons (9c23295)
- api/chemisty: add new display chemistry endpoint (53a8e4b)
- api: serve the regulatory limits table (b209ffe)
- api: serve the regulatory limits table (229e04d)
- chemistry: accept CollectionMethod as meaning or legacy code (65c1304)
- chemistry: field-sheet ingest for sample info and field parameters (BDMS-1241) (8f90593)
- chemistry: ingest field sheet sample info and params (d53db29)
- cli: match webmap project areas by OBJECTID (65b1747)
- data-migrations: add dry-run support to the runner and CLI (8f2e782)
- domain: add a feet to inches conversion (ca3cde5)
- groups: add group-table parity migration from a staging snapshot (a35b141)
- groups: collapse duplicate project rows (ae4d988)
- groups: consolidate duplicate Geographic Area groups (0e3e084)
- groups: consolidate duplicate Geographic Area groups (BDMS-1143) (49f3dfb)
- groups: drop what the webmap no longer backs (23aea8b)
- ingest: archive what
ocoreads to a dlt raw zone (67998b3) - lexicon: add entry for Northwest New Mexico Utility Authority (3e75312)
- lexicon: add entry for Northwest New Mexico Utility Authority (58110b6)
- lexicon: add entry for the EPA (fb3f7c0)
- lexicon: add new "Hilton Ranch" organization term (0ccb615)
- lexicon: add new "Hilton Ranch" organization term (cce2a36)
- lexicon: add new "La Puerta HOA" and "Las Brisas HOA" organization terms (ebe9cf3)
- lexicon: add new "La Puerta HOA" and "Las Brisas HOA" organization terms (bea6168)
- lexicon: add unsafe measurement entry to groundwater level reasons (bfe9c97)
- lexicon: add unsafe measurement entry to groundwater level reasons (92f5e34)
- observation: add per-reading transducer routes, gate writes on AMP.Admin (25b197c)
- observation: add per-reading transducer routes, gate writes on AMP.Admin (56c795c)
- observation: approve a transducer block and its readings together (2c68917)
- observation: approve a transducer block and its readings together (d7caf0c)
- ogc: add the water well field operations internal layer (6fd64fa)
- ogc: add the water well field operations internal layer (9fb2410)
- ogc: apply Level 1 title naming pass across layers (#906) (30bac8a)
- ogc: consolidate field-operations columns (809c899)
- ogc: create-separate-alt-id-columns-in-field-ops-layer-bdms-1257 (c15f807)
- ogc: drop well-only columns from the springs view(BDMS-986) (#918) (8a20849)
- ogc: publish field operations elevation field in feet (BDMS-1256) (db50f2c)
- ogc: publish field operations elevation in feet (a0cea0a)
- ogc: Split alternate_ids by organization (dff7eb6)
- project-areas: add a separate AEM project-areas layer (90014d9)
- project-areas: scope OGC layer to ArcGIS layer 18 + separate AEM layer (d9b83bc)
- project-areas: scope OGC layer to the ArcGIS layer-18 study areas (cae9811)
- services/chemistry_display: add NMA_Radionuclides to _get_results() (32a0040)
Bug Fixes
- alembic: compact two heads into one, default to staging head (BDMS-631) (40d4055)
- alembic: linearize api_key migration onto staging head (5211d9e)
- alembic: restore load_dotenv import in env.py for merge resolution (366383b)
- api/chemistry: patch symbol not found 500 error (5165540)
- auth: use dotted Authentik group names for OGC and Lexicon (7d0d071)
- auth: use dotted Authentik group names for OGC and Lexicon (1677f90)
- chemistry/result: add optional exclude_field_duplicate_samples param BDMS-1281 (6bbd7b5)
- chemistry/result: add optional exclude_field_duplicate_samples search param (dccf945)
- chemistry/result: add optional sample point id (7f2be02)
- chemistry/result: add optional sample point id (b5312f9)
- chemistry: key results on when the water was collected ([ff34ed5](ff34ed5a2b27e6aed49f...
v1.4.0-rc
v1.3.0
1.3.0 (2026-08-25)
Features
- chemistry: add manifest-status command (008a67e)
- chemistry: report which legacy table a result came from (67b522c)
- chemistry: serve legacy water chemistry over REST (dcb0cb1)
- chemistry: serve legacy water chemistry over REST (97d7f9f)
- data-migrations: publish existing project_areas (70c688f)
- geothermal: add /thing/geothermal-well endpoints (c60faf8)
- geothermal: add /thing/geothermal-well endpoints (83e6604)
- geothermal: free-text search on the well list endpoint (7e0a259)
- geothermal: free-text search on the well list endpoint (e5748a5)
- geothermal: normalize OGC view temperatures to Celsius (c6cfb7e)
- geothermal: normalize OGC view temperatures to Celsius (013fd75)
- gis: generate shareable QGIS and ArcGIS Pro artifacts (04fafce)
- gis: serve the artifact catalogue as JSON for frontend clients (3aa6611)
- ingestion: add automated ingestion pipeline foundations (055b51e)
- ingestion: add raw-zone infrastructure and database connectivity (475841d)
- ingestion: add the Diver-HUB client and correct the source mapping (e01fd8c)
- ingestion: add the shared backfill primitives (279ff6e)
- ingestion: add the shared backfill primitives (6d1ced3)
- ingestion: add the transducer unique constraint and upsert loader (6f3232d)
- ingestion: add the transducer unique constraint and upsert loader (31e0644)
- ingestion: add the Van Essen domain rules and adapter (34c4b1f)
- ingestion: add the Van Essen domain rules and adapter (91f4504)
- ingestion: derive the watermark from Postgres (87b8e9c)
- ingestion: derive the watermark from Postgres (a0af312)
- ingestion: land San Acacia locations and readings in the raw zone (6c9ab70)
- ingestion: reconcile San Acacia points against Ocotillo wells (fecbae8)
- ingestion: reconcile San Acacia points against Ocotillo wells (c20e2e3)
- ingestion: resolve the datum enum and the source unit (d10b2b4)
- ingestion: scaffold the automated_ingestion Dagster code location (0a2109e)
- ingestion: schedule the San Acacia ingest weekly (8c02977)
- ingestion: schedule the San Acacia ingest weekly (e4b1880)
- ingestion: wire the loader end to end (3e38614)
- ingestion: wire the loader end to end (113fdd6)
- lexicon: add new organizations to lexicon (b30bea8)
- lexicon: add organization and sort organization category alphabetically (1057c86)
- lexicon: add organization and sort organization category alphabetically (21090b5)
- ogc: add authenticated internal OGC mount (BDMS-985 A11) (ce45b91)
- ogc: add public data disclaimer page (72f26a5)
- ogc: add the field-description source of truth (832b659)
- ogc: carry field descriptions onto /queryables (1d41b56)
- ogc: document EDR parameters and cover the lot with tests (ac0513d)
- ogc: expose last_observation_date on the Group A layers (7aa1746)
- ogc: filter ogc_* views to public records (dbc760b)
- ogc: make /ogcapi-internal usable from ArcGIS Pro and QGIS (cfdf146)
- ogc: make /ogcapi-internal usable from ArcGIS Pro and QGIS (4c0099e)
- ogc: mirror EDR views in internal OGC mount (cc5f72c)
- ogc: ogc A2 replace server metadata placeholders (BDMS-972) (fd4c446)
- ogc: populate the schema view's Values column (9fc6966)
- ogc: publish a well water-column layer (1a9361a)
- ogc: publish a well water-column layer (8a0c3ce)
- ogc: replace server metadata placeholders (93206ab)
- ogc: serve field descriptions from /schema (f6af982)
- scripts: seed the test DB with real NMA legacy chemistry (8e55d1d)
- transducer: add data_maturity to observations (09926b2)
- transducer: add data_maturity to observations (9dff7fb)
- transducer: backfill data_maturity on acoustic (Wellntel) observations (60ffcf4)
- transducer: backfill data_maturity on acoustic observations (7a3915f)
- transducer: publish and range-delete for corrected hydrographs ([cfd9243](ht...
v1.3.0-rc.2
v1.3.0-rc.1
v1.3.0-rc
1.3.0-rc (2026-08-24)
Features
- chemistry: report which legacy table a result came from (67b522c)
- chemistry: serve legacy water chemistry over REST (dcb0cb1)
- chemistry: serve legacy water chemistry over REST (97d7f9f)
- data-migrations: publish existing project_areas (70c688f)
- geothermal: add /thing/geothermal-well endpoints (c60faf8)
- geothermal: add /thing/geothermal-well endpoints (83e6604)
- geothermal: free-text search on the well list endpoint (7e0a259)
- geothermal: free-text search on the well list endpoint (e5748a5)
- geothermal: normalize OGC view temperatures to Celsius (c6cfb7e)
- geothermal: normalize OGC view temperatures to Celsius (013fd75)
- gis: generate shareable QGIS and ArcGIS Pro artifacts (04fafce)
- gis: serve the artifact catalogue as JSON for frontend clients (3aa6611)
- ingestion: add automated ingestion pipeline foundations (055b51e)
- ingestion: add raw-zone infrastructure and database connectivity (475841d)
- ingestion: add the Diver-HUB client and correct the source mapping (e01fd8c)
- ingestion: add the shared backfill primitives (279ff6e)
- ingestion: add the shared backfill primitives (6d1ced3)
- ingestion: add the transducer unique constraint and upsert loader (6f3232d)
- ingestion: add the transducer unique constraint and upsert loader (31e0644)
- ingestion: add the Van Essen domain rules and adapter (34c4b1f)
- ingestion: add the Van Essen domain rules and adapter (91f4504)
- ingestion: derive the watermark from Postgres (87b8e9c)
- ingestion: derive the watermark from Postgres (a0af312)
- ingestion: land San Acacia locations and readings in the raw zone (6c9ab70)
- ingestion: reconcile San Acacia points against Ocotillo wells (fecbae8)
- ingestion: reconcile San Acacia points against Ocotillo wells (c20e2e3)
- ingestion: resolve the datum enum and the source unit (d10b2b4)
- ingestion: scaffold the automated_ingestion Dagster code location (0a2109e)
- ingestion: schedule the San Acacia ingest weekly (8c02977)
- ingestion: schedule the San Acacia ingest weekly (e4b1880)
- ingestion: wire the loader end to end (3e38614)
- ingestion: wire the loader end to end (113fdd6)
- lexicon: add new organizations to lexicon (b30bea8)
- lexicon: add organization and sort organization category alphabetically (1057c86)
- lexicon: add organization and sort organization category alphabetically (21090b5)
- ogc: add authenticated internal OGC mount (BDMS-985 A11) (ce45b91)
- ogc: add public data disclaimer page (72f26a5)
- ogc: add the field-description source of truth (832b659)
- ogc: carry field descriptions onto /queryables (1d41b56)
- ogc: document EDR parameters and cover the lot with tests (ac0513d)
- ogc: expose last_observation_date on the Group A layers (7aa1746)
- ogc: filter ogc_* views to public records (dbc760b)
- ogc: make /ogcapi-internal usable from ArcGIS Pro and QGIS (cfdf146)
- ogc: make /ogcapi-internal usable from ArcGIS Pro and QGIS (4c0099e)
- ogc: mirror EDR views in internal OGC mount (cc5f72c)
- ogc: ogc A2 replace server metadata placeholders (BDMS-972) (fd4c446)
- ogc: populate the schema view's Values column (9fc6966)
- ogc: publish a well water-column layer (1a9361a)
- ogc: publish a well water-column layer (8a0c3ce)
- ogc: replace server metadata placeholders (93206ab)
- ogc: serve field descriptions from /schema (f6af982)
- scripts: seed the test DB with real NMA legacy chemistry (8e55d1d)
- transducer: add data_maturity to observations (09926b2)
- transducer: add data_maturity to observations (9dff7fb)
- transducer: backfill data_maturity on acoustic (Wellntel) observations (60ffcf4)
- transducer: backfill data_maturity on acoustic observations (7a3915f)
- transducer: publish and range-delete for corrected hydrographs (cfd9243)
- transducer: publish and range-delete for corre...
v1.2.1
v1.2.0
1.2.0 (2026-07-22)
Features
- api/search: add groups/projects to search (271f850)
- cli: add chemistry LIMS ingestion with Google Drive sync (e13c5c3)
- cli: chemistry LIMS ingestion with Google Drive sync (BDMS-1034) (195be59)
- edr: implement OGC API - EDR water collections and BDD spec (7b32233)
- monitoring: add OpenStatus monitoring-as-code config (afd7775)
- monitoring: add OpenStatus monitoring-as-code config (c4f7dc7)
Bug Fixes
- api: probe database in /health so 200 proves PostGIS reachable (fe0b626)
- api: probe the database in /health so a 200 proves PostGIS is reachable (8cc9c88)
- chemistry: fail loudly when Drive sync is misconfigured (beeb4ad)
- chemistry: treat trailing letters in SamplePointID as a sample point (7fc86d0)
- db: dedupe NMW locations in measurement views, re-register pg_cron job (12bfe8b)
- db: dedupe NMW locations in measurement views, re-register pg_cron job (d96f394)
- db: reparent a5b6c7d8e9f0 onto the EDR views revision (eb89d04)
- deploy: propagate F4_1G instance class to staging + document OOM churn (a830e71)
- deploy: propagate F4_1G instance class to staging + OOM writeup (8e79756)
- monitoring: use single region for OpenStatus free tier (7802f01)