Skip to content

Releases: microbiomedata/nmdc-runtime

Release 2025.11

15 Dec 21:43
c1a54fc

Choose a tag to compare

What's Changed

  • Update GHA workflow to deploy main image to GKE-hosted dev Runtime by @eecavanna in #1323
  • Create NCBI BioSample <Action> blocks based on insdc_biosample_identifiers assertions by @sujaypatil96 in #1325
  • Implement admin API endpoints for managing user allowances by @Copilot in #1327
  • Install and configure Sentry SDK for Python/FastAPI by @Copilot in #1315
  • Fix broken links in user-facing descriptions of changesheet endpoints by @eecavanna in #1335
  • Do not create <Attribute> when soil_horizon slot has a value of "M horizon" by @sujaypatil96 in #1331
  • Refrain from pushing container images to Docker Hub (push to GHCR only) by @eecavanna in #1342
  • Run materialize_alldocs op hourly and remove it from "upstream" graphs by @eecavanna in #1340
  • Document site client credential customization procedures for local development by @hesspnnl in #1343
  • Upgrade to nmdc-schema version 11.14.0 by @pkalita-lbl in #1345
  • Implement dedicated health check API endpoint at /health by @eecavanna in #1349
  • Implement API endpoint admins can use to update site client secrets by @Copilot in #1351

Full Changelog: v2.12.1...v2.13.0

Release 2025.10.1

04 Dec 05:19

Choose a tag to compare

[hotfix] What's changed

  • Hotfix: Run materialize_alldocs op hourly only and remove it from "upstream" graphs by @eecavanna in #1340 (fixes #1338)
  • Update GitHub Actions workflow to no longer push container images to Docker Hub (only to GitHub Container Registry)

Full Changelog: v2.12.0...v2.12.1

Release 2025.10

10 Nov 21:49
1eec0b3

Choose a tag to compare

What's Changed

  • Fix issue preventing GHA workflow from publishing to PyPI by @eecavanna in #1248
  • Refactor Web Component JavaScript to facilitate maintenance by @eecavanna in #1250
  • Hotfix: Prevent uv from installing dependencies when running application by @eecavanna in #1259
  • Fix bug where cursor-based pagination tried to access nonexistent list item by @eecavanna in #1258
  • Short-circuit ID pattern removal function by @pkalita-lbl in #1271
  • Upgrade nmdc-schema to version 11.12.1 by @pkalita-lbl in #1269
  • Fix bug causing Swagger UI page header to be "null" by @eecavanna in #1274
  • Configure GHA workflow to build container image when CSS or JS change by @eecavanna in #1276
  • Temporarily disable release step in workflow by @pkalita-lbl in #1278
  • Use storage_units annotation in QuantityValue translation by @pkalita-lbl in #1272
  • Implement POST /jobs API endpoint that creates a job by @hesspnnl in #1268
  • Handle submission images in translation process by @pkalita-lbl in #1281
  • Pin Swagger UI CSS and JS versions to 5.29.4 by @eecavanna in #1284
  • Replace direct jsonschema use with LinkML validation tools by @pkalita-lbl in #1287
  • Add new allowance for wf_file_staging endpoints by @hesspnnl in #1294
  • Make errors related to access tokens be more specific and actionable by @eecavanna in #1288
  • Create Globus collection-related endpoints by @hesspnnl in #1293
  • Create Sample collection related endpoints by @hesspnnl in #1302
  • Re-enable Spin workload redeployment via GHA workflow by @eecavanna in #1304
  • Tag container images with commit hashes also by @Copilot in #1305
  • Update Runtime to use nmdc-schema version 11.13.0 by @eecavanna in #1307
  • Implement API endpoints for creating and retrieving JGISequencingProjects by @mflynn-lanl in #1297
  • Drop stale _runtime.tmp.linked_instances.* collections by @dwinston in #1245
  • Invoke the jgi_samples index function by @hesspnnl in #1311
  • Omit unset fields from created jobs (in database and API response) by @eecavanna in #1314
  • Fix bugs where response validation would fail when projection was used by @hesspnnl in #1318

New Contributors

Full Changelog: v2.11.1...v2.12.0

Release 2025.9.1

03 Oct 20:31

Choose a tag to compare

In this hotfix release, we made it so uv does not install the project's dev dependencies when launching the application.

Full Changelog: v2.11.0...v2.11.1

Release 2025.9

29 Sep 20:31
af78a4f

Choose a tag to compare

What's Changed

  • Delete some obsolete modules/dependencies and add TODO comments by @eecavanna in #1168
  • Delete additional obsolete modules/dependencies and add TODO comments by @eecavanna in #1173
  • Change response format of /nmdcschema/linked_instances by @dwinston in #1176
  • Avoid invoking bulk_write with no operations by @eecavanna in #1175
  • Simplify Swagger authentication field headers ("User login", "Site client login") by @Copilot in #1064
  • Add pagination support to /nmdcschema/linked_instances by @dwinston in #1179
  • Add optional study ID input to tie submissions to one study by @JamesTessmer in #1167
  • Update Swagger UI authorization modal to focus on "Username" field when opened by @eecavanna in #1182
  • Migrate from pip-tools to uv by @eecavanna in #1185
  • Fix issue preventing MkDocs from rendering notebook as HTML by @eecavanna in #1195
  • Make FastAPI application start up 10x faster by @eecavanna in #1192
  • Fix bug where analytics middleware would access attribute of None by @eecavanna in #1199
  • Configure Swagger UI to persist auth status and simplify login form by @eecavanna in #1183
  • Delete unimplemented API endpoints from Swagger UI and codebase by @eecavanna in #1201
  • Delete "Search" web page and all references to it by @hesspnnl in #1203
  • Delete Jinja2 configuration statement that requires templates/ directory to exist by @eecavanna in #1205
  • Update endpoint group description to not imply connection to Data Portal by @eecavanna in #1207
  • Un-skip tests that were being skipped by @eecavanna in #1197
  • Provide hydrate query param for /nmdcschema/linked_instances by @eecavanna in #1209
  • Prevent Swagger UI from automatically logging logged-out ORCID users back in by @eecavanna in #1210
  • Handle conversion of unicode to ASCII characters for geo_loc_name Attribute by @sujaypatil96 in #1193
  • Document that page number-based pagination only provides access to first 10,000 resources by @eecavanna in #1218
  • Guide user in api response to move from page number-based pagination to cursor-based pagination by @dwinston in #1222
  • Make it so fastapi console output is in color in local environment by @eecavanna in #1219
  • Update GHA workflow that runs tests to dump fastapi container logs by @eecavanna in #1226
  • Switch build backend to hatch and enable dynamic versioning by @eecavanna in #1220
  • Fix regression (change of hard-coded mongorestore port) in Makefile by @dwinston in #1224
  • Update NCBI Submission XML export pipeline to work for pooled samples by @sujaypatil96 in #1137
  • Add message to Swagger UI, inviting users to contact us about their use cases by @eecavanna in #1216
  • Create ProcessedSample and MaterialProcessing instances based on parsing sample_link by @pkalita-lbl in #1229
  • Bump nmdc-schema version to v11.11.0 and update Runtime code by @eecavanna in #1227
  • Implement Python notebook that migrates Mongo database from schema 11.10.0 to 11.11.1 by @eecavanna in #1231
  • Add /queries:run example demonstrating a join across two collections by @eecavanna in #1233
  • Write how-to guide on converting API response from JSON to CSV/TSV by @eecavanna in #1202
  • Organize docs-related dependencies and clarify some TODO comments by @eecavanna in #1242
  • Add <ExternalLink> in NCBI Submission XML for individual biosamples by @sujaypatil96 in #1239
  • Refactor /data_objects/study/{id} API endpoint to invoke get_linked_instances function under the hood by @eecavanna in #1232
  • Document generate_ids function and delete obsolete ids.py module by @eecavanna in #1244
  • Make Swagger UI page easier to use by @eecavanna in #1191

Full Changelog: v2.10.0...v2.11.0

Release 2025.8

25 Aug 21:57
ee4d14d

Choose a tag to compare

What's Changed

  • Delete metadata-translation directory and update references by @eecavanna in #1088
  • Update filter in ad hoc Mongo migration script to exclude irrelevant documents by @eecavanna in #1104
  • Delete unused imports by @dwinston in #1103
  • Remove outdated example notebook and test data by @aclum in #1070
  • Update schema references to point to nmdc_materialized_patterns variant by @eecavanna in #887
  • Delete metadata-translation contents (accidentally restored via merge) by @eecavanna in #1105
  • Remove toplevel components directory/module by @dwinston in #1109
  • Configure standard test process to include running doctests by @eecavanna in #1108
  • Add docstrings and type hints to site and user functions by @eecavanna in #1116
  • Fix Dagit failed code locations by removing non-existent translation repositories by @Copilot in #1117
  • Refactor GET /nmdcschema/related_ids by @dwinston in #1062
  • Add query-param metadata and docstring to /nmdcschema/linked_instances by @dwinston in #1121
  • Fix miscellaneous issues about which pytest displays warnings by @eecavanna in #1112
  • Replace copied refscan code with invocations of import-ed functions by @eecavanna in #1125
  • Clarify user-facing documentation for /jobs/{job_id}:release endpoint by @eecavanna in #1113
  • Upgrade to nmdc-schema version 11.10.0rc4 by @pkalita-lbl in #1127
  • Document database migration process by @eecavanna in #306
  • Upgrade nmdc-schema to version 11.10.0 by @pkalita-lbl in #1143
  • Document process of using Locust for load testing the Runtime API by @eecavanna in #1140
  • Install and document usage of Pyinstrument for performance profiling by @eecavanna in #1147
  • Fix inefficient count_documents() usage in generate_ids function by @Copilot in #1149
  • Add documentation about performance profiling non-GET requests by @eecavanna in #1156
  • Fix /favicon.ico access and hide / and /favicon.ico endpoints from Swagger UI by @eecavanna in #1154
  • Update healthcheck function to not overload MongoDB _id field by @eecavanna in #1159
  • Refine performance profiling instructions by @eecavanna in #1162
  • Replace slow MongoDB query with faster alternative (in generate_ids function) by @eecavanna in #1163
  • Speed up list_resources function for large collections by @eecavanna in #1166

New Contributors

  • @Copilot made their first contribution in #1117

Full Changelog: v2.9.0...v2.10.0

Release 2025.7

28 Jul 20:27
5cf8cee

Choose a tag to compare

What's Changed

  • Re-enable /nmdcschema/related_ids API endpoint by @eecavanna in #1033
  • Remove personal (and unused) dev environment file by @dwinston in #1037
  • Remove unused obsolete test file by @dwinston in #1038
  • Delete ensure_data_object_type and its test by @dwinston in #1039
  • Include trailing dash (-) in w3id pattern match by @dwinston in #1036
  • Make it easier to maintain Swagger/OpenAPI tags by @eecavanna in #1034
  • pass fully saturated mongo client to ontology-loader package by @sierra-moxon in #1014
  • Unpin Swagger UI version so the Runtime always uses the latest version by @eecavanna in #1041
  • Source the feature flag value from an environment variable by @eecavanna in #1046
  • Serve Scalar API docs at /scalar (according to feature flag) by @eecavanna in #1003
  • Update /data_objects/study/{study_id} to accommodate new format of _type_and_ancestors list by @sujaypatil96 in #1060
  • Fix bug where /data_objects/study/{study_id} does not return all related data objects by @eecavanna in #1052
  • Add depth units when translating submission records by @pkalita-lbl in #1053
  • Update /queries:run API endpoint to return more specific errors by @dwinston in #541
  • Add referential integrity check to POST /queries:run API endpoint (for update command) by @eecavanna in #1008
  • Bump refscan version from 0.3.0 to 0.3.2 by @eecavanna in #1074
  • Implement API endpoint that performs cascading deletes from a WorkflowExecution by @shreddd in #1065
  • Get data objects that are results (has_output) of workflow execution processes by @sujaypatil96 in #1061
  • Add DOI processing to Submission Portal translator by @JamesTessmer in #1079
  • Bump nmdc-schema version from 11.8.0 to 11.9.1 by @eecavanna in #1081
  • Add mongosh script to migrate config.was_informed_by in jobs collection by @aclum in #1085
  • Use MongoDB Compass syntax instead of Studio 3T syntax by @eecavanna in #1086
  • Update ensure_default_api_perms function to include aggregation permission by @hesspnnl in #1091
  • Add option to enable/disable filtering on biosamples in GOLD translator by @sujaypatil96 in #1090
  • Index type field to speed up Mongo queries involving it by @eecavanna in #1097
  • Update WorkflowExecution cascading deletion endpoint to also delete related jobs documents by @shreddd in #1096
  • Update related_resources endpoint to account for multiple DataGenerations informing a WorkflowExecution by @eecavanna in #1092
  • Update log message in run_script_to_update_insdc_biosample_identifiers() Dagster @op by @sujaypatil96 in #1099
  • Fix output type of run_script_to_update_insdc_biosample_identifiers() by @sujaypatil96 in #1100
  • Update boot code to ensure jobs collection has index on config.activity_id field by @eecavanna in #1102

Full Changelog: v2.8.0...v2.9.0

Release 2025.6

30 Jun 20:36
8eef634

Choose a tag to compare

What's Changed

  • Add job that pulls insdc_biosample_identifiers and insdc_bioproject_identifiers onto biosamples by @sujaypatil96 in #980
  • Enable certain graph-traversal queries (via alldocs) by @dwinston in #972
    • Subsequently disabled via #1032 👇
  • Customize host port mapping via .env file by @dwinston in #999
  • Introduce Ontology loader by @sierra-moxon in #923
  • Update /queries:run API endpoint so only users having specific allowance can run aggregation command by @hesspnnl in #998
  • Add referential integrity check to "delete" command of POST /queries:run API endpoint by @eecavanna in #1001
    • Subsequently disabled via #1022 👇
  • Configure Dagster run materialize_alldocs op only after its dependent ops have finished by @eecavanna in #1010
  • NCBI XML export pipeline should restrict processing to only non-JGI samples by @sujaypatil96 in #997
  • Format QuantityValue slot value appropriately when it is an interval in NCBI XML export logic by @sujaypatil96 in #1013
  • Fix incorrect /queries:run "update" command example (Swagger UI) by @eecavanna in #1019
  • Create Python notebook that runs schema 11.7.0-to-11.8.0 migrator by @eecavanna in #1017
  • Update /queries:run to allow deletions that leave behind broken references by @eecavanna in #1022
  • Update related_resources API response to include subject workflow_execution_set document by @eecavanna in #1020
  • Bump nmdc-schema version from 11.7.0 to 11.8.0 by @eecavanna in #1023
  • Update Faker methods to validate documents before returning them by @eecavanna in #1027
  • Implement "on/off" switch for /nmdcschema/related_ids endpoint (and turn it "off") by @eecavanna in #1032

New Contributors

Full Changelog: v2.7.0...v2.8.0

Release 2025.5

22 May 17:28
9b1f2d2

Choose a tag to compare

What's Changed

  • Create indexes on has_input/has_output in workflow_execution_set by @eecavanna in #973
  • Move endpoint definition and add guard clause; improve exception detail readability; add utility endpoint by @dwinston in #976
  • Remove obsolete ssh tunnel mapping by @dwinston in #977
  • Refactor to avoid separate build step for test service container by @dwinston in #979
  • Create Python notebook that runs nmdc-schema 11.6.1-to-11.7.0 migrator by @eecavanna in #984
  • Add test showing referential integrity check during pending transaction by @eecavanna in #983
  • Bump nmdc-schema to version 11.7.0 and synchronize transitive dependencies by @eecavanna in #986
  • Organize MkDocs configuration/content files and use NMDC branding by @eecavanna in #991
  • Fix issue preventing "Edit on GitHub" links from working by @eecavanna in #993
  • Fix mermaid diagram syntax error by @dwinston in #994

Full Changelog: v2.6.0...v2.7.0

Release 2025.4

28 Apr 20:33
7a44f3b

Choose a tag to compare

What's Changed

  • Clean up root directory and fix GitHub Actions issue by @eecavanna in #942
  • Swap light/dark mode toggler icons to reflect turning on light (docs) by @eecavanna in #948
  • Enable referential integrity checking for /metadata/json:submit API endpoint by @eecavanna in #955
  • Fix nersc-sshproxy Make target body by @dwinston in #957
  • Add --no-perms flag to rsync invocation in make mongorestore-nmdc-db by @dwinston in #959
  • Implement notebook for migrating database from schema version 11.5.1 to 11.6.0 by @eecavanna in #953
  • Create "release jobs" endpoint by @dwinston in #962
  • Implement translation of external sequencing data from submissions by @pkalita-lbl in #944
  • Add referential integrity check to POST /workflows/workflow_executions API endpoint by @eecavanna in #961
  • Assert insdc_bioproject_identifiers on DataGeneration records by @sujaypatil96 in #965

Full Changelog: v2.5.0...v2.6.0