diff --git a/doc/source/releases/24.1.rst b/doc/source/releases/24.1.rst new file mode 100644 index 000000000000..c050b13775a6 --- /dev/null +++ b/doc/source/releases/24.1.rst @@ -0,0 +1,965 @@ + +.. to_doc + +24.1 +=============================== + +.. announce_start + +Enhancements +------------------------------- + +.. major_feature + + +.. feature + +* Release notes + (thanks to `@jdavcs `__). + `Pull Request 18218`_ +* Implement a page object accessibility dialog + (thanks to `@jmchilton `__). + `Pull Request 17225`_ +* Enable all-vs-all collection analysis patterns + (thanks to `@jmchilton `__). + `Pull Request 17366`_ +* Visualizing workflow runs with an invocation graph view + (thanks to `@ahmedhamidawan `__). + `Pull Request 17413`_ +* Enables activity bar by default + (thanks to `@guerler `__). + `Pull Request 17531`_ +* Add onedata objectstore + (thanks to `@bwalkowi `__). + `Pull Request 17540`_ +* Add content assertion XML tags for test output verification using images + (thanks to `@kostrykin `__). + `Pull Request 17581`_ +* Workflow editor item selection + (thanks to `@ElectronicBlueberry `__). + `Pull Request 17615`_ +* Workflow editor undo/redo + (thanks to `@ElectronicBlueberry `__). + `Pull Request 17774`_ +* Enable managing object store usage within a history. + (thanks to `@jmchilton `__). + `Pull Request 17853`_ +* Add `email` notifications channel + (thanks to `@davelopez `__). + `Pull Request 17914`_ +* Script for deleting userless histories from database + testing + drop unused model testing code + (thanks to `@jdavcs `__). + `Pull Request 18079`_ +* Add Net datatype + (thanks to `@martenson `__). + `Pull Request 18080`_ +* Overhaul Azure storage infrastructure + (thanks to `@jmchilton `__). + `Pull Request 18087`_ +* Empower users to bring their own storage and file sources + (thanks to `@jmchilton `__). + `Pull Request 18127`_ +* More unit testing for object store stuff + (thanks to `@jmchilton `__). + `Pull Request 18136`_ +* Add an Invocations Panel for the Invocations activity + (thanks to `@ahmedhamidawan `__). + `Pull Request 18137`_ +.. enhancement_tag_viz + +* Update parcel-built visualizations to use parcel v2 + (thanks to `@dannon `__). + `Pull Request 18311`_ +.. enhancement_tag_datatypes + +* Tighten axt sniffer + (thanks to `@martenson `__). + `Pull Request 18204`_ +* Better display of estimated line numbers and add number of columns for tabular + (thanks to `@bernt-matthias `__). + `Pull Request 17492`_ +* Add colabfold tar file datatype + (thanks to `@astrovsky01 `__). + `Pull Request 17567`_ +* Set minimal metadata also for empty bed datasets + (thanks to `@wm75 `__). + `Pull Request 17586`_ +* Add support for additional media types + (thanks to `@arash77 `__). + `Pull Request 18054`_ +.. enhancement_tag_tools + +* Backport Qiskit Jupyter Notebook update to 24.1 + (thanks to `@natefoo `__). + `Pull Request 18310`_ +* Rename JupyTool to something more searchable (i.e. JupyterLab which includes the substring Jupyter) + (thanks to `@hexylena `__). + `Pull Request 17849`_ +.. enhancement_tag_workflows + +* Allow running and editing workflows for specific versions + (thanks to `@ahmedhamidawan `__). + `Pull Request 18378`_ +* Update labels in Markdown editor when workflow labels change + (thanks to `@jmchilton `__). + `Pull Request 17863`_ +* Add galaxy to user agent + (thanks to `@mvdbeek `__). + `Pull Request 18003`_ +.. enhancement_tag_ui + +* Add vue sentry integration + (thanks to `@mvdbeek `__). + `Pull Request 18120`_ +.. enhancement_tag_jobs + +* Only include tool stdout/stderr in HDA info + (thanks to `@natefoo `__). + `Pull Request 16730`_ +* Fix boto3-stubs typecheck dependency + (thanks to `@nsoranzo `__). + `Pull Request 18173`_ +.. enhancement_tag_admin + +* Add some admin facing docs on data tables + (thanks to `@bernt-matthias `__). + `Pull Request 17585`_ +* Make urgent notifications mandatory + (thanks to `@davelopez `__). + `Pull Request 17975`_ +* Add middleware for logging start and end of request + (thanks to `@mvdbeek `__). + `Pull Request 18046`_ +.. enhancement + +* Backport `#18197 `__ + (thanks to `@nsoranzo `__). + `Pull Request 18212`_ +* Drop restriction to switch to immutable histories + (thanks to `@davelopez `__). + `Pull Request 18234`_ +* Allow bookmarking public workflows + (thanks to `@itisAliRH `__). + `Pull Request 18247`_ +* More structured indexing for user data objects + (thanks to `@jmchilton `__). + `Pull Request 18291`_ +* Display error message if not an image in reports + (thanks to `@davelopez `__). + `Pull Request 18309`_ +* Add copy link to published workflow in `WorkflowCard` + (thanks to `@itisAliRH `__). + `Pull Request 18370`_ +* Onedada object store and files source stability fixes + (thanks to `@bwalkowi `__). + `Pull Request 18372`_ +* Persistent toggle sections of job info + (thanks to `@dannon `__). + `Pull Request 16983`_ +* Enable storage management by object store + (thanks to `@jmchilton `__). + `Pull Request 17500`_ +* Automatically bind `galaxy_data_manager_data_path` in containers + (thanks to `@bernt-matthias `__). + `Pull Request 17596`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 17653`_ +* Tool linter: check for valid bio.tools entries + (thanks to `@bernt-matthias `__). + `Pull Request 17655`_ +* Tool linter: check for leaf nodes with unstripped text content + (thanks to `@bernt-matthias `__). + `Pull Request 17656`_ +* Addition of release process doc + (thanks to `@dannon `__). + `Pull Request 17680`_ +* Issue `#17631 `__: Make it possible to use custom invfile.lua if needed + (thanks to `@martin-g `__). + `Pull Request 17693`_ +* Add browser and operating system info to issue template + (thanks to `@ElectronicBlueberry `__). + `Pull Request 17696`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 17764`_ +* SQLAlchemy 2.0 + (thanks to `@jdavcs `__). + `Pull Request 17778`_ +* Add support for floating point TIFF files in verification of image-based tool outputs + (thanks to `@kostrykin `__). + `Pull Request 17797`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 17819`_ +* Add tool linting for valid EDAM terms + (thanks to `@bernt-matthias `__). + `Pull Request 17839`_ +* Add `pin_labels` attribute for `image_diff` comparison method + (thanks to `@kostrykin `__). + `Pull Request 17866`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 17870`_ +* Add admin activity to activity bar + (thanks to `@guerler `__). + `Pull Request 17877`_ +* Disable published item copy button when editing slug + (thanks to `@martenson `__). + `Pull Request 17888`_ +* Outline use of type_annotation_map to fix mypy issues + (thanks to `@jmchilton `__). + `Pull Request 17902`_ +* Do not save workflow on Run without user confirmation + (thanks to `@ahmedhamidawan `__). + `Pull Request 17907`_ +* Update config docs about Celery + (thanks to `@davelopez `__). + `Pull Request 17918`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 17923`_ +* Adds pages to the activity bar + (thanks to `@guerler `__). + `Pull Request 17925`_ +* Revises visualizations activity + (thanks to `@guerler `__). + `Pull Request 17931`_ +* Error reporting unit tests + (thanks to `@jmchilton `__). + `Pull Request 17968`_ +* Update _thanks.rst in the User Release Notes to include new socials and remove inactive ones + (thanks to `@natwhitaker `__). + `Pull Request 17971`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 17982`_ +* Add tags to data dialog display, restores update_time and extension columns + (thanks to `@guerler `__). + `Pull Request 17992`_ +* Reduce notifications polling frequency + (thanks to `@davelopez `__). + `Pull Request 18010`_ +* Consolidate Visualization container, avoid using default iframe + (thanks to `@guerler `__). + `Pull Request 18016`_ +* Document syntax for accessing nested parameters in `change_format` - `when` tags + (thanks to `@bernt-matthias `__). + `Pull Request 18018`_ +* Add Zenodo integration + (thanks to `@davelopez `__). + `Pull Request 18022`_ +* Add a button that filters out a tool section in the tool panel + (thanks to `@ahmedhamidawan `__). + `Pull Request 18034`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 18035`_ +* Add datasets/collections filter to history panel filters + (thanks to `@ahmedhamidawan `__). + `Pull Request 18039`_ +* Add pagination support to Files Source plugins + (thanks to `@davelopez `__). + `Pull Request 18059`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 18063`_ +* Add Attributes section to Edit Collection view as well + (thanks to `@ahmedhamidawan `__). + `Pull Request 18071`_ +* Enhance form drilldown + (thanks to `@hujambo-dunia `__). + `Pull Request 18074`_ +* Change `InvocationsList` into a grid using `GridList` + (thanks to `@ahmedhamidawan `__). + `Pull Request 18088`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 18095`_ +* Workflow preview improvements + (thanks to `@itisAliRH `__). + `Pull Request 18108`_ +* Drop "?" (Help) from DatasetActions list + (thanks to `@dannon `__). + `Pull Request 18124`_ +* Update Python dependencies + (thanks to `@galaxybot `__). + `Pull Request 18125`_ +* Revises handling of warnings in the workflow run form + (thanks to `@guerler `__). + `Pull Request 18126`_ +* Display DOIs in Archived Histories + (thanks to `@davelopez `__). + `Pull Request 18134`_ +* Update s3fs dependency + (thanks to `@jmchilton `__). + `Pull Request 18135`_ +* Harden User Object Store and File Source Creation + (thanks to `@jmchilton `__). + `Pull Request 18172`_ +* Move activity panel go to button to top + (thanks to `@ahmedhamidawan `__). + `Pull Request 18182`_ +* Update db revision 24.1 release tags + (thanks to `@jdavcs `__). + `Pull Request 18183`_ +* Play nice with password managers + (thanks to `@martenson `__). + `Pull Request 18206`_ +.. small_enhancement + +* Remove deprecated BCO export endpoint + (thanks to `@martenson `__). + `Pull Request 16645`_ +* Login components refactors + (thanks to `@itisAliRH `__). + `Pull Request 17564`_ +* Collections common refactors + (thanks to `@itisAliRH `__). + `Pull Request 17571`_ +* Modernization and cleanup of job state related client code + (thanks to `@jmchilton `__). + `Pull Request 17593`_ +* Type annotation improvements + (thanks to `@nsoranzo `__). + `Pull Request 17601`_ +* Type annotation and CWL-related improvements + (thanks to `@nsoranzo `__). + `Pull Request 17630`_ +* Collection components refactors + (thanks to `@itisAliRH `__). + `Pull Request 17647`_ +* Code cleanups from ruff and pyupgrade + (thanks to `@nsoranzo `__). + `Pull Request 17654`_ +* Activity bar preference handling fixes + (thanks to `@dannon `__). + `Pull Request 17701`_ +* Datasets refactors + (thanks to `@itisAliRH `__). + `Pull Request 17799`_ +* Consolidates data dialog components + (thanks to `@guerler `__). + `Pull Request 17802`_ +* Dataset information refactors + (thanks to `@itisAliRH `__). + `Pull Request 17804`_ +* Mailing list wording tweaks + (thanks to `@dannon `__). + `Pull Request 17867`_ +* Model edits and bug fixes + (thanks to `@jdavcs `__). + `Pull Request 17922`_ +* Fix client types around history items + (thanks to `@davelopez `__). + `Pull Request 17924`_ +* Model typing and SA2.0 follow-up + (thanks to `@jdavcs `__). + `Pull Request 17958`_ +* Use typed API client for reporting job errors + (thanks to `@jmchilton `__). + `Pull Request 17969`_ +* Drop unused workflow controller methods + (thanks to `@mvdbeek `__). + `Pull Request 17974`_ +* Enable ``warn_unused_ignores`` mypy option + (thanks to `@nsoranzo `__). + `Pull Request 17991`_ +* Refactor convert HistoryExport component to Typescript + (thanks to `@davelopez `__). + `Pull Request 18028`_ +* More typing in galaxy.files + (thanks to `@jmchilton `__). + `Pull Request 18037`_ +* Refactor galaxy.files plugin loading + config handling + (thanks to `@jmchilton `__). + `Pull Request 18049`_ +* Add stronger type annotations in file sources + refactoring + (thanks to `@davelopez `__). + `Pull Request 18050`_ +* Enable flake8-implicit-str-concat ruff rules + (thanks to `@nsoranzo `__). + `Pull Request 18067`_ +* Ensure history `update_time` is set when exporting + (thanks to `@davelopez `__). + `Pull Request 18086`_ +* De-duplication of onedata objectstore code + (thanks to `@jmchilton `__). + `Pull Request 18174`_ + + +Fixes +------------------------------- + +.. major_bug + + +.. bug_tag_viz + +* Check various preconditions in FeatureLocationIndexDataProvider + (thanks to `@davelopez `__). + `Pull Request 18283`_ +* Adds pinia to manually mounted vue components + (thanks to `@guerler `__). + `Pull Request 18299`_ +* Fix visualizations compatible dataset filtering + (thanks to `@davelopez `__). + `Pull Request 18343`_ +* Fix pca 3d rendering of tabular files and visualization error handling in general + (thanks to `@mvdbeek `__). + `Pull Request 18211`_ +.. bug_tag_datatypes + +* Don't set dataset peek for errored jobs + (thanks to `@mvdbeek `__). + `Pull Request 18231`_ +* Npz sniffing: do not read the whole file + (thanks to `@bernt-matthias `__). + `Pull Request 17672`_ +* Never fail dataset serialization if display_peek fails + (thanks to `@mvdbeek `__). + `Pull Request 17937`_ +.. bug_tag_tools + +* Raise exception when extracting dataset from collection without datasets + (thanks to `@mvdbeek `__). + `Pull Request 18249`_ +* Fix null inputs in database operation tools + (thanks to `@mvdbeek `__). + `Pull Request 18385`_ +.. bug_tag_workflows + +* Drop unnecessary escaping for workflow name and annotation + (thanks to `@mvdbeek `__). + `Pull Request 18376`_ +* Fix invocation step_job_summary for new collections + (thanks to `@mvdbeek `__). + `Pull Request 18402`_ +* Fix `input_step_parameters` missing values that don't have a label + (thanks to `@ahmedhamidawan `__). + `Pull Request 18405`_ +* Fixes for mapping workflow labels to markdown dialogs + (thanks to `@jmchilton `__). + `Pull Request 17424`_ +* Fix workflow run form failing on certain histories + (thanks to `@mvdbeek `__). + `Pull Request 17869`_ +* Make sure step removal also resets mapOver state + (thanks to `@mvdbeek `__). + `Pull Request 17915`_ +* Fix workflow run form for workflows with null rename PJA + (thanks to `@mvdbeek `__). + `Pull Request 17929`_ +* Fix missing implicit conversion for mapped over jobs + (thanks to `@mvdbeek `__). + `Pull Request 17952`_ +* Fix `LengthValidator` if no value passed + (thanks to `@mvdbeek `__). + `Pull Request 17983`_ +* Use or copy StoredWorkflow when copying step + (thanks to `@mvdbeek `__). + `Pull Request 17988`_ +* Don't commit in ``DeleteIntermediatesAction`` + (thanks to `@mvdbeek `__). + `Pull Request 18131`_ +* Fix submitted value in workflow run form if data is constrained by tag filter + (thanks to `@mvdbeek `__). + `Pull Request 18193`_ +.. bug_tag_ui + +* Bump es5-ext from 0.10.62 to 0.10.63 in /client + (thanks to `@dependabot[bot] `__). + `Pull Request 17555`_ +* Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /client + (thanks to `@dependabot[bot] `__). + `Pull Request 17820`_ +* Bump express from 4.18.1 to 4.19.2 in /client + (thanks to `@dependabot[bot] `__). + `Pull Request 17840`_ +* Bump undici from 5.28.3 to 5.28.4 in /client + (thanks to `@dependabot[bot] `__). + `Pull Request 17905`_ +* Update prebuilt client + (thanks to `@dannon `__). + `Pull Request 18000`_ +* Fix tag regex pattern + (thanks to `@jdavcs `__). + `Pull Request 18025`_ +.. bug_tag_jobs + +* Restrict job_files access to jobs that are not terminal + (thanks to `@mvdbeek `__). + `Pull Request 18217`_ +* Raise appropriate exception if accessing deleted input file + (thanks to `@mvdbeek `__). + `Pull Request 18223`_ +* Fix seek in slurm memory check + (thanks to `@mvdbeek `__). + `Pull Request 18338`_ +* Do not copy purged outputs to object store + (thanks to `@mvdbeek `__). + `Pull Request 18342`_ +* Kill pulsar job if job stopped on galaxy side + (thanks to `@mvdbeek `__). + `Pull Request 18348`_ +* Always discard session after __handle_waiting_jobs is done + (thanks to `@mvdbeek `__). + `Pull Request 17913`_ +* Fix tool form building if select filters from unavailable dataset metadata + (thanks to `@mvdbeek `__). + `Pull Request 17930`_ +* Fix ``InvalidRequestError: Can't operate on closed transaction inside context manager. Please complete the context manager before emitting further + commands.`` + (thanks to `@mvdbeek `__). + `Pull Request 17932`_ +* Downgrade missing output file in working directory to warning for failed jobs + (thanks to `@mvdbeek `__). + `Pull Request 18123`_ +* Drop redundant error message + (thanks to `@mvdbeek `__). + `Pull Request 18156`_ +* Don't fail metadata if we only have an extra output files dir + (thanks to `@mvdbeek `__). + `Pull Request 18179`_ +* Avoid object store path lookup when constructing JobState object + (thanks to `@mvdbeek `__). + `Pull Request 18190`_ +.. bug_tag_admin + +* Only log error if deleting directory really failed + (thanks to `@mvdbeek `__). + `Pull Request 18236`_ +* Rebuild Galaxy config + (thanks to `@bgruening `__). + `Pull Request 18325`_ +* Downgrade doi fetch error to debug + (thanks to `@mvdbeek `__). + `Pull Request 18330`_ +* Include exception info when something goes wrong while refreshing tokens + (thanks to `@mvdbeek `__). + `Pull Request 18008`_ +* Don't log exception if cancelled slurm job doesn't have stderr file + (thanks to `@mvdbeek `__). + `Pull Request 18121`_ +* Downgrade count lines error to warning + (thanks to `@mvdbeek `__). + `Pull Request 18175`_ +* Emit warning when user-cancelled job already complete + (thanks to `@mvdbeek `__). + `Pull Request 18178`_ +* Include stack when reporting delete error + (thanks to `@mvdbeek `__). + `Pull Request 18208`_ +.. bug + +* Pin pydantic to >=2.7.4 + (thanks to `@nsoranzo `__). + `Pull Request 18423`_ +* do not expand datasets that are known to be inaccessible + (thanks to `@martenson `__). + `Pull Request 17818`_ +* Prevent anonymous and inactive users from running workflows + (thanks to `@ahmedhamidawan `__). + `Pull Request 18192`_ +* Revert some requests import changes + (thanks to `@nsoranzo `__). + `Pull Request 18199`_ +* Check dataset state when attempting to acces dataset contents + (thanks to `@mvdbeek `__). + `Pull Request 18214`_ +* Raise ``RequestParameterInvalidException`` if url can't be verified + (thanks to `@mvdbeek `__). + `Pull Request 18230`_ +* Reset content-length for unhandled exceptions + (thanks to `@mvdbeek `__). + `Pull Request 18233`_ +* Fix element serialization for collections that aren't populated yet + (thanks to `@mvdbeek `__). + `Pull Request 18235`_ +* Fix userOwnsHistory conditions + (thanks to `@davelopez `__). + `Pull Request 18243`_ +* Small bug fixes for user data plugins + (thanks to `@jmchilton `__). + `Pull Request 18246`_ +* Transparently open compressed files in DatasetDataProvider + (thanks to `@mvdbeek `__). + `Pull Request 18248`_ +* Skip tests if toolshed, dx.doi not responding + (thanks to `@mvdbeek `__). + `Pull Request 18250`_ +* Fix history export error handling + (thanks to `@davelopez `__). + `Pull Request 18251`_ +* Remove linter for unstripped text content for tool xml leaves + (thanks to `@bernt-matthias `__). + `Pull Request 18252`_ +* Fix Invenio credentials handling + (thanks to `@davelopez `__). + `Pull Request 18255`_ +* Set page importable to false when serializing + (thanks to `@mvdbeek `__). + `Pull Request 18263`_ +* Add missing TS migration + (thanks to `@jdavcs `__). + `Pull Request 18267`_ +* Format with black + (thanks to `@nsoranzo `__). + `Pull Request 18273`_ +* Fix handler: access to result row items changed in SA2.0 + (thanks to `@jdavcs `__). + `Pull Request 18274`_ +* Don't attempt to download purged datasets + (thanks to `@mvdbeek `__). + `Pull Request 18278`_ +* Fix first_dataset_element type hint + (thanks to `@mvdbeek `__). + `Pull Request 18284`_ +* Redirect anonymous users to home when importing public histories + (thanks to `@davelopez `__). + `Pull Request 18286`_ +* Use correct link for log in or register in Copy Modal + (thanks to `@davelopez `__). + `Pull Request 18289`_ +* Add TS db revision tags for 24.0 + (thanks to `@jdavcs `__). + `Pull Request 18294`_ +* Move tool shed specific driver function to tool_shed.test + (thanks to `@mvdbeek `__). + `Pull Request 18296`_ +* Fix various packages' issues + (thanks to `@nsoranzo `__). + `Pull Request 18301`_ +* Fix "label updated" popup triggers too often + (thanks to `@ElectronicBlueberry `__). + `Pull Request 18303`_ +* Adapt Tool prediction API to Transformer-based deep learning architecture + (thanks to `@anuprulez `__). + `Pull Request 18305`_ +* Fix word bleeding in modals, sharing page and history rename + (thanks to `@itisAliRH `__). + `Pull Request 18306`_ +* Don't serialize display application links for deleted datasets + (thanks to `@mvdbeek `__). + `Pull Request 18307`_ +* Fix non-history items drag&drop into histories + (thanks to `@davelopez `__). + `Pull Request 18308`_ +* Filter data dialog entries by dataset state, only display `ok` state + (thanks to `@guerler `__). + `Pull Request 18313`_ +* Fix pinia in manually mounted components + (thanks to `@davelopez `__). + `Pull Request 18315`_ +* Disable state filter for collections in `HistoryFilters` + (thanks to `@ahmedhamidawan `__). + `Pull Request 18324`_ +* Fix users API serialization when listing users + (thanks to `@davelopez `__). + `Pull Request 18329`_ +* Fix authentication error for anonymous users querying jobs + (thanks to `@davelopez `__). + `Pull Request 18333`_ +* Make sure that all Linter subclasses are imported for listing them + (thanks to `@bernt-matthias `__). + `Pull Request 18339`_ +* Fix anonymous user job retrieval logic + (thanks to `@davelopez `__). + `Pull Request 18358`_ +* Fix check for anonymous + (thanks to `@jdavcs `__). + `Pull Request 18364`_ +* Fix update group API payload model + (thanks to `@davelopez `__). + `Pull Request 18374`_ +* Sanitize FormElement error messages + (thanks to `@mvdbeek `__). + `Pull Request 18377`_ +* Fix empty usernames in database + bug in username generation + (thanks to `@jdavcs `__). + `Pull Request 18379`_ +* Fix user's private role can be missing + (thanks to `@davelopez `__). + `Pull Request 18381`_ +* Fix duplicated requests when browsing files sources with pagination + (thanks to `@davelopez `__). + `Pull Request 18387`_ +* Fix dataset details polling re-render + (thanks to `@itisAliRH `__). + `Pull Request 18388`_ +* Assign default ``data`` extension on discovered collection output + (thanks to `@mvdbeek `__). + `Pull Request 18389`_ +* Fix workflow editor tool form scroll memory + (thanks to `@ElectronicBlueberry `__). + `Pull Request 18390`_ +* Reset current page when browsing sub-folders in FilesSources + (thanks to `@davelopez `__). + `Pull Request 18395`_ +* Fix workflow tags initialisation in workflow editor + (thanks to `@itisAliRH `__). + `Pull Request 18396`_ +* Fix ``get_accessible_job`` if called without session + (thanks to `@mvdbeek `__). + `Pull Request 18400`_ +* Allow in_range validator for selects + (thanks to `@bernt-matthias `__). + `Pull Request 18403`_ +* Ensure datatypes match on dragging elements into FormData + (thanks to `@mvdbeek `__). + `Pull Request 18410`_ +* Really allow in-range validator for txt + (thanks to `@bernt-matthias `__). + `Pull Request 18411`_ +* Fix collection map over status for dragged collections + (thanks to `@mvdbeek `__). + `Pull Request 18416`_ +* Add TypedDict for JobsSummary + (thanks to `@mvdbeek `__). + `Pull Request 18418`_ +* Serialize purged flag for datasets in collections + (thanks to `@davelopez `__). + `Pull Request 18420`_ +* Unpin social-auth-core dependency + (thanks to `@nsoranzo `__). + `Pull Request 17607`_ +* remove reference to a non-existent component + (thanks to `@martenson `__). + `Pull Request 17686`_ +* Add carbon_intensity.csv to package + (thanks to `@nuwang `__). + `Pull Request 17748`_ +* Fix bug in image_util.py + (thanks to `@kostrykin `__). + `Pull Request 17749`_ +* Fix bug in galaxy.xsd + (thanks to `@kostrykin `__). + `Pull Request 17752`_ +* Fix bug in `assert_has_image_n_labels` + (thanks to `@kostrykin `__). + `Pull Request 17754`_ +* Fix odd object store exception + (thanks to `@jmchilton `__). + `Pull Request 17810`_ +* Fix permissions for temporary upload file for API uploads + (thanks to `@bernt-matthias `__). + `Pull Request 17850`_ +* Fix tool version switch in editor + (thanks to `@mvdbeek `__). + `Pull Request 17858`_ +* Remove duplicate tool panel insertion, rely on activity bar + (thanks to `@guerler `__). + `Pull Request 17872`_ +* Fix hasOwner function for histories in client + (thanks to `@ahmedhamidawan `__). + `Pull Request 17886`_ +* Always serialize element_count and populated when listing contents + (thanks to `@mvdbeek `__). + `Pull Request 17890`_ +* Make `wait_for_history_jobs` look at jobs, not datasets + (thanks to `@mvdbeek `__). + `Pull Request 17892`_ +* Fix release notes + (thanks to `@jdavcs `__). + `Pull Request 17894`_ +* Fix deadlock that can occur when changing job state + (thanks to `@mvdbeek `__). + `Pull Request 17896`_ +* Fix search and version menu in docs + (thanks to `@nsoranzo `__). + `Pull Request 17898`_ +* Fix conditional Image imports + (thanks to `@mvdbeek `__). + `Pull Request 17899`_ +* Fix lost reports when switching workflow versions + (thanks to `@mvdbeek `__). + `Pull Request 17904`_ +* Fix saving user preferences crashes tab + (thanks to `@ElectronicBlueberry `__). + `Pull Request 17917`_ +* Ensures that the activity bar is not shown when use_panels is set to false + (thanks to `@guerler `__). + `Pull Request 17926`_ +* Replace sample Celery result_backend in config + (thanks to `@davelopez `__). + `Pull Request 17949`_ +* Show dataset image in workflow_outputs display listing + (thanks to `@dannon `__). + `Pull Request 17964`_ +* Fix get_content_as_text for compressed text datatypes + (thanks to `@mvdbeek `__). + `Pull Request 17976`_ +* History import - show user feedback on completion + (thanks to `@dannon `__). + `Pull Request 17980`_ +* Backport: Fix bug: call unique() on result, not select stmt + (thanks to `@jdavcs `__). + `Pull Request 17981`_ +* Raise ``RequestParameterInvalidException`` if collection element has unknown extension + (thanks to `@mvdbeek `__). + `Pull Request 17985`_ +* Don't attempt to commit in dry_run mode + (thanks to `@mvdbeek `__). + `Pull Request 17987`_ +* Don't fail if reporting invalid parameter values + (thanks to `@mvdbeek `__). + `Pull Request 18002`_ +* Preserve surrounding whitespace when localizing complex nodes + (thanks to `@dannon `__). + `Pull Request 18005`_ +* Add section divider to activity bar, fix click handler + (thanks to `@guerler `__). + `Pull Request 18007`_ +* Raise ``MessageException`` when report references invalid workflow output + (thanks to `@mvdbeek `__). + `Pull Request 18009`_ +* Avoid exception when opening apply rules tool and no collection in history + (thanks to `@mvdbeek `__). + `Pull Request 18011`_ +* Don't commit without having set a hid + (thanks to `@mvdbeek `__). + `Pull Request 18014`_ +* Make celery fixture available in framework tests + (thanks to `@mvdbeek `__). + `Pull Request 18020`_ +* Add a link to histories list in history import message for situations… + (thanks to `@dannon `__). + `Pull Request 18021`_ +* Raise appropriate exception if user forces a collection that is not populated with elements as input + (thanks to `@mvdbeek `__). + `Pull Request 18023`_ +* Fix ``test_get_tags_histories_content`` test + (thanks to `@mvdbeek `__). + `Pull Request 18026`_ +* Clarify the object store relocate functionality + (thanks to `@martenson `__). + `Pull Request 18033`_ +* Fix History Dataset Association creation so that hid is always set + (thanks to `@mvdbeek `__). + `Pull Request 18036`_ +* Change wrong quota_source value from KeyError to ValueError + (thanks to `@mvdbeek `__). + `Pull Request 18040`_ +* Ensure that offset and limit are never negative + (thanks to `@mvdbeek `__). + `Pull Request 18044`_ +* Fix comments lost on import + (thanks to `@ElectronicBlueberry `__). + `Pull Request 18060`_ +* Fix (I think) a transiently failing selenium error + (thanks to `@jmchilton `__). + `Pull Request 18065`_ +* Check database connection to issue a rollback if no connection + (thanks to `@jdavcs `__). + `Pull Request 18070`_ +* Fix toolbar header z-index + (thanks to `@itisAliRH `__). + `Pull Request 18084`_ +* Dynamic tool fixes + (thanks to `@dcore94 `__). + `Pull Request 18085`_ +* Raise exception if collection elements missing during download + (thanks to `@jdavcs `__). + `Pull Request 18094`_ +* Tests and bugfixes for cloudbridge object store + (thanks to `@jmchilton `__). + `Pull Request 18099`_ +* Fix AWS object store for us-east-2 + (thanks to `@jmchilton `__). + `Pull Request 18100`_ +* Hide bookmark toggle on deleted workflows + (thanks to `@itisAliRH `__). + `Pull Request 18103`_ +* Fix for unexpected OIDC XML validation error + (thanks to `@Edmontosaurus `__). + `Pull Request 18106`_ +* Fix vanishing connections on workflow upgrade + (thanks to `@ElectronicBlueberry `__). + `Pull Request 18107`_ +* Fix activity bar touch events on iOS devices + (thanks to `@mvdbeek `__). + `Pull Request 18109`_ +* Fairly critical fix for `#18087 `__ + (thanks to `@jmchilton `__). + `Pull Request 18110`_ +* Fix and unify axios error handling + (thanks to `@mvdbeek `__). + `Pull Request 18112`_ +* Fix switching between nested collection elements + (thanks to `@mvdbeek `__). + `Pull Request 18115`_ +* Ignore AdminRequired and RegisteredUserRequired Sentry events + (thanks to `@mvdbeek `__). + `Pull Request 18118`_ +* Fix deprecated `deprecated` argument + (thanks to `@mvdbeek `__). + `Pull Request 18119`_ +* Include traceback when logging email PJA exception + (thanks to `@mvdbeek `__). + `Pull Request 18122`_ +* Fix listing possibly untitled records in Invenio Plugin + (thanks to `@davelopez `__). + `Pull Request 18130`_ +* Fix data default values not getting added to history + (thanks to `@mvdbeek `__). + `Pull Request 18132`_ +* Fix undefined `reading 'produces_entry_points'` TypeError + (thanks to `@ahmedhamidawan `__). + `Pull Request 18141`_ +* Fix config access in StorageManager + (thanks to `@dannon `__). + `Pull Request 18143`_ +* Fix Legacy HTML page view + (thanks to `@mvdbeek `__). + `Pull Request 18145`_ +* Delay tool form rendering until config is loaded + (thanks to `@mvdbeek `__). + `Pull Request 18151`_ +* Raise ``RequestParameterInvalidException`` when url is invalid + (thanks to `@mvdbeek `__). + `Pull Request 18155`_ +* Fix error message when accessing restricted Zenodo records + (thanks to `@davelopez `__). + `Pull Request 18169`_ +* Small refinements and fixes to new release process doc + (thanks to `@nsoranzo `__). + `Pull Request 18170`_ +* Add message to Invocations panel for no invocations + (thanks to `@ahmedhamidawan `__). + `Pull Request 18180`_ +* Fix typos in create release documentation page + (thanks to `@jdavcs `__). + `Pull Request 18181`_ +* Change default milestone to target 24.2 + (thanks to `@jdavcs `__). + `Pull Request 18186`_ +* Fix Edit Dataset UI when there is an error retrieving the dataset + (thanks to `@davelopez `__). + `Pull Request 18188`_ +* Fix file source search query with empty string value + (thanks to `@davelopez `__). + `Pull Request 18191`_ +* Replace `Multiselect` `selectLabel` with icons in `FormSelect` + (thanks to `@ahmedhamidawan `__). + `Pull Request 18194`_ +* Fix `make all histories private` with immutable histories + (thanks to `@davelopez `__). + `Pull Request 18200`_ +* Fix selection highlight in Files Dialog when using items provider + (thanks to `@davelopez `__). + `Pull Request 18201`_ +* Remove legacy code, reference to sqlalchemy migrate + (thanks to `@jdavcs `__). + `Pull Request 18202`_ +* Add `GenericItem` error handling + (thanks to `@ahmedhamidawan `__). + `Pull Request 18203`_ +* Add string cast for dbkey / genome_build + (thanks to `@mvdbeek `__). + `Pull Request 18207`_ +* Use config_section to distinguish between galaxy and ts or other apps + (thanks to `@jdavcs `__). + `Pull Request 18215`_ + +.. include:: 24.1_prs.rst + diff --git a/doc/source/releases/24.1_announce.rst b/doc/source/releases/24.1_announce.rst index 1f5bb0791728..1f2afbbf0c59 100644 --- a/doc/source/releases/24.1_announce.rst +++ b/doc/source/releases/24.1_announce.rst @@ -1,12 +1,298 @@ -:orphan: +=========================================================== +24.1 Galaxy Release (June 2024) +=========================================================== + +.. include:: _header.rst + +Highlights +=========================================================== + +**Visualizing workflow runs with an invocation graph view.** A graph view has been added to the workflow invocation summary. This feature uses the original workflow structure to display job states for each step on the workflow editor canvas. + +**Workflow editor undo/redo.** Undo/redo functionality has been added to the workflow editor, enhancing the user experience and workflow management. + +**Select multiple items in workflow editor.** New selection features have been added to the Workflow Editor that simplify the process of selecting and managing multiple elements. + +**All-vs-all collection analysis patterns.** Galaxy now matches corresponding datasets when multiple collections are used to map over a tool, akin to a dot product pattern. + +**Pagination support added to files source plugins.** To improve navigation of remote file sources potentially containing vast numbers of files, server-side pagination support has been added to file source plugins. + +**Zenodo integration.** A new Zenodo file source plugin based on Invenio has been added. + +**Document Object Identifiers displayed in archived histories.** Histories that have been archived and preserved in an external repository like Zenodo will now display their Document Object Identifier (DOI). + +**Activity bar** is now enabled by default. + +Also check out the `24.1 user release notes <24.1_announce_user.html>`__. +Are you an admin? 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: + .. code-block:: shell + + $ git clone -b release_24.1 https://github.com/galaxyproject/galaxy.git + +To update an existing Galaxy repository run: + .. code-block:: shell + + $ git fetch origin && git checkout release_24.1 && git pull --ff-only origin release_24.1 + +See the `community hub `__ for additional details on source code locations. + +Administration Notes =========================================================== -June 2024 Galaxy Release (v 24.1) + +* Empowerinig users to bring their own storage and file sources [`#18127 `__] + +* Enabling storage management by object store [`#17500 `__] + +* Email notifications channel [`#17914 `__] + +* Urgent notifications are now mandatory [`#17975 `__] + +* Major update to Galaxy's data access layer: SQLAlchemy 2.0 [`#17778 `__] + +* Script for deleting userless histories from the database [`#18079 `__] + +* New admin facing documentation on data tables [`#17585 `__] + +Configuration Changes +===================== + +Added +----- + +The following configuration options are new + +config/user_preferences_extra_conf.yml.sample +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- preferences.zenodo +- preferences.zenodo_sandbox + +config/galaxy.yml.sample:galaxy +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- mapping.galaxy.mapping.celery_conf.default +- mapping.galaxy.mapping.dispatch_notifications_interval +- mapping.galaxy.mapping.file_source_templates +- mapping.galaxy.mapping.file_source_templates_config_file +- mapping.galaxy.mapping.object_store_templates +- mapping.galaxy.mapping.object_store_templates_config_file +- mapping.galaxy.mapping.user_config_templates_use_saved_configuration + + +Changed +------- + +The following configuration options have been changed + +config/user_preferences_extra_conf.yml.sample +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- preferences.onedata.inputs has changed from + + :: + + {'name': 'onezone_domain', 'label': 'Domain of the Onezone service (e.g. "demo.onedata.org")', 'type': 'text', 'required': False} + {'name': 'access_token', 'label': 'Your access token, suitable for REST API access in a Oneprovider service', 'type': 'password', 'required': False} + + to + + :: + + {'name': 'onezone_domain', 'label': 'Domain of the Onezone service (e.g. datahub.egi.eu)', 'type': 'text', 'required': False} + {'name': 'access_token', 'label': 'Your access token, suitable for REST API access in a Oneprovider service', 'type': 'password', 'required': False} + {'name': 'disable_tls_certificate_validation', 'label': 'Allow connection to Onedata servers that do not present trusted SSL certificates. SHOULD NOT be used unless you really know what you are doing.', 'type': 'boolean', 'required': False, 'value': False} + + + +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', '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']}", 'temp_path': '/your/temp/path', 'writable': False} + {'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_sandbox', 'doc': 'This is the Sandbox instance of Invenio. It is used for testing purposes only, content is NOT preserved. DOIs created in this instance are not real and will not resolve.', 'label': 'Invenio RDM Sandbox Repository (TESTING ONLY)', 'url': 'https://inveniordm.web.cern.ch/', 'token': "${user.user_vault.read_secret('preferences/invenio_sandbox/token')}", 'public_name': "${user.preferences['invenio_sandbox|public_name']}", 'writable': True} + {'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']}"} + + 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']}", 'temp_path': '/your/temp/path', 'writable': False} + {'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_sandbox', 'doc': 'This is the Sandbox instance of Invenio. It is used for testing purposes only, content is NOT preserved. DOIs created in this instance are not real and will not resolve.', 'label': 'Invenio RDM Sandbox Repository (TESTING ONLY)', 'url': 'https://inveniordm.web.cern.ch/', 'token': "${user.user_vault.read_secret('preferences/invenio_sandbox/token')}", 'public_name': "${user.preferences['invenio_sandbox|public_name']}", 'writable': True} + {'type': 'zenodo', 'id': 'zenodo', 'doc': 'Zenodo is a general-purpose open-access repository developed under the European OpenAIRE program and operated by CERN. It allows researchers to deposit data sets, research software, reports, and any other research-related digital artifacts. For each submission, a persistent digital object identifier (DOI) is minted, which makes the stored items easily citeable.', 'label': 'Zenodo', 'url': 'https://zenodo.org', 'token': "${user.user_vault.read_secret('preferences/zenodo/token')}", 'public_name': "${user.preferences['zenodo|public_name']}", 'writable': True} + {'type': 'zenodo', 'id': 'zenodo_sandbox', 'doc': 'This is the Sandbox instance of Zenodo. It is used for testing purposes only, content is NOT preserved. DOIs created in this instance are not real and will not resolve.', 'label': 'Zenodo Sandbox (TESTING ONLY)', 'url': 'https://sandbox.zenodo.org', 'token': "${user.user_vault.read_secret('preferences/zenodo_sandbox/token')}", 'public_name': "${user.preferences['zenodo_sandbox|public_name']}", 'writable': True} + {'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']}", 'disableTlsCertificateValidation': "${user.preferences['onedata|disable_tls_certificate_validation']}"} + + + +config/galaxy.yml.sample:galaxy +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- mapping.galaxy.mapping.celery_conf.desc has changed from + + :: + + Configuration options passed to Celery. + + To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name + of the task defined in the galaxy.celery.tasks module. + + The `broker_url` option, if unset, defaults to the value of `amqp_internal_connection`. + The `result_backend` option must be set if the `enable_celery_tasks` option is set. + + The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. + (Other tasks cannot be disabled on a per-task basis at this time.) + + For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. + + to + + :: + + Configuration options passed to Celery. + + To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name + of the task defined in the galaxy.celery.tasks module. + + The `broker_url` option, if unset or null, defaults to the value of `amqp_internal_connection`. + The `result_backend` option, if unset or null, defaults to an SQLite database at '/results.sqlite' + for storing task results. Please use a more robust backend (e.g. Redis) for production setups. + + The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. + (Other tasks cannot be disabled on a per-task basis at this time.) + + For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. + + +- mapping.galaxy.mapping.enable_celery_tasks.desc has changed from + + :: + + Offload long-running tasks to a Celery task queue. + Activate this only if you have setup a Celery worker for Galaxy. + For details, see https://docs.galaxyproject.org/en/master/admin/production.html + + to + + :: + + Offload long-running tasks to a Celery task queue. + Activate this only if you have setup a Celery worker for Galaxy and you have + configured the `celery_conf` option below. Specifically, you need to set the + `result_backend` option in the `celery_conf` option to a valid Celery result + backend URL. By default, Galaxy uses an SQLite database at '/results.sqlite' for storing task results. + For details, see https://docs.galaxyproject.org/en/master/admin/production.html#use-celery-for-asynchronous-tasks + + +- mapping.galaxy.mapping.trs_servers_config_file.desc has changed from + + :: + + Allow import of workflows from the TRS servers configured in + the specified YAML or JSON file. The file should be a list with + 'id', 'label', and 'api_url' for each entry. Optionally, + 'link_url' and 'doc' may be be specified as well for each entry. + + If this is null (the default), a simple configuration containing + just Dockstore will be used. + + to + + :: + + Allow import of workflows from the TRS servers configured in + the specified YAML or JSON file. The file should be a list with + 'id', 'label', and 'api_url' for each entry. Optionally, + 'link_url' and 'doc' may be specified as well for each entry. + + If this is null (the default), a simple configuration containing + just Dockstore will be used. + + +Release Notes =========================================================== +.. include:: 24.1.rst + :start-after: announce_start + +.. include:: _thanks.rst -Schedule +Release Team =========================================================== - * Planned Freeze Date: 2024-05-13 - * Planned Release Date: 2024-06-03 + +Release manager: `John Davis `__ + +Release testing: + +* `Alireza Heidari `__ +* `Arash Kadkhodaei `__ +* `Delphine Lariviere `__ +* `Jennifer Hillman-Jackson `__ +* `Marius van den Beek `__ +* `Saim Momin `__ +* `Sebastian Schaaf `__ + +Communications: + +* `Natalie Whitaker-Allen `__ + +A special thank you goes to everyone who helped test the new release after its deployment on usegalaxy.org. diff --git a/doc/source/releases/24.1_announce_user.rst b/doc/source/releases/24.1_announce_user.rst new file mode 100644 index 000000000000..c925b096a83f --- /dev/null +++ b/doc/source/releases/24.1_announce_user.rst @@ -0,0 +1,192 @@ + +=========================================================== +24.1 Galaxy Release (June 2024) +=========================================================== + +.. include:: _header.rst + +Highlights +=========================================================== + +Visualizing workflow runs with an invocation graph view +----------------------------------------------------------- + +A graph view has been added to the workflow invocation summary. This feature uses the original workflow structure to display job states for each step on the workflow editor canvas. You can click on a step to expand and see detailed information about that invocation step. +[`#17413 `__] + +.. figure:: images/24.1-wf_graph.png + :alt: Workflow card view. + +.. raw:: html + + + +Workflow editor undo/redo +----------------------------------------------------------- + +Undo/redo functionality has been added to the workflow editor, enhancing the user experience and workflow management. Here's how it works: + +- Action Class Instances: The system uses a store to manage undo and redo stacks of action class instances. These instances encapsulate bi-directional state changes. +- Granular Undo-Redo: All user actions in the workflow editor are now managed by these action classes, allowing for granular undo and redo of workflow modifications. +- Continuous State-Changes: For continuous state changes (like moving a node or typing text), changes are stored every second or when another change occurs. + +This system provides users with more control over their workflow editing process, allowing them to undo and redo changes in a detailed and efficient manner. +[`#17774 `__] + +.. raw:: html + + + +Select multiple items in workflow editor +----------------------------------------------------------- + +New selection features in the Workflow Editor have been introduced to improve workflow management: + +- Shift-Select: You can now shift-select multiple steps or comments, allowing for easier grouping and manipulation of workflow elements. +- Box Selection Editor Tool: This tool enables you to add or remove items from the selection by dragging a box around them. This feature is useful for quickly selecting multiple items. +- Group Actions: Selected items can be moved together, deleted, and duplicated, streamlining workflow editing tasks. +- Default Selection for Imported and Duplicated Items: Items imported from other workflows and newly duplicated items are now selected by default. This makes it easier to reposition them within the workflow. + +These enhancements simplify the process of selecting and managing multiple elements in the Workflow Editor, improving the overall editing experience. +[`#17615 `__] + +.. figure:: images/24.1-wf_selection.png + :alt: Select multiple items in workflow editor. + +All-vs-all collection analysis patterns +----------------------------------------------------------- + +Galaxy now matches corresponding datasets when multiple collections are used to map over a tool, akin to a dot product pattern. This feature can be adapted for all-vs-all mapping by first creating two new input collections containing the Cartesian product (in math terms) or Cross Join (in SQL terms) of the inputs. These collections align every combination of elements between the first and second lists, enhancing flexibility in dataset mapping. +[`#17366 `__] + +Pagination support added to files source plugins +----------------------------------------------------------- + +To improve navigation of remote file sources potentially containing vast numbers of files, server-side pagination support has been added to file source plugins. Plugins can now support server-side pagination, searching and sorting, which is indicated by corresponding serializable properties and is implemented on a per-plugin basis. See PyFilesystem2-based and Invenio-based plugins for implementation details. +[`#18059 `__] + +.. figure:: images/24.1-pagination.gif + :alt: Pagination support for file source plugins. + +Zenodo integration +----------------------------------------------------------- + +A new Zenodo file source plugin based on Invenio has been added, making integration more straightforward. This update also introduces new schemes (invenio:// and zenodo://) for Invenio and Zenodo file sources, respectively, aligning them with their intended conventions. Existing exports using the gxfiles:// scheme will continue to work as expected. +[`#18022 `__] + +.. figure:: images/24.1-zenodo.png + :alt: Zenodo integration. + +Document Object Identifiers displayed in archived histories +----------------------------------------------------------- + +Histories that have been archived and preserved in an external repository like Zenodo will now display their Document Object Identifier (DOI). This change enhances the clarity and accessibility of archived histories. +[`#18134 `__] + +.. figure:: images/24.1-doi.png + :alt: DOI displayed in archived histories. + +Activity bar is now enabled by default +----------------------------------------------------------- + +Activity bar is now enabled by default, which enhances the user experience by providing quick access to essential features and improving workflow navigation. +[`#17531 `__] + +Visualizations +=========================================================== + +.. visualizations +* Check various preconditions in FeatureLocationIndexDataProvider + (thanks to `@davelopez `__). + `Pull Request 18283`_ +* Add pinia to manually mounted vue components + (thanks to `@guerler `__). + `Pull Request 18299`_ +* Update parcel-built visualizations to use parcel v2 + (thanks to `@dannon `__). + `Pull Request 18311`_ +* Fix visualizations compatible dataset filtering + (thanks to `@davelopez `__). + `Pull Request 18343`_ +* Fix pca 3d rendering of tabular files and visualization error handling in general + (thanks to `@mvdbeek `__). + `Pull Request 18211`_ + +Datatypes +=========================================================== + +.. datatypes +* Tighten axt sniffer + (thanks to `@martenson `__). + `Pull Request 18204`_ +* Don't set dataset peek for errored jobs + (thanks to `@mvdbeek `__). + `Pull Request 18231`_ +* Better display of estimated line numbers and add number of columns for tabular + (thanks to `@bernt-matthias `__). + `Pull Request 17492`_ +* Add colabfold tar file datatype + (thanks to `@astrovsky01 `__). + `Pull Request 17567`_ +* Set minimal metadata also for empty bed datasets + (thanks to `@wm75 `__). + `Pull Request 17586`_ +* Code cleanups from ruff and pyupgrade + (thanks to `@nsoranzo `__). + `Pull Request 17654`_ +* Npz sniffing: do not read the whole file + (thanks to `@bernt-matthias `__). + `Pull Request 17672`_ +* Never fail dataset serialization if display_peek fails + (thanks to `@mvdbeek `__). + `Pull Request 17937`_ +* Enable ``warn_unused_ignores`` mypy option + (thanks to `@nsoranzo `__). + `Pull Request 17991`_ +* Add support for additional media types + (thanks to `@arash77 `__). + `Pull Request 18054`_ +* Enable flake8-implicit-str-concat ruff rules + (thanks to `@nsoranzo `__). + `Pull Request 18067`_ +* Chore: remove repetitive words + (thanks to `@tianzedavid `__). + `Pull Request 18076`_ +* Add Net datatype + (thanks to `@martenson `__). + `Pull Request 18080`_ + +Builtin Tool Updates +=========================================================== + +.. tools +* Raise exception when extracting dataset from collection without datasets + (thanks to `@mvdbeek `__). + `Pull Request 18249`_ +* Backport Qiskit Jupyter Notebook update to 24.1 + (thanks to `@natefoo `__). + `Pull Request 18310`_ +* Fix null inputs in database operation tools + (thanks to `@mvdbeek `__). + `Pull Request 18385`_ +* Code cleanups from ruff and pyupgrade + (thanks to `@nsoranzo `__). + `Pull Request 17654`_ +* Rename JupyTool to something more searchable (i.e. JupyterLab which includes the substring Jupyter) + (thanks to `@hexylena `__). + `Pull Request 17849`_ +* Enable ``warn_unused_ignores`` mypy option + (thanks to `@nsoranzo `__). + `Pull Request 17991`_ +* Enable flake8-implicit-str-concat ruff rules + (thanks to `@nsoranzo `__). + `Pull Request 18067`_ + +Release Notes +=========================================================== + +Please see the :doc:`full release notes <24.1_announce>` for more details. + +.. include:: 24.1_prs.rst + +.. include:: _thanks.rst diff --git a/doc/source/releases/24.1_prs.rst b/doc/source/releases/24.1_prs.rst new file mode 100644 index 000000000000..e18bb82edf5b --- /dev/null +++ b/doc/source/releases/24.1_prs.rst @@ -0,0 +1,323 @@ + +.. github_links +.. _Pull Request 18218: https://github.com/galaxyproject/galaxy/pull/18218 +.. _Pull Request 18423: https://github.com/galaxyproject/galaxy/pull/18423 +.. _Pull Request 17818: https://github.com/galaxyproject/galaxy/pull/17818 +.. _Pull Request 18192: https://github.com/galaxyproject/galaxy/pull/18192 +.. _Pull Request 18199: https://github.com/galaxyproject/galaxy/pull/18199 +.. _Pull Request 18204: https://github.com/galaxyproject/galaxy/pull/18204 +.. _Pull Request 18212: https://github.com/galaxyproject/galaxy/pull/18212 +.. _Pull Request 18214: https://github.com/galaxyproject/galaxy/pull/18214 +.. _Pull Request 18217: https://github.com/galaxyproject/galaxy/pull/18217 +.. _Pull Request 18223: https://github.com/galaxyproject/galaxy/pull/18223 +.. _Pull Request 18230: https://github.com/galaxyproject/galaxy/pull/18230 +.. _Pull Request 18231: https://github.com/galaxyproject/galaxy/pull/18231 +.. _Pull Request 18233: https://github.com/galaxyproject/galaxy/pull/18233 +.. _Pull Request 18234: https://github.com/galaxyproject/galaxy/pull/18234 +.. _Pull Request 18235: https://github.com/galaxyproject/galaxy/pull/18235 +.. _Pull Request 18236: https://github.com/galaxyproject/galaxy/pull/18236 +.. _Pull Request 18239: https://github.com/galaxyproject/galaxy/pull/18239 +.. _Pull Request 18243: https://github.com/galaxyproject/galaxy/pull/18243 +.. _Pull Request 18244: https://github.com/galaxyproject/galaxy/pull/18244 +.. _Pull Request 18246: https://github.com/galaxyproject/galaxy/pull/18246 +.. _Pull Request 18247: https://github.com/galaxyproject/galaxy/pull/18247 +.. _Pull Request 18248: https://github.com/galaxyproject/galaxy/pull/18248 +.. _Pull Request 18249: https://github.com/galaxyproject/galaxy/pull/18249 +.. _Pull Request 18250: https://github.com/galaxyproject/galaxy/pull/18250 +.. _Pull Request 18251: https://github.com/galaxyproject/galaxy/pull/18251 +.. _Pull Request 18252: https://github.com/galaxyproject/galaxy/pull/18252 +.. _Pull Request 18255: https://github.com/galaxyproject/galaxy/pull/18255 +.. _Pull Request 18263: https://github.com/galaxyproject/galaxy/pull/18263 +.. _Pull Request 18267: https://github.com/galaxyproject/galaxy/pull/18267 +.. _Pull Request 18270: https://github.com/galaxyproject/galaxy/pull/18270 +.. _Pull Request 18273: https://github.com/galaxyproject/galaxy/pull/18273 +.. _Pull Request 18274: https://github.com/galaxyproject/galaxy/pull/18274 +.. _Pull Request 18278: https://github.com/galaxyproject/galaxy/pull/18278 +.. _Pull Request 18283: https://github.com/galaxyproject/galaxy/pull/18283 +.. _Pull Request 18284: https://github.com/galaxyproject/galaxy/pull/18284 +.. _Pull Request 18286: https://github.com/galaxyproject/galaxy/pull/18286 +.. _Pull Request 18289: https://github.com/galaxyproject/galaxy/pull/18289 +.. _Pull Request 18291: https://github.com/galaxyproject/galaxy/pull/18291 +.. _Pull Request 18294: https://github.com/galaxyproject/galaxy/pull/18294 +.. _Pull Request 18296: https://github.com/galaxyproject/galaxy/pull/18296 +.. _Pull Request 18299: https://github.com/galaxyproject/galaxy/pull/18299 +.. _Pull Request 18301: https://github.com/galaxyproject/galaxy/pull/18301 +.. _Pull Request 18303: https://github.com/galaxyproject/galaxy/pull/18303 +.. _Pull Request 18305: https://github.com/galaxyproject/galaxy/pull/18305 +.. _Pull Request 18306: https://github.com/galaxyproject/galaxy/pull/18306 +.. _Pull Request 18307: https://github.com/galaxyproject/galaxy/pull/18307 +.. _Pull Request 18308: https://github.com/galaxyproject/galaxy/pull/18308 +.. _Pull Request 18309: https://github.com/galaxyproject/galaxy/pull/18309 +.. _Pull Request 18310: https://github.com/galaxyproject/galaxy/pull/18310 +.. _Pull Request 18311: https://github.com/galaxyproject/galaxy/pull/18311 +.. _Pull Request 18313: https://github.com/galaxyproject/galaxy/pull/18313 +.. _Pull Request 18314: https://github.com/galaxyproject/galaxy/pull/18314 +.. _Pull Request 18315: https://github.com/galaxyproject/galaxy/pull/18315 +.. _Pull Request 18324: https://github.com/galaxyproject/galaxy/pull/18324 +.. _Pull Request 18325: https://github.com/galaxyproject/galaxy/pull/18325 +.. _Pull Request 18329: https://github.com/galaxyproject/galaxy/pull/18329 +.. _Pull Request 18330: https://github.com/galaxyproject/galaxy/pull/18330 +.. _Pull Request 18333: https://github.com/galaxyproject/galaxy/pull/18333 +.. _Pull Request 18338: https://github.com/galaxyproject/galaxy/pull/18338 +.. _Pull Request 18339: https://github.com/galaxyproject/galaxy/pull/18339 +.. _Pull Request 18342: https://github.com/galaxyproject/galaxy/pull/18342 +.. _Pull Request 18343: https://github.com/galaxyproject/galaxy/pull/18343 +.. _Pull Request 18344: https://github.com/galaxyproject/galaxy/pull/18344 +.. _Pull Request 18348: https://github.com/galaxyproject/galaxy/pull/18348 +.. _Pull Request 18352: https://github.com/galaxyproject/galaxy/pull/18352 +.. _Pull Request 18353: https://github.com/galaxyproject/galaxy/pull/18353 +.. _Pull Request 18358: https://github.com/galaxyproject/galaxy/pull/18358 +.. _Pull Request 18364: https://github.com/galaxyproject/galaxy/pull/18364 +.. _Pull Request 18365: https://github.com/galaxyproject/galaxy/pull/18365 +.. _Pull Request 18370: https://github.com/galaxyproject/galaxy/pull/18370 +.. _Pull Request 18372: https://github.com/galaxyproject/galaxy/pull/18372 +.. _Pull Request 18374: https://github.com/galaxyproject/galaxy/pull/18374 +.. _Pull Request 18376: https://github.com/galaxyproject/galaxy/pull/18376 +.. _Pull Request 18377: https://github.com/galaxyproject/galaxy/pull/18377 +.. _Pull Request 18378: https://github.com/galaxyproject/galaxy/pull/18378 +.. _Pull Request 18379: https://github.com/galaxyproject/galaxy/pull/18379 +.. _Pull Request 18381: https://github.com/galaxyproject/galaxy/pull/18381 +.. _Pull Request 18385: https://github.com/galaxyproject/galaxy/pull/18385 +.. _Pull Request 18387: https://github.com/galaxyproject/galaxy/pull/18387 +.. _Pull Request 18388: https://github.com/galaxyproject/galaxy/pull/18388 +.. _Pull Request 18389: https://github.com/galaxyproject/galaxy/pull/18389 +.. _Pull Request 18390: https://github.com/galaxyproject/galaxy/pull/18390 +.. _Pull Request 18393: https://github.com/galaxyproject/galaxy/pull/18393 +.. _Pull Request 18395: https://github.com/galaxyproject/galaxy/pull/18395 +.. _Pull Request 18396: https://github.com/galaxyproject/galaxy/pull/18396 +.. _Pull Request 18400: https://github.com/galaxyproject/galaxy/pull/18400 +.. _Pull Request 18402: https://github.com/galaxyproject/galaxy/pull/18402 +.. _Pull Request 18403: https://github.com/galaxyproject/galaxy/pull/18403 +.. _Pull Request 18405: https://github.com/galaxyproject/galaxy/pull/18405 +.. _Pull Request 18410: https://github.com/galaxyproject/galaxy/pull/18410 +.. _Pull Request 18411: https://github.com/galaxyproject/galaxy/pull/18411 +.. _Pull Request 18416: https://github.com/galaxyproject/galaxy/pull/18416 +.. _Pull Request 18418: https://github.com/galaxyproject/galaxy/pull/18418 +.. _Pull Request 18420: https://github.com/galaxyproject/galaxy/pull/18420 +.. _Pull Request 16645: https://github.com/galaxyproject/galaxy/pull/16645 +.. _Pull Request 16730: https://github.com/galaxyproject/galaxy/pull/16730 +.. _Pull Request 16983: https://github.com/galaxyproject/galaxy/pull/16983 +.. _Pull Request 17225: https://github.com/galaxyproject/galaxy/pull/17225 +.. _Pull Request 17366: https://github.com/galaxyproject/galaxy/pull/17366 +.. _Pull Request 17413: https://github.com/galaxyproject/galaxy/pull/17413 +.. _Pull Request 17424: https://github.com/galaxyproject/galaxy/pull/17424 +.. _Pull Request 17492: https://github.com/galaxyproject/galaxy/pull/17492 +.. _Pull Request 17500: https://github.com/galaxyproject/galaxy/pull/17500 +.. _Pull Request 17531: https://github.com/galaxyproject/galaxy/pull/17531 +.. _Pull Request 17540: https://github.com/galaxyproject/galaxy/pull/17540 +.. _Pull Request 17555: https://github.com/galaxyproject/galaxy/pull/17555 +.. _Pull Request 17564: https://github.com/galaxyproject/galaxy/pull/17564 +.. _Pull Request 17567: https://github.com/galaxyproject/galaxy/pull/17567 +.. _Pull Request 17571: https://github.com/galaxyproject/galaxy/pull/17571 +.. _Pull Request 17581: https://github.com/galaxyproject/galaxy/pull/17581 +.. _Pull Request 17585: https://github.com/galaxyproject/galaxy/pull/17585 +.. _Pull Request 17586: https://github.com/galaxyproject/galaxy/pull/17586 +.. _Pull Request 17592: https://github.com/galaxyproject/galaxy/pull/17592 +.. _Pull Request 17593: https://github.com/galaxyproject/galaxy/pull/17593 +.. _Pull Request 17596: https://github.com/galaxyproject/galaxy/pull/17596 +.. _Pull Request 17601: https://github.com/galaxyproject/galaxy/pull/17601 +.. _Pull Request 17607: https://github.com/galaxyproject/galaxy/pull/17607 +.. _Pull Request 17615: https://github.com/galaxyproject/galaxy/pull/17615 +.. _Pull Request 17630: https://github.com/galaxyproject/galaxy/pull/17630 +.. _Pull Request 17647: https://github.com/galaxyproject/galaxy/pull/17647 +.. _Pull Request 17653: https://github.com/galaxyproject/galaxy/pull/17653 +.. _Pull Request 17654: https://github.com/galaxyproject/galaxy/pull/17654 +.. _Pull Request 17655: https://github.com/galaxyproject/galaxy/pull/17655 +.. _Pull Request 17656: https://github.com/galaxyproject/galaxy/pull/17656 +.. _Pull Request 17672: https://github.com/galaxyproject/galaxy/pull/17672 +.. _Pull Request 17680: https://github.com/galaxyproject/galaxy/pull/17680 +.. _Pull Request 17686: https://github.com/galaxyproject/galaxy/pull/17686 +.. _Pull Request 17693: https://github.com/galaxyproject/galaxy/pull/17693 +.. _Pull Request 17696: https://github.com/galaxyproject/galaxy/pull/17696 +.. _Pull Request 17701: https://github.com/galaxyproject/galaxy/pull/17701 +.. _Pull Request 17748: https://github.com/galaxyproject/galaxy/pull/17748 +.. _Pull Request 17749: https://github.com/galaxyproject/galaxy/pull/17749 +.. _Pull Request 17752: https://github.com/galaxyproject/galaxy/pull/17752 +.. _Pull Request 17754: https://github.com/galaxyproject/galaxy/pull/17754 +.. _Pull Request 17764: https://github.com/galaxyproject/galaxy/pull/17764 +.. _Pull Request 17766: https://github.com/galaxyproject/galaxy/pull/17766 +.. _Pull Request 17774: https://github.com/galaxyproject/galaxy/pull/17774 +.. _Pull Request 17778: https://github.com/galaxyproject/galaxy/pull/17778 +.. _Pull Request 17797: https://github.com/galaxyproject/galaxy/pull/17797 +.. _Pull Request 17799: https://github.com/galaxyproject/galaxy/pull/17799 +.. _Pull Request 17802: https://github.com/galaxyproject/galaxy/pull/17802 +.. _Pull Request 17804: https://github.com/galaxyproject/galaxy/pull/17804 +.. _Pull Request 17810: https://github.com/galaxyproject/galaxy/pull/17810 +.. _Pull Request 17819: https://github.com/galaxyproject/galaxy/pull/17819 +.. _Pull Request 17820: https://github.com/galaxyproject/galaxy/pull/17820 +.. _Pull Request 17824: https://github.com/galaxyproject/galaxy/pull/17824 +.. _Pull Request 17833: https://github.com/galaxyproject/galaxy/pull/17833 +.. _Pull Request 17839: https://github.com/galaxyproject/galaxy/pull/17839 +.. _Pull Request 17840: https://github.com/galaxyproject/galaxy/pull/17840 +.. _Pull Request 17849: https://github.com/galaxyproject/galaxy/pull/17849 +.. _Pull Request 17850: https://github.com/galaxyproject/galaxy/pull/17850 +.. _Pull Request 17853: https://github.com/galaxyproject/galaxy/pull/17853 +.. _Pull Request 17858: https://github.com/galaxyproject/galaxy/pull/17858 +.. _Pull Request 17863: https://github.com/galaxyproject/galaxy/pull/17863 +.. _Pull Request 17866: https://github.com/galaxyproject/galaxy/pull/17866 +.. _Pull Request 17867: https://github.com/galaxyproject/galaxy/pull/17867 +.. _Pull Request 17869: https://github.com/galaxyproject/galaxy/pull/17869 +.. _Pull Request 17870: https://github.com/galaxyproject/galaxy/pull/17870 +.. _Pull Request 17872: https://github.com/galaxyproject/galaxy/pull/17872 +.. _Pull Request 17877: https://github.com/galaxyproject/galaxy/pull/17877 +.. _Pull Request 17886: https://github.com/galaxyproject/galaxy/pull/17886 +.. _Pull Request 17888: https://github.com/galaxyproject/galaxy/pull/17888 +.. _Pull Request 17890: https://github.com/galaxyproject/galaxy/pull/17890 +.. _Pull Request 17892: https://github.com/galaxyproject/galaxy/pull/17892 +.. _Pull Request 17894: https://github.com/galaxyproject/galaxy/pull/17894 +.. _Pull Request 17896: https://github.com/galaxyproject/galaxy/pull/17896 +.. _Pull Request 17898: https://github.com/galaxyproject/galaxy/pull/17898 +.. _Pull Request 17899: https://github.com/galaxyproject/galaxy/pull/17899 +.. _Pull Request 17902: https://github.com/galaxyproject/galaxy/pull/17902 +.. _Pull Request 17904: https://github.com/galaxyproject/galaxy/pull/17904 +.. _Pull Request 17905: https://github.com/galaxyproject/galaxy/pull/17905 +.. _Pull Request 17907: https://github.com/galaxyproject/galaxy/pull/17907 +.. _Pull Request 17913: https://github.com/galaxyproject/galaxy/pull/17913 +.. _Pull Request 17914: https://github.com/galaxyproject/galaxy/pull/17914 +.. _Pull Request 17915: https://github.com/galaxyproject/galaxy/pull/17915 +.. _Pull Request 17917: https://github.com/galaxyproject/galaxy/pull/17917 +.. _Pull Request 17918: https://github.com/galaxyproject/galaxy/pull/17918 +.. _Pull Request 17919: https://github.com/galaxyproject/galaxy/pull/17919 +.. _Pull Request 17922: https://github.com/galaxyproject/galaxy/pull/17922 +.. _Pull Request 17923: https://github.com/galaxyproject/galaxy/pull/17923 +.. _Pull Request 17924: https://github.com/galaxyproject/galaxy/pull/17924 +.. _Pull Request 17925: https://github.com/galaxyproject/galaxy/pull/17925 +.. _Pull Request 17926: https://github.com/galaxyproject/galaxy/pull/17926 +.. _Pull Request 17929: https://github.com/galaxyproject/galaxy/pull/17929 +.. _Pull Request 17930: https://github.com/galaxyproject/galaxy/pull/17930 +.. _Pull Request 17931: https://github.com/galaxyproject/galaxy/pull/17931 +.. _Pull Request 17932: https://github.com/galaxyproject/galaxy/pull/17932 +.. _Pull Request 17937: https://github.com/galaxyproject/galaxy/pull/17937 +.. _Pull Request 17939: https://github.com/galaxyproject/galaxy/pull/17939 +.. _Pull Request 17949: https://github.com/galaxyproject/galaxy/pull/17949 +.. _Pull Request 17952: https://github.com/galaxyproject/galaxy/pull/17952 +.. _Pull Request 17958: https://github.com/galaxyproject/galaxy/pull/17958 +.. _Pull Request 17964: https://github.com/galaxyproject/galaxy/pull/17964 +.. _Pull Request 17968: https://github.com/galaxyproject/galaxy/pull/17968 +.. _Pull Request 17969: https://github.com/galaxyproject/galaxy/pull/17969 +.. _Pull Request 17971: https://github.com/galaxyproject/galaxy/pull/17971 +.. _Pull Request 17974: https://github.com/galaxyproject/galaxy/pull/17974 +.. _Pull Request 17975: https://github.com/galaxyproject/galaxy/pull/17975 +.. _Pull Request 17976: https://github.com/galaxyproject/galaxy/pull/17976 +.. _Pull Request 17980: https://github.com/galaxyproject/galaxy/pull/17980 +.. _Pull Request 17981: https://github.com/galaxyproject/galaxy/pull/17981 +.. _Pull Request 17982: https://github.com/galaxyproject/galaxy/pull/17982 +.. _Pull Request 17983: https://github.com/galaxyproject/galaxy/pull/17983 +.. _Pull Request 17985: https://github.com/galaxyproject/galaxy/pull/17985 +.. _Pull Request 17987: https://github.com/galaxyproject/galaxy/pull/17987 +.. _Pull Request 17988: https://github.com/galaxyproject/galaxy/pull/17988 +.. _Pull Request 17991: https://github.com/galaxyproject/galaxy/pull/17991 +.. _Pull Request 17992: https://github.com/galaxyproject/galaxy/pull/17992 +.. _Pull Request 18000: https://github.com/galaxyproject/galaxy/pull/18000 +.. _Pull Request 18002: https://github.com/galaxyproject/galaxy/pull/18002 +.. _Pull Request 18003: https://github.com/galaxyproject/galaxy/pull/18003 +.. _Pull Request 18005: https://github.com/galaxyproject/galaxy/pull/18005 +.. _Pull Request 18007: https://github.com/galaxyproject/galaxy/pull/18007 +.. _Pull Request 18008: https://github.com/galaxyproject/galaxy/pull/18008 +.. _Pull Request 18009: https://github.com/galaxyproject/galaxy/pull/18009 +.. _Pull Request 18010: https://github.com/galaxyproject/galaxy/pull/18010 +.. _Pull Request 18011: https://github.com/galaxyproject/galaxy/pull/18011 +.. _Pull Request 18014: https://github.com/galaxyproject/galaxy/pull/18014 +.. _Pull Request 18016: https://github.com/galaxyproject/galaxy/pull/18016 +.. _Pull Request 18018: https://github.com/galaxyproject/galaxy/pull/18018 +.. _Pull Request 18020: https://github.com/galaxyproject/galaxy/pull/18020 +.. _Pull Request 18021: https://github.com/galaxyproject/galaxy/pull/18021 +.. _Pull Request 18022: https://github.com/galaxyproject/galaxy/pull/18022 +.. _Pull Request 18023: https://github.com/galaxyproject/galaxy/pull/18023 +.. _Pull Request 18025: https://github.com/galaxyproject/galaxy/pull/18025 +.. _Pull Request 18026: https://github.com/galaxyproject/galaxy/pull/18026 +.. _Pull Request 18028: https://github.com/galaxyproject/galaxy/pull/18028 +.. _Pull Request 18033: https://github.com/galaxyproject/galaxy/pull/18033 +.. _Pull Request 18034: https://github.com/galaxyproject/galaxy/pull/18034 +.. _Pull Request 18035: https://github.com/galaxyproject/galaxy/pull/18035 +.. _Pull Request 18036: https://github.com/galaxyproject/galaxy/pull/18036 +.. _Pull Request 18037: https://github.com/galaxyproject/galaxy/pull/18037 +.. _Pull Request 18038: https://github.com/galaxyproject/galaxy/pull/18038 +.. _Pull Request 18039: https://github.com/galaxyproject/galaxy/pull/18039 +.. _Pull Request 18040: https://github.com/galaxyproject/galaxy/pull/18040 +.. _Pull Request 18044: https://github.com/galaxyproject/galaxy/pull/18044 +.. _Pull Request 18046: https://github.com/galaxyproject/galaxy/pull/18046 +.. _Pull Request 18049: https://github.com/galaxyproject/galaxy/pull/18049 +.. _Pull Request 18050: https://github.com/galaxyproject/galaxy/pull/18050 +.. _Pull Request 18054: https://github.com/galaxyproject/galaxy/pull/18054 +.. _Pull Request 18059: https://github.com/galaxyproject/galaxy/pull/18059 +.. _Pull Request 18060: https://github.com/galaxyproject/galaxy/pull/18060 +.. _Pull Request 18063: https://github.com/galaxyproject/galaxy/pull/18063 +.. _Pull Request 18065: https://github.com/galaxyproject/galaxy/pull/18065 +.. _Pull Request 18067: https://github.com/galaxyproject/galaxy/pull/18067 +.. _Pull Request 18070: https://github.com/galaxyproject/galaxy/pull/18070 +.. _Pull Request 18071: https://github.com/galaxyproject/galaxy/pull/18071 +.. _Pull Request 18074: https://github.com/galaxyproject/galaxy/pull/18074 +.. _Pull Request 18076: https://github.com/galaxyproject/galaxy/pull/18076 +.. _Pull Request 18079: https://github.com/galaxyproject/galaxy/pull/18079 +.. _Pull Request 18080: https://github.com/galaxyproject/galaxy/pull/18080 +.. _Pull Request 18084: https://github.com/galaxyproject/galaxy/pull/18084 +.. _Pull Request 18085: https://github.com/galaxyproject/galaxy/pull/18085 +.. _Pull Request 18086: https://github.com/galaxyproject/galaxy/pull/18086 +.. _Pull Request 18087: https://github.com/galaxyproject/galaxy/pull/18087 +.. _Pull Request 18088: https://github.com/galaxyproject/galaxy/pull/18088 +.. _Pull Request 18094: https://github.com/galaxyproject/galaxy/pull/18094 +.. _Pull Request 18095: https://github.com/galaxyproject/galaxy/pull/18095 +.. _Pull Request 18099: https://github.com/galaxyproject/galaxy/pull/18099 +.. _Pull Request 18100: https://github.com/galaxyproject/galaxy/pull/18100 +.. _Pull Request 18103: https://github.com/galaxyproject/galaxy/pull/18103 +.. _Pull Request 18106: https://github.com/galaxyproject/galaxy/pull/18106 +.. _Pull Request 18107: https://github.com/galaxyproject/galaxy/pull/18107 +.. _Pull Request 18108: https://github.com/galaxyproject/galaxy/pull/18108 +.. _Pull Request 18109: https://github.com/galaxyproject/galaxy/pull/18109 +.. _Pull Request 18110: https://github.com/galaxyproject/galaxy/pull/18110 +.. _Pull Request 18112: https://github.com/galaxyproject/galaxy/pull/18112 +.. _Pull Request 18115: https://github.com/galaxyproject/galaxy/pull/18115 +.. _Pull Request 18118: https://github.com/galaxyproject/galaxy/pull/18118 +.. _Pull Request 18119: https://github.com/galaxyproject/galaxy/pull/18119 +.. _Pull Request 18120: https://github.com/galaxyproject/galaxy/pull/18120 +.. _Pull Request 18121: https://github.com/galaxyproject/galaxy/pull/18121 +.. _Pull Request 18122: https://github.com/galaxyproject/galaxy/pull/18122 +.. _Pull Request 18123: https://github.com/galaxyproject/galaxy/pull/18123 +.. _Pull Request 18124: https://github.com/galaxyproject/galaxy/pull/18124 +.. _Pull Request 18125: https://github.com/galaxyproject/galaxy/pull/18125 +.. _Pull Request 18126: https://github.com/galaxyproject/galaxy/pull/18126 +.. _Pull Request 18127: https://github.com/galaxyproject/galaxy/pull/18127 +.. _Pull Request 18130: https://github.com/galaxyproject/galaxy/pull/18130 +.. _Pull Request 18131: https://github.com/galaxyproject/galaxy/pull/18131 +.. _Pull Request 18132: https://github.com/galaxyproject/galaxy/pull/18132 +.. _Pull Request 18134: https://github.com/galaxyproject/galaxy/pull/18134 +.. _Pull Request 18135: https://github.com/galaxyproject/galaxy/pull/18135 +.. _Pull Request 18136: https://github.com/galaxyproject/galaxy/pull/18136 +.. _Pull Request 18137: https://github.com/galaxyproject/galaxy/pull/18137 +.. _Pull Request 18141: https://github.com/galaxyproject/galaxy/pull/18141 +.. _Pull Request 18143: https://github.com/galaxyproject/galaxy/pull/18143 +.. _Pull Request 18145: https://github.com/galaxyproject/galaxy/pull/18145 +.. _Pull Request 18151: https://github.com/galaxyproject/galaxy/pull/18151 +.. _Pull Request 18155: https://github.com/galaxyproject/galaxy/pull/18155 +.. _Pull Request 18156: https://github.com/galaxyproject/galaxy/pull/18156 +.. _Pull Request 18169: https://github.com/galaxyproject/galaxy/pull/18169 +.. _Pull Request 18170: https://github.com/galaxyproject/galaxy/pull/18170 +.. _Pull Request 18172: https://github.com/galaxyproject/galaxy/pull/18172 +.. _Pull Request 18173: https://github.com/galaxyproject/galaxy/pull/18173 +.. _Pull Request 18174: https://github.com/galaxyproject/galaxy/pull/18174 +.. _Pull Request 18175: https://github.com/galaxyproject/galaxy/pull/18175 +.. _Pull Request 18178: https://github.com/galaxyproject/galaxy/pull/18178 +.. _Pull Request 18179: https://github.com/galaxyproject/galaxy/pull/18179 +.. _Pull Request 18180: https://github.com/galaxyproject/galaxy/pull/18180 +.. _Pull Request 18181: https://github.com/galaxyproject/galaxy/pull/18181 +.. _Pull Request 18182: https://github.com/galaxyproject/galaxy/pull/18182 +.. _Pull Request 18183: https://github.com/galaxyproject/galaxy/pull/18183 +.. _Pull Request 18184: https://github.com/galaxyproject/galaxy/pull/18184 +.. _Pull Request 18185: https://github.com/galaxyproject/galaxy/pull/18185 +.. _Pull Request 18186: https://github.com/galaxyproject/galaxy/pull/18186 +.. _Pull Request 18187: https://github.com/galaxyproject/galaxy/pull/18187 +.. _Pull Request 18188: https://github.com/galaxyproject/galaxy/pull/18188 +.. _Pull Request 18190: https://github.com/galaxyproject/galaxy/pull/18190 +.. _Pull Request 18191: https://github.com/galaxyproject/galaxy/pull/18191 +.. _Pull Request 18193: https://github.com/galaxyproject/galaxy/pull/18193 +.. _Pull Request 18194: https://github.com/galaxyproject/galaxy/pull/18194 +.. _Pull Request 18200: https://github.com/galaxyproject/galaxy/pull/18200 +.. _Pull Request 18201: https://github.com/galaxyproject/galaxy/pull/18201 +.. _Pull Request 18202: https://github.com/galaxyproject/galaxy/pull/18202 +.. _Pull Request 18203: https://github.com/galaxyproject/galaxy/pull/18203 +.. _Pull Request 18206: https://github.com/galaxyproject/galaxy/pull/18206 +.. _Pull Request 18207: https://github.com/galaxyproject/galaxy/pull/18207 +.. _Pull Request 18208: https://github.com/galaxyproject/galaxy/pull/18208 +.. _Pull Request 18211: https://github.com/galaxyproject/galaxy/pull/18211 +.. _Pull Request 18215: https://github.com/galaxyproject/galaxy/pull/18215 diff --git a/doc/source/releases/24.2_announce.rst b/doc/source/releases/24.2_announce.rst new file mode 100644 index 000000000000..112bddcd20d5 --- /dev/null +++ b/doc/source/releases/24.2_announce.rst @@ -0,0 +1,12 @@ + +:orphan: + +=========================================================== +October 2024 Galaxy Release (v 24.2) +=========================================================== + + +Schedule +=========================================================== + * Planned Freeze Date: 2024-10-07 + * Planned Release Date: 2024-10-28 diff --git a/doc/source/releases/images/24.1-doi.png b/doc/source/releases/images/24.1-doi.png new file mode 100644 index 000000000000..9edc010172c4 Binary files /dev/null and b/doc/source/releases/images/24.1-doi.png differ diff --git a/doc/source/releases/images/24.1-pagination.gif b/doc/source/releases/images/24.1-pagination.gif new file mode 100644 index 000000000000..c6255a0464a3 Binary files /dev/null and b/doc/source/releases/images/24.1-pagination.gif differ diff --git a/doc/source/releases/images/24.1-wf_graph.png b/doc/source/releases/images/24.1-wf_graph.png new file mode 100644 index 000000000000..c49ee58cc336 Binary files /dev/null and b/doc/source/releases/images/24.1-wf_graph.png differ diff --git a/doc/source/releases/images/24.1-wf_selection.png b/doc/source/releases/images/24.1-wf_selection.png new file mode 100644 index 000000000000..0100ec935457 Binary files /dev/null and b/doc/source/releases/images/24.1-wf_selection.png differ diff --git a/doc/source/releases/images/24.1-zenodo.png b/doc/source/releases/images/24.1-zenodo.png new file mode 100644 index 000000000000..d89b2f38e7b3 Binary files /dev/null and b/doc/source/releases/images/24.1-zenodo.png differ diff --git a/doc/source/releases/index.rst b/doc/source/releases/index.rst index a4cc7a9ebf3e..5e9d65038a4f 100644 --- a/doc/source/releases/index.rst +++ b/doc/source/releases/index.rst @@ -4,6 +4,7 @@ Releases .. toctree:: :maxdepth: 1 + 24.1_announce_user 24.0_announce_user 23.2_announce_user 23.1_announce_user