github galaxyproject/galaxy v26.1.0

pre-release4 hours ago

What's Changed

🎉 Major Changes

🚀 New Features

🔧 Enhancements

🐛 Bug Fixes

  • Escape $ in galaxy.xsd to fix output filter docs rendering by @gdefazio in #21731
  • Fix delete dataset storage overview by @davelopez in #21746
  • Migrate OrganizationViewer and PersonViewer from BTable to GTable by @itisAliRH in #21761
  • Fix transient failure in test_delete_dataset_from_storage_view by @jmchilton in #21793
  • Make database heartbeat more robust by @mvdbeek in #21734
  • Pin setuptools<82 for galaxy-files package by @jmchilton in #21824
  • Stop uv from using the system Python to create the venv by @uwwint in #21807
  • Fix Selenium select_by_value: wait for element before find by @jmchilton in #21874
  • Disallow gunicorn 25.1.0 by @nsoranzo in #21905
  • Use focus/blur to prevent prop updates from changing FormText values while typing by @ahmedhamidawan in #21300
  • Fix dbkey filter returning no options when dbkey unset by @jmchilton in #21916
  • Restore visual hierarchy for ReStructuredText headers in tool form's help section by @hujambo-dunia in #21780
  • Fix workflow implicit mapping of flat collections over paired_or_unpaired by @jmchilton in #21933
  • Fix test that transiently fails if GitHub rejects a request by @jmchilton in #22005
  • Fix broken log format string in validate_non_local by @jmchilton in #22004
  • Fix ToolExpressionOutput.to_model() for boolean type by @jmchilton in #22007
  • Remove unused enable_beta_workflow_modules config option by @jmchilton in #22050
  • Bug fix and refactor of ChatGXY chat history component by @jmchilton in #22010
  • Fix merge, tool shed metadata revision page uses new invalid_tools structure by @mvdbeek in #22072
  • Disable undo/redo buttons in workflow editor when unavailable by @dannon in #22092
  • Update pre-commit black pin from 24.1.1 to 26.1.0 by @dannon in #22111
  • Fix anonymous_user_concurrent_jobs to not allow jobs when 0 by @ccoulombe in #22110
  • Fix transient CI failures by @mvdbeek in #22102
  • Fix transient failure in test_workflow_with_deleted_dataset_step_parameter by @jmchilton in #22138
  • Prevent card images from overflowing container by @dannon in #22148
  • Skip X-Frame-Options header for published embed views by @dannon in #22107
  • Convert math.inf to None in JSON-serialized tool dicts by @dannon in #22152
  • Fix tag duplication when copying datasets/collections between histories by @dannon in #22109
  • Install playwright browsers for unit tests by @nsoranzo in #22161
  • Prevent tag placeholder text wrapping in narrow columns by @dannon in #22176
  • Fix more paired_or_unpaired collection issues by @jmchilton in #22170
  • Use correct binary unit prefixes (KiB/MiB/GiB) by @dannon in #22153
  • Refactor Agent Registry Wiring and Fix Config Options by @jmchilton in #22011
  • Try to create Rucio temp directory before writing rucio.cfg by @evilkermit in #22112
  • Fix silently ignored in oidc_backends_config.xml so kc_idp_hint reaches Keycloak by @gkr0110 in #21992
  • Fix GTabs vertical layout and spacing by @dannon in #21972
  • Fix mapOver terminology typo and minor polish by @martenson in #22226
  • Set proxy_ssl_server_name for GTN proxy on CloudFlare due to SNI by @martenson in #22249
  • Improve history multiview UX with load more option by @dannon in #21687
  • Remove dual load of cutWrapper.xml by @natefoo in #22266
  • Fix flaky Selenium tests test_refresh_preserves_state and test_tool_discovery_landing by @mvdbeek in #22301
  • Fix S3 multipart upload to start all threads before waiting by @martenson in #22356
  • Fix RST syntax and other small bugs in help Markdown term YAML by @jmchilton in #22374
  • Add request_checksum_calculation support for s3fs by @lldelisle in #21993
  • Fix mypy and packaging issues; pin rocrate<0.15.0 by @nsoranzo in #22469
  • Fix Hashicorp Vault 2.0 non-canonical path rejection by @mvdbeek in #22530
  • Fix tool id handling for shed-installed tools by @guerler in #22553
  • Revert galaxy.yml.sample changes by @nsoranzo in #22569
  • Skip missing history item ids in job exports by @guerler in #22563
  • Mount fastmcp at subapp root by @mvdbeek in #22618
  • Fix long title squashing in g-card by @mvdbeek in #22621
  • Bump default max_tokens for AI agents by @dannon in #22630
  • Restore WebDAV template v0; add v1 for url -> base_url rename by @mvdbeek in #22570
  • Update test workflows to respect gxformat2 0.26.0 syntax by @nsoranzo in #22642
  • Update test workflows to respect gxformat2 0.26.0 syntax (part 2) by @nsoranzo in #22645
  • Fix MCP get_dataset_details crash on display-apps serialization by @mvdbeek in #22635
  • Fix SQL compatibility in kombu message pruning by @davelopez in #22655
  • Honor group-derived roles in unprivileged tool access check by @mvdbeek in #22623
  • Drop unintended claude settings and extend gitignore by @mvdbeek in #22699
  • Defer dynamic destination evaluation across resubmits by @nuwang in #22670
  • Share route_name_index with mounted MCP sub-app by @mvdbeek in #22622
  • Harden access control for user-defined tools by @mvdbeek in #22704
  • Fix workflow extraction not including user-defined tool steps by @ahmedhamidawan in #22694
  • Use now() wrapper instead of datetime.now() by @bgruening in #22579
  • Drop dead history_id kwarg from QueueJobs construction by @jmchilton in #22726
  • Patch bar_chart tool for the Python 3 Gnuplot module by @gsaudade99 in #22597
  • Fix galaxy_task DI injection on Python 3.14 by @mvdbeek in #22727
  • Don't install data table entries for non-DM tool installs by @natefoo in #22679
  • Avoid missing field value failure in data tables by @guerler in #21008
  • Minor styling fixes for invocation view header and history list cards by @ahmedhamidawan in #22639
  • Fix shed install column mismatch from synthesized name alias by @mvdbeek in #22733
  • [26.1 (spiritually)] Fix UDT collection outputs being silently dropped in YAML tool parser by @jmchilton in #22761
  • [26.1] Reconnect SSE live updates on wake, network restore, and click by @mvdbeek in #22767
  • [26.1] Drop full path from client_build_hash.txt exclusion by @dannon in #22772
  • [26.1] Framework test for UDTs in Format 2 Workflows by @jmchilton in #22756
  • [26.1] Add fallback at read location in dynamic options by @guerler in #22779
  • [26.1] Fix admin panel style by @guerler in #22776
  • [26.1] Prevent vertical scrolling in invocation graph by @guerler in #22769
  • [26.1] Fix composite uploads ignoring substitute_name_with_metadata by @mvdbeek in #22788
  • [26.1] Relax legacy doi:-prefixed citation handling (#22795) by @mvdbeek in #22799
  • [26.1] Fix BreadcrumbHeading imposing a minimum width on parent components by @ahmedhamidawan in #22804
  • [26.1] Add handler for URL source type in workflow card indicators by @itisAliRH in #22808
  • [26.1] GalaxyAI minor chat history and interface display fixes and polish by @ahmedhamidawan in #22793
  • [26.0] Drop console scripts from packages' setup.cfg files by @nsoranzo in #22832
  • [26.0] Move classifiers and keywords from setup.cfg to pyproject.toml by @jdavcs in #22834
  • [26.1] Fix galaxy-api-client npm publishing on release by @dannon in #22847
  • [26.0] Fix tag creation self-deadlock under SQLite by @mvdbeek in #22846
  • [26.1] Route ChatGXY on the current message, and ask when uncertain by @dannon in #22791
  • [26.0] Prevent crash on pgcleanup script when attempting to delete files in user-defined object stores by @davelopez in #22833
  • [26.0] Stop workflow editor leaking UI metadata into Apply Rules tool_state by @jmchilton in #22823
  • [26.1] Remove duplicate clear call in remove_objects method by @bgruening in #22862
  • [26.1] Create notebooks from invocation reports instead of a new page/report by @ahmedhamidawan in #22872
  • [26.1] Handle existing rows in tool_source during db migration by @mvdbeek in #22870
  • [26.1] Add missing confirm prop to GModal in `RefactorConfirmatio… by @ahmedhamidawan in #22879
  • [26.1] Fix memory-unit conversion and polling_interval bugs in the GCP Batch runner by @ksuderman in #22880
  • [26.1] Match tpv in conditional dependency requirement to pinned version by @mvdbeek in #22874
  • [26.1] Reuse the global, context-aware GalaxyAI for Galaxy Notebooks by @ahmedhamidawan in #22807
  • [26.1] Fix on_string containing redundant datasets by @bernt-matthias in #22801
  • [26.0] Pin galaxy-tool-util-models to current minor version in dependents by @jdavcs in #22877
  • [26.1] Bump up gravity to 1.2.3 by @mvdbeek in #22886
  • [26.1] Fix input mangling when conditional parameter name ends in _N by @mvdbeek in #22891
  • [26.1] Address arch-review issues from #22807: move business logic out of chat controller by @mvdbeek in #22885
  • [26.1] Cut GTN training agent token usage by capping its search loop by @dannon in #22890
  • [26.1] Fix table header column handling in plotly and tabulator by @guerler in #22893
  • [26.0] Use default_panel_view in docs by @jdavcs in #22892
  • [26.1] Fix syncServerAttributes clobbering conditional case options for shared param names by @mvdbeek in #22867
  • [26.1] Use the correct default value for job_id_prefix by @ksuderman in #22871
  • [26.1] Fix floating window drag/resize over iframes with pointer capture by @dannon in #22881
  • [26.1] Fix sharing pages impossible due to incorrect api/reports fetches on the client by @ahmedhamidawan in #22901
  • [26.1] Fix upload_file_from_url passing decoded id to FetchDataPayload by @jmchilton in #22905
  • [26.1] Add fixed color set from webcolors package by @guerler in #22869
  • [26.1] Make GalaxyAI route IWC workflow imports more reliably by @dannon in #22908
  • [26.1] Make GalaxyAI agent retry budget configurable (fix "Exceeded maximum output retries") by @dannon in #22896
  • [25.1] Allow workflows with optional credentials to run without credentials set by @arash77 in #22858
  • [26.1] Make unowned but accessible pages uneditable by @ahmedhamidawan in #22911
  • [26.1] Fix GButton disabled-title not displaying by @dannon in #22920
  • [26.1] Fix HTTP Range requests on dataset files (non-nginx deployments) by @jmchilton in #22924
  • [26.1] Remove GHCR container build job by @ksuderman in #22897
  • [26.1] Accept dce collection references in the tool request model by @mvdbeek in #22926
  • [26.1] Keep collection-operation outputs as workflow steps in extraction by @jmchilton in #22912
  • [26.1] Auto-grow the GalaxyAI chat input as you type by @dannon in #22933
  • [26.1] Fix New Chat button while a GalaxyAI conversation is in flight by @dannon in #22882
  • [26.1] Fix GModal content truncation and dev proxy cookie handling by @mvdbeek in #22943
  • [26.1] Speed up workflow Run form: memoize and skip redundant history scans (#22927) by @mvdbeek in #22932
  • [26.1] Release request-scoped DB connection during streams via GalaxyStreamingResponse (alternative to #22939) by @mvdbeek in #22940
  • [26.1] Ground ChatGXY's "what can you do" answer in enabled agents by @dannon in #22944
  • [26.1] Fix legacy DatabaseVault secrets canonical key migration by @davelopez in #22942
  • [26.1] Always attempt to build tool request for new API endpoint by @mvdbeek in #22894
  • [26.1] Fix misaligned activity bar icons by @ahmedhamidawan in #22956
  • [26.1] Fix view state logic for paste links upload by @davelopez in #22962
  • [26.1] Make the user-defined tool schema robust for LLM authoring (CustomToolAgent) by @mvdbeek in #22968
  • [26.1] Fix tool shed state serving for stock tools by @jmchilton in #22963
  • [26.1] Fix GalaxyAI router context loss and agent response attribution by @dannon in #22904
  • [26.1] Include hidden intermediates in workflow extraction summary (#22967) by @jmchilton in #22970
  • [26.1] Route ChatGXY follow-ups using the previous conversation turn by @dannon in #22975
  • [26.1] Fallback to default chunk size for file uploads by @davelopez in #22985
  • [26.1] Log SSE dispatch task and addressed webapp workers by @mvdbeek in #22995
  • [26.1] Resolve user-defined tools in by-ids workflow extraction by @mvdbeek in #22992
  • [26.1] Fix storage operation column types (Database migration) by @davelopez in #23032
  • [26.1] Fix SSE dispatch cache unit tests: give queue mocks a string .name by @mvdbeek in #23035
  • [26.1] Default S3 request checksum to when_required for non-AWS endpoints by @mvdbeek in #23034
  • [26.1] Fix My Tools favorite tag sections showing old tool versions by @itisAliRH in #23040
  • [26.0] Require gravity 1.2.2 by @jdavcs in #23050
  • [25.0] Fix NameError, move assignation of days prior to get_failed_jobs call by @ccoulombe in #23053
  • [25.0] Pin Ansible version by @ksuderman in #23057
  • [26.1] Fix celery worker cold-start thundering herd (build app once, scope tool-data walk to load pass) by @mvdbeek in #23048
  • [26.1] Keep the standalone SSE monitor out of the control-queue routing table by @mvdbeek in #22958
  • [26.1] Fix tool panel discover counts and recent tool version duplicates by @itisAliRH in #23045
  • [26.1] Skip RST help linting when help format is not restructuredtext by @mvdbeek in #23073
  • [26.0] Fix ToolPanelElements._section_by_tool being class-level shared state by @mvdbeek in #23062
  • [26.1] Fix recent tools for My Tools default panel by @itisAliRH in #23075
  • [26.1] Fix discover tool count fallback for My Tools default panels by @itisAliRH in #23074
  • [26.1] Rewrite proxy redirect headers to dev origin by @davelopez in #22980
  • [26.1] Fix page published view sharing routes by @ahmedhamidawan in #22977
  • [26.1] Stop the ssh file source from using local keys or the SSH agent by @bernt-matthias in #23066
  • [26.1] Update spatialdata datatype by @nilchia in #23087
  • [26.1] Bound memory use in h5grove structured content endpoint by @mvdbeek in #23089
  • [26.1] Custom-tool agent: verified container resolution + authoring safeguards (with a reusable mulled-recommend CLI) by @mvdbeek in #22981
  • [26.0] Use requests rather than urllib for Invenio authenticated downloads by @martenson in #23096
  • [26.1] Fix Markdown help rendering in tools list by @itisAliRH in #23106
  • [26.1] Add configurable activation for OIDC accounts by @mvdbeek in #23109
  • [26.1] Disable tool request by default by @guerler in #23113
  • [26.1] Fix Workflow.copy() dropping readme, help, logo_url and doi by @mvdbeek in #23117
  • [26.0] Fix typo in irods object store cache size by @davelopez in #23124
  • [26.1] Fix activation email lookup regression by @davelopez in #23130
  • [26.1] Make verify_collection fail usefully on output-shape mismatches by @mvdbeek in #23134
  • [26.1] Fix tool-form option pagination never updating the select (#23135) by @mvdbeek in #23136
  • [26.0] Fix clean jwd task by @davelopez in #23121
  • [26.1] Support multipart upload for Invenio-based file sources by @martenson in #23118
  • [26.1] Hide generated headers for tabular previews by @qchiujunhao in #22947
  • [26.1] Fix workflow preview layout spacing by @itisAliRH in #23143
  • [26.1] Fix set_history committing None galaxy_session by @ahmedhamidawan in #23156
  • [26.0] Fix WES workflow completion and add missing WES docs by @jmchilton in #22857
  • [26.0] Handle sample_sheet and paired_or_unpaired collections in output_to_cwl_json by @mvdbeek in #23152
  • [26.0] Fix fasta preview rendering for sequences larger than 100 KB by @mvdbeek in #23163
  • [26.1] Prevent loss of unsaved changes on navigation by @davelopez in #23172
  • [26.0] Fix AssertionError remapping malformed galaxy markdown blocks by @mvdbeek in #23176
  • [26.1] Fix webhooks broken by the Backbone/underscore removal by @itisAliRH in #23173
  • [26.1] Use a thread-safe libmagic handle when sniffing datasets by @mvdbeek in #23200
  • [26.1] Fix workflow graph css issues by @ahmedhamidawan in #23194
  • [26.1] fix(client): compile SCSS in collection wizard style blocks by @jmchilton in #23217
  • [26.1] Fix TUS uploads when galaxy_url_prefix is set by @afgane in #23224
  • [25.1] Fix broken calls to InteractiveToolManager methods by @nsoranzo in #23216
  • [26.1] Build packages without syncing the workspace virtualenv by @mvdbeek in #23231
  • [26.1] Drop unused _setup-dev-venv rule from package Makefiles by @mvdbeek in #23243

🔒 Security Updates

  • Migrate Python packages to src layout and pure namespace packages by @mr-c in #21977

🧰 Refactoring

📚 Documentation

  • Add a shared operations layer for internal and external AI agents by @dannon in #21942
  • Add enable_statsd_middleware option to send backend execution timing to statsd without enabling web request timing by @natefoo in #22557
  • Add a new "htcondor" job runner that uses the Python HTCondor version 2 bindings by @bgruening in #21528

🛠️ API Changes

  • SSE update enhancements for multi-history view and published histories by @mvdbeek in #22614

🧪 Testing

  • Propagate start() to backends in DistributedObjectStore by @pauldg in #22220

Other Changes

  • [26.1] Fix session_duration check using local time instead of UTC by @gagayuan in #22957

New Contributors

Full Changelog: v26.0.1...v26.1.0

Don't miss a new galaxy release

NewReleases is sending notifications on new releases.