CHANGELOG
This project uses semantic versioning. This change log uses principles from keep a changelog.
[unpublished]
Added
Single-container app wrapping dserver, web app, and some CLI and Python lookup API packages
Changed
Container docker/dserver_devel uses local file system as base URI, not s3 endpoint anymore
Container composition dserver/devel.yml does not use minio s3 service and ldap authentication anymore, but has authentication disabled
Single-container image rebuilt as a multi-stage build: the web GUI (now tracking
jic-dtool/dtool-lookup-webapptogether with itsdserver-client-jsdependency) is compiled in a throwaway Node stage and served as a static bundle by nginx; the runtime image ispython:3.12-slimand no longer ships the Node/Yarn toolchainSingle-container installs the dserver core and plugins as well as the dtool stack (
dtoolcore,dtool-cli,dtool-info,dtool-create,dtool-s3,dtool-lookup-api,dtool-lookup-client) from the default branches of their GitHub repositories viarequirements.txt; transitive Flask-stack dependencies are capped (Flask/Werkzeug/marshmallow) to keep the resolution coherentSingle-container bootstrap (
prepare-dserver.sh) waits for the databases, generates migrations only on first boot and otherwise applies them (flask db upgrade), and is idempotent on restartContainer publication workflow now builds multi-arch images (
linux/amd64,linux/arm64), uses the GitHub Actions build cache, and pushes to the registry given by theregistryinput (previously misnamed, so login silently fell back to Docker Hub)Fixed the
containersbuild-test: thedserver_develimage failed to build becausesetuptools_scmran git against/app(owned by thedserveruser) as root and git rejected it as “dubious ownership”; mark/appa safe directory and check out full history/tags (fetch-depth: 0)CI workflows modernized:
containers.ymlusesdocker/metadata-action(renamed from the deprecatedcrazy-max/ghaction-docker-meta) and the GitHub Actions build cache;publish-python-package.ymlpublishes via PyPI Trusted Publishing (OIDC) instead of long-lived tokens and builds on Python 3.12 (was end-of-life 3.8); least-privilegepermissionsblocks added; the JOSSpaperworkflow only runs onpaper/changes; Dependabot now also tracks Docker base images
[0.3.0]
Changed
Pinned
dservercoredependency to >= 0.21.0.Pinned
dserver_develbase image to Python 3.12
[0.2.0]
Changed
Core dependency on
dservercore.