History ------- .. to_doc --------- 26.1.dev0 --------- ------------------- 25.1.2 (2026-03-09) ------------------- ========= Bug fixes ========= * Add selenium test and fix inline images in workflow report tables by `@mvdbeek `_ in `#21698 `_ * Allow workflow download with missing file source references by `@mvdbeek `_ in `#21814 `_ * Fix AWS Batch monitor crash, delete copied monitor method by `@mvdbeek `_ in `#21818 `_ * Fix tool credentials on containerized (Singularity/Docker) destinations by `@arash77 `_ in `#21821 `_ * Add `builtin_converters` section to integrated tool panel by `@ahmedhamidawan `_ in `#21838 `_ * Fix output dataset permission guessing by `@mvdbeek `_ in `#21862 `_ * Enforce storage quota for Celery-based data fetch jobs by `@mvdbeek `_ in `#21941 `_ * Fix optional parameter persisting ``NO_REPLACEMENT`` sentinel when not provided by `@mvdbeek `_ in `#21964 `_ * Fix recording duplicate workflow_request_input_step_parameter rows by `@mvdbeek `_ in `#21980 `_ * Fix NoReplacement handling in workflow callback_helper by `@mvdbeek `_ in `#21994 `_ * Fix pick_value output inheriting hidden state from input datasets by `@mvdbeek `_ in `#21995 `_ ------------------- 25.1.1 (2026-02-03) ------------------- ========= Bug fixes ========= * Record input parameter invocation inputs by `@mvdbeek `_ in `#21452 `_ * Maintain column definitions on map over by `@mvdbeek `_ in `#21468 `_ * Do not update a user's update_time when an admin archives (and purges) a history by `@natefoo `_ in `#21484 `_ * Fix subworkflow runs for disconnected required inputs with defaults by `@mvdbeek `_ in `#21488 `_ * Usability fixes for sample sheet selection. by `@jmchilton `_ in `#21503 `_ * Fix type annotation for invocation report ``errors`` field by `@mvdbeek `_ in `#21508 `_ * Filter out failed_metadata HDAs from job cache by `@mvdbeek `_ in `#21544 `_ * Fix pulsar with ``rewrite_parameters: false`` by `@mvdbeek `_ in `#21557 `_ * Fix Pulsar with ``default_file_action: none`` by `@mvdbeek `_ in `#21578 `_ * Fix condor typo by `@gsaudade99 `_ in `#21651 `_ * Fix HTCondor runner unwatching jobs when stopping containers by `@kysrpex `_ in `#21656 `_ * Fix option propagation for workflow inputs connected to multiple subworkflows by `@mvdbeek `_ in `#21712 `_ * Add missing filter_failed_collection_1.1.0.xml tool by `@mvdbeek `_ in `#21719 `_ * Strip inline comments in conditional requirements by `@mvdbeek `_ in `#21720 `_ ============ Enhancements ============ * Add sample sheet support to many database operation tools by `@mvdbeek `_ in `#21465 `_ * Add database operation tool to convert sample sheets to list collections by `@mvdbeek `_ in `#21625 `_ ------------------- 25.1.0 (2025-12-12) ------------------- ========= Bug fixes ========= * Workaround to numeric sorting in the local portion of tool versions if they are galaxy "build" numbers by `@natefoo `_ in `#13570 `_ * Bump requests from 2.32.3 to 2.32.4 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#20422 `_ * Remove decoded ids from job/dataset error report email by `@ahmedhamidawan `_ in `#20714 `_ * Fix `multiple="true"` data collection map over for shell_command tools by `@mvdbeek `_ in `#20859 `_ * Fix default conditional test parameters... by `@jmchilton `_ in `#20942 `_ * Set minimum profile version for expression tools by `@mvdbeek `_ in `#21151 `_ * Add Convert characters1 to workflow safe updates by `@mvdbeek `_ in `#21160 `_ * Bump up minimal tpv version by `@mvdbeek `_ in `#21166 `_ * Add missing more-itertools dependency by `@nsoranzo `_ in `#21214 `_ * Fix downloading subworkflows without stored workflow by `@mvdbeek `_ in `#21223 `_ * Fix fastapi package conflict by `@mvdbeek `_ in `#21349 `_ * Skip mako for rendering tool help by `@mvdbeek `_ in `#21428 `_ * Fix optional subworkflow input scheduling bug by `@mvdbeek `_ in `#21435 `_ * Maintain columns on sample sheet map over by `@mvdbeek `_ in `#21436 `_ ============ Enhancements ============ * Support credentials(secrets/variables) in tool requirements by `@arash77 `_ in `#19084 `_ * Allow several Galaxy Markdown directives to be embedded. by `@jmchilton `_ in `#19086 `_ * Add tags to output datasets from tool form by `@PlushZ `_ in `#19225 `_ * Implement Sample Sheets by `@jmchilton `_ in `#19305 `_ * Consider collections in on_strings for parameters accepting multiple datasets by `@bernt-matthias `_ in `#19817 `_ * Remove backbone-based charts modules by `@guerler `_ in `#19892 `_ * Update Python dependencies by `@galaxybot `_ in `#20139 `_ * Remove legacy visualizations by `@guerler `_ in `#20173 `_ * Split Login and Register, enable OIDC Registration. by `@uwwint `_ in `#20287 `_ * Empower Users to More Pragmatically Import Datasets & Collections From Tables by `@jmchilton `_ in `#20288 `_ * Switch Default Visualization Endpoint to script, migrate to YAML by `@guerler `_ in `#20303 `_ * Add short term storage expiration indicator to history items by `@davelopez `_ in `#20332 `_ * Update Python dependencies by `@galaxybot `_ in `#20347 `_ * Install Visualization plugins as self-contained packages by `@guerler `_ in `#20348 `_ * Prepare ``ToolBox.dynamic_tool_to_tool()`` for CWL formats by `@nsoranzo `_ in `#20364 `_ * Install visualizations directly to static path, avoid duplication by `@guerler `_ in `#20372 `_ * Update Python dependencies by `@galaxybot `_ in `#20383 `_ * Type annotation fixes for mypy 1.16.0 by `@nsoranzo `_ in `#20424 `_ * Implement dataset source requested transformations. by `@jmchilton `_ in `#20435 `_ * Add username_key setting to configure python-social-auth OIDC by `@marius-mather `_ in `#20497 `_ * Remove deprecated tool document cache by `@nsoranzo `_ in `#20510 `_ * Fixes for invocation import. by `@jmchilton `_ in `#20528 `_ * Update Python dependencies by `@galaxybot `_ in `#20537 `_ * Decode OIDC access token as part of authentication pipeline by `@marius-mather `_ in `#20547 `_ * Update Python dependencies by `@galaxybot `_ in `#20577 `_ * Display the Galaxy Citation within the Export Tool References List by `@mschatz `_ in `#20584 `_ * Implement Data Landing Requests by `@jmchilton `_ in `#20592 `_ * Update Python dependencies by `@galaxybot `_ in `#20601 `_ * Add a "Debug" (email report) tab to Workflow Invocations by `@ahmedhamidawan `_ in `#20624 `_ * Clean up code from pyupgrade by `@nsoranzo `_ in `#20642 `_ * Update Python dependencies by `@galaxybot `_ in `#20653 `_ * Update Python dependencies by `@galaxybot `_ in `#20680 `_ * Update Python dependencies by `@galaxybot `_ in `#20699 `_ * Improve cli and slurmcli runner traceability for job status and failure reasons by `@selten `_ in `#20717 `_ * Refactor Files Sources Framework for stronger typing using pydantic models by `@davelopez `_ in `#20728 `_ * Hierarchical display collection dataset states by `@mvdbeek `_ in `#20731 `_ * Update Python dependencies by `@galaxybot `_ in `#20732 `_ * Update Python dependencies by `@galaxybot `_ in `#20753 `_ * Consolidate visualization mako, avoid user agent styles by `@guerler `_ in `#20760 `_ * Add configfiles support and various enhancements for user defined tools by `@mvdbeek `_ in `#20761 `_ * Drop old load_workflow controller method, use API by `@mvdbeek `_ in `#20774 `_ * Update Python dependencies by `@galaxybot `_ in `#20779 `_ * Add Hugging Face 🤗 file source and user-defined template by `@davelopez `_ in `#20805 `_ * Update Python dependencies by `@galaxybot `_ in `#20812 `_ * Update pytest to v8 by `@nsoranzo `_ in `#20838 `_ * Update Python dependencies by `@galaxybot `_ in `#20841 `_ * Allow adding extra steps to the default pipeline of the OIDC authentication by `@marius-mather `_ in `#20845 `_ * Use a streaming based parser (ijson) when setting metadata for biom1 files. by `@ksuderman `_ in `#20851 `_ * Various Container Execution Enhancements (including GCP Batch support) by `@jmchilton `_ in `#20862 `_ * Replace tour_generator webhook with internal API and frontend by `@ahmedhamidawan `_ in `#20868 `_ * Update Python dependencies by `@galaxybot `_ in `#20869 `_ * Improve type annotation for job runners and ``InteractiveToolManager`` by `@nsoranzo `_ in `#20871 `_ * Replace deprecated ``codecs.open()`` by `@nsoranzo `_ in `#20891 `_ * Update Python dependencies by `@galaxybot `_ in `#20905 `_ * Allow creation of visualizations without dataset by `@guerler `_ in `#20914 `_ * Add support for picking ``from_work_dir`` directory by `@mvdbeek `_ in `#20916 `_ * Add tool to add nesting level to collection by `@bernt-matthias `_ in `#20926 `_ * Update Python dependencies by `@galaxybot `_ in `#20930 `_ * Allow addressing user defined tools in job config by `@mvdbeek `_ in `#20932 `_ * Wire up and test resource requirement via tpv by `@mvdbeek `_ in `#20936 `_ * Limit admin requirement of selected tool data api endpoints by `@guerler `_ in `#20949 `_ * Add resource docs and tweak tool source schema title generation by `@mvdbeek `_ in `#20951 `_ * Allow sending and tracking landing request origin by `@mvdbeek `_ in `#20957 `_ * Use nodejs-wheel to install node by `@mvdbeek `_ in `#20963 `_ * Move tours schema to schema directory (to fix package structure) by `@ahmedhamidawan `_ in `#20965 `_ * Update Python dependencies by `@galaxybot `_ in `#20968 `_ * Log task execution errors with log.exception by `@mvdbeek `_ in `#20970 `_ * Update Python dependencies by `@galaxybot `_ in `#21005 `_ * Bump up total-perspective-vortex dependency by `@mvdbeek `_ in `#21014 `_ * Tighter API for tool run tagging. by `@jmchilton `_ in `#21210 `_ * Optimize /api/invocations/steps/{step_id} by `@mvdbeek `_ in `#21249 `_ * Optionally include column headers in sample sheet file by `@mvdbeek `_ in `#21439 `_ ============= Other changes ============= * Merge `release_25.0` into `dev` by `@davelopez `_ in `#20484 `_ * Bump pillow from 11.2.1 to 11.3.0 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#20591 `_ * Sample Sheet Bug Fixes around Preserving Collection Metadata by `@jmchilton `_ in `#20749 `_ * Validate sample sheet column definitions in workflow definitions on backend. by `@jmchilton `_ in `#20880 `_ * Drop fastapi extra dep from sentry-sdk by `@mvdbeek `_ in `#21156 `_ * Resolve possible symlink before establishing tool file location by `@mvdbeek `_ in `#21175 `_ ------------------- 25.0.4 (2025-11-18) ------------------- ========= Bug fixes ========= * Check for expiration in refresh token dictionary by `@jdavcs `_ in `#20954 `_ * Deactivate user file source on unknown error by `@mvdbeek `_ in `#20962 `_ * Don't create workflow outputs to recover input parameter outputs by `@mvdbeek `_ in `#20980 `_ * Fix PUT /api/workflows for user defined tools by `@mvdbeek `_ in `#20987 `_ * Store pulsar job prep error messages by `@mvdbeek `_ in `#21013 `_ * Require OK datasets for filtering empty datasets by `@bernt-matthias `_ in `#21023 `_ * Fix `InvalidRequestError` when saving workflow step with dynamic tool by `@mvdbeek `_ in `#21056 `_ * Run landing request state through validator by `@mvdbeek `_ in `#21087 `_ * Create new datasets when creating skipped database operation tool outputs by `@mvdbeek `_ in `#21142 `_ * Fix refresh token expiration retrieval logic by `@nuwang `_ in `#21213 `_ ============ Enhancements ============ * Use job cache also for implicit conversions by `@mvdbeek `_ in `#21021 `_ ------------------- 25.0.3 (2025-09-23) ------------------- ========= Bug fixes ========= * Ensure that workflow invocations are persisted with state by `@mvdbeek `_ in `#20784 `_ * Fix password reset functionality for lowercase emails by `@jdavcs `_ in `#20801 `_ * Fix token refresh bug (cilogon) by `@jdavcs `_ in `#20821 `_ * Drop eager argument from invocation related methods by `@mvdbeek `_ in `#20863 `_ * Fix role.description bug by `@jdavcs `_ in `#20883 `_ * Make check for existing user in custos_authnz.py case insensitive by `@cat-bro `_ in `#20893 `_ * Avoid potential race condition in replacement_for_connection by `@mvdbeek `_ in `#20909 `_ ------------------- 25.0.2 (2025-08-13) ------------------- ========= Bug fixes ========= * Fix restricting user defined tool input datasets extensions by `@mvdbeek `_ in `#20545 `_ * Don't assume cwd = job directory when running prepare dirs by `@natefoo `_ in `#20571 `_ * Fix apply rules ownership check by `@mvdbeek `_ in `#20582 `_ * Prevent importing workflows with invalid step UUID by `@davelopez `_ in `#20596 `_ * Constraint conditional `redis` version to allow only minor updates by `@davelopez `_ in `#20603 `_ * Fix optional unspecified input to conditional step by `@mvdbeek `_ in `#20647 `_ * Avoid postgres truncation of aliases and labels by `@mvdbeek `_ in `#20649 `_ * Fix deferred datasets in multiple dataset parameters. by `@jmchilton `_ in `#20650 `_ * Bump up pulsar dependency to 0.15.9 by `@mvdbeek `_ in `#20672 `_ * Fix dataset serializers and response models by `@arash77 `_ in `#20694 `_ * Update galaxy-release-util by `@mvdbeek `_ in `#20727 `_ * Fix maximum workflow invocation duration test by `@mvdbeek `_ in `#20729 `_ ============ Enhancements ============ * Add redis conditional dependency by `@davelopez `_ in `#20502 `_ * Improve workflow monitor loop times by `@mvdbeek `_ in `#20522 `_ ------------------- 25.0.1 (2025-06-20) ------------------- ========= Bug fixes ========= * Fix single data element identifier to be a regular string by `@mvdbeek `_ in `#20438 `_ * Pin isa-rwval 0.10.11, drop conditional import handling by `@natefoo `_ in `#20527 `_ * Fix `galaxy-config` script, move install to `galaxy-dependencies` in app package by `@natefoo `_ in `#20531 `_ ============ Enhancements ============ * Bump gravity dependency to 1.1.0 by `@mvdbeek `_ in `#20520 `_ ============= Other changes ============= * Bump Gravity to 1.1.1 by `@natefoo `_ in `#20533 `_ ------------------- 25.0.0 (2025-06-18) ------------------- ========= Bug fixes ========= * Bump tornado from 6.4.1 to 6.4.2 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#19189 `_ * Don't calculate dataset hash for datasets in non-OK state by `@nsoranzo `_ in `#19191 `_ * Bump python-multipart from 0.0.17 to 0.0.18 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#19233 `_ * Use ``resource_path()`` to access datatypes_conf.xml.sample as a package resource by `@nsoranzo `_ in `#19331 `_ * Require importlib-resources also for Python 3.9-3.11 by `@nsoranzo `_ in `#19358 `_ * Bump jinja2 from 3.1.4 to 3.1.5 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#19369 `_ * Better handling of public pages and workflows authored by deleted users by `@jdavcs `_ in `#19394 `_ * Alternative `format_source` fix by `@mvdbeek `_ in `#19395 `_ * Avoid using custos refresh tokens which are expired by `@martenson `_ in `#19411 `_ * Use fissix also when python3-lib2to3 is not installed by `@nsoranzo `_ in `#19749 `_ * Fix setting env and tags on resubmission by `@bernt-matthias `_ in `#19753 `_ * Fix Galaxy ignoring job object_store_id for quota check by `@bernt-matthias `_ in `#19854 `_ * Fix broken optimisation introduced in #19852 by `@nsoranzo `_ in `#19871 `_ * Fix various mypy issues around mapped attributes by `@mvdbeek `_ in `#19883 `_ * More fixes to `FormData` drag and drop and typing by `@ahmedhamidawan `_ in `#19900 `_ * Fix ownership check in history contents update route by `@mvdbeek `_ in `#19969 `_ * Pass host url to visualizations by `@guerler `_ in `#20022 `_ * Allow deferred and ok state datasets for vis by `@guerler `_ in `#20143 `_ * Fix certain cases of collection parameter handling during workflow execution. by `@jmchilton `_ in `#20152 `_ * Fix tapis module typing errors by `@jdavcs `_ in `#20175 `_ * Fix NFDI auth by `@bgruening `_ in `#20217 `_ * Add non-dev httpx dependency by `@mvdbeek `_ in `#20281 `_ * Rerun workflows for the correct version/instance by `@ahmedhamidawan `_ in `#20313 `_ * Fix workflow bookmark filtering by `@davelopez `_ in `#20325 `_ * Generate a tenant-unique UID for tapis. by `@dannon `_ in `#20370 `_ * Fix job rerun with tool version change by `@mvdbeek `_ in `#20417 `_ * Update pulsar-galaxy-lib to 0.15.8 by `@mvdbeek `_ in `#20419 `_ * Upgrade tensorflow conditional dependency version to 2.15.1 by `@cat-bro `_ in `#20434 `_ * Dataset Display and Preferred Viz fixes by `@dannon `_ in `#20439 `_ ============ Enhancements ============ * Dynamic options: add data table filter by `@bernt-matthias `_ in `#12941 `_ * Run the tool working dir backup/restore on Pulsar by `@natefoo `_ in `#16696 `_ * Implement tool markdown reports. by `@jmchilton `_ in `#19054 `_ * Let file sources choose a path for uploaded files by `@kysrpex `_ in `#19154 `_ * Calculate hash for new non-deferred datasets when finishing a job by `@nsoranzo `_ in `#19181 `_ * Update Python dependencies by `@galaxybot `_ in `#19190 `_ * Fix UP031 errors - Part 1 by `@nsoranzo `_ in `#19194 `_ * Fix UP031 errors - Part 3 by `@nsoranzo `_ in `#19218 `_ * Fix UP031 errors - Part 4 by `@nsoranzo `_ in `#19235 `_ * Refactor for better reuse of workflow parameter type constants by `@nsoranzo `_ in `#19260 `_ * Fix UP031 errors - Part 5 by `@nsoranzo `_ in `#19282 `_ * Migrate WF Collection Input Form Definition to Client Side by `@jmchilton `_ in `#19313 `_ * Fix UP031 errors - Part 6 by `@nsoranzo `_ in `#19314 `_ * Update pydantic to 2.10.3 by `@nsoranzo `_ in `#19326 `_ * Misc fixes 202412 by `@nsoranzo `_ in `#19341 `_ * Hide outdated visualizations from visualizations activity panel by `@guerler `_ in `#19353 `_ * Update Python dependencies by `@galaxybot `_ in `#19366 `_ * Add Dataverse RDM repository integration by `@KaiOnGitHub `_ in `#19367 `_ * Type annotation fixes for mypy 1.14.0 by `@nsoranzo `_ in `#19372 `_ * Empower Users to Build More Kinds of Collections, More Intelligently by `@jmchilton `_ in `#19377 `_ * Set safe default extraction filter for tar archives by `@nsoranzo `_ in `#19406 `_ * Remove transaction helper by `@jdavcs `_ in `#19407 `_ * Prevent users from reusing a banned email after account is purged by `@jdavcs `_ in `#19413 `_ * Update Python dependencies by `@galaxybot `_ in `#19418 `_ * Add User-Defined Tools by `@mvdbeek `_ in `#19434 `_ * Type annotations improvements by `@nsoranzo `_ in `#19442 `_ * Improve asynchronous tasks error handling and reporting by `@davelopez `_ in `#19448 `_ * Update Python dependencies by `@galaxybot `_ in `#19464 `_ * Type annotation improvements by `@nsoranzo `_ in `#19485 `_ * Update Python dependencies by `@galaxybot `_ in `#19510 `_ * Add config options for tool dependency installs by `@afgane `_ in `#19565 `_ * Update Python dependencies by `@galaxybot `_ in `#19567 `_ * Remove tags used by `@ElectronicBlueberry `_ in `#19576 `_ * Expand workflow metadata for readme. by `@jmchilton `_ in `#19591 `_ * Add failed jobs working directory cleanup as a celery periodic task by `@sanjaysrikakulam `_ in `#19594 `_ * Use correct `plugin_kind` in user file sources by `@davelopez `_ in `#19622 `_ * Update Python dependencies by `@galaxybot `_ in `#19623 `_ * Format code with black 25.1.0 by `@nsoranzo `_ in `#19625 `_ * Type annotation improvements by `@nsoranzo `_ in `#19642 `_ * Refactor dependencies for tool output actions. by `@jmchilton `_ in `#19662 `_ * Add webdavclient3 to conditional-requirements.txt by `@bgruening `_ in `#19671 `_ * Update Python dependencies by `@galaxybot `_ in `#19682 `_ * Drop support for Python 3.8 by `@nsoranzo `_ in `#19685 `_ * Define simple models for job messages. by `@jmchilton `_ in `#19688 `_ * Move RequiredAppT back into galaxy packages. by `@jmchilton `_ in `#19704 `_ * Use model classes from ``galaxy.model`` instead of ``app.model`` object - Part 1 by `@nsoranzo `_ in `#19706 `_ * Preserve workflow labels in final invocation reports by `@guerler `_ in `#19721 `_ * ToolShed 2.1 - Various bugfixes and enhancements. by `@jmchilton `_ in `#19722 `_ * Use model classes from ``galaxy.model`` instead of ``app.model`` object - Part 2 by `@nsoranzo `_ in `#19726 `_ * Update Python dependencies by `@galaxybot `_ in `#19727 `_ * Show workflow help (and readme?) in run form by `@ahmedhamidawan `_ in `#19736 `_ * Improvements to package decomposition. by `@jmchilton `_ in `#19759 `_ * Update Python dependencies by `@galaxybot `_ in `#19772 `_ * Add visualization framework interface to cell-based markdown editor by `@guerler `_ in `#19775 `_ * Update Python dependencies by `@galaxybot `_ in `#19816 `_ * Populate image metadata without allocating memory for the entire image content by `@kostrykin `_ in `#19830 `_ * Syntactic sugar to ease TPV configuration. by `@jmchilton `_ in `#19834 `_ * Improve markdown editor modularity and structure by `@guerler `_ in `#19835 `_ * Add mandatory RO-Crate metadata when exporting by `@elichad `_ in `#19846 `_ * Add basic support for icons in tools by `@davelopez `_ in `#19850 `_ * Improve type annotations of ``ModelPersistenceContext`` and derived classes by `@nsoranzo `_ in `#19852 `_ * Drop old galaxy_session records by `@jdavcs `_ in `#19872 `_ * Update Python dependencies by `@galaxybot `_ in `#19874 `_ * Add Tapis auth support by `@dannon `_ in `#19887 `_ * Remove unnecessary code duplications by `@nsoranzo `_ in `#19921 `_ * Migrate Page editing controller endpoint to API by `@guerler `_ in `#19923 `_ * Update Python dependencies by `@galaxybot `_ in `#19929 `_ * Add type hints around collection copying and job things by `@mvdbeek `_ in `#19961 `_ * Job cache allow different names when possible by `@mvdbeek `_ in `#19962 `_ * Update Python dependencies by `@galaxybot `_ in `#19964 `_ * Allow different AI providers (as long as they are openai compatible) by `@uwwint `_ in `#19989 `_ * Improve type annotation of tool parameter wrapping by `@nsoranzo `_ in `#19991 `_ * IT Activity Panel by `@dannon `_ in `#19996 `_ * Update Python dependencies by `@galaxybot `_ in `#19998 `_ * Implement dataset collection support in workflow landing requests by `@mvdbeek `_ in `#20004 `_ * Enable ``warn_redundant_casts`` mypy option and drop redundant casts by `@nsoranzo `_ in `#20008 `_ * Add DOI to workflow metadata by `@jdavcs `_ in `#20033 `_ * Add support for Markdown help text in visualizations by `@guerler `_ in `#20043 `_ * Add sample datasets for visualizations by `@guerler `_ in `#20046 `_ * Use visualization dropdown solely for examples by `@guerler `_ in `#20094 `_ * Update Python dependencies by `@galaxybot `_ in `#20096 `_ * Adds Example Datasets and Help Text for Visualizations by `@guerler `_ in `#20097 `_ * Additional type hints for ``toolbox.get_tool`` / ``toolbox.has_tool`` by `@mvdbeek `_ in `#20150 `_ * Create working dir output outside of tool evaluator by `@mvdbeek `_ in `#20153 `_ * Add three AAI providers by `@martenson `_ in `#20165 `_ * Add replacement_dataset option to collection filter tools by `@simonbray `_ in `#20166 `_ * Implement file source to integrate Galaxy with RSpace by `@kysrpex `_ in `#20167 `_ * Visualization-First Display functionality by `@dannon `_ in `#20190 `_ * Improve type annotation of ``galaxy.model.dataset_collections`` by `@nsoranzo `_ in `#20194 `_ * Improve performance of job cache query by `@mvdbeek `_ in `#20319 `_ ============= Other changes ============= * Merge 24.2 into dev by `@jdavcs `_ in `#19590 `_ * Fix import and update_page type signature by `@mvdbeek `_ in `#19932 `_ * Fix copying job output from discovered outputs by `@mvdbeek `_ in `#19999 `_ * Bump h11 from 0.14.0 to 0.16.0 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#20088 `_ * Fix job rerun for dynamic tools by `@mvdbeek `_ in `#20259 `_ ------------------- 24.2.4 (2025-06-17) ------------------- ========= Bug fixes ========= * Reduce default framework tool test timeout to 60 seconds by `@mvdbeek `_ in `#19819 `_ * Fix various job concurrency limit issues by `@mvdbeek `_ in `#19824 `_ * Handle directories with percents directories with export_remote.xml. by `@jmchilton `_ in `#19865 `_ * Fix tabular metadata setting on pulsar with remote metadata by `@mvdbeek `_ in `#19891 `_ * Skip ``data_meta`` filter in run form by `@mvdbeek `_ in `#19895 `_ * Fix duplicate extensions for data inputs by `@ahmedhamidawan `_ in `#19903 `_ * Skip implicit HDA conversions in DataToolParameter options by `@davelopez `_ in `#19911 `_ * Better interactive tool entry point query by `@mvdbeek `_ in `#19942 `_ * Drop unnecessary job cache job subquery by `@mvdbeek `_ in `#19945 `_ * Fix attempt restriction on multiple connections by `@mvdbeek `_ in `#19948 `_ * Fix various parameter validation issues. by `@jmchilton `_ in `#19949 `_ * Sort intersected options by `@mvdbeek `_ in `#19953 `_ * Do not print OIDC access tokens to the logs by `@kysrpex `_ in `#19966 `_ * Renew OIDC access tokens using valid refresh tokens by `@kysrpex `_ in `#19967 `_ * Add missing job state history entry for queued state by `@mvdbeek `_ in `#19977 `_ * Restrict job cache to terminal jobs (and other fixes) by `@mvdbeek `_ in `#19978 `_ * Fix dynamic filter option access when building command line by `@mvdbeek `_ in `#19982 `_ * Renew access tokens from PSA using valid refresh tokens by `@kysrpex `_ in `#20040 `_ * Job cache backports by `@mvdbeek `_ in `#20078 `_ * Skip ``param_value`` filter if ref value is runtime value by `@mvdbeek `_ in `#20144 `_ * Fix invocation failure dataset reference by `@mvdbeek `_ in `#20200 `_ * Fall back to name in job summary if no input label given by `@mvdbeek `_ in `#20258 `_ * Skip validation of expression.json input in workflow parameter validator by `@mvdbeek `_ in `#20412 `_ ------------------- 24.2.3 (2025-03-16) ------------------- ========= Bug fixes ========= * Fix private role name performance issue by `@jdavcs `_ in `#19679 `_ * Fix tool directory pulsar transfer by `@mvdbeek `_ in `#19799 `_ * Use materialized datasets in pulsar job runner by `@mvdbeek `_ in `#19807 `_ ------------------- 24.2.2 (2025-03-08) ------------------- ========= Bug fixes ========= * Fix conditional dependency path resolution by `@mvdbeek `_ in `#19723 `_ * Allow tool state changes in refactor actions by `@mvdbeek `_ in `#19730 `_ * Update fs.dropboxfs conditional dependency version to 1.0.3 by `@davelopez `_ in `#19741 `_ * Follow-up to #19651: Do not reassign: method modifies object in-place by `@jdavcs `_ in `#19746 `_ ============ Enhancements ============ * Add bwa_mem2_index directory datatype, framework enhancements for testing directories by `@mvdbeek `_ in `#19694 `_ * Skip slow tests for manage_db, db_dev scripts by `@jdavcs `_ in `#19744 `_ ============= Other changes ============= * Make k8s user and group ids overriddable per job by `@nuwang `_ in `#19568 `_ ------------------- 24.2.1 (2025-02-28) ------------------- ========= Bug fixes ========= * Remove unused and broken methods by `@nsoranzo `_ in `#19614 `_ * Raise ``RequestParameterInvalidException`` on invalid ``input_format`` parameter by `@mvdbeek `_ in `#19631 `_ * Raise serializable exception on invalid workflow connection by `@mvdbeek `_ in `#19636 `_ * Raise ``MessageException`` when using data provider on incompatible data by `@mvdbeek `_ in `#19639 `_ * Apply exec options to connection by `@jdavcs `_ in `#19651 `_ * Initialize dictionary used to set connection execution options by `@jdavcs `_ in `#19653 `_ * Fix various bugs around tool data table bundles by `@mvdbeek `_ in `#19659 `_ ------------------- 24.2.0 (2025-02-11) ------------------- ========= Bug fixes ========= * Drop "Send to cloud" tool and associated cloudauthz code by `@jdavcs `_ in `#18196 `_ * Dynamics options add library dataset by `@gagayuan `_ in `#18198 `_ * Fix some deprecations by `@nsoranzo `_ in `#18433 `_ * Fixes for errors reported by mypy 1.11.0 by `@nsoranzo `_ in `#18608 `_ * Update mercurial by `@mvdbeek `_ in `#18686 `_ * Replace types-pkg-resources with types-setuptools by `@nsoranzo `_ in `#18708 `_ * Fix tag processing in library upload by `@davelopez `_ in `#18714 `_ * Update ruff to 0.6.1 by `@nsoranzo `_ in `#18716 `_ * Fix new flake8-bugbear B039 and mypy type-var errors by `@nsoranzo `_ in `#18755 `_ * Fixes and tests for data fetch models. by `@jmchilton `_ in `#18834 `_ * data_column params: offer same columns with and without use_header_names by `@wm75 `_ in `#18879 `_ * Fix issue with generating slug for sharing by `@arash77 `_ in `#18986 `_ * Fix the bioblend test failures by `@arash77 `_ in `#18991 `_ * Fix job directory not being cleaned up by `@davelopez `_ in `#18997 `_ * Fixes random job failures in kubernetes by `@mapk-amazon `_ in `#19001 `_ * Fix numerous issues with tool input format "21.01" by `@jmchilton `_ in `#19030 `_ * Fix test_stock.py unit test by `@mvdbeek `_ in `#19037 `_ * quota: do not complain on no-change of default by `@bernt-matthias `_ in `#19045 `_ * Normalize usernames to lowercase in OIDC authentication by `@arash77 `_ in `#19131 `_ * 2 small uv config fixes by `@nsoranzo `_ in `#19146 `_ * Fix invocation metrics usability by providing job context. by `@jmchilton `_ in `#19279 `_ * Fix import of previously-deleted TRS workflow by `@mvdbeek `_ in `#19311 `_ * Fix quota usage with user object stores by `@davelopez `_ in `#19323 `_ * Fix workflows with optional non-default parameter input by `@mvdbeek `_ in `#19332 `_ * Backport #19001 kubernetes api client fix by `@mvdbeek `_ in `#19338 `_ * Partial backport of #19331 by `@nsoranzo `_ in `#19342 `_ * Use select_from_url test data from github, not usegalaxy.org by `@mvdbeek `_ in `#19352 `_ * Fix to only show ChatGXY when available. by `@dannon `_ in `#19389 `_ * Fix job parameter summary for inputs without label by `@mvdbeek `_ in `#19427 `_ * Show Keycloak provider label in UI by `@ahmedhamidawan `_ in `#19447 `_ * Expression tool format source backport by `@mvdbeek `_ in `#19466 `_ * backport of defensive refresh tokens by `@martenson `_ in `#19471 `_ * Improve relabel from file error if file doesn't contain enough lines by `@mvdbeek `_ in `#19480 `_ * Serialize message exceptions on execution error by `@mvdbeek `_ in `#19483 `_ * Fail with error message when submitting invalid request by `@mvdbeek `_ in `#19489 `_ * Fix deleting lddas in batch by `@davelopez `_ in `#19506 `_ * Skip token refresh without refresh token in psa by `@mvdbeek `_ in `#19514 `_ * Downgrade 'InteractiveTools are not enabled' to warning by `@mvdbeek `_ in `#19518 `_ * Fix extracting workflows from purged and deleted histories by `@mvdbeek `_ in `#19525 `_ * Fix error message when subworkflow input connection missing by `@mvdbeek `_ in `#19526 `_ * Fix remap for parameter called id by `@mvdbeek `_ in `#19532 `_ * Fix admin cancel job message not being displayed to the user by `@davelopez `_ in `#19537 `_ * Use instance wide default ``real_system_username`` if not defined on destination by `@bernt-matthias `_ in `#19544 `_ * Fix job paused on user defined object store by `@davelopez `_ in `#19578 `_ ============ Enhancements ============ * Add clean up job working directory as celery task by `@sanjaysrikakulam `_ in `#15816 `_ * Experimental galactic wizard by `@dannon `_ in `#15860 `_ * Feature - stdout live reporting by `@gecage952 `_ in `#16975 `_ * Update Python dependencies by `@galaxybot `_ in `#18226 `_ * Allow OAuth 2.0 user defined file sources (w/Dropbox integration) by `@jmchilton `_ in `#18272 `_ * More data access tests, some refactoring and cleanup by `@jdavcs `_ in `#18312 `_ * Update Python dependencies by `@galaxybot `_ in `#18406 `_ * Add Python 3.13 support by `@nsoranzo `_ in `#18449 `_ * Add onedata templates by `@bwalkowi `_ in `#18457 `_ * Support high-availability setups for the interactive tools proxy by `@kysrpex `_ in `#18481 `_ * Add unique constraints to the email and username fields in the galaxy_user table by `@jdavcs `_ in `#18493 `_ * Update Python dependencies by `@galaxybot `_ in `#18505 `_ * Improvements for K8S deployment (especially ITs) by `@almahmoud `_ in `#18514 `_ * Add Tool-Centric APIs to the Tool Shed 2.0 by `@jmchilton `_ in `#18524 `_ * Improvements to Tool Test Parsing by `@jmchilton `_ in `#18560 `_ * Group tool templating exceptions in sentry by `@mvdbeek `_ in `#18570 `_ * Update Python dependencies by `@galaxybot `_ in `#18578 `_ * Record container id and type in core job metrics by `@mvdbeek `_ in `#18579 `_ * Rev pinned gxformat2. by `@jmchilton `_ in `#18624 `_ * Better Typing for Tool Execution Plumbing by `@jmchilton `_ in `#18626 `_ * Remove unused functions in dataset managers by `@jmchilton `_ in `#18631 `_ * Parameter Model Improvements by `@jmchilton `_ in `#18641 `_ * Parse stored config details to script-based visualizations by `@guerler `_ in `#18651 `_ * Another round of parameter model improvements. by `@jmchilton `_ in `#18673 `_ * Allow access to invocation via shared or published history by `@mvdbeek `_ in `#18707 `_ * Allow specifying multi-select workflow parameters by `@mvdbeek `_ in `#18715 `_ * Improvements to help terms & tool help. by `@jmchilton `_ in `#18722 `_ * Add a retry when deleting a k8s job by `@afgane `_ in `#18744 `_ * More typing, docs, and decomposition around tool execution by `@jmchilton `_ in `#18758 `_ * Add Workflow Title and Annotation sections by `@hujambo-dunia `_ in `#18762 `_ * Refactor ``LibraryDatasetsManager`` and fix type annotation issue by `@nsoranzo `_ in `#18773 `_ * Backend handling of setting user-role, user-group, and group-role associations by `@jdavcs `_ in `#18777 `_ * Allow using tracks and groups in visualization xml by `@guerler `_ in `#18779 `_ * Workflow Landing Requests by `@jmchilton `_ in `#18807 `_ * Update Mypy to 1.11.2 and fix new signature override errors by `@nsoranzo `_ in `#18811 `_ * Migrate Library Contents API to FastAPI by `@arash77 `_ in `#18838 `_ * Update Python dependencies by `@galaxybot `_ in `#18864 `_ * Implement Pydantic model for workflow test format. by `@jmchilton `_ in `#18884 `_ * Remove some unused dynamic drill down options. by `@jmchilton `_ in `#18892 `_ * Enable ``ignore-without-code`` mypy error code by `@nsoranzo `_ in `#18898 `_ * Update Python dependencies by `@galaxybot `_ in `#18904 `_ * Type annotations and fixes by `@nsoranzo `_ in `#18911 `_ * Add filter null collection operation tool by `@mvdbeek `_ in `#18928 `_ * Remove outdated fimo wrapper and galaxy-sequence-utils dependency by `@nsoranzo `_ in `#18937 `_ * Update Python dependencies by `@galaxybot `_ in `#18943 `_ * Allow to overwrite `real_system_username` per destination by `@bernt-matthias `_ in `#18945 `_ * Assert that `data_column` parameters have a valid `data_ref` by `@bernt-matthias `_ in `#18949 `_ * Decouple user email from role name by `@jdavcs `_ in `#18966 `_ * Workflow landing improvements by `@mvdbeek `_ in `#18979 `_ * Update Python dependencies by `@galaxybot `_ in `#18982 `_ * Allow recovering a normalized version of workflow request state from API by `@jmchilton `_ in `#18985 `_ * Enhance relabel_from_file to work with any column pair in mapping file by `@wm75 `_ in `#19022 `_ * A variety of improvements around tool parameter modeling (second try) by `@jmchilton `_ in `#19027 `_ * Better logging around tool loading by `@jmchilton `_ in `#19029 `_ * Update Python dependencies by `@galaxybot `_ in `#19031 `_ * Silence the quota manager for updates by `@bernt-matthias `_ in `#19046 `_ * Add job metrics per invocation by `@mvdbeek `_ in `#19048 `_ * Update Python dependencies by `@galaxybot `_ in `#19062 `_ * Annotate ``DatasetAssociationManager`` as generic type by `@nsoranzo `_ in `#19063 `_ * Move TRS import into WorkflowContentManager by `@mvdbeek `_ in `#19070 `_ * Replace poetry with uv by `@nsoranzo `_ in `#19075 `_ * Allow deferred datasets to behave as URIs by `@davelopez `_ in `#19077 `_ * Implement workflow parameter validators. by `@jmchilton `_ in `#19092 `_ * Allow directory_uri workflow parameters. by `@jmchilton `_ in `#19093 `_ * Better cleanup of sharing roles on user purge by `@jdavcs `_ in `#19096 `_ * Support deferred datasets in visualizations by `@davelopez `_ in `#19097 `_ * uv: Do not recalculate dependencies when exporting by `@nsoranzo `_ in `#19099 `_ * Access public history in job cache / job search by `@mvdbeek `_ in `#19108 `_ * Test hash validation also for upload by path by `@nsoranzo `_ in `#19109 `_ * Always validate hashes when provided by `@nsoranzo `_ in `#19110 `_ * Add type annotations to ``JobRunnerMapper`` and related code by `@nsoranzo `_ in `#19115 `_ * Update Python dependencies by `@galaxybot `_ in `#19123 `_ * Allow a posix file source to prefer linking. by `@jmchilton `_ in `#19132 `_ * Remove OpenLayers legacy files and add SVG logo by `@guerler `_ in `#19135 `_ * Update Python dependencies by `@galaxybot `_ in `#19149 `_ * Fix default value handling for parameters connected to required parameters by `@mvdbeek `_ in `#19219 `_ * Workflow Inputs Activity by `@ElectronicBlueberry `_ in `#19252 `_ ============= Other changes ============= * Fix workflow invocation accessibility check by `@mvdbeek `_ in `#18746 `_ * Fix destentation typo by `@mvdbeek `_ in `#19140 `_ ------------------- 24.1.4 (2024-12-11) ------------------- ========= Bug fixes ========= * Replace busybox:ubuntu-14.04 image with busybox:1.36.1-glibc by `@mvdbeek `_ in `#18428 `_ * Update mercurial to non-yanked 6.7.4 by `@nsoranzo `_ in `#18434 `_ * Fix dropped when_expression on step upgrade by `@mvdbeek `_ in `#18446 `_ * Improve workflow-related exception reporting by `@mvdbeek `_ in `#18447 `_ * Fix subwofklow tags serialization type by `@arash77 `_ in `#18456 `_ * by `@laperlej `_ in `#18459 `_ * Add input extra files to `get_input_fnames` by `@mvdbeek `_ in `#18462 `_ * Return generic message for password reset email by `@ahmedhamidawan `_ in `#18479 `_ * Increase API robustness to invalid requests, improve compressed data serving by `@mvdbeek `_ in `#18494 `_ * Don't call job_runner.stop_job on jobs in new state by `@mvdbeek `_ in `#18495 `_ * Prevent job submission if input collection element is deleted by `@mvdbeek `_ in `#18517 `_ * Strip unicode null from tool stdio by `@mvdbeek `_ in `#18527 `_ * Fix map over calculation for runtime inputs by `@mvdbeek `_ in `#18535 `_ * Fix for not-null in 'column_list' object by `@hujambo-dunia `_ in `#18553 `_ * Also fail ``ensure_dataset_on_disk`` if dataset is in new state by `@mvdbeek `_ in `#18559 `_ * Fix sqlalchemy statement in tooltagmanager reset output by `@dannon `_ in `#18591 `_ * Set minimum weasyprint version by `@mvdbeek `_ in `#18606 `_ * Improve relabel identifiers message when number of columns is not 2 by `@mvdbeek `_ in `#18634 `_ * Fix extract workflow from history when implicit collection has no jobs by `@mvdbeek `_ in `#18661 `_ * Make sure we set file size also for purged outputs by `@mvdbeek `_ in `#18681 `_ * File source and object store instance api fixes by `@mvdbeek `_ in `#18685 `_ * Fix change datatype PJA on expression tool data outputs by `@mvdbeek `_ in `#18691 `_ * Fill in missing help for cross product tools. by `@jmchilton `_ in `#18698 `_ * Fix subworkflow scheduling for delayed subworkflow steps connected to data inputs by `@mvdbeek `_ in `#18731 `_ * Catch and display exceptions when importing malformatted yaml workflows by `@mvdbeek `_ in `#18734 `_ * Fix infinitely delayed workflow scheduling if skipped step creates HDCA by `@mvdbeek `_ in `#18751 `_ * Fix directory get or create logic by `@mvdbeek `_ in `#18752 `_ * Fix job summary for optional unset job data inputs by `@mvdbeek `_ in `#18754 `_ * Allow to change only the description of a quota by `@bernt-matthias `_ in `#18775 `_ * Fix wrong extension on pick data output by `@mvdbeek `_ in `#18798 `_ * Fix unspecified ``oidc_endpoint`` variable overwriting specified ``redirect_url`` by `@bgruening `_ in `#18818 `_ * Fix wrong celery_app config on job and workflow handlers by `@mvdbeek `_ in `#18819 `_ * Fix ``named cursor is not valid anymore`` by `@mvdbeek `_ in `#18825 `_ * Tighten TRS url check by `@mvdbeek `_ in `#18841 `_ * Fix Workflow index bookmark filter by `@itisAliRH `_ in `#18842 `_ * Skip metric collection if job working directory doesn't exist by `@mvdbeek `_ in `#18845 `_ * Extend on disk checks to running, queued and error states by `@mvdbeek `_ in `#18846 `_ * Raise MessageException instead of assertions on rerun problems by `@mvdbeek `_ in `#18858 `_ * Fix data_column ref to nested collection by `@mvdbeek `_ in `#18875 `_ * Fix loading very old workflows with data inputs by `@mvdbeek `_ in `#18876 `_ * Access tool data table filters in workflow building mode by `@mvdbeek `_ in `#18900 `_ * Fix username used in invocation report by `@mvdbeek `_ in `#18932 `_ * Disable locking when opening h5 files, add missing ``with`` by `@mvdbeek `_ in `#18976 `_ * Fix job search statement building by `@mvdbeek `_ in `#19010 `_ * Put cached jobs back into queue on handler restart by `@mvdbeek `_ in `#19012 `_ * Fix various invocation export issues by `@mvdbeek `_ in `#19215 `_ * Create harmonized collections from correct tool outputs by `@wm75 `_ in `#19222 `_ ============ Enhancements ============ * Include workflow invocation id in exception logs by `@mvdbeek `_ in `#18594 `_ * Implemented the generic OIDC backend from python-social-auth into Gal… by `@Edmontosaurus `_ in `#18670 `_ * Collect job metrics also when job failed by `@mvdbeek `_ in `#18809 `_ * prevent "missing refresh_token" errors by supporting also with Keycloak backend by `@ljocha `_ in `#18826 `_ ------------------- 24.1.3 (2024-10-25) ------------------- ========= Bug fixes ========= * Replace busybox:ubuntu-14.04 image with busybox:1.36.1-glibc by `@mvdbeek `_ in `#18428 `_ * Update mercurial to non-yanked 6.7.4 by `@nsoranzo `_ in `#18434 `_ * Fix dropped when_expression on step upgrade by `@mvdbeek `_ in `#18446 `_ * Improve workflow-related exception reporting by `@mvdbeek `_ in `#18447 `_ * Fix subwofklow tags serialization type by `@arash77 `_ in `#18456 `_ * by `@laperlej `_ in `#18459 `_ * Add input extra files to `get_input_fnames` by `@mvdbeek `_ in `#18462 `_ * Return generic message for password reset email by `@ahmedhamidawan `_ in `#18479 `_ * Increase API robustness to invalid requests, improve compressed data serving by `@mvdbeek `_ in `#18494 `_ * Prevent job submission if input collection element is deleted by `@mvdbeek `_ in `#18517 `_ * Strip unicode null from tool stdio by `@mvdbeek `_ in `#18527 `_ * Fix map over calculation for runtime inputs by `@mvdbeek `_ in `#18535 `_ * Fix for not-null in 'column_list' object by `@hujambo-dunia `_ in `#18553 `_ * Also fail ``ensure_dataset_on_disk`` if dataset is in new state by `@mvdbeek `_ in `#18559 `_ * Fix sqlalchemy statement in tooltagmanager reset output by `@dannon `_ in `#18591 `_ * Set minimum weasyprint version by `@mvdbeek `_ in `#18606 `_ * Improve relabel identifiers message when number of columns is not 2 by `@mvdbeek `_ in `#18634 `_ * Fix extract workflow from history when implicit collection has no jobs by `@mvdbeek `_ in `#18661 `_ * Make sure we set file size also for purged outputs by `@mvdbeek `_ in `#18681 `_ * File source and object store instance api fixes by `@mvdbeek `_ in `#18685 `_ * Fix change datatype PJA on expression tool data outputs by `@mvdbeek `_ in `#18691 `_ * Fill in missing help for cross product tools. by `@jmchilton `_ in `#18698 `_ * Fix subworkflow scheduling for delayed subworkflow steps connected to data inputs by `@mvdbeek `_ in `#18731 `_ * Catch and display exceptions when importing malformatted yaml workflows by `@mvdbeek `_ in `#18734 `_ * Fix infinitely delayed workflow scheduling if skipped step creates HDCA by `@mvdbeek `_ in `#18751 `_ * Fix directory get or create logic by `@mvdbeek `_ in `#18752 `_ * Fix job summary for optional unset job data inputs by `@mvdbeek `_ in `#18754 `_ * Allow to change only the description of a quota by `@bernt-matthias `_ in `#18775 `_ * Fix wrong extension on pick data output by `@mvdbeek `_ in `#18798 `_ * Fix unspecified ``oidc_endpoint`` variable overwriting specified ``redirect_url`` by `@bgruening `_ in `#18818 `_ * Fix wrong celery_app config on job and workflow handlers by `@mvdbeek `_ in `#18819 `_ * Fix ``named cursor is not valid anymore`` by `@mvdbeek `_ in `#18825 `_ * Tighten TRS url check by `@mvdbeek `_ in `#18841 `_ * Fix Workflow index bookmark filter by `@itisAliRH `_ in `#18842 `_ * Skip metric collection if job working directory doesn't exist by `@mvdbeek `_ in `#18845 `_ * Extend on disk checks to running, queued and error states by `@mvdbeek `_ in `#18846 `_ * Raise MessageException instead of assertions on rerun problems by `@mvdbeek `_ in `#18858 `_ * Fix data_column ref to nested collection by `@mvdbeek `_ in `#18875 `_ * Fix loading very old workflows with data inputs by `@mvdbeek `_ in `#18876 `_ * Access tool data table filters in workflow building mode by `@mvdbeek `_ in `#18900 `_ * Fix username used in invocation report by `@mvdbeek `_ in `#18932 `_ * Disable locking when opening h5 files, add missing ``with`` by `@mvdbeek `_ in `#18976 `_ * Fix job search statement building by `@mvdbeek `_ in `#19010 `_ * Put cached jobs back into queue on handler restart by `@mvdbeek `_ in `#19012 `_ ============ Enhancements ============ * Include workflow invocation id in exception logs by `@mvdbeek `_ in `#18594 `_ * Implemented the generic OIDC backend from python-social-auth into Gal… by `@Edmontosaurus `_ in `#18670 `_ * Collect job metrics also when job failed by `@mvdbeek `_ in `#18809 `_ * prevent "missing refresh_token" errors by supporting also with Keycloak backend by `@ljocha `_ in `#18826 `_ ------------------- 24.1.2 (2024-09-25) ------------------- ========= Bug fixes ========= * Return generic message for password reset email by `@ahmedhamidawan `_ in `#18479 `_ * Increase API robustness to invalid requests, improve compressed data serving by `@mvdbeek `_ in `#18494 `_ * Prevent job submission if input collection element is deleted by `@mvdbeek `_ in `#18517 `_ * Strip unicode null from tool stdio by `@mvdbeek `_ in `#18527 `_ * Fix map over calculation for runtime inputs by `@mvdbeek `_ in `#18535 `_ * Fix for not-null in 'column_list' object by `@hujambo-dunia `_ in `#18553 `_ * Also fail ``ensure_dataset_on_disk`` if dataset is in new state by `@mvdbeek `_ in `#18559 `_ * Fix sqlalchemy statement in tooltagmanager reset output by `@dannon `_ in `#18591 `_ * Set minimum weasyprint version by `@mvdbeek `_ in `#18606 `_ * Improve relabel identifiers message when number of columns is not 2 by `@mvdbeek `_ in `#18634 `_ * Fix extract workflow from history when implicit collection has no jobs by `@mvdbeek `_ in `#18661 `_ * Make sure we set file size also for purged outputs by `@mvdbeek `_ in `#18681 `_ * File source and object store instance api fixes by `@mvdbeek `_ in `#18685 `_ * Fix change datatype PJA on expression tool data outputs by `@mvdbeek `_ in `#18691 `_ * Fill in missing help for cross product tools. by `@jmchilton `_ in `#18698 `_ * Fix subworkflow scheduling for delayed subworkflow steps connected to data inputs by `@mvdbeek `_ in `#18731 `_ * Catch and display exceptions when importing malformatted yaml workflows by `@mvdbeek `_ in `#18734 `_ * Fix infinitely delayed workflow scheduling if skipped step creates HDCA by `@mvdbeek `_ in `#18751 `_ * Fix directory get or create logic by `@mvdbeek `_ in `#18752 `_ * Fix job summary for optional unset job data inputs by `@mvdbeek `_ in `#18754 `_ * Allow to change only the description of a quota by `@bernt-matthias `_ in `#18775 `_ * Fix wrong extension on pick data output by `@mvdbeek `_ in `#18798 `_ * Fix unspecified ``oidc_endpoint`` variable overwriting specified ``redirect_url`` by `@bgruening `_ in `#18818 `_ * Fix wrong celery_app config on job and workflow handlers by `@mvdbeek `_ in `#18819 `_ * Fix ``named cursor is not valid anymore`` by `@mvdbeek `_ in `#18825 `_ * Tighten TRS url check by `@mvdbeek `_ in `#18841 `_ * Fix Workflow index bookmark filter by `@itisAliRH `_ in `#18842 `_ * Skip metric collection if job working directory doesn't exist by `@mvdbeek `_ in `#18845 `_ * Extend on disk checks to running, queued and error states by `@mvdbeek `_ in `#18846 `_ * Raise MessageException instead of assertions on rerun problems by `@mvdbeek `_ in `#18858 `_ * Fix data_column ref to nested collection by `@mvdbeek `_ in `#18875 `_ * Fix loading very old workflows with data inputs by `@mvdbeek `_ in `#18876 `_ ============ Enhancements ============ * Include workflow invocation id in exception logs by `@mvdbeek `_ in `#18594 `_ * Implemented the generic OIDC backend from python-social-auth into Gal… by `@Edmontosaurus `_ in `#18670 `_ * Collect job metrics also when job failed by `@mvdbeek `_ in `#18809 `_ * prevent "missing refresh_token" errors by supporting also with Keycloak backend by `@ljocha `_ in `#18826 `_ ------------------- 24.1.1 (2024-07-02) ------------------- ========= Bug fixes ========= * Unpin social-auth-core dependency by `@nsoranzo `_ in `#17607 `_ * Dynamic tool fixes by `@dcore94 `_ in `#18085 `_ * Fix for unexpected OIDC XML validation error by `@Edmontosaurus `_ in `#18106 `_ * Revert some requests import changes by `@nsoranzo `_ in `#18199 `_ * Small bug fixes for user data plugins by `@jmchilton `_ in `#18246 `_ * Fix handler: access to result row items changed in SA2.0 by `@jdavcs `_ in `#18274 `_ * Fix various packages' issues by `@nsoranzo `_ in `#18301 `_ * Adapt Tool prediction API to Transformer-based deep learning architecture by `@anuprulez `_ in `#18305 `_ * Fix empty usernames in database + bug in username generation by `@jdavcs `_ in `#18379 `_ * Add TypedDict for JobsSummary by `@mvdbeek `_ in `#18418 `_ * Pin pydantic to >=2.7.4 by `@nsoranzo `_ in `#18423 `_ * Update mercurial to non-yanked 6.7.4 by `@nsoranzo `_ in `#18434 `_ * Fix dropped when_expression on step upgrade by `@mvdbeek `_ in `#18446 `_ * Improve workflow-related exception reporting by `@mvdbeek `_ in `#18447 `_ * Fix subwofklow tags serialization type by `@arash77 `_ in `#18456 `_ * Disable password reset for deleted users [GCC2024_COFEST] by `@laperlej `_ in `#18459 `_ * Add input extra files to `get_input_fnames` by `@mvdbeek `_ in `#18462 `_ ============ Enhancements ============ * Only include tool stdout/stderr in HDA info by `@natefoo `_ in `#16730 `_ * Adding object store plugin for Rucio by `@SergeyYakubov `_ in `#17156 `_ * Enable all-vs-all collection analysis patterns. by `@jmchilton `_ in `#17366 `_ * Add onedata objectstore by `@bwalkowi `_ in `#17540 `_ * Type annotation improvements by `@nsoranzo `_ in `#17601 `_ * Type annotation and CWL-related improvements by `@nsoranzo `_ in `#17630 `_ * Update Python dependencies by `@galaxybot `_ in `#17653 `_ * Code cleanups from ruff and pyupgrade by `@nsoranzo `_ in `#17654 `_ * Update Python dependencies by `@galaxybot `_ in `#17764 `_ * SQLAlchemy 2.0 by `@jdavcs `_ in `#17778 `_ * Update Python dependencies by `@galaxybot `_ in `#17819 `_ * Update Python dependencies by `@galaxybot `_ in `#17870 `_ * Add `email` notifications channel by `@davelopez `_ in `#17914 `_ * Model edits and bug fixes by `@jdavcs `_ in `#17922 `_ * Update Python dependencies by `@galaxybot `_ in `#17923 `_ * Model typing and SA2.0 follow-up by `@jdavcs `_ in `#17958 `_ * Error reporting unit tests by `@jmchilton `_ in `#17968 `_ * Make urgent notifications mandatory by `@davelopez `_ in `#17975 `_ * Update Python dependencies by `@galaxybot `_ in `#17982 `_ * Enable ``warn_unused_ignores`` mypy option by `@nsoranzo `_ in `#17991 `_ * Add galaxy to user agent by `@mvdbeek `_ in `#18003 `_ * Add Zenodo integration by `@davelopez `_ in `#18022 `_ * Update Python dependencies by `@galaxybot `_ in `#18035 `_ * Add stronger type annotations in file sources + refactoring by `@davelopez `_ in `#18050 `_ * Add pagination support to Files Source plugins by `@davelopez `_ in `#18059 `_ * Update Python dependencies by `@galaxybot `_ in `#18063 `_ * Enable flake8-implicit-str-concat ruff rules by `@nsoranzo `_ in `#18067 `_ * Ensure history `update_time` is set when exporting by `@davelopez `_ in `#18086 `_ * Overhaul Azure storage infrastructure. by `@jmchilton `_ in `#18087 `_ * Update Python dependencies by `@galaxybot `_ in `#18095 `_ * Update Python dependencies by `@galaxybot `_ in `#18125 `_ * Revises handling of warnings in the workflow run form by `@guerler `_ in `#18126 `_ * Empower users to bring their own storage and file sources by `@jmchilton `_ in `#18127 `_ * Update s3fs dependency. by `@jmchilton `_ in `#18135 `_ * More unit testing for object store stuff. by `@jmchilton `_ in `#18136 `_ * Harden User Object Store and File Source Creation by `@jmchilton `_ in `#18172 `_ * Fix boto3-stubs typecheck dependency by `@nsoranzo `_ in `#18173 `_ * More structured indexing for user data objects. by `@jmchilton `_ in `#18291 `_ * Onedada object store and files source stability fixes by `@bwalkowi `_ in `#18372 `_ * Allow running and editing workflows for specific versions by `@ahmedhamidawan `_ in `#18378 `_ ============= Other changes ============= * Chore: remove repetitive words by `@tianzedavid `_ in `#18076 `_ * Fix #18316 (anonymous file sources) by `@jmchilton `_ in `#18352 `_ * Merge 24.0 into 24.1 by `@jdavcs `_ in `#18353 `_ * Merge 24.0 into 24.1 by `@jdavcs `_ in `#18365 `_ ------------------- 24.0.3 (2024-06-28) ------------------- ========= Bug fixes ========= * Raise exception if collection elements missing during download by `@jdavcs `_ in `#18094 `_ * Allow purge query param, deprecate purge body param by `@mvdbeek `_ in `#18105 `_ * Backport OIDC schema fix by `@mvdbeek `_ in `#18111 `_ * Don't log exception if cancelled slurm job doesn't have stderr file by `@mvdbeek `_ in `#18121 `_ * Downgrade missing output file in working directory to warning for failed jobs by `@mvdbeek `_ in `#18123 `_ * Fix data default values not getting added to history by `@mvdbeek `_ in `#18132 `_ * Drop redundant error message by `@mvdbeek `_ in `#18156 `_ * Emit warning when user-cancelled job already complete by `@mvdbeek `_ in `#18178 `_ * Avoid object store path lookup when constructing JobState object by `@mvdbeek `_ in `#18190 `_ * Add string cast for dbkey / genome_build by `@mvdbeek `_ in `#18207 `_ * Check dataset state when attempting to acces dataset contents by `@mvdbeek `_ in `#18214 `_ * Don't set dataset peek for errored jobs by `@mvdbeek `_ in `#18231 `_ * Raise exception when extracting dataset from collection without datasets by `@mvdbeek `_ in `#18249 `_ * Skip tests if toolshed, dx.doi not responding by `@mvdbeek `_ in `#18250 `_ * Don't attempt to download purged datasets by `@mvdbeek `_ in `#18278 `_ * Check various preconditions in FeatureLocationIndexDataProvider by `@davelopez `_ in `#18283 `_ * Don't serialize display application links for deleted datasets by `@mvdbeek `_ in `#18307 `_ * Downgrade doi fetch error to debug by `@mvdbeek `_ in `#18330 `_ * Fix authentication error for anonymous users querying jobs by `@davelopez `_ in `#18333 `_ * Fix seek in slurm memory check by `@mvdbeek `_ in `#18338 `_ * Do not copy purged outputs to object store by `@mvdbeek `_ in `#18342 `_ * Kill pulsar job if job stopped on galaxy side by `@mvdbeek `_ in `#18348 `_ * Allow DCE as outer input to to_cwl by `@mvdbeek `_ in `#18349 `_ * Fix anonymous user job retrieval logic by `@davelopez `_ in `#18358 `_ * Fix update group API payload model by `@davelopez `_ in `#18374 `_ * Fix user's private role can be missing by `@davelopez `_ in `#18381 `_ * Fix null inputs in database operation tools by `@mvdbeek `_ in `#18385 `_ * Assign default ``data`` extension on discovered collection output by `@mvdbeek `_ in `#18389 `_ * Fix ``get_accessible_job`` if called without session by `@mvdbeek `_ in `#18400 `_ * Fix invocation step_job_summary for new collections by `@mvdbeek `_ in `#18402 `_ * Really allow in-range validator for txt by `@bernt-matthias `_ in `#18411 `_ * Fix collection map over status for dragged collections by `@mvdbeek `_ in `#18416 `_ * Serialize purged flag for datasets in collections by `@davelopez `_ in `#18420 `_ ============= Other changes ============= * Minor linting cleanup by `@mvdbeek `_ in `#18421 `_ * Replace busybox:ubuntu-14.04 image with busybox:1.36.1-glibc by `@mvdbeek `_ in `#18428 `_ ------------------- 24.0.2 (2024-05-07) ------------------- ========= Bug fixes ========= * Adds logging of messageExceptions in the fastapi exception handler. by `@dannon `_ in `#18041 `_ * Improve error message for ``Extract dataset`` tool by `@mvdbeek `_ in `#18078 `_ ------------------- 24.0.1 (2024-05-02) ------------------- ========= Bug fixes ========= * Fix tool version switch in editor by `@mvdbeek `_ in `#17858 `_ * Fix workflow run form failing on certain histories by `@mvdbeek `_ in `#17869 `_ * Always serialize element_count and populated when listing contents by `@mvdbeek `_ in `#17890 `_ * Fix saving workflows with freehand_comments only by `@mvdbeek `_ in `#17901 `_ * Always discard session after __handle_waiting_jobs is done by `@mvdbeek `_ in `#17913 `_ * Fix workflow run form for workflows with null rename PJA by `@mvdbeek `_ in `#17929 `_ * Revert unnecessary error change by `@mvdbeek `_ in `#17948 `_ * Fix missing implicit conversion for mapped over jobs by `@mvdbeek `_ in `#17952 `_ * Fix get_content_as_text for compressed text datatypes by `@mvdbeek `_ in `#17976 `_ * Backport: Fix bug: call unique() on result, not select stmt by `@jdavcs `_ in `#17981 `_ * Fix `LengthValidator` if no value passed by `@mvdbeek `_ in `#17983 `_ * Raise ``RequestParameterInvalidException`` if collection element has unknown extension by `@mvdbeek `_ in `#17985 `_ * Don't attempt to commit in dry_run mode by `@mvdbeek `_ in `#17987 `_ * Don't fail if reporting invalid parameter values by `@mvdbeek `_ in `#18002 `_ * Include exception info when something goes wrong while refreshing tokens by `@mvdbeek `_ in `#18008 `_ * Avoid exception when opening apply rules tool and no collection in history by `@mvdbeek `_ in `#18011 `_ * Don't commit without having set a hid by `@mvdbeek `_ in `#18014 `_ * Raise appropriate exception if user forces a collection that is not populated with elements as input by `@mvdbeek `_ in `#18023 `_ * Fix tag regex pattern by `@jdavcs `_ in `#18025 `_ * Fix History Dataset Association creation so that hid is always set by `@mvdbeek `_ in `#18036 `_ * Change wrong quota_source value from KeyError to ValueError by `@mvdbeek `_ in `#18040 `_ * Check database connection to issue a rollback if no connection by `@jdavcs `_ in `#18070 `_ ============ Enhancements ============ * Fix remote files sources error handling by `@davelopez `_ in `#18027 `_ ============= Other changes ============= * Drop left-over debug statement by `@mvdbeek `_ in `#17939 `_ ------------------- 24.0.0 (2024-04-02) ------------------- ========= Bug fixes ========= * Reload built-in converters on toolbox reload by `@bernt-matthias `_ in `#17209 `_ * Optional Reply-to SMTP header in tool error reports by `@neoformit `_ in `#17243 `_ * Package tests fixes by `@nsoranzo `_ in `#17301 `_ * Follow-up on #17274 and #17262 by `@nsoranzo `_ in `#17302 `_ * Rollback invalidated transaction: catch them earlier by `@jdavcs `_ in `#17312 `_ * Fixes for flake8-bugbear 24.1.17 by `@nsoranzo `_ in `#17340 `_ * Fix data_source and data_source_async bugs by `@wm75 `_ in `#17422 `_ * More efficient change_state queries, maybe fix deadlock by `@mvdbeek `_ in `#17632 `_ * Don't index tasks without task_uuid by `@mvdbeek `_ in `#17646 `_ * Separate `ConnectedValue` from `RuntimeValue` by `@mvdbeek `_ in `#17678 `_ * Fix step type serialization for StoredWorkflowDetailed models by `@mvdbeek `_ in `#17716 `_ * Fix usage of DISTINCT by `@jdavcs `_ in `#17759 `_ * Also set extension and metadata on copies of job outputs when finishing job by `@mvdbeek `_ in `#17777 `_ * Use ``hg clone --stream`` to clone repos by `@mvdbeek `_ in `#17786 `_ * Defer job attributes that are usually not needed by `@mvdbeek `_ in `#17795 `_ * Fix change_datatype PJA for dynamic collections by `@mvdbeek `_ in `#17803 `_ * Fix archived histories mixing with active in histories list by `@davelopez `_ in `#17856 `_ * Normalize extensions when loading tool by `@mvdbeek `_ in `#17868 `_ * Ignore user data table errors for now by `@mvdbeek `_ in `#17880 `_ ============ Enhancements ============ * Add harmonize collections tool (or whatever other name) by `@lldelisle `_ in `#16662 `_ * Add support for Python 3.12 by `@tuncK `_ in `#16796 `_ * SQLAlchemy 2.0 upgrades (part 5) by `@jdavcs `_ in `#16932 `_ * Python 3.8 as minimum by `@mr-c `_ in `#16954 `_ * Support for OIDC API Auth and OIDC integration tests by `@nuwang `_ in `#16977 `_ * Toward declarative help for Galaxy markdown directives. by `@jmchilton `_ in `#16979 `_ * Extend regex groups in stdio regex matches by `@bernt-matthias `_ in `#17016 `_ * Vueify Admin User Grid by `@guerler `_ in `#17030 `_ * Remove web framework dependency from tools by `@davelopez `_ in `#17058 `_ * Add select parameter with options from remote resources by `@mvdbeek `_ in `#17087 `_ * Expose more tool information / navigability in UI. by `@jmchilton `_ in `#17105 `_ * Vueify Admin Roles Grid by `@guerler `_ in `#17118 `_ * SA2.0 updates: handling "object is being merged into a Session along the backref cascade path" by `@jdavcs `_ in `#17122 `_ * Update Python dependencies by `@galaxybot `_ in `#17123 `_ * Vueify Admin Groups Grid by `@guerler `_ in `#17126 `_ * Towards SQLAlchemy 2.0: fix last cases of RemovedIn20Warning by `@jdavcs `_ in `#17132 `_ * Vueify Admin Forms and Quota grids by `@guerler `_ in `#17141 `_ * Update Python dependencies by `@galaxybot `_ in `#17157 `_ * Update Python dependencies by `@galaxybot `_ in `#17201 `_ * Vendorize fastapi-utls.cbv by `@jdavcs `_ in `#17205 `_ * Fix usage of graphene-sqlalchemy, bump to 3.0.0rc1 by `@jdavcs `_ in `#17216 `_ * Vueifiy History Grids by `@guerler `_ in `#17219 `_ * Update Python dependencies by `@galaxybot `_ in `#17230 `_ * Update Python dependencies by `@galaxybot `_ in `#17235 `_ * Allow job files to consume TUS uploads by `@jmchilton `_ in `#17242 `_ * Update Python dependencies by `@galaxybot `_ in `#17247 `_ * Migrate models to pydantic 2 by `@mvdbeek `_ in `#17262 `_ * Consider Null inputs by `@bernt-matthias `_ in `#17271 `_ * Add OIDC backend configuration schema and validation by `@uwwint `_ in `#17274 `_ * Adds delete, purge and undelete batch operations to History Grid by `@guerler `_ in `#17282 `_ * Add ``__KEEP_SUCCESS_DATASETS__`` by `@lldelisle `_ in `#17294 `_ * Improve ModelManager type hints by `@mvdbeek `_ in `#17299 `_ * API endpoint that allows "changing" the objectstore for "safe" scenarios. by `@jmchilton `_ in `#17329 `_ * Update Python dependencies by `@galaxybot `_ in `#17333 `_ * Add element_identifier and ext to inputs config file export by `@bernt-matthias `_ in `#17357 `_ * Remove unused statements in job search function by `@mvdbeek `_ in `#17361 `_ * Enable ``warn_unreachable`` mypy option by `@mvdbeek `_ in `#17365 `_ * Fix type annotation of code using XML etree by `@nsoranzo `_ in `#17367 `_ * More specific type annotation for ``BaseJobExec.parse_status()`` by `@nsoranzo `_ in `#17381 `_ * Cancel all active jobs when the user is deleted by `@davelopez `_ in `#17390 `_ * Update to black 2024 stable style by `@nsoranzo `_ in `#17391 `_ * Purge `groups` and `roles` from DB (for real) by `@davelopez `_ in `#17411 `_ * Update Python dependencies by `@galaxybot `_ in `#17420 `_ * Allow using tool data bundles as inputs to reference data select parameters by `@mvdbeek `_ in `#17435 `_ * Adds published histories to grid list by `@guerler `_ in `#17449 `_ * Allow filtering history datasets by object store ID and quota source. by `@jmchilton `_ in `#17460 `_ * `data_column` parameter: use `column_names` metadata if present by `@bernt-matthias `_ in `#17478 `_ * Update Python dependencies by `@galaxybot `_ in `#17486 `_ * Consolidate resource grids into tab views by `@guerler `_ in `#17487 `_ * Update k8s docker python to 3.12 by `@nuwang `_ in `#17494 `_ * add encode ID API endpoint by `@mira-miracoli `_ in `#17510 `_ * Fixing data_source tools and incrementing tool profile by `@wm75 `_ in `#17515 `_ * Update Python dependencies by `@galaxybot `_ in `#17541 `_ * Add `image_diff` comparison method for test output verification using images by `@kostrykin `_ in `#17556 `_ * Filter out subworkflow invocations by `@mvdbeek `_ in `#17558 `_ * Update Python dependencies by `@galaxybot `_ in `#17580 `_ * Restore histories API behavior for `keys` query parameter by `@davelopez `_ in `#17779 `_ * Fix datasets API custom keys encoding by `@davelopez `_ in `#17793 `_ * Improved error messages for runtime sharing problems. by `@jmchilton `_ in `#17794 `_ * Allow admin to sharpen language about selected object stores. by `@jmchilton `_ in `#17806 `_ ============= Other changes ============= * consistently compare profile versions by `@bernt-matthias `_ in `#16492 `_ ------------------- 23.2.1 (2024-02-21) ------------------- ========= Bug fixes ========= * pin fs.dropboxfs to >=1 by `@bernt-matthias `_ in `#16451 `_ * Remove unnecessary check: item cannot be None by `@jdavcs `_ in `#16550 `_ * Fix: serialize `tool_shed_urls` directly from the API by `@davelopez `_ in `#16561 `_ * Fix dependency update GitHub workflow by `@nsoranzo `_ in `#16639 `_ * Ensure Job belongs to current SA session by `@jdavcs `_ in `#16647 `_ * Account for shared usage between TS and galaxy apps by `@jdavcs `_ in `#16746 `_ * move the email and username redacting from the role loop by `@martenson `_ in `#16805 `_ * Fix shed unit test by `@mvdbeek `_ in `#16811 `_ * chore: fix typos by `@afuetterer `_ in `#16851 `_ * Fix bug in SQLAlchemy statement by `@jdavcs `_ in `#16881 `_ * Ruff and flake8 fixes by `@nsoranzo `_ in `#16884 `_ * Update help in relabel_from_file.xml by `@lldelisle `_ in `#16891 `_ * Fix subtle bug in listify function + simplify list munging by `@jdavcs `_ in `#16904 `_ * prep for updated h5py and typos by `@mr-c `_ in `#16963 `_ * Enhancement to Tool Form page, Repeating form fields implement parameter instructions by `@hujambo-dunia `_ in `#17018 `_ * Expose file_name property in DatasetFilenameWrapper by `@jdavcs `_ in `#17107 `_ * Fix ``to_cwl`` for nested collections by `@mvdbeek `_ in `#17276 `_ * Rollback invalidated transaction by `@jdavcs `_ in `#17280 `_ * Install newer celery on python 3.8+ by `@mvdbeek `_ in `#17309 `_ * Backport Rollback invalidated transaction: catch them earlier by `@mvdbeek `_ in `#17315 `_ * Discard sqlalchemy session after task completion by `@mvdbeek `_ in `#17317 `_ * Scope session for job runner monitor loop by `@mvdbeek `_ in `#17319 `_ * Fix History contents `genome_build` filter postgresql bug by `@ahmedhamidawan `_ in `#17384 `_ * Update python-multipart to 0.0.7 by `@nsoranzo `_ in `#17429 `_ * Build param dict before creating entrypoint by `@mvdbeek `_ in `#17440 `_ * Fix bug: true >> True by `@jdavcs `_ in `#17446 `_ * Set metadata states on dataset association, not dataset by `@mvdbeek `_ in `#17474 `_ * Remove two print statements by `@bernt-matthias `_ in `#17480 `_ * Provide working routes.url_for every ASGI request by `@mvdbeek `_ in `#17497 `_ ============ Enhancements ============ * Implement default locations for data and collection parameters. by `@jmchilton `_ in `#14955 `_ * Enable job resubmissions in k8s runner by `@pcm32 `_ in `#15238 `_ * Add parameter name to validation errors by `@bernt-matthias `_ in `#15440 `_ * Tool Shed 2.0 by `@jmchilton `_ in `#15639 `_ * Add ability to assert metadata properties on input dataset parameters by `@bernt-matthias `_ in `#15825 `_ * Limit number of celery task executions per second per user by `@claudiofr `_ in `#16232 `_ * Delete non-terminal jobs and subworkflow invocations when cancelling invocation by `@mvdbeek `_ in `#16252 `_ * Towards SQLAlchemy 2.0 (upgrades to SA Core usage) by `@jdavcs `_ in `#16264 `_ * Update Python dependencies by `@galaxybot `_ in `#16305 `_ * Add carbon emissions admin configuration options by `@Renni771 `_ in `#16307 `_ * Migrate a part of the users API to Fast API by `@heisner-tillman `_ in `#16341 `_ * Update Python dependencies by `@galaxybot `_ in `#16360 `_ * Add Invenio RDM repository integration by `@davelopez `_ in `#16381 `_ * Update Python dependencies by `@galaxybot `_ in `#16389 `_ * Update Python dependencies by `@galaxybot `_ in `#16409 `_ * Refactor FilesDialog + Remote Files API schema improvements by `@davelopez `_ in `#16420 `_ * Towards SQLAlchemy 2.0 (upgrades to SA ORM usage in /test) by `@jdavcs `_ in `#16431 `_ * SQLAlchemy 2.0 upgrades to ORM usage in /lib by `@jdavcs `_ in `#16434 `_ * Update Python dependencies by `@galaxybot `_ in `#16436 `_ * Update Python dependencies by `@galaxybot `_ in `#16485 `_ * Rename MetadataEqualsValidator by `@bernt-matthias `_ in `#16489 `_ * Add support for CILogon deployments in different regions than the US by `@uwwint `_ in `#16490 `_ * Refactor/OIDC custos by `@uwwint `_ in `#16497 `_ * Update Python dependencies by `@galaxybot `_ in `#16521 `_ * Move database access code out of ``galaxy.util`` by `@jdavcs `_ in `#16526 `_ * Tweak tool memory use and optimize shared memory when using preload by `@mvdbeek `_ in `#16536 `_ * Update Python dependencies by `@galaxybot `_ in `#16577 `_ * Vueify Tool Form Data Selector by `@guerler `_ in `#16578 `_ * Workflow Comments 💬 by `@ElectronicBlueberry `_ in `#16612 `_ * Switch out conditional requirement parser by `@mvdbeek `_ in `#16636 `_ * Add scroll pagination and username filter to `HistoryPublishedList` by `@ahmedhamidawan `_ in `#16642 `_ * Bump samtools converters by `@bernt-matthias `_ in `#16668 `_ * Galaxy Markdown - add workflow image and license to Galaxy markdown. by `@jmchilton `_ in `#16672 `_ * Implement instance URLs in Galaxy markdown. by `@jmchilton `_ in `#16675 `_ * Change Sentry error reporting plug-in by `@kysrpex `_ in `#16686 `_ * Use fs.onedatarestfs for Onedata files source plugin implementation by `@lopiola `_ in `#16690 `_ * Enhance task monitor composable by `@davelopez `_ in `#16695 `_ * Misc. edits/refactorings to session handling by `@jdavcs `_ in `#16712 `_ * SQLAlchemy 2.0 upgrades (part 2) by `@jdavcs `_ in `#16724 `_ * Update Python dependencies by `@galaxybot `_ in `#16735 `_ * Convert ISO to UTC for Date/Time in workflow reports by `@assuntad23 `_ in `#16758 `_ * Replace ELIXIR AAI button with Life Science login by `@sebastian-schaaf `_ in `#16762 `_ * Update Python dependencies by `@galaxybot `_ in `#16770 `_ * Migrate a part of the jobs API to Fast API by `@heisner-tillman `_ in `#16778 `_ * Add EGI Check-in as OIDC authentication option by `@enolfc `_ in `#16782 `_ * Replace file_name property with get_file_name function by `@SergeyYakubov `_ in `#16783 `_ * Updated path-based interactive tools with entry point path injection, support for ITs with relative links, shortened URLs, doc and config updates including Podman job_conf by `@sveinugu `_ in `#16795 `_ * Galaxy help forum integration by `@ElectronicBlueberry `_ in `#16798 `_ * Update Python dependencies by `@galaxybot `_ in `#16807 `_ * Another batch of SA2.0 edits in TS2.0 (part 3) by `@jdavcs `_ in `#16833 `_ * Remove remaining legacy backbone form input elements by `@guerler `_ in `#16834 `_ * SQLAlchemy 2.0 upgrades (part 4) by `@jdavcs `_ in `#16852 `_ * Update Python dependencies by `@galaxybot `_ in `#16853 `_ * Drop unused HistoryContentManager code and related tests by `@jdavcs `_ in `#16882 `_ * Vueify Visualizations Grid by `@guerler `_ in `#16892 `_ * Update Python dependencies by `@galaxybot `_ in `#16896 `_ * Enable some flake8-logging-format rules in ruff by `@nsoranzo `_ in `#16915 `_ * Remove "Create Workflow" form and allow workflow creation in editor by `@ahmedhamidawan `_ in `#16938 `_ * Update Python dependencies by `@galaxybot `_ in `#16939 `_ * Add helper to get dataset or collection via ``src`` and ``id`` by `@mr-c `_ in `#16953 `_ * Allow non-optional integer/float params without value attribute by `@nsoranzo `_ in `#16966 `_ * Update Python dependencies by `@galaxybot `_ in `#16978 `_ * Fix invocation report to target correct workflow version. by `@jmchilton `_ in `#17008 `_ * Update Python dependencies by `@galaxybot `_ in `#17011 `_ * Upgrade job manager's index_query method to SA2.0 by `@jdavcs `_ in `#17020 `_ * optimize object store cache operations by `@SergeyYakubov `_ in `#17025 `_ * Require name for workflows on save, set default to Unnamed Workflow by `@ahmedhamidawan `_ in `#17038 `_ * Update Python dependencies by `@galaxybot `_ in `#17050 `_ * Migrate groups API to fastAPI by `@arash77 `_ in `#17051 `_ * Migrate ItemTags API to FastAPI by `@arash77 `_ in `#17064 `_ * Update Python dependencies by `@galaxybot `_ in `#17084 `_ * Use python-isal for fast zip deflate compression in rocrate export by `@mvdbeek `_ in `#17342 `_ ============= Other changes ============= * Merge 23.1 into dev by `@mvdbeek `_ in `#16534 `_ * Revert "[23.1] Enable job resubmissions in k8s runner" by `@nuwang `_ in `#17323 `_ * Fix succces typo by `@mvdbeek `_ in `#17481 `_ ------------------- 23.1.4 (2024-01-04) ------------------- ========= Bug fixes ========= * Fix workflow index total matches counting by `@davelopez `_ in `#17176 `_ * Fix `url_for` in tool error reports by `@davelopez `_ in `#17210 `_ ------------------- 23.1.3 (2023-12-01) ------------------- No recorded changes since last release ------------------- 23.1.2 (2023-11-29) ------------------- ========= Bug fixes ========= * Fix unbound ``runner`` variable when there is an error in the job config by `@mvdbeek `_ in `#16906 `_ * Fix discarded dataset ordering in Storage Dashboard by `@davelopez `_ in `#16929 `_ * Include owner's annotation when exporting workflow by `@dannon `_ in `#16930 `_ * Skip state filtering in ``__MERGE_COLLECTION__`` tool by `@mvdbeek `_ in `#16937 `_ * Prevent Singular external auth users from disconnecting identity by `@ahmedhamidawan `_ in `#16961 `_ * Prevent workflow submission with missing input values by `@mvdbeek `_ in `#17048 `_ * Fix extra files collection if using ``store_by="id"`` and `outputs_to_working_directory` by `@mvdbeek `_ in `#17067 `_ * Remove rollback from ``__check_jobs_at_startup`` by `@mvdbeek `_ in `#17085 `_ ============ Enhancements ============ * Improve invocation error reporting by `@mvdbeek `_ in `#16917 `_ ------------------- 23.1.1 (2023-10-23) ------------------- ========= Bug fixes ========= * read job_conf directly from `config_dir` instead of computing it again from `config_file` by `@bernt-matthias `_ in `#15596 `_ * Fix some drs handling issues by `@nuwang `_ in `#15777 `_ * Fix filesource file url support by `@nuwang `_ in `#15794 `_ * Fix revision scripts, run migrations in CI, add repair option, improve migrations utils by `@jdavcs `_ in `#15811 `_ * Change confusing pulsar logs message by `@kysrpex `_ in `#16038 `_ * Fix and test startup with Python 3.11 on macOS by `@nsoranzo `_ in `#16082 `_ * Fix : Ignore error messages for admin created accounts by `@jvanbraekel `_ in `#16132 `_ * Ensure session is request-scoped for legacy endpoints by `@jdavcs `_ in `#16207 `_ * Fix "database is locked" error (occurring in the context of workflow testing under SQLite) by `@jdavcs `_ in `#16208 `_ * Fix ordering of data libraries from API by `@martenson `_ in `#16300 `_ * qualify querying for an api-key by `@martenson `_ in `#16320 `_ * Fix tags ownership by `@davelopez `_ in `#16339 `_ * Job cache fixes for DCEs by `@mvdbeek `_ in `#16384 `_ * Fix histories count by `@davelopez `_ in `#16400 `_ * Fix select statement syntax for SQLAlchemy 2.0 by `@jdavcs `_ in `#16421 `_ * Fix up unit tests for local use by `@mvdbeek `_ in `#16483 `_ * Run through tmp_dir_creation_statement only once by `@mvdbeek `_ in `#16529 `_ * Fix double-encoding notification content by `@mvdbeek `_ in `#16530 `_ * Limit tool document cache to tool configs with explicit cache path by `@mvdbeek `_ in `#16537 `_ * Fix `multiple` remote test data by `@davelopez `_ in `#16542 `_ * Ignore errors with user-set job resources by `@mvdbeek `_ in `#16579 `_ * Fix replacement parameters for subworkflows. by `@jmchilton `_ in `#16592 `_ * make sure that TMP, TEMP, and TMPDIR are set by `@bernt-matthias `_ in `#16594 `_ * Bump minimum tpv version to 2.3.2 by `@mvdbeek `_ in `#16597 `_ * Backport tool mem fixes by `@mvdbeek `_ in `#16601 `_ * Reload toolbox after forking when using `--preload` by `@mvdbeek `_ in `#16620 `_ * Account for expires/expires_in when refreshing token by `@mvdbeek `_ in `#16621 `_ * Fixes for conditional subworkflow steps by `@mvdbeek `_ in `#16632 `_ * Fix nested conditional workflow steps by `@mvdbeek `_ in `#16641 `_ * Ensure Job belongs to current SA session by `@mvdbeek `_ in `#16655 `_ * Fix expression evaluation for nested state by `@mvdbeek `_ in `#16656 `_ * Make sort_collection tool require terminal datasets by `@mvdbeek `_ in `#16661 `_ * Push to object store even if ``set_meta`` fails by `@mvdbeek `_ in `#16667 `_ * Fix metadata setting in extended metadata + outputs_to_working_directory mode by `@mvdbeek `_ in `#16678 `_ * Fix regex validation for global inline flags by `@mvdbeek `_ in `#16683 `_ * Fix closed transaction error on galaxy startup/check jobs by `@jdavcs `_ in `#16687 `_ * Add missing join condition in job search by `@mvdbeek `_ in `#16710 `_ * Fix job search query by `@mvdbeek `_ in `#16714 `_ * Copy the collection contents by default when copying a collection by `@mvdbeek `_ in `#16717 `_ * Fix collection id encoding by `@davelopez `_ in `#16718 `_ * Workaround for XML nodes of job resource parameters losing their children by `@kysrpex `_ in `#16728 `_ * move the email and username redacting from the role loop by `@martenson `_ in `#16820 `_ * Fix parameter display in job info page for tools with sections by `@mvdbeek `_ in `#16821 `_ * Fix workflow preview display if tool state does not contain all parameter values by `@mvdbeek `_ in `#16829 `_ * Fix up local tool version handling by `@mvdbeek `_ in `#16836 `_ * Fix and prevent persisting null file_size by `@mvdbeek `_ in `#16855 `_ * Allow referring to steps by label only in markdown editor by `@mvdbeek `_ in `#16861 `_ * Fix safe update version handling in run form by `@mvdbeek `_ in `#16865 `_ * Remove more flushes in database operation tools by `@mvdbeek `_ in `#16875 `_ * Fix tag ownership check by `@mvdbeek `_ in `#16877 `_ ============ Enhancements ============ * Empower Users to Select Storage Destination by `@jmchilton `_ in `#14073 `_ * External Login Flow: Redirect users if account already exists by `@ahmedhamidawan `_ in `#15019 `_ * Add slack error reporting plugin by `@hexylena `_ in `#15025 `_ * Various Tool Shed Cleanup by `@jmchilton `_ in `#15247 `_ * Add Storage Management API by `@davelopez `_ in `#15295 `_ * OIDC tokens by `@SergeyYakubov `_ in `#15300 `_ * Expose additional beaker caching backends by `@claudiofr `_ in `#15349 `_ * Add support for visualizing HDF5 datasets. by `@jarrah42 `_ in `#15394 `_ * Towards SQLAlchemy 2.0: drop session autocommit setting by `@jdavcs `_ in `#15421 `_ * Update Python dependencies by `@galaxybot `_ in `#15435 `_ * Fix for new style conda packages by `@bernt-matthias `_ in `#15446 `_ * Move database access code out of tool_util by `@jdavcs `_ in `#15467 `_ * Protection against problematic boolean parameters. by `@jmchilton `_ in `#15493 `_ * Use connection instead of session for ItemGrabber by `@jdavcs `_ in `#15496 `_ * Unify url handling with filesources by `@nuwang `_ in `#15497 `_ * Move TS to Alembic by `@jdavcs `_ in `#15509 `_ * Explore tool remote test data by `@davelopez `_ in `#15510 `_ * Handle "email_from" config option consistently, as per schema description by `@jdavcs `_ in `#15557 `_ * Update Python dependencies by `@galaxybot `_ in `#15564 `_ * Drop workflow exports to myexperiment.org by `@dannon `_ in `#15576 `_ * Update database_heartbeat for SA 2.0 compatibility by `@jdavcs `_ in `#15611 `_ * Add suggested Training material to Tool Form by `@ElectronicBlueberry `_ in `#15628 `_ * Wrap check_jobs_at_startup operation in a transaction (SA 2.0 compatibility) by `@jdavcs `_ in `#15643 `_ * Add Galaxy Notification System by `@davelopez `_ in `#15663 `_ * Unpin Beaker requirement by `@nsoranzo `_ in `#15665 `_ * Add transactional state to JobHandlerStopQueue by `@jdavcs `_ in `#15671 `_ * Verify that activation and reset emails are properly generated by `@guerler `_ in `#15681 `_ * Add transactional state to workflow scheduling manager by `@jdavcs `_ in `#15683 `_ * Remove DELETED_NEW job state from code base by `@jdavcs `_ in `#15690 `_ * Fix/Enhance recalculate disk usage API endpoint by `@davelopez `_ in `#15739 `_ * Add API test and refactor code for related:hid history filter by `@ahmedhamidawan `_ in `#15786 `_ * Migrate to MyST-Parser for Markdown docs by `@nsoranzo `_ in `#15844 `_ * Drop use_legacy_history from config by `@dannon `_ in `#15861 `_ * Drop database views by `@jdavcs `_ in `#15876 `_ * Update Python dependencies by `@galaxybot `_ in `#15890 `_ * Allow pending inputs in some collection operation tools by `@mvdbeek `_ in `#15892 `_ * Updated doc and tests for attribute value filter by `@tuncK `_ in `#15929 `_ * Update Python dependencies by `@galaxybot `_ in `#15942 `_ * Record input datasets and collections at full parameter path by `@mvdbeek `_ in `#15978 `_ * Export tool citations configurable message by `@minh-biocommons `_ in `#15998 `_ * Add History Archival feature by `@davelopez `_ in `#16003 `_ * Code cleanups from ruff and pyupgrade by `@nsoranzo `_ in `#16035 `_ * Add missing fields to HistorySummary schema model by `@davelopez `_ in `#16041 `_ * Vendorise ``packaging.versions.LegacyVersion`` by `@nsoranzo `_ in `#16058 `_ * Add Repository owner field to ToolSearch by `@ahmedhamidawan `_ in `#16061 `_ * Add count support for listing filters by `@davelopez `_ in `#16075 `_ * Update Python dependencies by `@galaxybot `_ in `#16086 `_ * Improved Cache Monitoring for Object Stores by `@jmchilton `_ in `#16110 `_ * Integrate accessibility testing into Selenium testing by `@jmchilton `_ in `#16122 `_ * Update Python dependencies by `@galaxybot `_ in `#16123 `_ * Improve histories and datasets immutability checks by `@davelopez `_ in `#16143 `_ * Update Python dependencies by `@galaxybot `_ in `#16153 `_ * Migrate display applications API to Fast API by `@heisner-tillman `_ in `#16156 `_ * adjust grid sharing indicators by `@martenson `_ in `#16163 `_ * Update Python dependencies by `@galaxybot `_ in `#16182 `_ * Drop workarounds for old ro-crate-py and docutils versions by `@mvdbeek `_ in `#16198 `_ * Remove various fallback behaviors by `@mvdbeek `_ in `#16199 `_ * bring grids for (published) pages on par with workflows by `@martenson `_ in `#16209 `_ * Update Python dependencies by `@galaxybot `_ in `#16227 `_ * Update Python dependencies by `@galaxybot `_ in `#16267 `_ * Fix tool remote test data by `@davelopez `_ in `#16311 `_ * Hide conditionally skipped output by `@mvdbeek `_ in `#16356 `_ * Fix Storage Dashboard missing archived histories by `@davelopez `_ in `#16473 `_ * Bump bx-python to 0.10.0 by `@mvdbeek `_ in `#16484 `_ * Drop expunge_all() call in WebTransactionRequest by `@mvdbeek `_ in `#16606 `_ ============= Other changes ============= * Follow up on object store selection PR. by `@jmchilton `_ in `#15654 `_ * merge release_23.0 into dev by `@martenson `_ in `#15830 `_ * Move axe-selenium-python to dev dependencies by `@nsoranzo `_ in `#16162 `_ * Bump msal version by `@mvdbeek `_ in `#16285 `_ * Fix error_reports linting by `@mvdbeek `_ in `#16465 `_ ------------------- 23.0.6 (2023-10-23) ------------------- ========= Bug fixes ========= * Fix upload paramfile handling (for real user setups) by `@bernt-matthias `_ in `#16504 `_ * Fix extra files path handling by `@mvdbeek `_ in `#16541 `_ * Make sure job_wrapper uses a consistent metadata strategy by `@mvdbeek `_ in `#16569 `_ * Fix conditional step evaluation with datasets in repeats by `@mvdbeek `_ in `#16584 `_ * Don't read request body into memory by `@mvdbeek `_ in `#16585 `_ * Fixes for extra files handling and cached object stores by `@mvdbeek `_ in `#16595 `_ * Lazy load tool data tables in celery worker by `@mvdbeek `_ in `#16640 `_ * Force `__DUPLICATE_FILE_TO_COLLECTION__` 'size' param to integer by `@simonbray `_ in `#16659 `_ ============ Enhancements ============ * Update pulsar client library to 0.15.5 by `@mvdbeek `_ in `#16701 `_ ------------------- 23.0.5 (2023-07-29) ------------------- ========= Bug fixes ========= * Skip installing npm/yarn if available, fix conditional dependency parsing, create virtualenv via conda when conda active by `@bernt-matthias `_ in `#16403 `_ * Fix test discovery in vscode by `@mvdbeek `_ in `#16413 `_ * Fixes for (gitlab) error reporting by `@bernt-matthias `_ in `#16424 `_ ------------------- 23.0.4 (2023-06-30) ------------------- ========= Bug fixes ========= * Fix default when statement evaluation by `@mvdbeek `_ in `#16332 `_ * Redact private role name and description when purging user by `@mvdbeek `_ in `#16349 `_ ------------------- 23.0.3 (2023-06-26) ------------------- ========= Bug fixes ========= * Bump galaxy-release-util version to 0.1.2 by `@mvdbeek `_ in `#16241 `_ ============ Enhancements ============ * When importing tool data bundles, use the first loc file for the matching table by `@natefoo `_ in `#16247 `_ ============= Other changes ============= * Forward port of slugify username received from oidc by `@nuwang `_ in `#16271 `_ ------------------- 23.0.2 (2023-06-13) ------------------- ========= Bug fixes ========= * Fix ``Text File Busy`` errors at the source by `@mvdbeek `_ in `#16212 `_ ============ Enhancements ============ * Point release deps fixes and docs by `@mvdbeek `_ in `#16214 `_ * Use galaxy-release-util to upload python packages by `@mvdbeek `_ in `#16240 `_ ------------------- 23.0.1 (2023-06-08) ------------------- ========= Bug fixes ========= * Display DCE in job parameter component, allow rerunning with DCE input by `@mvdbeek `_ in `#15744 `_ * Fix mixed outputs_to_working_directory pulsar destinations by `@mvdbeek `_ in `#15927 `_ * Update Gravity to 1.0.3 by `@natefoo `_ in `#15939 `_ * Various fixes to path prefix handling by `@mvdbeek `_ in `#16033 `_ * Fix case sensitive filtering by name in histories by `@davelopez `_ in `#16036 `_ * Fix gcsfs test discovery by `@mvdbeek `_ in `#16039 `_ * Replace httpbin service with pytest-httpserver by `@mvdbeek `_ in `#16042 `_ * Update pulsar to 0.15.2 by `@mvdbeek `_ in `#16050 `_ * Anonymous User tool link bug fix by `@ahmedhamidawan `_ in `#16065 `_ * Fix BCO export by updating gxformat2 by `@mvdbeek `_ in `#16081 `_ * Fix job failure handling when condor indicates job failure by `@mvdbeek `_ in `#16096 `_ * Fix dataype_change not updating HDCA update_time by `@mvdbeek `_ in `#16099 `_ * Extract HDA for code_file validate_input hook by `@mvdbeek `_ in `#16120 `_ * Fix sort error when re-running job with DCE collection input by `@mvdbeek `_ in `#16126 `_ * Fix related-hid in bulk contents API by `@mvdbeek `_ in `#16128 `_ * Fix rank calculation for jobs waiting to be run by anonymous users by `@jdavcs `_ in `#16137 `_ * Tool warnings can either be None or a Dictionary but not a String by `@guerler `_ in `#16183 `_ * Pin minimum tpv version by `@mvdbeek `_ in `#16201 `_ ============= Other changes ============= * Startup fix when tool removed between reboot by `@mvdbeek `_ in `#16175 `_ ------------------- 20.9.0 (2020-10-15) ------------------- * First release from the 20.09 branch of Galaxy. ------------------- 20.5.0 (2020-07-04) ------------------- * First release from the 20.05 branch of Galaxy.