23.2 Galaxy Release (January 2024)
Highlights
Workflow comments are a brand new feature of the Galaxy Workflow Editor. They add a suite of tools - such as text, markdown, freehand commenting and more - to help visually explain and structure Workflows. Workflow publishing and workflow sharing UI have received significant updates. A lot of work has been done on improving the page and workflow report editor options; a variety of new directives have been added to Galaxy Markdown.
InvenioRDM has been integrated into Galaxy. Users can now import files directly from InvenioRDM repositories into Galaxy, and publish records containing artifacts (Histories, datasets, etc.) from Galaxy to InvenioRDM.
Miscellaneous improvements. There have been numerous updates to the UI, including Galaxy Help forum integration, improved navigation and styling, helpful warnings, improvements to search, etc. Check out the 23.2 user release notes for all the details.
Are you an admin? See the Administration Notes below, and check out some admin relevant PRs.
Get Galaxy
The code lives at GitHub and you should have Git to obtain it.
- To get a new Galaxy repository run:
$ git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git
- To update an existing Galaxy repository run:
$ git fetch origin && git checkout release_23.2 && git pull --ff-only origin release_23.2
See the community hub for additional details on source code locations.
Administration Notes
A lot of work has been done on path-based interactive tools, including major additions to documentation and configuration. (#16795)
It is now possible to configure per-user limits for celery task execution (#16232)
An admin panel for managing notifications and broadcasts has been added. Admins will be able to schedule/update/delete a broadcast and send message notifications to selected users, roles or groups. (#16278)
Configuration options are now available for carbon emissions reporting. (#16307)
The pgcleanup script has been modified to allow periodically deleting old datasets; operations can now be restricted to specific object store ids. (#16340)
Tool memory usage has been improved. (#16536)
Support added for cgroups-v2 (#17169)
Support added for configuring job metrics inline; documentation improved (#17178)
Configuration Changes
Added
The following configuration options are new
config/user_preferences_extra_conf.yml.sample
preferences.invenio
preferences.onedata
config/galaxy.yml.sample:galaxy
mapping.tool_shed.mapping.config_hg_for_dev
mapping.tool_shed.mapping.ga4gh_service_environment
mapping.tool_shed.mapping.ga4gh_service_id
mapping.tool_shed.mapping.organization_name
mapping.tool_shed.mapping.organization_url
Changed
The following configuration options have been changed
config/file_sources_conf.yml.sample
has changed from
{'type': 'dropbox', 'id': 'dropbox1', 'label': 'Dropbox files (configure access in user preferences)', 'doc': 'Your Dropbox files - configure an access token via the user preferences', 'accessToken': "${user.preferences['dropbox|access_token']}"} {'type': 'webdav', 'id': 'owncloud1', 'label': 'OwnCloud', 'doc': 'External OwnCloud files (configure access in user preferences)', 'url': "${user.preferences['owncloud|url']}", 'root': "${user.preferences['owncloud|root']}", 'login': "${user.preferences['owncloud|username']}", 'password': "${user.preferences['owncloud|password']}"} {'type': 'posix', 'root': '/data/5/galaxy_import/galaxy_user_data/covid-19/data/sequences/', 'id': 'covid19-raw-sequences', 'label': 'COVID-19 FASTQ', 'doc': 'COVID-19 RAW sequences in FASTQ format'} {'type': 'posix', 'root': '/data/db/databases/pdb/pdb/', 'id': 'pdb-gzip', 'doc': 'Protein Data Bank (PDB)', 'label': 'PDB'} {'type': 'ftp', 'id': 'ebi-ftp', 'label': 'EBI FTP server', 'doc': 'European Bioinformatic Institute FTP server', 'host': 'ftp.ebi.ac.uk', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21} {'type': 'ftp', 'id': 'ncbi-ftp', 'label': 'NCBI FTP server', 'doc': 'NCBI FTP server', 'host': 'ftp.ncbi.nlm.nih.gov', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21} {'type': 'ftp', 'id': 'ensembl-ftp', 'label': 'ENSEMBL FTP server', 'doc': 'ENSEMBL FTP server', 'host': 'ftp.ensemblgenomes.org/vol1/pub/', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21} {'type': 'ssh', 'id': 'writeable-ssh-dir', 'requires_roles': 'writeable-galaxy-role', 'writable': True, 'label': 'Push your files to me', 'doc': 'This is an example of a writeable SSH dir', 'host': 'coolhost', 'user': 'user', 'passwd': 'passwd', 'timeout': 10, 'path': '/home/cooluser/', 'config_path': '', 'port': 2222} {'type': 's3fs', 'label': 'My MinIO storage', 'endpoint_url': 'https://minio.usegalaxy.eu', 'id': 'galaxy-minio-storage', 'doc': 'Galaxy MinIO S3 storage', 'anon': False, 'secret': 'UHAJ6asd6asdhasd', 'key': 'MCJU76agdt98GGFAROIP7'} {'type': 's3fs', 'label': 'Genome Ark', 'id': 'genomeark', 'doc': 'Access to Genome Ark open data on AWS.', 'bucket': 'genomeark', 'anon': True} {'type': 's3fs', 'label': '1000 Genomes', 'id': '1000genomes', 'doc': 'Access to the 1000 Genomes Project with human genetic variation, including SNPs, structural variants, and their haplotype context.', 'bucket': '1000genomes', 'anon': True} {'type': 's3fs', 'label': 'The Cancer Genome Atlas', 'id': 'tcga-2-open', 'doc': 'Access to the Cancer Genome Atlas (TCGA)', 'bucket': 'tcga-2-open', 'anon': True} {'type': 's3fs', 'label': 'COVID-19 Data Lake', 'id': 'covid19-lake', 'doc': 'A centralized repository of up-to-date and curated datasets on or related to the spread and characteristics of the novel corona virus (SARS-CoV-2) and its associated illness, COVID-19', 'bucket': 'covid19-lake', 'anon': True} {'type': 's3fs', 'label': 'Encyclopedia of DNA Elements (ENCODE)', 'id': 'encode-public', 'doc': 'The Encyclopedia of DNA Elements (ENCODE) Consortium is an international collaboration of research groups funded by the National Human Genome Research Institute (NHGRI)', 'bucket': 'encode-public', 'anon': True} {'type': 's3fs', 'label': 'Sentinel-3', 'id': 'meeo-s3-nrt', 'doc': 'European Commission’s Copernicus Earth Observation Programme. Sentinel-3 is a polar orbiting satellite that completes 14 orbits of the Earth a day.', 'bucket': 'meeo-s3/NRT/', 'anon': True} {'type': 's3fs', 'label': 'Sentinel-5P Level 2', 'id': 'meeo-s5p-nrti', 'doc': 'Observations from the Sentinel-5 Precursor satellite of the Copernicus Earth Observation Programme. It contains a polar orbiting satellite that completes 14 orbits of the Earth a day.', 'bucket': 'meeo-s5p/RPRO/', 'anon': True} {'type': 's3fs', 'label': 'Coupled Model Intercomparison Project 6', 'id': 'esgf-world', 'doc': 'The sixth phase of global coupled ocean-atmosphere general circulation model ensemble', 'bucket': 'esgf-world', 'anon': True} {'type': 's3fs', 'label': 'CMIP6 GCMs downscaled using WRF', 'id': 'wrf-cmip6-noversioning', 'doc': 'High-resolution historical and future climate simulations from 1980-2100', 'bucket': 'wrf-cmip6-noversioning', 'anon': True} {'type': 's3fs', 'label': 'NOAA Global Forecast System (GFS)', 'id': 'noaa-gfs-bdp-pds', 'doc': 'The Global Forecast System (GFS) is a weather forecast model produced by the National Centers for Environmental Prediction (NCEP).', 'bucket': 'noaa-gfs-bdp-pds', 'anon': True} {'type': 's3fs', 'label': 'NOAA Unified Forecast System Subseasonal to Seasonal Prototype 5', 'id': 'noaa-ufs-prototype5-pds', 'doc': 'The Unified Forecast System Subseasonal to Seasonal prototype 5 (UFS S2Sp5) dataset is reforecast data from the UFS atmosphere-ocean.', 'bucket': 'noaa-ufs-prototype5-pds', 'anon': True} {'type': 's3fs', 'label': 'Copernicus Digital Elevation Model (DEM)', 'id': 'copernicus-dem-30m', 'doc': 'The Copernicus DEM is a Digital Surface Model (DSM) which represents the surface of the Earth including buildings, infrastructure and vegetation.', 'bucket': 'copernicus-dem-30m', 'anon': True} {'type': 'http', 'label': 'Custom http filesource', 'id': 'httpcustom', 'url_regex': '^https?://myprotectedsite.org/', 'http_headers': {'Authorization': '#import base64\nBasic ${base64.b64encode(str.encode(user.preferences[\'myprotectedsite|username\'] + ":" + user.preferences[\'myprotectedsite|password\'])).decode()}'}, 'doc': 'Only define this if you want custom control over http downloads. You should also define a stock http source (below) or only downloads from this site will be allowed.'} {'type': 'http', 'label': 'Stock http filesource', 'id': 'httpstock', 'doc': 'Make sure to define this generic http file source if you have defined any other http file sources, or stock http download capability will be disabled.'} {'type': 'drs', 'label': 'Custom DRS filesource', 'id': 'drscustom', 'url_regex': '^drs://mydrssite.org/', 'http_headers': {'Authorization': '#import base64\nBasic ${base64.b64encode(str.encode(user.preferences[\'mydrssite|username\'] + ":" + user.preferences[\'mydrssite|password\'])).decode()}'}, 'doc': 'Define this if you want custom control over drs downloads. You should also define a stock drs source (below) or only downloads from this drs server will be allowed.'} {'type': 'drs', 'label': 'Stock DRS filesource', 'id': 'drsstock', 'doc': 'Make sure to define this generic drs file source if you have defined any other drs file sources, or stock drs download capability will be disabled.'}to
{'type': 'dropbox', 'id': 'dropbox1', 'label': 'Dropbox files (configure access in user preferences)', 'doc': 'Your Dropbox files - configure an access token via the user preferences', 'access_token': "${user.preferences['dropbox|access_token']}"} {'type': 'webdav', 'id': 'owncloud1', 'label': 'OwnCloud', 'doc': 'External OwnCloud files (configure access in user preferences)', 'url': "${user.preferences['owncloud|url']}", 'root': "${user.preferences['owncloud|root']}", 'login': "${user.preferences['owncloud|username']}", 'password': "${user.preferences['owncloud|password']}"} {'type': 'posix', 'root': '/data/5/galaxy_import/galaxy_user_data/covid-19/data/sequences/', 'id': 'covid19-raw-sequences', 'label': 'COVID-19 FASTQ', 'doc': 'COVID-19 RAW sequences in FASTQ format'} {'type': 'posix', 'root': '/data/db/databases/pdb/pdb/', 'id': 'pdb-gzip', 'doc': 'Protein Data Bank (PDB)', 'label': 'PDB'} {'type': 'ftp', 'id': 'ebi-ftp', 'label': 'EBI FTP server', 'doc': 'European Bioinformatic Institute FTP server', 'host': 'ftp.ebi.ac.uk', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21} {'type': 'ftp', 'id': 'ncbi-ftp', 'label': 'NCBI FTP server', 'doc': 'NCBI FTP server', 'host': 'ftp.ncbi.nlm.nih.gov', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21} {'type': 'ftp', 'id': 'ensembl-ftp', 'label': 'ENSEMBL FTP server', 'doc': 'ENSEMBL FTP server', 'host': 'ftp.ensemblgenomes.org/vol1/pub/', 'user': 'anonymous', 'passwd': '', 'timeout': 10, 'port': 21} {'type': 'ssh', 'id': 'writeable-ssh-dir', 'requires_roles': 'writeable-galaxy-role', 'writable': True, 'label': 'Push your files to me', 'doc': 'This is an example of a writeable SSH dir', 'host': 'coolhost', 'user': 'user', 'passwd': 'passwd', 'timeout': 10, 'path': '/home/cooluser/', 'config_path': '', 'port': 2222} {'type': 's3fs', 'label': 'My MinIO storage', 'endpoint_url': 'https://minio.usegalaxy.eu', 'id': 'galaxy-minio-storage', 'doc': 'Galaxy MinIO S3 storage', 'anon': False, 'secret': 'UHAJ6asd6asdhasd', 'key': 'MCJU76agdt98GGFAROIP7'} {'type': 's3fs', 'label': 'Genome Ark', 'id': 'genomeark', 'doc': 'Access to Genome Ark open data on AWS.', 'bucket': 'genomeark', 'anon': True} {'type': 's3fs', 'label': '1000 Genomes', 'id': '1000genomes', 'doc': 'Access to the 1000 Genomes Project with human genetic variation, including SNPs, structural variants, and their haplotype context.', 'bucket': '1000genomes', 'anon': True} {'type': 's3fs', 'label': 'The Cancer Genome Atlas', 'id': 'tcga-2-open', 'doc': 'Access to the Cancer Genome Atlas (TCGA)', 'bucket': 'tcga-2-open', 'anon': True} {'type': 's3fs', 'label': 'COVID-19 Data Lake', 'id': 'covid19-lake', 'doc': 'A centralized repository of up-to-date and curated datasets on or related to the spread and characteristics of the novel corona virus (SARS-CoV-2) and its associated illness, COVID-19', 'bucket': 'covid19-lake', 'anon': True} {'type': 's3fs', 'label': 'Encyclopedia of DNA Elements (ENCODE)', 'id': 'encode-public', 'doc': 'The Encyclopedia of DNA Elements (ENCODE) Consortium is an international collaboration of research groups funded by the National Human Genome Research Institute (NHGRI)', 'bucket': 'encode-public', 'anon': True} {'type': 's3fs', 'label': 'Sentinel-3', 'id': 'meeo-s3-nrt', 'doc': 'European Commission’s Copernicus Earth Observation Programme. Sentinel-3 is a polar orbiting satellite that completes 14 orbits of the Earth a day.', 'bucket': 'meeo-s3/NRT/', 'anon': True} {'type': 's3fs', 'label': 'Sentinel-5P Level 2', 'id': 'meeo-s5p-nrti', 'doc': 'Observations from the Sentinel-5 Precursor satellite of the Copernicus Earth Observation Programme. It contains a polar orbiting satellite that completes 14 orbits of the Earth a day.', 'bucket': 'meeo-s5p/RPRO/', 'anon': True} {'type': 's3fs', 'label': 'Coupled Model Intercomparison Project 6', 'id': 'esgf-world', 'doc': 'The sixth phase of global coupled ocean-atmosphere general circulation model ensemble', 'bucket': 'esgf-world', 'anon': True} {'type': 's3fs', 'label': 'CMIP6 GCMs downscaled using WRF', 'id': 'wrf-cmip6-noversioning', 'doc': 'High-resolution historical and future climate simulations from 1980-2100', 'bucket': 'wrf-cmip6-noversioning', 'anon': True} {'type': 's3fs', 'label': 'NOAA Global Forecast System (GFS)', 'id': 'noaa-gfs-bdp-pds', 'doc': 'The Global Forecast System (GFS) is a weather forecast model produced by the National Centers for Environmental Prediction (NCEP).', 'bucket': 'noaa-gfs-bdp-pds', 'anon': True} {'type': 's3fs', 'label': 'NOAA Unified Forecast System Subseasonal to Seasonal Prototype 5', 'id': 'noaa-ufs-prototype5-pds', 'doc': 'The Unified Forecast System Subseasonal to Seasonal prototype 5 (UFS S2Sp5) dataset is reforecast data from the UFS atmosphere-ocean.', 'bucket': 'noaa-ufs-prototype5-pds', 'anon': True} {'type': 's3fs', 'label': 'Copernicus Digital Elevation Model (DEM)', 'id': 'copernicus-dem-30m', 'doc': 'The Copernicus DEM is a Digital Surface Model (DSM) which represents the surface of the Earth including buildings, infrastructure and vegetation.', 'bucket': 'copernicus-dem-30m', 'anon': True} {'type': 'http', 'label': 'Custom http filesource', 'id': 'httpcustom', 'url_regex': '^https?://myprotectedsite.org/', 'http_headers': {'Authorization': '#import base64\nBasic ${base64.b64encode(str.encode(user.preferences[\'myprotectedsite|username\'] + ":" + user.preferences[\'myprotectedsite|password\'])).decode()}'}, 'doc': 'Only define this if you want custom control over http downloads. You should also define a stock http source (below) or only downloads from this site will be allowed.'} {'type': 'http', 'label': 'Stock http filesource', 'id': 'httpstock', 'doc': 'Make sure to define this generic http file source if you have defined any other http file sources, or stock http download capability will be disabled.'} {'type': 'drs', 'label': 'Custom DRS filesource', 'id': 'drscustom', 'url_regex': '^drs://mydrssite.org/', 'http_headers': {'Authorization': '#import base64\nBasic ${base64.b64encode(str.encode(user.preferences[\'mydrssite|username\'] + ":" + user.preferences[\'mydrssite|password\'])).decode()}'}, 'doc': 'Define this if you want custom control over drs downloads. You should also define a stock drs source (below) or only downloads from this drs server will be allowed.'} {'type': 'drs', 'label': 'Stock DRS filesource', 'id': 'drsstock', 'doc': 'Make sure to define this generic drs file source if you have defined any other drs file sources, or stock drs download capability will be disabled.'} {'type': 'inveniordm', 'id': 'invenio', 'doc': 'Invenio RDM turn-key research data management repository', 'label': 'Invenio RDM Demo Repository', 'url': 'https://inveniordm.web.cern.ch/'} {'type': 'onedata', 'id': 'onedata1', 'label': 'Onedata', 'doc': 'Your Onedata files - configure an access token via user preferences', 'accessToken': "${user.preferences['onedata|access_token']}", 'onezoneDomain': "${user.preferences['onedata|onezone_domain']}"}
config/galaxy.yml.sample:galaxy
mapping.galaxy.mapping.instance_resource_url.desc has changed from
URL of the support resource for the galaxy instance. Used in activation emails. Example value 'https://galaxyproject.org/'
to
URL of the support resource for the galaxy instance. Used outside of web contexts such as in activation emails and in Galaxy markdown report generation. Example value 'https://galaxyproject.org/'
mapping.galaxy.mapping.job_metrics_config_file.desc has changed from
XML config file that contains the job metric collection configuration.
to
YAML or XML config file that contains the job metric collection configuration.
Removed
The following configuration options have been completely removed
config/galaxy.yml.sample:galaxy
mapping.galaxy.mapping.ga4gh_service_organization_name
mapping.galaxy.mapping.ga4gh_service_organization_url
mapping.galaxy.mapping.interactivetools_shorten_url
Release Notes
Enhancements
Initial release notes for 23.2 (thanks to @dannon). Pull Request 17259
Make form repeat blocks reorderable (thanks to @ElectronicBlueberry). Pull Request 14892
Tool Shed 2.0 (thanks to @jmchilton). Pull Request 15639
Limit number of celery task executions per second per user (thanks to @claudiofr). Pull Request 16232
Notifications admin panel (thanks to @itisAliRH). Pull Request 16278
Add Invenio RDM repository integration (thanks to @davelopez). Pull Request 16381
Add new cns, cnr and cnn datatypes (cnvkit tools) (thanks to @khaled196). Pull Request 16503
Create reusable FilterMenu with advanced options (thanks to @ahmedhamidawan). Pull Request 16522
Support new genome browser chain file format (thanks to @claudiofr). Pull Request 16576
Workflow Comments 💬 (thanks to @ElectronicBlueberry). Pull Request 16612
Create GDateTime component (thanks to @itisAliRH). Pull Request 16622
History MultiView drag-drop on history picker creates new history (thanks to @ahmedhamidawan). Pull Request 16644
Workflow Embed (thanks to @ElectronicBlueberry). Pull Request 16657
Add EGI Check-in as OIDC authentication option (thanks to @enolfc). Pull Request 16782
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 (thanks to @sveinugu). Pull Request 16795
Galaxy help forum integration (thanks to @ElectronicBlueberry). Pull Request 16798
Allow to permanently delete non-deleted items in Storage Dashboard Visualizations (thanks to @davelopez). Pull Request 16944
Allow switching histories from Storage Dashboard Visualizations (thanks to @davelopez). Pull Request 16945
Add support for larch datatypes (thanks to @patrick-austin). Pull Request 17080
Implement display function for all datatypes (thanks to @SergeyYakubov). Pull Request 15447
Add stl datatype (thanks to @TanguyGen). Pull Request 16478
Bump samtools converters (thanks to @bernt-matthias). Pull Request 16668
Add docx datatype (thanks to @yvanlebras). Pull Request 16713
Optimize object store cache operations (thanks to @SergeyYakubov). Pull Request 17025
Update cellxgene interactive tool to 1.1.1 (thanks to @pcm32). Pull Request 15313
Update interactivetool_mgnify_notebook to v1.2.2 (thanks to @SandyRogers). Pull Request 16517
Refactor Tool Panel views structures and combine ToolBox and ToolBoxWorkflow into one component (thanks to @ahmedhamidawan). Pull Request 16739
Implement default locations for data and collection parameters (thanks to @jmchilton). Pull Request 14955
Delete non-terminal jobs and subworkflow invocations when canceling invocation (thanks to @mvdbeek). Pull Request 16252
Make it obvious that WorkflowInvocationStep is clickable/expandable (thanks to @ahmedhamidawan). Pull Request 16507
Galaxy Markdown - add workflow image and license to Galaxy markdown (thanks to @jmchilton). Pull Request 16672
Implement instance URLs in Galaxy markdown (thanks to @jmchilton). Pull Request 16675
Improve invocation error reporting (thanks to @mvdbeek). Pull Request 16917
Remove “Create Workflow” form and allow workflow creation in editor (thanks to @ahmedhamidawan). Pull Request 16938
Fix invocation report to target correct workflow version (thanks to @jmchilton). Pull Request 17008
Require name for workflows on save, set default to Unnamed Workflow (thanks to @ahmedhamidawan). Pull Request 17038
Client import sorting (thanks to @dannon). Pull Request 16345
Enable job resubmissions in k8s runner (thanks to @pcm32). Pull Request 15238
Towards SQLAlchemy 2.0 (upgrades to SQLAlchemy Core usage) (thanks to @jdavcs). Pull Request 16264
Add HEAD route to job_files endpoint (thanks to @mvdbeek). Pull Request 17072
Add carbon emissions admin configuration options (thanks to @Renni771). Pull Request 16307
Augment pgcleanup to allow periodically deleting old datasets (thanks to @jmchilton). Pull Request 16340
Support configuring job metrics inline, update documentation (thanks to @natefoo). Pull Request 17178
Make release titles consistent (thanks to @martenson). Pull Request 17341
Use python-isal for fast zip deflate compression in rocrate export (thanks to @mvdbeek). Pull Request 17342
Improve embed performance (thanks to @ElectronicBlueberry). Pull Request 17326
Add parameter name to validation errors (thanks to @bernt-matthias). Pull Request 15440
Add framework test for profile behavior of format=”input” (thanks to @bernt-matthias). Pull Request 15482
Add ability to assert metadata properties on input dataset parameters (thanks to @bernt-matthias). Pull Request 15825
Vueify _fieldDialog (thanks to @assuntad23). Pull Request 16236
Update Python dependencies (thanks to @galaxybot). Pull Request 16305
Add Python string formatting best practices (thanks to @nsoranzo). Pull Request 16312
Migrate a part of the users API to FastAPI (thanks to @heisner-tillman). Pull Request 16341
Update Python dependencies (thanks to @galaxybot). Pull Request 16360
Exclude auto-generated schema file from labeler (thanks to @ElectronicBlueberry). Pull Request 16378
Update Python dependencies (thanks to @galaxybot). Pull Request 16389
Update carbon emissions methodology page to match current feature specifications (thanks to @Renni771). Pull Request 16392
Update Python dependencies (thanks to @galaxybot). Pull Request 16409
Update Python dependencies (thanks to @galaxybot). Pull Request 16436
Vueify Data Uploader (thanks to @guerler). Pull Request 16472
Update Python dependencies (thanks to @galaxybot). Pull Request 16485
Add support for CILogon deployments in different regions than the US (thanks to @uwwint). Pull Request 16490
Published Workflow Sharing page overhaul (thanks to @ElectronicBlueberry). Pull Request 16510
Update Python dependencies (thanks to @galaxybot). Pull Request 16521
Tweak tool memory use and optimize shared memory when using preload (thanks to @mvdbeek). Pull Request 16536
Document that required text parameters need a validator (thanks to @bernt-matthias). Pull Request 16538
Make tool id searchable in side panel search (thanks to @ahmedhamidawan). Pull Request 16543
Add uploader test cases, consolidate payload processing (thanks to @guerler). Pull Request 16554
Implement datatype upload warnings (thanks to @jmchilton). Pull Request 16564
Update Python dependencies (thanks to @galaxybot). Pull Request 16577
Vueify Tool Form Data Selector (thanks to @guerler). Pull Request 16578
Run eslint autofix as a part of client format when using Makefile (thanks to @dannon). Pull Request 16586
Add scroll pagination and username filter to HistoryPublishedList (thanks to @ahmedhamidawan). Pull Request 16642
Add GitHub CI workflow to test on Python 3.7 the packages needed by Pulsar (thanks to @nsoranzo). Pull Request 16649
cwl testing: use the proposed 1.2.1 CWL conformance tests (thanks to @mr-c). Pull Request 16658
Clarify documentation on how to build a job runner (thanks to @jdavcs). Pull Request 16665
Enhance disk quota usage summary (thanks to @davelopez). Pull Request 16670
Include regex when linting validators (thanks to @davelopez). Pull Request 16684
Change Sentry error reporting plug-in (thanks to @kysrpex). Pull Request 16686
Use fs.onedatarestfs for Onedata files source plugin implementation (thanks to @lopiola). Pull Request 16690
Skip node installation for
check_indexes
tests (thanks to @nsoranzo). Pull Request 16694Migrate collection elements store to Pinia (thanks to @davelopez). Pull Request 16725
Update Python dependencies (thanks to @galaxybot). Pull Request 16735
Improve collection items scrolling (thanks to @davelopez). Pull Request 16738
Don’t copy collection elements in
test_dataset_collection_hide_originals
(thanks to @nsoranzo). Pull Request 16747Selective bold text (thanks to @hujambo-dunia). Pull Request 16748
Workflow report enhancement: add time format to generated text (thanks to @assuntad23). Pull Request 16757
Workflow report enhancement: convert ISO to UTC for invocation date/time (thanks to @assuntad23). Pull Request 16758
Workflow report enhancement: expose workflow version as workflow checkpoint (thanks to @assuntad23). Pull Request 16760
Replace ELIXIR AAI button with Life Science login (thanks to @sebastian-schaaf). Pull Request 16762
Update Python dependencies (thanks to @galaxybot). Pull Request 16770
Add ClientSearchMiss Sentry capture (thanks to @dannon). Pull Request 16789
Update Python dependencies (thanks to @galaxybot). Pull Request 16807
Update Python dependencies (thanks to @galaxybot). Pull Request 16853
Visually indicate currently viewed/edited dataset (thanks to @ahmedhamidawan). Pull Request 16859
Allow partial matches in workflow name tag search and search all tags for unquoted query (thanks to @ahmedhamidawan). Pull Request 16860
Vueify visualizations grid (thanks to @guerler). Pull Request 16892
Update Python dependencies (thanks to @galaxybot). Pull Request 16896
Remove record access handling for Invenio RDM plugin (thanks to @davelopez). Pull Request 16900
Test link data with extended metadata (thanks to @mvdbeek). Pull Request 16921
Publish Tool Shed frontend to npm (thanks to @jmchilton). Pull Request 16924
Update Python dependencies (thanks to @galaxybot). Pull Request 16939
Adds biii as supported xref reference type (thanks to @kostrykin). Pull Request 16952
Remove sentry.py from mypy exclusions (thanks to @jmchilton). Pull Request 16959
Enhance Invenio RDM integration (thanks to @davelopez). Pull Request 16964
Allow non-optional integer/float params without value attribute (thanks to @nsoranzo). Pull Request 16966
Update Python dependencies (thanks to @galaxybot). Pull Request 16978
Update API tool_panels route conditions (thanks to @dannon). Pull Request 16991
Update Python dependencies (thanks to @galaxybot). Pull Request 17011
Restyle Vue multiselect and adapt option order (thanks to @ElectronicBlueberry). Pull Request 17015
Show current tool panel view name on top of tool panel (thanks to @ahmedhamidawan). Pull Request 17021
Change broadcast notifications style (thanks to @ElectronicBlueberry). Pull Request 17032
Open HistoryStorageOverview in center panel from HistoryPanel (thanks to @ahmedhamidawan). Pull Request 17043
Update Python dependencies (thanks to @galaxybot). Pull Request 17050
Enhance xsd schema and allow simpler assertion lists (thanks to @mvdbeek). Pull Request 17134
Disable workflow report and generate PDF buttons unless workflow is successful (thanks to @assuntad23). Pull Request 17149
Add rerun and show details buttons in expanded collection (thanks to @mvdbeek). Pull Request 17182
Ensure release notes include all PRs added during the freeze by re-running the release note bootstrapping (thanks to @jdavcs). Pull Request 17344
Tool Shed client build separation (thanks to @dannon). Pull Request 15000
Migrate cloud API to FastAPI (thanks to @heisner-tillman). Pull Request 16296
Drop (admin only) userskeys controller (thanks to @dannon). Pull Request 16318
Migrate some Remote Files Export components to composition API + TS (thanks to @davelopez). Pull Request 16391
Standardize, lint vue component name casing (thanks to @dannon). Pull Request 16398
Refactor FilesDialog services to use Fetcher (thanks to @davelopez). Pull Request 16414
Refactor FilesDialog + Remote Files API schema improvements (thanks to @davelopez). Pull Request 16420
Towards SQLAlchemy 2.0 (upgrades to SQLAlchemy ORM usage in /test) (thanks to @jdavcs). Pull Request 16431
SQLAlchemy 2.0 upgrades to ORM usage in /lib (thanks to @jdavcs). Pull Request 16434
Force makefile client targets to use .venv-shipped node if it exists (thanks to @dannon). Pull Request 16462
Rename MetadataEqualsValidator (thanks to @bernt-matthias). Pull Request 16489
Refactor/OIDC custos (thanks to @uwwint). Pull Request 16497
Migrate configuration store to Pinia (thanks to @davelopez). Pull Request 16514
Scope Workflow Stores to Workflow ID (thanks to @ElectronicBlueberry). Pull Request 16523
Move database access code out of
galaxy.util
(thanks to @jdavcs). Pull Request 16526Drop syncConfigToGalaxy (thanks to @davelopez). Pull Request 16562
Switch out conditional requirement parser (thanks to @mvdbeek). Pull Request 16636
Fix flaky test timing issue in DiskUsageSummary component (thanks to @davelopez). Pull Request 16685
Enhance task monitor composable (thanks to @davelopez). Pull Request 16695
Migrate dataset store to Pinia (thanks to @davelopez). Pull Request 16709
Enhance Short Term Storage Composable (thanks to @davelopez). Pull Request 16711
Misc. edits/refactorings to session handling (thanks to @jdavcs). Pull Request 16712
SQLAlchemy 2.0 upgrades (part 2) (thanks to @jdavcs). Pull Request 16724
Reset autocommit to False (thanks to @jdavcs). Pull Request 16745
Migrate collection attributes store to Pinia (thanks to @davelopez). Pull Request 16752
Drop legacy server-side search (thanks to @jdavcs). Pull Request 16755
Optimize iteration in DatasetInstance model + SA2.0 fix (thanks to @jdavcs). Pull Request 16776
Migrate a part of the jobs API to FastAPI (thanks to @heisner-tillman). Pull Request 16778
Replace file_name property with get_file_name function (thanks to @SergeyYakubov). Pull Request 16783
SQLAlchemy 2.0 fixes for TS2.0 (thanks to @jdavcs). Pull Request 16791
Another batch of SQLAlchemy 2.0 edits in TS 2.0 (thanks to @jdavcs). Pull Request 16799
Use vue modal instead of global backbone modal in user preferences (thanks to @guerler). Pull Request 16830
Another batch of SQLAlchemy 2.0 edits in TS 2.0 (part 3) (thanks to @jdavcs). Pull Request 16833
Remove remaining legacy backbone form input elements (thanks to @guerler). Pull Request 16834
Adjust tz inclusion in workflow reports (thanks to @dannon). Pull Request 16835
Refactor dataset services (thanks to @davelopez). Pull Request 16839
Refactor client API packages (thanks to @davelopez). Pull Request 16847
SQLAlchemy 2.0 upgrades (part 4) (thanks to @jdavcs). Pull Request 16852
Update client dependencies (thanks to @dannon). Pull Request 16867
Convert historyItemsStore to ts+composition (thanks to @ahmedhamidawan). Pull Request 16873
Drop unused HistoryContentManager code and related tests (thanks to @jdavcs). Pull Request 16882
Bump undici from 5.19.1 to 5.26.5 in /client (thanks to @dependabot[bot]). Pull Request 16897
Enable some flake8-logging-format rules in ruff (thanks to @nsoranzo). Pull Request 16915
Fix import in historyItemsStore.ts (thanks to @davelopez). Pull Request 16916
Change api/tool_panel to api/tool_panels/… (thanks to @ahmedhamidawan). Pull Request 16928
Standardize to W3C naming for color (thanks to @dannon). Pull Request 16949
Add helper to get dataset or collection via
src
andid
(thanks to @mr-c). Pull Request 16953Move and re-use persist_extra_files (thanks to @mvdbeek). Pull Request 16955
Upgrade job manager’s index_query method to SA2.0 (thanks to @jdavcs). Pull Request 17020
Remove eventHub custom module, swap to appropriate alternatives (thanks to @dannon). Pull Request 17037
Fixes
Fix and update visualization plugins (thanks to @mahendrapaipuri). Pull Request 16119
Allow the legacy DELETE dataset endpoint to accept any string for the history_id (thanks to @assuntad23). Pull Request 16593
MINERVA display application: enable cors, add for tabular datasets (thanks to @hexylena). Pull Request 16737
Prep for updated h5py (thanks to @mr-c). Pull Request 16963
Update tar_to_directory dependency (thanks to @mvdbeek). Pull Request 17009
Fix display application link generation (thanks to @mvdbeek). Pull Request 17227
Display application fixes and tests (thanks to @mvdbeek). Pull Request 17233
Add back 1.1.0 version of Filtering1 tool (thanks to @mvdbeek). Pull Request 16883
Add missing requirements to perl tools (thanks to @mvdbeek). Pull Request 16763
Fix typos across code base (thanks to @afuetterer). Pull Request 16851
Fix missing grep input in sort1 tool (thanks to @mvdbeek). Pull Request 16910
Fix maf_thread_for_species.py (thanks to @lldelisle). Pull Request 16971
Fix duplicated tools in tool panel view section copying (thanks to @jmchilton). Pull Request 17036
Fix
to_cwl
for nested collections (thanks to @mvdbeek). Pull Request 17276Fix workflow output display without label (thanks to @mvdbeek). Pull Request 16749
Fix up local tool version handling (thanks to @mvdbeek). Pull Request 16836
Fix safe update version handling in run form (thanks to @mvdbeek). Pull Request 16865
Fix workflow import losing tool_version (thanks to @mvdbeek). Pull Request 16869
Remove more flushes in database operation tools (thanks to @mvdbeek). Pull Request 16875
Include owner’s annotation when exporting workflow (thanks to @dannon). Pull Request 16930
Skip change_datatype things if we’re not actually changing the extension (thanks to @mvdbeek). Pull Request 16931
Add execute back to published workflows list (thanks to @dannon). Pull Request 16934
Skip state filtering in
__MERGE_COLLECTION__
tool (thanks to @mvdbeek). Pull Request 16937Prevent workflow submission with missing input values (thanks to @mvdbeek). Pull Request 17048
Replace Persistedstate Pinia Plugin with User-Scoped Composable (thanks to @ElectronicBlueberry). Pull Request 16371
Bump tough-cookie from 4.1.2 to 4.1.3 in /client (thanks to @dependabot[bot]). Pull Request 16385
Bump semver from 5.7.1 to 5.7.2 in /client (thanks to @dependabot[bot]). Pull Request 16388
Bump word-wrap from 1.2.3 to 1.2.4 in /client (thanks to @dependabot[bot]). Pull Request 16417
Bump @babel/traverse from 7.18.11 to 7.23.2 in /client (thanks to @dependabot[bot]). Pull Request 16874
Client publication (thanks to @dannon). Pull Request 16999
Upgrade axios to 1.6.2 (thanks to @dannon). Pull Request 17053
Ensure that plugin build hash actually has a git hash to compare with otherwise force rebuild (thanks to @dannon). Pull Request 17104
Rollback invalidated transaction (thanks to @jdavcs). Pull Request 17280
Rollback invalidated transaction: catch them earlier (thanks to @jdavcs). Pull Request 17312
Ensure Job belongs to current SQLAlchemy session (thanks to @jdavcs). Pull Request 16647
Fix and prevent persisting null file_size (thanks to @mvdbeek). Pull Request 16855
Fix tag ownership check (thanks to @mvdbeek). Pull Request 16877
Ruff and flake8 fixes (thanks to @nsoranzo). Pull Request 16884
Fix unbound
runner
variable when there is an error in the job config (thanks to @mvdbeek). Pull Request 16906Assert that
DatasetCollectioElement
has an associated object (thanks to @mvdbeek). Pull Request 17071Remove rollback from
__check_jobs_at_startup
(thanks to @mvdbeek). Pull Request 17085Fix cardinality violation error: subquery returns multiple results (thanks to @jdavcs). Pull Request 17224
Fix: serialize tool_shed_urls directly from the API (thanks to @davelopez). Pull Request 16561
Change log level for duplicate data table entries to warning (thanks to @mvdbeek). Pull Request 16988
Quote singularity env parameters (thanks to @bernt-matthias). Pull Request 17055
Write to a temp filename in posix file source plugin (thanks to @natefoo). Pull Request 17350
Always store multi select data input values in fixed order (thanks to @guerler). Pull Request 17352
Remove duplicates when copying sections for tool panel view (thanks to @bernt-matthias). Pull Request 17117
Tagging component performance improvements (thanks to @ElectronicBlueberry). Pull Request 17253
Always copy datasets in collection builder modals (thanks to @mvdbeek). Pull Request 17268
Install newer celery on python 3.8+ (thanks to @mvdbeek). Pull Request 17309
Backport Rollback invalidated transaction: catch them earlier (thanks to @mvdbeek). Pull Request 17315
Discard SQLAlchemy session after task completion (thanks to @mvdbeek). Pull Request 17317
Scope session for job runner monitor loop (thanks to @mvdbeek). Pull Request 17319
Fix subworkflow edit button (thanks to @ElectronicBlueberry). Pull Request 17330
Disable verbose parso logging in db_shell.py (thanks to @mvdbeek). Pull Request 16410
Fix SQLAlchemy 2.0 syntax in scripts/helper.py, fix ancient bug (thanks to @jdavcs). Pull Request 16425
Pin fs.dropboxfs to >=1 (thanks to @bernt-matthias). Pull Request 16451
Fix labeler for UI UX labels (thanks to @ElectronicBlueberry). Pull Request 16456
Never consider _galaxy_ conda env as unused (thanks to @bernt-matthias). Pull Request 16460
Adjust test_data_download method in GalaxyInteractorApi so an admin user is not required (thanks to @simonbray). Pull Request 16482
Test that object store cache file gets updated (thanks to @mvdbeek). Pull Request 16493
Remove unnecessary check: item cannot be None (thanks to @jdavcs). Pull Request 16550
Rename to_dict to populate in FormDefintion to fix bug (thanks to @jdavcs). Pull Request 16553
Run poetry under Python 3.8 (thanks to @nsoranzo). Pull Request 16638
Fix dependency update GitHub workflow (thanks to @nsoranzo). Pull Request 16639
Force __DUPLICATE_FILE_TO_COLLECTION__ ‘size’ param to integer (thanks to @simonbray). Pull Request 16659
Update build_a_job_runner.rst (thanks to @maikenp). Pull Request 16673
Fix notifications icon not showing in Masthead (thanks to @davelopez). Pull Request 16679
Fix package version handling for initial minor releases (thanks to @dannon). Pull Request 16743
Account for shared usage between TS and galaxy apps (thanks to @jdavcs). Pull Request 16746
Fix large gap between labels and form elements (thanks to @ElectronicBlueberry). Pull Request 16753
Add deprecation notice for api/search (thanks to @jdavcs). Pull Request 16756
Don’t allow empty selection on required select field (thanks to @mvdbeek). Pull Request 16759
Fix public archived histories not importable (thanks to @davelopez). Pull Request 16766
Provide specific example for API docs - tags (thanks to @martenson). Pull Request 16769
Fix ItemOwnerShipException in tag removal (thanks to @mvdbeek). Pull Request 16773
Initial bug fixes for Tool Shed 2.0 (thanks to @jmchilton). Pull Request 16787
Fix short ids in tool panel views. (thanks to @jmchilton). Pull Request 16800
Use AlignedSegment.to_string (thanks to @mvdbeek). Pull Request 16803
Move the email and username redacting from the role loop (thanks to @martenson). Pull Request 16805
Move history and tool panel tooltips out of the way (thanks to @martenson). Pull Request 16808
Fix tool panel views for versionless tool ids (thanks to @mvdbeek). Pull Request 16809
Fix duplicate key eslint error (thanks to @mvdbeek). Pull Request 16810
Fix shed unit test (thanks to @mvdbeek). Pull Request 16811
Fix collection drilling (thanks to @davelopez). Pull Request 16819
Fix parameter display in job info page for tools with sections (thanks to @mvdbeek). Pull Request 16821
Tool Shed 2.0 fixes (thanks to @nsoranzo). Pull Request 16825
Fix workflow preview display if tool state does not contain all parameter values (thanks to @mvdbeek). Pull Request 16829
Specify uid for the k8s image (thanks to @afgane). Pull Request 16844
Exclude on_opened and on_closed from watcher events (thanks to @mvdbeek). Pull Request 16850
Allow referring to steps by label only in markdown editor (thanks to @mvdbeek). Pull Request 16861
Restore ToolsApi and create new api route for new panel structure (thanks to @ahmedhamidawan). Pull Request 16872
Fix delete collection + elements (thanks to @davelopez). Pull Request 16879
Fix join condition for nested collection query (thanks to @mvdbeek). Pull Request 16880
Fix bug in SQLAlchemy statement (thanks to @jdavcs). Pull Request 16881
Fix bug in SQLAlchemy statement: desc() applied to column, not statement (thanks to @jdavcs). Pull Request 16887
Update help in relabel_from_file.xml (thanks to @lldelisle). Pull Request 16891
Fix link to mercurial tip in Tool Shed 2.0 (thanks to @jmchilton). Pull Request 16895
Fix type annotation of
lib/tool_shed/test/functional/
(thanks to @nsoranzo). Pull Request 16901Fix navigation error in Tool Shed tests (thanks to @jmchilton). Pull Request 16902
Fix subtle bug in listify function + simplify list munging (thanks to @jdavcs). Pull Request 16904
Provide error message instead of internal server error (thanks to @mvdbeek). Pull Request 16905
Fix selenium selector for Workflow Run warnings (thanks to @davelopez). Pull Request 16908
Fix GQL infinite scrolling in Tool Shed (thanks to @jmchilton). Pull Request 16914
Fix library import from path linking files (thanks to @davelopez). Pull Request 16919
Fix discarded dataset ordering in Storage Dashboard (thanks to @davelopez). Pull Request 16929
Fix select parameter doesn’t show parameter name in UI (thanks to @ElectronicBlueberry). Pull Request 16942
Backport Fix select parameter doesn’t show parameter name in UI (thanks to @mvdbeek). Pull Request 16943
Don’t store job in JobIO instance attributes (thanks to @mvdbeek). Pull Request 16965
Workaround issue in Routes (thanks to @nsoranzo). Pull Request 16981
Fix rendering of an empty page (thanks to @dannon). Pull Request 16985
Empty page render fix - backport (thanks to @dannon). Pull Request 16992
Fixes for job metrics Galaxy markdown component (thanks to @jmchilton). Pull Request 16994
Fix copying metadata to copied job outputs (thanks to @mvdbeek). Pull Request 17007
Upgrade minimum conda to be compatible with latest conda-build (thanks to @bernt-matthias). Pull Request 17013
Fix filtering of active broadcasts for admins (thanks to @davelopez). Pull Request 17049
Use debounce instead of timeout utility (thanks to @guerler). Pull Request 17057
Disable conda_auto_init in embedded pulsar test cases (thanks to @mvdbeek). Pull Request 17061
Fix testing of the galaxy-tool-shed package (thanks to @nsoranzo). Pull Request 17062
Make job state param optional again (thanks to @mvdbeek). Pull Request 17077
Fix input dates in notifications: consider timezone offset (thanks to @davelopez). Pull Request 17088
Allow relative URLs in broadcasts action links (thanks to @davelopez). Pull Request 17093
Fix web_apps dependencies (thanks to @mvdbeek). Pull Request 17099
Implement missing upload for S3 file sources (thanks to @davelopez). Pull Request 17100
Set correct tool_path for packaged galaxy (thanks to @mvdbeek). Pull Request 17102
Expose file_name property in DatasetFilenameWrapper (thanks to @jdavcs). Pull Request 17107
Fix hid/elementindex for collection displays (thanks to @dannon). Pull Request 17110
Tool panel views overflow bug (thanks to @ahmedhamidawan). Pull Request 17112
Disable admin notifications management if notifications are disabled in config (thanks to @davelopez). Pull Request 17114
Add missing optional description field, fixes ephemeris data library example (thanks to @mvdbeek). Pull Request 17116
Fix CSS issue affecting all dropdown menus (thanks to @davelopez). Pull Request 17124
Fix job search when
command_version
is None (thanks to @nsoranzo). Pull Request 17129Assert that tus uploader instance has URL (thanks to @mvdbeek). Pull Request 17133
Make payload optional again for create tag API (thanks to @nsoranzo). Pull Request 17144
Fix select option appears for single select (thanks to @ElectronicBlueberry). Pull Request 17146
Add support for Cgroupsv2 (thanks to @natefoo). Pull Request 17169
Fix workflow index total matches counting (thanks to @davelopez). Pull Request 17176
Fix job destination extra params (thanks to @dannon). Pull Request 17186
Fix tools missing in panel bug (thanks to @ahmedhamidawan). Pull Request 17192
Fix Multiselect in BModal overflows out of view bug (thanks to @ahmedhamidawan). Pull Request 17197
Remove SingleItemSelector deselect label, fix history filters hidden on smaller screen (thanks to @ahmedhamidawan). Pull Request 17199
Fix url_for in tool error reports (thanks to @davelopez). Pull Request 17210
Fix ToolSearch bug for StaticToolPanelView`s (thanks to `@ahmedhamidawan). Pull Request 17213
Fix categories in ToolShed repo create API (thanks to @nsoranzo). Pull Request 17218
Fix job parameter display (thanks to @mvdbeek). Pull Request 17226
Fix User.current_galaxy_session (thanks to @mvdbeek). Pull Request 17232
Separate collection and non-collection data element (thanks to @mvdbeek). Pull Request 17236
To stay up to date with Galaxy’s progress, watch our screencasts; visit our community Hub; and follow us on Bluesky, Mastodon, and LinkedIn.
You can always chat with us on Matrix.
Thanks for using Galaxy!