Skip to content

v4.0.0

Latest

Choose a tag to compare

@JoshuaSBrown JoshuaSBrown released this 09 Dec 04:17
· 1 commit to staging since this release
dde50e6

Summary

This release delivers comprehensive logging improvements with correlation ID support, enhanced Globus integration, repository management enhancements, and critical security updates. The release includes significant infrastructure improvements, dependency updates, and numerous bug fixes that improve system reliability and user experience.

Images

Images can be pulled using the overal application version number

docker pull savannah.ornl.gov/datafed/core:v4.0.0
docker pull savannah.ornl.gov/datafed/web:v4.0.0
docker pull savannah.ornl.gov/datafed/foxx:v4.0.0
docker pull savannah.ornl.gov/datafed/gcs:v4.0.0
docker pull savannah.ornl.gov/datafed/repo:v4.0.0

They can be pulled with overal application version number and component version.

docker pull savannah.ornl.gov/datafed/core:v4.0.0-2.0.0
docker pull savannah.ornl.gov/datafed/foxx:v4.0.0-1.2.0
docker pull savannah.ornl.gov/datafed/gcs:v4.0.0-2.0.0
docker pull savannah.ornl.gov/datafed/repo:v4.0.0-2.0.0
docker pull savannah.ornl.gov/datafed/web:v4.0.0-2.0.0

They can be pulled by date of release.

docker pull savannah.ornl.gov/datafed/core:v2025.12.09.10.00
docker pull savannah.ornl.gov/datafed/web:v2025.12.09.10.00
docker pull savannah.ornl.gov/datafed/foxx:v2025.12.09.10.00
docker pull savannah.ornl.gov/datafed/gcs:v2025.12.09.10.00
docker pull savannah.ornl.gov/datafed/repo:v2025.12.09.10.00

They can be pulled by commit sha.

docker pull savannah.ornl.gov/datafed/core:7b76aa37a95b46b0501d09e090e9fa316743bf55
docker pull savannah.ornl.gov/datafed/web:7b76aa37a95b46b0501d09e090e9fa316743bf55
docker pull savannah.ornl.gov/datafed/foxx:7b76aa37a95b46b0501d09e090e9fa316743bf55
docker pull savannah.ornl.gov/datafed/gcs:7b76aa37a95b46b0501d09e090e9fa316743bf55
docker pull savannah.ornl.gov/datafed/repo:7b76aa37a95b46b0501d09e090e9fa316743bf55

MAJOR - Breaking Changes

Changes that require user action and may break existing integrations

  • DAPS-1688 #1689 refactor: core/repo/authz/gcs - Migrate from OpenSSL 1.x to OpenSSL 3 - Applications linking against DataFed libraries may need compatibility updates
  • DAPS-1725 #1726 refactor: tests - Relocate mock core service from repository/gridftp/globus5/authz/mock_core/ to tests/mock_core/ - Tools referencing old location must be updated
  • DAPS-1659 #1660 refactor: scripts - Remove dependency install scripts and externalize to Git submodule external/DataFedDependencies - All dependency script paths must be updated
  • refactor: build - Require Git submodule initialization - Build process now requires git submodule update --init --recursive

MINOR - Features & Enhancements

New functionality and improvements that maintain backward compatibility

  • DAPS-1663 #1704 feature: core - Add Correlation ID to Core Service logging for improved request tracing
  • DAPS-1522 #1758 feature: foxx - Add comprehensive logging improvements to Version Router
  • DAPS-1522 #1734 feature: foxx - Add comprehensive logging improvements to Tag Router
  • DAPS-1522 #1627 feature: foxx - Add comprehensive logging improvements to Query Router
  • DAPS-1522 #1648 feature: foxx - Add comprehensive logging improvements to Task Router
  • DAPS-1522 #1629 feature: foxx - User router logging improvements, remove non-helpful logs from tasks.js
  • DAPS-1675 #1675 feature: foxx - Add logger functions for improved debugging
  • DAPS-1731 #1731 feature: scripts/compose - Add scripts to generate Globus credentials for web service
  • DAPS-1741 #1741 feature: scripts - Update native client ID in initialize_globus_endpoint and globus_clean scripts
  • DAPS-1676 #1697 feature: foxx/arango - Add factory pattern for repositories supporting metadata and Globus
  • DAPS-1705 #1706 feature: foxx - Integrate metadata globus factory in repo router create
  • DAPS-1711 #1712 feature: foxx - Standardize repo response schema
  • DAPS-1713 #1714 feature: core/web/python - Make fields optional when creating repo to support metadata repositories
  • DAPS-1715 #1716 feature: core - Make path, pub_key, address, endpoint optional in RepoCreateRequest
  • DAPS-1718 #1719 feature: protobuf - Add ExecutionMethod enum and RepoAllocationCreateResponse
  • DAPS-1670 #1670 feature: common/core/repo/python/web - Allow passing repo types in protobuf messages
  • DAPS-1671 #1672 feature: foxx - Add repository and execution strategy types
  • DAPS-1685 #1687 feature: compose - Enable ArangoDB SSL/TLS support in Docker Compose deployment
  • DAPS-1585 #1646 update: dependencies - Upgrade SSL dependency to version 3.2.5
  • DAPS-1707 #1709 feature: web - Update web dependencies before installation
  • feature: ci - Add base-image-check stage to GitLab CI pipeline
  • feature: ci - Enable recursive submodule strategy with GIT_SUBMODULE_STRATEGY: recursive
  • feature: cmake - Add DENABLE_INTEGRATION_TESTS flag for conditional test building

PATCH - Bug Fixes, Technical Debt & Improvements

Bug fixes, refactoring, documentation, and other improvements

  • DAPS-1378 #1753 fix: web - Fix mapping of multiple Globus accounts to DataFed users
  • DAPS-1777 #1778 Foxx, fix: user_router fix regression in missing response.
  • DAPS-1774 #1779 Core, Python, Database, Foxx, Test add query end to end tests
  • DAPS-1766 fix: ci - Fix Python client provisioning job failures
  • DAPS-1735 #1736 fix: foxx - Remove duplicate user_router test
  • DAPS-1725-2 #1747 fix: tests - Fix centralized mock core service libraries (part 2)
  • DAPS-1692 #1693 fix: ci - Fix flaky end-to-end web test reliability
  • DAPS-1729 #1732 fix: ci - Fix downstream DataFed dependencies pipelines building from incorrect SHA
  • DAPS-1756 #1757 fix: scripts/foxx - Add retries and connection checks to install_foxx.sh script
  • DAPS-1605 #1623 fix: scripts - Fix install_foxx.sh by splitting ssl_args
  • DAPS-1688 #1689 refactor: dependencies - Pin Globus SDK version for stability
  • DAPS-1737 #1765 refactor: compose - Clean up ArangoDB SSL environment variables
  • DAPS-1749 #1750 refactor: cmake - Set CMake policy to silence noisy warnings
  • DAPS-1700 #1701 refactor: ci - Limit ArangoDB job output to last 3 hours
  • DAPS-1742 #1744 refactor: scripts - Replace os.path.join with urllib.parse.urljoin for proper URL handling
  • DAPS-1745 #1746 refactor: scripts - Update scripts to account for nested client credentials
  • DAPS-1694 #1695 refactor: foxx - Move permissions functions from support.js to lib/permissions
  • DAPS-1691 #1691 refactor: foxx - Remove circular dependency from validation.js
  • DAPS-1725 #1728 refactor: config - Remove confusing Apache configuration file
  • DAPS-1651 #1656/#1658 refactor: scripts/compose - Unify treatment of environment variables in compose env generator
  • DAPS-1661 #1661 refactor: compose/scripts - Remove remaining occurrences of ZeroMQ system secret
  • refactor: build - Standardize YAML indentation across all configuration files
  • refactor: gitignore - Add patterns for *.tar.gz, *.tgz, and tests/mock_core/Version.hpp
  • refactor: docker - Improve Dockerfile layer caching and dependency management
  • refactor: ci - Implement job output limiting for long-running job
  • refactor: only print subset of user properties.

Contributors

Joshua S Brown [email protected]
JoshuaSBrown [email protected]
Blake Nedved [email protected]
Austin Hampton [email protected]
Blake Nedved [email protected]
Polina Shpilker [email protected]

Full Changelog: v3.14.01...v4.0.0