Releases: microbiomedata/nmdc-runtime
Releases · microbiomedata/nmdc-runtime
Release 2025.11
What's Changed
- Update GHA workflow to deploy
mainimage to GKE-hosted dev Runtime by @eecavanna in #1323 - Create NCBI BioSample
<Action>blocks based oninsdc_biosample_identifiersassertions 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>whensoil_horizonslot 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_alldocsop 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-schemaversion11.14.0by @pkalita-lbl in #1345 - Implement dedicated health check API endpoint at
/healthby @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
[hotfix] What's changed
- Hotfix: Run
materialize_alldocsop 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
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
uvfrom 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-schemato version11.12.1by @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_unitsannotation in QuantityValue translation by @pkalita-lbl in #1272 - Implement
POST /jobsAPI 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.4by @eecavanna in #1284 - Replace direct
jsonschemause with LinkML validation tools by @pkalita-lbl in #1287 - Add new allowance for
wf_file_stagingendpoints 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-schemaversion11.13.0by @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_samplesindex 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
- @mflynn-lanl made their first contribution in #1297
Full Changelog: v2.11.1...v2.12.0
Release 2025.9.1
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
What's Changed
- Delete some obsolete modules/dependencies and add
TODOcomments by @eecavanna in #1168 - Delete additional obsolete modules/dependencies and add
TODOcomments by @eecavanna in #1173 - Change response format of
/nmdcschema/linked_instancesby @dwinston in #1176 - Avoid invoking
bulk_writewith 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_instancesby @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-toolstouvby @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
Noneby @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
hydratequery param for/nmdcschema/linked_instancesby @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_nameAttribute 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
fastapiconsole output is in color in local environment by @eecavanna in #1219 - Update GHA workflow that runs tests to dump
fastapicontainer logs by @eecavanna in #1226 - Switch build backend to
hatchand enable dynamic versioning by @eecavanna in #1220 - Fix regression (change of hard-coded
mongorestoreport) 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
ProcessedSampleandMaterialProcessinginstances based on parsingsample_linkby @pkalita-lbl in #1229 - Bump
nmdc-schemaversion tov11.11.0and update Runtime code by @eecavanna in #1227 - Implement Python notebook that migrates Mongo database from schema
11.10.0to11.11.1by @eecavanna in #1231 - Add
/queries:runexample 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
TODOcomments 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 invokeget_linked_instancesfunction under the hood by @eecavanna in #1232 - Document
generate_idsfunction and delete obsoleteids.pymodule 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
What's Changed
- Delete
metadata-translationdirectory and update references by @eecavanna in #1088 - Update
filterin 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_patternsvariant by @eecavanna in #887 - Delete
metadata-translationcontents (accidentally restored via merge) by @eecavanna in #1105 - Remove toplevel
componentsdirectory/module by @dwinston in #1109 - Configure standard test process to include running doctests by @eecavanna in #1108
- Add docstrings and type hints to
siteanduserfunctions by @eecavanna in #1116 - Fix Dagit failed code locations by removing non-existent translation repositories by @Copilot in #1117
- Refactor
GET /nmdcschema/related_idsby @dwinston in #1062 - Add query-param metadata and docstring to
/nmdcschema/linked_instancesby @dwinston in #1121 - Fix miscellaneous issues about which pytest displays warnings by @eecavanna in #1112
- Replace copied
refscancode with invocations ofimport-ed functions by @eecavanna in #1125 - Clarify user-facing documentation for
/jobs/{job_id}:releaseendpoint by @eecavanna in #1113 - Upgrade to
nmdc-schemaversion11.10.0rc4by @pkalita-lbl in #1127 - Document database migration process by @eecavanna in #306
- Upgrade
nmdc-schemato version11.10.0by @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 ingenerate_idsfunction by @Copilot in #1149 - Add documentation about performance profiling non-
GETrequests by @eecavanna in #1156 - Fix
/favicon.icoaccess and hide/and/favicon.icoendpoints from Swagger UI by @eecavanna in #1154 - Update healthcheck function to not overload MongoDB
_idfield by @eecavanna in #1159 - Refine performance profiling instructions by @eecavanna in #1162
- Replace slow MongoDB query with faster alternative (in
generate_idsfunction) by @eecavanna in #1163 - Speed up
list_resourcesfunction 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
What's Changed
- Re-enable
/nmdcschema/related_idsAPI 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_typeand 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_ancestorslist 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:runAPI endpoint to return more specific errors by @dwinston in #541 - Add referential integrity check to
POST /queries:runAPI endpoint (forupdatecommand) by @eecavanna in #1008 - Bump
refscanversion from0.3.0to0.3.2by @eecavanna in #1074 - Implement API endpoint that performs cascading deletes from a
WorkflowExecutionby @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-schemaversion from11.8.0to11.9.1by @eecavanna in #1081 - Add
mongoshscript to migrateconfig.was_informed_byinjobscollection by @aclum in #1085 - Use MongoDB Compass syntax instead of Studio 3T syntax by @eecavanna in #1086
- Update
ensure_default_api_permsfunction to include aggregation permission by @hesspnnl in #1091 - Add option to enable/disable filtering on biosamples in GOLD translator by @sujaypatil96 in #1090
- Index
typefield to speed up Mongo queries involving it by @eecavanna in #1097 - Update
WorkflowExecutioncascading deletion endpoint to also delete relatedjobsdocuments by @shreddd in #1096 - Update
related_resourcesendpoint to account for multipleDataGenerations informing aWorkflowExecutionby @eecavanna in #1092 - Update log message in
run_script_to_update_insdc_biosample_identifiers()Dagster@opby @sujaypatil96 in #1099 - Fix output type of
run_script_to_update_insdc_biosample_identifiers()by @sujaypatil96 in #1100 - Update boot code to ensure
jobscollection has index onconfig.activity_idfield by @eecavanna in #1102
Full Changelog: v2.8.0...v2.9.0
Release 2025.6
What's Changed
- Add job that pulls
insdc_biosample_identifiersandinsdc_bioproject_identifiersonto 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
.envfile by @dwinston in #999 - Introduce Ontology loader by @sierra-moxon in #923
- Update
/queries:runAPI 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:runAPI endpoint by @eecavanna in #1001- Subsequently disabled via #1022 👇
- Configure Dagster run
materialize_alldocsop 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
QuantityValueslot 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.0migrator by @eecavanna in #1017 - Update
/queries:runto allow deletions that leave behind broken references by @eecavanna in #1022 - Update
related_resourcesAPI response to include subjectworkflow_execution_setdocument by @eecavanna in #1020 - Bump
nmdc-schemaversion from11.7.0to11.8.0by @eecavanna in #1023 - Update
Fakermethods to validate documents before returning them by @eecavanna in #1027 - Implement "on/off" switch for
/nmdcschema/related_idsendpoint (and turn it "off") by @eecavanna in #1032
New Contributors
- @sierra-moxon made their first contribution in #923
- @hesspnnl made their first contribution in #998
Full Changelog: v2.7.0...v2.8.0
Release 2025.5
What's Changed
- Create indexes on
has_input/has_outputinworkflow_execution_setby @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
testservice container by @dwinston in #979 - Create Python notebook that runs
nmdc-schema11.6.1-to-11.7.0migrator by @eecavanna in #984 - Add test showing referential integrity check during pending transaction by @eecavanna in #983
- Bump
nmdc-schemato version11.7.0and 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
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:submitAPI endpoint by @eecavanna in #955 - Fix
nersc-sshproxyMake target body by @dwinston in #957 - Add
--no-permsflag torsyncinvocation inmake mongorestore-nmdc-dbby @dwinston in #959 - Implement notebook for migrating database from schema version
11.5.1to11.6.0by @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_executionsAPI endpoint by @eecavanna in #961 - Assert
insdc_bioproject_identifierson DataGeneration records by @sujaypatil96 in #965
Full Changelog: v2.5.0...v2.6.0