MediaGoblin 0.14.0 The biggest change in this release is the addition of first-class Docker installation support — see "doc:`docker`" for details. This update also includes a significant overhaul of the configure/build system to reduce unnecessary dependency checks and add some new checks. These checks now inform which media plugins get enabled and flags why others are not. Many thanks to Olivier for the several years of work and persistence that went into this change. *This is the initial release with Docker support, so please let us know if you hit any issues. Our existing installation method will remain the default.* In addition to this, MediaGoblin now has preliminary support for installation as an OS package under GNU Guix. See `README-Guix.md` for details on using our Guix "channel". This has been enabled by significant work to support more recent versions of some of all our Python dependencies. We're looking forward to spending time on some more user-facing improvements in the next release. Upgrading: For detailed instructions on installing or upgrading, see "upgrading" and "deploying" in docs/source/siteadmin/. Noteworthy changes: - Add first-class Docker installation support (Olivier Mehani) - Refactor configure/build system to improve dependency detection (Olivier Mehani) - Add preliminary Guix channel to build MediaGoblin OS package (Ben Sturmfels) - Switch from third-party virtualenv tool to built in venv package (Ben Sturmfels) - Add support for newer versions of jsonschema, celery, wtforms and werkzeug (Ben Sturmfels) - Remove old sqlalchemy-migrate migrations and Python dependency (Ben Sturmfels) - Remove pytz Python dependency (Ben Sturmfels) - Require jinja2 >= 3.0.3 to avoid conflict with newer markupsafe (Ben Sturmfels) - Add extensive examples to default mediagoblin.ini config (Olivier Mehani) Bug fixes: - Avoid unconditionally upgrading Pip due to celery incompatibility (Ben Sturmfels) - Fix test failure with newer pytest (Ben Sturmfels) - Include missing Inconsolata font in Python distribution (Olivier Mehani) - Create parent of key directory before applying restrictive permissions (Olivier Mehani) - Avoid test failure when CELERY_CONFIG_MODULE is not defined (Olivier Mehani) - Pin upper version of lxml depedency due to removal of lxml.html.clean (Ben Sturmfels) Other changes: - Call bower via npx (Ben Sturmfels) - Rename bootstrap.sh to more common autogen.sh (Olivier Mehani) - Add contributing docs to README (Ben Sturmfels) - Replace runtests.sh with make check (Olivier Mehani) - Add make docs (Olivier Mehani) - Switch from deprecated Image.NEAREST to Image.Resampling.NEAREST (Ben Sturmfels) - Fix SQLAlchemy deprecation warning about declarative_base (Ben Sturmfels) - Remove use of deprecated imghdr module (Ben Sturmfels) - Add Ubuntu 24.04 and Debian Trixie CI builds (Ben Sturmfels) - Fix deprecation warning about logger.warn() (Ben Sturmfels) - Remove unused lightbox CSS and JS (Ben Sturmfels) - Avoid including development-only tools in Python distribution (Ben Sturmfels) - Switch to catch-all MANIFEST.in (Ben Sturmfels) - Switch to find_namespace to avoid setuptools warnings (Ben Sturmfels) - Remove unused web-advanced.json (Ben Sturmfels) - Improve audio/video test skipping if dependencies not available (Olivier Mehani) - Improve audio and video layout when jQuery and Video.js are not available (Ben Sturmfels)