What's Changed
π Major Changes
- Workflow Graph Search by @ElectronicBlueberry in #20390
- Empower Users to More Pragmatically Import Datasets & Collections From Tables by @jmchilton in #20288
- Add recent downloads page for STS requests by @davelopez in #20585
- Implement Sample Sheets by @jmchilton in #19305
- User preferences redesign by @itisAliRH in #19658
- New History List Using GCard by @itisAliRH in #20744
- Add Hugging Face π€ file source and user-defined template by @davelopez in #20805
- Add short term storage expiration indicator to history items by @davelopez in #20332
- Improve Invocation View step display by @ahmedhamidawan in #20912
- Change Advanced Tool Search to a Tool Discovery View by @ahmedhamidawan in #20747
- Split Login and Register, enable OIDC Registration. by @uwwint in #20287
- Adds IGV.js Visualization by @guerler in #20943
- [25.1] Support credentials(secrets/variables) in tool requirements by @arash77 in #19084
π New Features
- Add LocusZoom Visualization by @elmedjadjirayane in #20354
- Add rerun.io web viewer by @guerler in #20202
- Add a "Debug" (email report) tab to Workflow Invocations by @ahmedhamidawan in #20624
- Add embed-compatible view for galaxy pages by @dannon in #20737
- Add Multiple Sequence Alignment Viewer 2.0 by @guerler in #20907
- Allow creation of visualizations without dataset by @guerler in #20914
- Add tags to output datasets from tool form by @PlushZ in #19225
- Wire up and test resource requirement via tpv by @mvdbeek in #20936
- Add tool to add nesting level to collection by @bernt-matthias in #20926
- [25.1] Add Keyboard Navigation to History Lists by @itisAliRH in #21035
- [25.1] [igv] Allow selection of genomes from history fasta/2bit by @guerler in #21269
π§ Enhancements
- Update Javascript package licenses to MIT by @mr-c in #20264
- Update GitHub workflows to use PostgreSQL 17 image by @nsoranzo in #20292
- Install Visualization plugins as self-contained packages by @guerler in #20348
- Prepare
ToolBox.dynamic_tool_to_tool()for CWL formats by @nsoranzo in #20364 - Use full page width in reports and pages by @guerler in #20384
- History CitationsList export improvements by @dannon in #20402
- Enhance citations page by @davelopez in #20408
- Allow larger viz in pages by @guerler in #20427
- Selenium tests for various 24.2 features. by @jmchilton in #20215
- Implement dataset source requested transformations. by @jmchilton in #20435
- Base Implementation of GFormInput by @ElectronicBlueberry in #20418
- Test case for using URL-based workflow inputs with implicit conversions. by @jmchilton in #20509
- Fixes for invocation import. by @jmchilton in #20528
- Add Dataverse template by @davelopez in #20551
- Add username_key setting to configure python-social-auth OIDC by @marius-mather in #20497
- Display the Galaxy Citation within the Export Tool References List by @mschatz in #20584
- Improve BreadcrumbHeading and add unit tests by @itisAliRH in #20618
- Refactor Object Store Selection Modals UI by @itisAliRH in #19697
- Update location of latest tpv shared db by @nuwang in #20651
- Add markdown hint to schema by @bgruening in #20654
- Update tiffviewer visualization to version 0.0.3 by @davelopez in #20658
- Improve GCard visibility handling and type definitions by @itisAliRH in #20663
- Removes
entriesfrom purged filter label in history grid by @guerler in #20664 - Decode OIDC access token as part of authentication pipeline by @marius-mather in #20547
- Sort collection dialog by HID descending. by @jmchilton in #20674
- Unify History export UX using wizard by @davelopez in #20666
- Fix resource watcher composable race condition by @davelopez in #20690
- Refactor and use
ScrollListcomponent in more places by @mvdbeek in #19318 - History Components Navigation/Heading Improvements by @itisAliRH in #20702
- Remove deprecated tool document cache by @nsoranzo in #20510
- Make invocations panel reactive using the invocation store by @ahmedhamidawan in #20738
- Add more info to inheritance chain by @arash77 in #20701
- Make workflow invocation tabs routable by @ahmedhamidawan in #20719
- Hierarchical display collection dataset states by @mvdbeek in #20731
- Attempt to reuse previously materialized datasets by @mvdbeek in #20718
- Fail Jest tests on warn/error console logging. by @jmchilton in #20770
- A production data types checklist to aid creating/reviewing new data types by @jmchilton in #20768
- Stabilize client build after client-dev-server by @davelopez in #20777
- Add
selectedItemscomposable by @ahmedhamidawan in #19973 - Implement Data Landing Requests by @jmchilton in #20592
- Allow fine-grained selection of included files in Invocation Export Wizard by @davelopez in #20776
- Add
fsspecbase implementation for File Source plugins by @davelopez in #20698 - Enable data label column selection in basic Plotly plots and add heatmap by @guerler in #20813
- Fix fsspec fs path handling by @davelopez in #20799
- Modernize and Refactor Tour components by @ahmedhamidawan in #20771
- Update 2 docs pages by @nsoranzo in #20824
- Add small improvements for running CWL tools by @nsoranzo in #20826
- Migrate icon defs in CollectionOperations.vue to best practices. by @jmchilton in #20829
- Add configfiles support and various enhancements for user defined tools by @mvdbeek in #20761
- Add support for hierarchical module systems in lmod + module dependency resolvers by @t1mk1k in #20866
- Support remote file source hashes by @davelopez in #20853
- Drop Python helper script from sort1 tool by @nsoranzo in #20876
- Update JupyterLite version to 0.6.4 by @guerler in #20877
- Add visualization navigation guard by @dannon in #20881
- Add axt and maf to auto_compressed_types by @richard-burhans in #20875
- Add main tool CI tests by @nsoranzo in #20884
- Set default option to make datasets accessible only to individual users when sharing histories with particular users by @davelopez in #20886
- Various Container Execution Enhancements (including GCP Batch support) by @jmchilton in #20862
- Allow adding extra steps to the default pipeline of the OIDC authentication by @marius-mather in #20845
- Update Integration tests by @nsoranzo in #20844
- Enable dependabot version updates for GitHub actions by @nsoranzo in #20915
- Include format in internal json model by @mvdbeek in #20917
- Allow addressing user defined tools in job config by @mvdbeek in #20932
- Allow several Galaxy Markdown directives to be embedded. by @jmchilton in #19086
- Update pytest to v8 by @nsoranzo in #20838
- Don't serialize view of item in delete/purge request by @mvdbeek in #18732
- Add resource docs and tweak tool source schema title generation by @mvdbeek in #20951
- Improve cli and slurmcli runner traceability for job status and failure reasons by @selten in #20717
- Use a streaming based parser (ijson) when setting metadata for biom1 files. by @ksuderman in #20851
- Add a dedicated
ToolFormTagscomponent for tool form output tags by @ahmedhamidawan in #20945 - Replace tour_generator webhook with internal API and frontend by @ahmedhamidawan in #20868
- Update maf tools with profiles, required_files, and requirements. by @natefoo in #20865
- Allow sending and tracking landing request origin by @mvdbeek in #20957
- Track landing request with invocation by @mvdbeek in #20960
- Use nodejs-wheel to install node by @mvdbeek in #20963
- Log task execution errors with log.exception by @mvdbeek in #20970
- Limit admin requirement of selected tool data api endpoints by @guerler in #20949
- Make jupyterlite default visualization for ipynb by @guerler in #20931
- Simplify plugin staging with explicit clean step by @dannon in #20983
- Add special case for BAM files in RStudio by @bgruening in #20692
- Add support for picking
from_work_dirdirectory by @mvdbeek in #20916 - Modernize tools in the filters/ dir by @natefoo in #20840
- Consider collections in on_strings for parameters accepting multiple datasets by @bernt-matthias in #19817
- Allow specifying a command for determining a docker host port by @natefoo in #20953
- Implement bare-bones view of sample sheet collections as sheet. by @jmchilton in #20798
- Bump vitessce to 3.8.2 by @guerler in #21003
- Fix and migrate HIV-TRACE to Charts Visualization Framework by @guerler in #21006
- Add README and update the minimal visualization example by @guerler in #21007
- Bump up total-perspective-vortex dependency by @mvdbeek in #21014
- Add freq.json datatype subclass by @guerler in #21012
- [25.1] Fix GCard Layout and White Spaces by @itisAliRH in #21026
- [25.1] Use workflow-style payload in data landing request by @mvdbeek in #21107
- [25.1] Add 2 net utilities to the min image by @afgane in #21085
- [25.1] Tighter API for tool run tagging. by @jmchilton in #21210
- [25.1] Makes "set as current" the primary action in history list by @davelopez in #21233
- [25.1] Optimize /api/invocations/steps/{step_id} by @mvdbeek in #21249
- [25.1] Update tool profile version for credentials by @davelopez in #21273
- [25.0] New datatype addition: HAL by @SaimMomin12 in #21379
- [25.1] Add PNTS datatype for 3D Tiles Point Cloud by @kgerb in #21414
- [25.1] A better way to designate config_watcher by @jdavcs in #21426
- [25.1] Optionally include column headers in sample sheet file by @mvdbeek in #21439
π Bug Fixes
- Fix a transiently failing API test. by @jmchilton in #20278
- Add missing galaxy slots and memory tool by @mvdbeek in #20262
- Fix test timeout in k8s
test_slots_and_memorytest by @mvdbeek in #20284 - Fix memory and slots test by @mvdbeek in #20291
- Add built visualizations path to .gitignore by @guerler in #20355
- Type annotation fixes for mypy 1.16.0 by @nsoranzo in #20424
- Small tweaks and cleanup from sample sheets branch by @jmchilton in #20229
- Fix client build, set create_time by @mvdbeek in #20445
- Update mulled_containers.rst by @ccoulombe in #20446
- Change wording of the client side storage handling by @bgruening in #19815
- Restore Nora by @guerler in #20387
- Collection API related spelling fix. by @jmchilton in #20470
- Fix alembic down_revision for trigger replacement migration by @mvdbeek in #20501
- Add a merge migration, revert previous edit by @jdavcs in #20507
- Add missing cleanup table by @jdavcs in #20594
- Fix transient selenium error when adding collection input. by @jmchilton in #20460
- Require user for visualizations create endpoint by @guerler in #20615
- Use store to cache step jobs summary by @ahmedhamidawan in #20638
- Fix typo in lib/galaxy/config/sample/job_conf.sample.yml: enviroment --> environment by @blankenberg in #20652
- Remove select and deselect labels from visualization select field by @guerler in #20665
- Update core.history tour by @pavanvidem in #20576
- Fix UI Bug - don't allow checking deferred for local files. by @jmchilton in #20609
- Fix assertion on python version by @ccoulombe in #20696
- Remove decoded ids from job/dataset error report email by @ahmedhamidawan in #20714
- Fix Client Linting Run Error by @itisAliRH in #20734
- Various client unit test fixes and cleanup. by @jmchilton in #20752
- More client unit test clean up. by @jmchilton in #20755
- Consolidate visualization mako, avoid user agent styles by @guerler in #20760
- Fix various collection descriptions in history panel. by @jmchilton in #20736
- More cleanup for Jest output. by @jmchilton in #20769
- Sample Sheet Bug Fixes around Preserving Collection Metadata by @jmchilton in #20749
- Fix visualization installs by @dannon in #20788
- Fix Switch to history link click actions and add extensive jests by @ahmedhamidawan in #20783
- Add tool_id and tool_version column to tool_landing_request table by @mvdbeek in #20795
- Only show breadcrumb when on history permissions route (not in sharing view) by @ahmedhamidawan in #20800
- Fix webpack dev server detection by @mvdbeek in #20822
- Ignore yaml and json in prettier pre-commit hook by @mvdbeek in #20823
- Bump requirement of directory converters by @bernt-matthias in #20834
- Fix lint error in
WorkflowRunSuccessby @ahmedhamidawan in #20837 - Fix Ipynb datatype sniffer and add unit tests. by @ksuderman in #20811
- Workaround to numeric sorting in the local portion of tool versions if they are galaxy "build" numbers by @natefoo in #13570
- Improve type annotation for job runners and
InteractiveToolManagerby @nsoranzo in #20871 - Fix test in
configfile_user_defined.ymlby @nsoranzo in #20873 - Fix
multiple="true"data collection map over for shell_command tools by @mvdbeek in #20859 - Fix anndata metadata by @nilchia in #20778
- Update requirements of sort1 tool by @nsoranzo in #20892
- Likely fix for transiently failing published histories test. by @jmchilton in #20890
- Validate sample sheet column definitions in workflow definitions on backend. by @jmchilton in #20880
- Avoid overscroll behavior by @guerler in #20908
- Fix default conditional test parameters... by @jmchilton in #20942
- Remove 8 year old note that points at a non-existent subdomain by @scottcain in #20361
- Fix JupyterLite History Identifier Retrieval Without Dataset by @guerler in #20971
- Apply overscroll behavior setting to html by @guerler in #20975
- Fix optional numeric column definitions for sample sheets. by @jmchilton in #20830
- Check for
format="input"as well asformat="auto"in datatype linter by @bernt-matthias in #20177 - Extract: do not use common prefix dir by @bernt-matthias in #20929
- Fix jest tests -- wait for async calls in grid list by @dannon in #20986
- Ensure that conversion_key is defined by @guerler in #20984
- Fix comp1 / test_subworkflow_map_over_data_column by @mvdbeek in #20992
- Save IGV locus and improve error handling by @guerler in #20996
- Tsc fixes and pin by @dannon in #20985
- Fix content wrapping in cards and preference title by @guerler in #21009
- [25.1] Fix horizontal scrolling w/ GButton in input-group-append by @dannon in #21025
- [25.1] Restore .get_metadata function by @mvdbeek in #21045
- [25.1] Fix
TOOL_WITH_SHELL_COMMANDimport source by @mvdbeek in #21070 - [25.1] Fix Huggingface timestamp parsing when
last_commitis missing by @davelopez in #21072 - [25.1] Fix copy export download link for old exports by @davelopez in #21094
- [25.1] Fix invocation export dataset exclusion by @davelopez in #21091
- [25.1] Test and fix CORS on exceptions by @mvdbeek in #21105
- [25.1] Fix shift+click range select not working in history list by @ahmedhamidawan in #21117
- [25.1] Fix invalid invocation tab handling and unify disabled tab components by @ahmedhamidawan in #21115
- [25.1] Allow cors on data and tool landing pages by @mvdbeek in #21078
- [25.1] Fix GCS file source to handle virtual directories without marker objects by @dannon in #21051
- [25.1] Restore job.get_param_values by @mvdbeek in #21130
- [25.1] Improve _touch_collection_update_time_cte performance by @mvdbeek in #21134
- [25.1] Pin Ansible version by @ksuderman in #21141
- [25.1] Remove invocation view connection animations by @ahmedhamidawan in #21145
- [25.1] Use corepack to link yarn into $VIRTUALENV/bin by @mvdbeek in #21140
- [25.1] Mark user creation API endpoint as admin-only by @mvdbeek in #21149
- [25.1] Set minimum profile version for expression tools by @mvdbeek in #21151
- [25.1] Fix subworkflow editing by @mvdbeek in #21159
- [25.1] Add Convert characters1 to workflow safe updates by @mvdbeek in #21160
- [25.1] Use yarn instead of npx to use pinned openapi-typescript by @mvdbeek in #21164
- [25.1] Bump up minimal tpv version by @mvdbeek in #21166
- [25.1] Fix proxy endpoint encoding by @davelopez in #21169
- [25.1] Enable drag-and-drop of collection elements in IGV by @guerler in #21173
- [25.1] Save build date to GITHUB_OUTPUT by @ksuderman in #21181
- [25.1] Resolve possible symlink before establishing tool file location by @mvdbeek in #21175
- [25.1] Add Hyphy Vision Result Viewer by @guerler in #21196
- [25.1] Don't show the "view sheet" button for non-sample sheet collections. by @jmchilton in #21191
- [25.1] Allow collection builder to be invoked consecutively by @ahmedhamidawan in #21193
- [25.1] Drop single 'pair' from standard upload UI, preferring lists, or lists of pairs as options for user by @dannon in #21200
- [25.1] Don't create extra watchers when switching tabs by @natefoo in #21197
- [25.1] Assorted workbook upload fixes. by @jmchilton in #21203
- [25.1] Add missing more-itertools dependency by @nsoranzo in #21214
- [25.1] Wrap ontology card in tool discovery view below list view selector by @ahmedhamidawan in #21212
- [25.1] Fix downloading subworkflows without stored workflow by @mvdbeek in #21223
- [25.1] Fix href for tool links by @mvdbeek in #21232
- [25.1] Apply tool test timeout only once by @bernt-matthias in #21246
- [25.1] Fixes download for restricted Zenodo records by @davelopez in #21274
- [25.1] Prevent duplicate
current_history_jsoncalls by @ahmedhamidawan in #21282 - [25.1] Prevent duplicate fetches for full workflow in invocation view by @ahmedhamidawan in #21284
- [25.1] Fix keyed cache fetching over and over if fetched value is 0 by @ahmedhamidawan in #21293
- [25.1] Fix invocations scroll list cards to show update time by @ahmedhamidawan in #21294
- [25.1] Fix workbook download link by @jmchilton in #21261
- [25.1] Set
create_timeas the default time for sorting/display for invocations by @ahmedhamidawan in #21314 - [25.1] Add a rate limiter to the API client factory by @ahmedhamidawan in #21286
- [25.1] Fix
TERMINAL_STATESarray has a duplicate state by @ahmedhamidawan in #21342 - [25.0] Force correct client build by @mvdbeek in #21346
- [25.0] Fix fastapi package conflict by @mvdbeek in #21349
- [25.0] Backport smoke-test and pr jobs from dev branch by @ksuderman in #21350
- [24.2] Use anaconda API to find package download URL by @nsoranzo in #21360
- [25.1] Fix database revision tags by @jdavcs in #21377
- [25.0] Update the mulled.py script to check json output by @nilchia in #21276
- [25.0] Use a new format tox environment in lint GitHub action by @nsoranzo in #21419
- [25.1] Skip mako for rendering tool help by @mvdbeek in #21428
- [25.1] Fix db revision tags by @mvdbeek in #21442
- [25.1] Fix optional subworkflow input scheduling bug by @mvdbeek in #21435
- [25.1] Maintain columns on sample sheet map over by @mvdbeek in #21436
- [25.1] Update 25.1 release notes with config changes by @ahmedhamidawan in #21444
- [25.1] Fix 25.1 release month on user facing notes by @ahmedhamidawan in #21450
- [25.1] Sample sheet column fix by @mvdbeek in #21446
- [25.1] Fix sample_sheet column display by @mvdbeek in #21457
- [25.1] Maintain column definitions on map over by @mvdbeek in #21468
- [25.1] Record input parameter invocation inputs by @mvdbeek in #21452
- [25.1] Remove ref and polish release-drafter workflow by @ahmedhamidawan in #21467
- [25.1] Remove
release-drafterworkflow and add a release config file to improve generated notes by @ahmedhamidawan in #21478
π Security Updates
π§° Refactoring
- Version 25.1.dev by @ahmedhamidawan in #20268
- Remove backbone-based charts modules by @guerler in #19892
- Remove legacy visualizations by @guerler in #20173
- Switch Default Visualization Endpoint to script, migrate to YAML by @guerler in #20303
- Update create_time field to be required in history content items by @davelopez in #20357
- Refactor CollectionDescription component props to use HDCASummary by @davelopez in #20356
- Install visualizations directly to static path, avoid duplication by @guerler in #20372
- Remove vue-tsc diff comparison from CI by @dannon in #20620
- Drop ucsc test server from sample build sites by @mvdbeek in #20723
- Fix WorkflowComment tests warnings by @davelopez in #20762
- Increase wait time (retry) in UCSC data source test by @davelopez in #20772
- Apply eslint fixes by @mvdbeek in #20775
- Drop old load_workflow controller method, use API by @mvdbeek in #20774
- Refactor Files Sources Framework for stronger typing using pydantic models by @davelopez in #20728
- Remove Backbone from UI bootstrap initialization by @guerler in #20786
- Refactor MESSAGES constant in FileSourceTypeSpan.vue by @davelopez in #20806
- Fix new linting errors in unit test mounts by @davelopez in #20807
- Adapt S3 file source to fsspec by @davelopez in #20794
- Upgrade Prettier 3 by @dannon in #20815
- Remove Backbone dependency from webhook wrappers by @guerler in #20797
- Refactor sharing logic for unified type handling by @davelopez in #20888
- Replace deprecated
codecs.open()by @nsoranzo in #20891 - Small cleanup of tool execution code. by @jmchilton in #20899
- Move tours schema to schema directory (to fix package structure) by @ahmedhamidawan in #20965
- [25.1] Update version to 25.1.rc1 by @ahmedhamidawan in #21019
π Documentation
- [25.1] Add Release Drafter GitHub Action integration by @dannon in #21195
- [25.1] Release notes by @ahmedhamidawan in #21162
ποΈ Infrastructure & Dependencies
Other Changes
- Bump default milestone to 26.0 by @ahmedhamidawan in #20946
- Add 25.1 migration tags by @ahmedhamidawan in #21017
New Contributors
- @ccoulombe made their first contribution in #20446
- @elmedjadjirayane made their first contribution in #20354
- @t1mk1k made their first contribution in #20866
- @scottcain made their first contribution in #20361
- @kgerb made their first contribution in #21414
Full Changelog: v25.0.4...v25.1.0