diff --git a/client/package.json b/client/package.json index 686f3deb734..37d3700998b 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "@galaxyproject/galaxy-client", - "version": "25.0.4", + "version": "26.0.0", "description": "Galaxy client application build system", "keywords": [ "galaxy" diff --git a/lib/galaxy/version.py b/lib/galaxy/version.py index 04feedd9b26..7feb5dee6e3 100644 --- a/lib/galaxy/version.py +++ b/lib/galaxy/version.py @@ -1,3 +1,3 @@ VERSION_MAJOR = "26.0" -VERSION_MINOR = "rc1" +VERSION_MINOR = "0" VERSION = VERSION_MAJOR + (f".{VERSION_MINOR}" if VERSION_MINOR else "") diff --git a/package.json b/package.json index 52330e5192f..591bc337912 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@galaxyproject/galaxy", - "version": "24.0.0", + "version": "26.0.0", "description": ".. figure:: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo.jpg :alt: Galaxy Logo", "main": "index.js", "scripts": { @@ -17,7 +17,7 @@ }, "homepage": "https://github.com/galaxyproject/galaxy#readme", "dependencies": { - "@galaxyproject/galaxy-client": "25.1.0", + "@galaxyproject/galaxy-client": "26.0.0", "cpy-cli": "^5.0.0" }, "packageManager": "pnpm@10.26.1" diff --git a/packages/app/HISTORY.rst b/packages/app/HISTORY.rst index 1b47622a48e..3823f95afcf 100644 --- a/packages/app/HISTORY.rst +++ b/packages/app/HISTORY.rst @@ -3,11 +3,165 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix workflow report time handling by `@dannon `_ in `#19292 `_ +* Bump python-ldap from 3.4.0 to 3.4.5 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21042 `_ +* Cross product tools: Fix typos in help section by `@RZ9082 `_ in `#21061 `_ +* Bump urllib3 from 2.5.0 to 2.6.0 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21399 `_ +* Don't set OAUTHLIB_INSECURE_TRANSPORT setting in user_data by `@nuwang `_ in `#21451 `_ +* Bump filelock from 3.20.0 to 3.20.1 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21476 `_ +* Provide more accurate step hints for failing subworkflow steps by `@mvdbeek `_ in `#21514 `_ +* Restrict collection of dynamic working dir output to specified directory in pulsar by `@mvdbeek `_ in `#21515 `_ +* Fix input tags not being copied when using copy_inputs_to_history by `@mvdbeek `_ in `#21529 `_ +* Bump aiohttp from 3.13.2 to 3.13.3 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21538 `_ +* Bump urllib3 from 2.6.2 to 2.6.3 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21546 `_ +* Bump werkzeug from 3.1.4 to 3.1.5 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21549 `_ +* Overhaul ChatGXY Routing approach by `@dannon `_ in `#21580 `_ +* Bump pyasn1 from 0.6.1 to 0.6.2 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21605 `_ +* Fix toolshed tests on Python 3.14 by `@mvdbeek `_ in `#21617 `_ +* Bump python-multipart from 0.0.21 to 0.0.22 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21663 `_ +* Fix storing origin for workflow landing requests by `@mvdbeek `_ in `#21696 `_ +* Handle TPV floating point memory values by `@ksuderman `_ in `#21763 `_ +* Deserialize json string for export_metadata from old records by `@mvdbeek `_ in `#21772 `_ +* Fix passing invalid job_destination dict to JobState constructor by `@mvdbeek `_ in `#21798 `_ +* Update ``get_definitions()`` to FastAPI 0.128.8 by `@nsoranzo `_ in `#21834 `_ +* Backport paired or unpaired mapping fix by `@mvdbeek `_ in `#21936 `_ +* Fix dict leaking to process_dataset() during workflow execution by `@mvdbeek `_ in `#21982 `_ +* Fix dataset collection tag duplication when copying a history by `@mvdbeek `_ in `#21984 `_ +* Restore file doesn't match sniffed datatype message by `@mvdbeek `_ in `#21988 `_ +* Fix uncaught `ImplicitConversionRequired` by `@mvdbeek `_ in `#22027 `_ +* Fix AttributeError when fetching citations for missing tools by `@mvdbeek `_ in `#22029 `_ +* AttributeError when history is None during tool execution by `@mvdbeek `_ in `#22031 `_ +* Fix AttributeError when export_metadata is a string instead of dict by `@mvdbeek `_ in `#22033 `_ +* Fix TypeError when column_names metadata is None by `@mvdbeek `_ in `#22057 `_ +* Fail job gracefully when output name exceeds 255 character DB limit by `@mvdbeek `_ in `#22059 `_ +* Fix FileNotFoundError when workflow references purged HDA by `@mvdbeek `_ in `#22060 `_ +* Add check_database_connection to workflow scheduling path by `@mvdbeek `_ in `#22063 `_ +* Model hidden_data params as optional data in tool meta-models. by `@jmchilton `_ in `#22116 `_ +* Fix unhandled exceptions in tool form model population by `@guerler `_ in `#22129 `_ +* Backport transient CI fixes from #22102 to release_26.0 by `@mvdbeek `_ in `#22135 `_ +* Do not queue paused jobs by `@martenson `_ in `#22156 `_ +* Fix AmbiguousColumn error in job search for tools with long input names by `@mvdbeek `_ in `#22167 `_ +* Fixes for gxformat2 by `@jmchilton `_ in `#22179 `_ +* Add batch celery task for history dataset purging by `@mvdbeek `_ in `#22180 `_ +* Include missing tools in stock_tool_paths. by `@jmchilton `_ in `#22181 `_ +* Throw ParameterValueError instead of generic error by `@guerler `_ in `#22188 `_ +* Fix event loop blocking in async API routes by `@mvdbeek `_ in `#22202 `_ +* Update fastmcp requirement to 3.0.2 by `@nsoranzo `_ in `#22221 `_ +* Add optional dataset collection mode to harmonize tool by `@mvdbeek `_ in `#22236 `_ +* Fix batch history purge not updating user's update_time by `@mvdbeek `_ in `#22238 `_ +* Fix file source removal by `@davelopez `_ in `#22246 `_ +* Validate replacement_params values are strings before storing by `@mvdbeek `_ in `#22250 `_ +* Fix N+1 queries in fetch_job_states for jobs_summary endpoints by `@mvdbeek `_ in `#22251 `_ +* Fix oauth2 template validation by `@davelopez `_ in `#22253 `_ +* Drop stored workflow menu entries from user serialization by `@mvdbeek `_ in `#22254 `_ +* Batch-prefetch HDCA job_state_summary in history contents listing by `@mvdbeek `_ in `#22256 `_ +* Fix HDCA lost in tool form on rerun by `@mvdbeek `_ in `#22258 `_ +* Fix purge for anon histories by `@mvdbeek `_ in `#22275 `_ +* Raise error when API client sends invalid parameter keys by `@mvdbeek `_ in `#22277 `_ +* Raise MessageException instead of generic Exception in rules_dsl by `@mvdbeek `_ in `#22285 `_ +* Fix toolshed static image url encoding by `@mvdbeek `_ in `#22286 `_ +* Fix nested DatasetCollectionElement in dynamic options by `@mvdbeek `_ in `#22287 `_ +* Fix flaky job search for HDCA inputs on PostgreSQL by `@mvdbeek `_ in `#22290 `_ +* Fix HDCA shown as unavailable on tool form rerun by `@mvdbeek `_ in `#22291 `_ +* Fix AttributeError when anonymous user searches workflows with ``is:bookmarked`` by `@mvdbeek `_ in `#22296 `_ +* Downgrade authnz OAuth callback errors from ERROR/EXCEPTION to WARNING by `@mvdbeek `_ in `#22300 `_ +* Delay workflow scheduling when collection has unresolved 'auto' extension by `@mvdbeek `_ in `#22303 `_ +* Fix slow get_private_role_user_emails_dict query by `@mvdbeek `_ in `#22307 `_ +* Mark dataset collections as deleted when purging a history by `@mvdbeek `_ in `#22315 `_ +* Harden API parameter validation by `@mvdbeek `_ in `#22351 `_ +* Remove broken serialize_urls from HDASerializer by `@mvdbeek `_ in `#22358 `_ +* Fix HideDatasetAction not applied for cached workflow jobs by `@mvdbeek `_ in `#22360 `_ +* Don't retry JobNotReadyException in job destination mapping by `@mvdbeek `_ in `#22377 `_ +* Fix workflow extract NoneType on LDDA leaf in implicit collection by `@jmchilton `_ in `#22381 `_ +* Serialize data provider errors as MessageException subclasses by `@mvdbeek `_ in `#22398 `_ +* Handle ``MaxDiscoveredFilesExceededError`` for dynamic collections by `@mvdbeek `_ in `#22402 `_ +* Unwrap HDCAs/DCEs nested in multi data input lists by `@mvdbeek `_ in `#22405 `_ +* Reject HDCA submitted to single data parameter by `@mvdbeek `_ in `#22406 `_ + +============ +Enhancements +============ + +* Refactor display application handling by `@guerler `_ in `#15076 `_ +* Replace Copy Dataset Mako with Vue Component by `@guerler `_ in `#17507 `_ +* Add Support for HTTP Headers in URL Fetch Requests with Secure Storage for Landing Requests by `@davelopez `_ in `#20924 `_ +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Remove Trackster by `@guerler `_ in `#20974 `_ +* Integrate 'uv' for enhanced package management by `@arash77 `_ in `#21002 `_ +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Improve type annotation of job runners by `@nsoranzo `_ in `#21050 `_ +* Remove Job.params by `@jdavcs `_ in `#21075 `_ +* Update Python dependencies by `@galaxybot `_ in `#21104 `_ +* Pulsar relay implementation by `@mvdbeek `_ in `#21118 `_ +* Remove legacy Visualization Mako and Controllers by `@guerler `_ in `#21133 `_ +* Fix various bugs/hacks with tool_data_table handling. by `@jmchilton `_ in `#21163 `_ +* Add type annotations to job handling code by `@nsoranzo `_ in `#21171 `_ +* Replace tuswsgi with tuspyserver by `@mvdbeek `_ in `#21201 `_ +* Update Python dependencies by `@galaxybot `_ in `#21229 `_ +* Reimplement keycloak/cilogon as PSA providers and remove custos by `@nuwang `_ in `#21234 `_ +* Allow filtering job searches by history ID by `@nsoranzo `_ in `#21257 `_ +* Move js-client bootstrapping to FastAPI by `@guerler `_ in `#21264 `_ +* Update Python dependencies by `@galaxybot `_ in `#21301 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* Update Python dependencies by `@galaxybot `_ in `#21345 `_ +* Link to an external profile when user accounts are managed by a single OIDC provider by `@marius-mather `_ in `#21356 `_ +* Add OMERO File Source Plugin by `@davelopez `_ in `#21367 `_ +* Update Python dependencies by `@galaxybot `_ in `#21368 `_ +* Fix: tool execution typing improvements/fixes by `@jmchilton `_ in `#21374 `_ +* Update fastapi to 0.123.4 and ``get_openapi()`` fork by `@nsoranzo `_ in `#21384 `_ +* Add initial support for the DICOM format by `@kostrykin `_ in `#21385 `_ +* Add new Azure Flat object store file source by `@guerler `_ in `#21398 `_ +* Update Python dependencies by `@galaxybot `_ in `#21400 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Add Google Batch job runner by `@ksuderman `_ in `#21443 `_ +* Update Python dependencies by `@galaxybot `_ in `#21449 `_ +* Add Jupyternaut adapter for JupyterLite integration by `@guerler `_ in `#21463 `_ +* Add support for Python 3.14 by `@nsoranzo `_ in `#21486 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Update Python dependencies by `@galaxybot `_ in `#21500 `_ +* Raise ConfigurationError instead etree.ParseError by `@mvdbeek `_ in `#21509 `_ +* Include subworkflow jobs in invocation metrics by `@mvdbeek `_ in `#21511 `_ +* Update Python dependencies by `@galaxybot `_ in `#21513 `_ +* Add support for workflow landing requests using simple URLs by `@mvdbeek `_ in `#21525 `_ +* Update Python dependencies by `@galaxybot `_ in `#21526 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Update Python dependencies by `@galaxybot `_ in `#21552 `_ +* Add discarded_data option to model store import API by `@mvdbeek `_ in `#21582 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Switch Google Cloud Storage file source from fs-gcsfs to gcsfs (fsspec) by `@mvdbeek `_ in `#21590 `_ +* Update Python dependencies by `@galaxybot `_ in `#21606 `_ +* Update to gravity 1.2.0 by `@nsoranzo `_ in `#21608 `_ +* Move legacy Visualization Plugins API to FastAPI by `@guerler `_ in `#21612 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Update Python dependencies by `@galaxybot `_ in `#21653 `_ +* Add agent based AI tool recommendation by `@dannon `_ in `#21661 `_ +* Type annotations and refactorings by `@nsoranzo `_ in `#21673 `_ +* Check file source template config files for determining conditional dependencies + add constraint for zero-ice by `@bernt-matthias `_ in `#21688 `_ +* Standardize agent API schemas and response metadata by `@dannon `_ in `#21692 `_ +* Backport chat API improvements by `@dannon `_ in `#21973 `_ +* Use ParameterValueError for dataset count validation to reduce Sentry noise by `@mvdbeek `_ in `#22058 `_ +* Use mock test server when tests don't target external galaxy server by `@mvdbeek `_ in `#22103 `_ + +============= +Other changes +============= + +* Merge 25.1 into dev, fix openapi schema generation for TypedDict by `@mvdbeek `_ in `#21168 `_ +* Don't return 404 when file name can't be serialized by `@mvdbeek `_ in `#21577 `_ +* Reduce completion monitor logging by `@mvdbeek `_ in `#21674 `_ +* Backport: Fix dbkey filter returning no options when dbkey unset by `@bernt-matthias `_ in `#21945 `_ +* Show invalid tool error reasons in Tool Shed UI by `@mvdbeek `_ in `#22040 `_ +* Backport of 21939 by `@jdavcs `_ in `#22265 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/app/setup.cfg b/packages/app/setup.cfg index 757e32ab5f7..aa5f2c18140 100644 --- a/packages/app/setup.cfg +++ b/packages/app/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-app url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/auth/HISTORY.rst b/packages/auth/HISTORY.rst index 0235162d76a..70da549ae8a 100644 --- a/packages/auth/HISTORY.rst +++ b/packages/auth/HISTORY.rst @@ -3,11 +3,16 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +============ +Enhancements +============ + +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/auth/setup.cfg b/packages/auth/setup.cfg index 2e26c40f52b..c1d7053b205 100644 --- a/packages/auth/setup.cfg +++ b/packages/auth/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-auth url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/config/HISTORY.rst b/packages/config/HISTORY.rst index af7e4a9c6b2..7e3e64040ee 100644 --- a/packages/config/HISTORY.rst +++ b/packages/config/HISTORY.rst @@ -3,11 +3,47 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Infer type from extension for mzml by `@bgruening `_ in `#21033 `_ +* Update config samples from schema by `@davelopez `_ in `#21053 `_ +* remove a tool from sample that is no longer included in dist by `@martenson `_ in `#21371 `_ +* Various fixes around ascp file source by `@mvdbeek `_ in `#21372 `_ +* Add tool_shed_url config for explicit hostname setting by `@jmchilton `_ in `#21499 `_ +* Use inference_services config for plugin chat proxy by `@dannon `_ in `#21986 `_ +* Silence social_core's noisy handle_http_errors logging by `@mvdbeek `_ in `#22403 `_ + +============ +Enhancements +============ + +* Improve docs for `invalidjobexception_state` and `_retry` of DRMAA runners by `@bernt-matthias `_ in `#20612 `_ +* Add Support for HTTP Headers in URL Fetch Requests with Secure Storage for Landing Requests by `@davelopez `_ in `#20924 `_ +* Remove Trackster by `@guerler `_ in `#20974 `_ +* Remove legacy Visualization Mako and Controllers by `@guerler `_ in `#21133 `_ +* Reimplement keycloak/cilogon as PSA providers and remove custos by `@nuwang `_ in `#21234 `_ +* Slight improvement of mztab2 datatype by `@nguilhot `_ in `#21258 `_ +* Link to an external profile when user accounts are managed by a single OIDC provider by `@marius-mather `_ in `#21356 `_ +* Ascp plugin by `@d-callan `_ in `#21357 `_ +* Add initial support for the DICOM format by `@kostrykin `_ in `#21385 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Update to gravity 1.2.0 by `@nsoranzo `_ in `#21608 `_ +* Add new datatypes: .taf and .taf.gz by `@Maed0x `_ in `#22242 `_ + +============= +Other changes +============= + +* Backport of 21939 by `@jdavcs `_ in `#22265 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/config/setup.cfg b/packages/config/setup.cfg index 6ffeee7bbaa..5574b3224f4 100644 --- a/packages/config/setup.cfg +++ b/packages/config/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-config url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/data/HISTORY.rst b/packages/data/HISTORY.rst index cf3d040b535..6823fd19724 100644 --- a/packages/data/HISTORY.rst +++ b/packages/data/HISTORY.rst @@ -3,11 +3,79 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Drop down revision for drop_job_params migration by `@mvdbeek `_ in `#21122 `_ +* Create alembic merge by `@mvdbeek `_ in `#21447 `_ +* Provide more accurate step hints for failing subworkflow steps by `@mvdbeek `_ in `#21514 `_ +* Fix width and height assignment for image metadata using Pillow by `@kostrykin `_ in `#21554 `_ +* Avoid slash duplication in display application urls by `@guerler `_ in `#21809 `_ +* Fix redirect upon impersonation by `@guerler `_ in `#21810 `_ +* Fix dataset collection tag duplication when copying a history by `@mvdbeek `_ in `#21984 `_ +* Fix AttributeError serializing implicit output collections during job prep by `@mvdbeek `_ in `#22034 `_ +* Fix ``preferred_object_store_id`` not respected for discovered outputs with extended metadata by `@mvdbeek `_ in `#22056 `_ +* Fix TypeError when column_names metadata is None by `@mvdbeek `_ in `#22057 `_ +* Fail job gracefully when output name exceeds 255 character DB limit by `@mvdbeek `_ in `#22059 `_ +* Fix nested collection query performance by `@mvdbeek `_ in `#22119 `_ +* Fix CardinalityViolation in nested collection ARRAY walk scalar subqueries by `@mvdbeek `_ in `#22123 `_ +* Use skip_locked also when updating collection by `@mvdbeek `_ in `#22133 `_ +* Fix redundant empty collection elements by `@mvdbeek `_ in `#22154 `_ +* Don't fail on probable delete race by `@mvdbeek `_ in `#22183 `_ +* Back port collection fixes from #22170. by `@jmchilton `_ in `#22193 `_ +* Optimize dataset get_edit API by deferring expensive role queries by `@mvdbeek `_ in `#22232 `_ +* Batch-prefetch HDCA job_state_summary in history contents listing by `@mvdbeek `_ in `#22256 `_ +* Sequence datatypes: only read first character per line for setting metadata by `@bernt-matthias `_ in `#22276 `_ +* Fix slow get_private_role_user_emails_dict query by `@mvdbeek `_ in `#22307 `_ +* Fix timestamp parsing in job import/export by `@mvdbeek `_ in `#22372 `_ +* Ensure ``x-content-truncated`` header is string by `@mvdbeek `_ in `#22386 `_ +* Fix dataset preview rendering to preserve newlines by `@mvdbeek `_ in `#22397 `_ + +============ +Enhancements +============ + +* Refactor display application handling by `@guerler `_ in `#15076 `_ +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Remove Trackster by `@guerler `_ in `#20974 `_ +* Move database revision tags to separate file by `@guerler `_ in `#20998 `_ +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Remove Job.params by `@jdavcs `_ in `#21075 `_ +* Remove tabular chunked, binary and large file mako by `@guerler `_ in `#21106 `_ +* Add type annotations to job handling code by `@nsoranzo `_ in `#21171 `_ +* Reimplement keycloak/cilogon as PSA providers and remove custos by `@nuwang `_ in `#21234 `_ +* Slight improvement of mztab2 datatype by `@nguilhot `_ in `#21258 `_ +* Move js-client bootstrapping to FastAPI by `@guerler `_ in `#21264 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* Fix: tool execution typing improvements/fixes by `@jmchilton `_ in `#21374 `_ +* Add initial support for the DICOM format by `@kostrykin `_ in `#21385 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Discriminate decompression tools by `@mvdbeek `_ in `#21510 `_ +* Include subworkflow jobs in invocation metrics by `@mvdbeek `_ in `#21511 `_ +* Implement subworkflow invocation export by `@mvdbeek `_ in `#21512 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Allow connecting sample sheet inputs to compatible collection inputs in editor by `@mvdbeek `_ in `#21859 `_ +* Add new datatypes: .taf and .taf.gz by `@Maed0x `_ in `#22242 `_ +* Add _F/_R auto-pairing filter for forward/reverse datasets by `@jmchilton `_ in `#22267 `_ + +============= +Other changes +============= + +* Update revision tags for release 25.1 by `@arash77 `_ in `#21022 `_ +* Merge 25.1 into dev and create alembic merge revision by `@mvdbeek `_ in `#21440 `_ +* Add Database Revision for 26.0 by `@guerler `_ in `#21675 `_ +* Fix on_complete column type mismatch by `@mvdbeek `_ in `#21765 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/data/setup.cfg b/packages/data/setup.cfg index 4533bebc580..5a7cf36b0c2 100644 --- a/packages/data/setup.cfg +++ b/packages/data/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-data url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/files/HISTORY.rst b/packages/files/HISTORY.rst index 2d3ab0ba2e9..9240cfc7b39 100644 --- a/packages/files/HISTORY.rst +++ b/packages/files/HISTORY.rst @@ -3,11 +3,43 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Various fixes around ascp file source by `@mvdbeek `_ in `#21372 `_ +* Better error message for unencoded/unresolvable filesource uri by `@dannon `_ in `#21562 `_ +* Fix OMERO file source download multi channel TIFF by `@davelopez `_ in `#21856 `_ +* Fix ascp download retries by `@mvdbeek `_ in `#21857 `_ +* Fixes some more optional fields in templates by `@davelopez `_ in `#21891 `_ +* Fix Pydantic UnsupportedFieldAttributeWarning for Field defaults in Annotated by `@mvdbeek `_ in `#21923 `_ +* Fix OMERO temp directory handling by `@davelopez `_ in `#22262 `_ +* Harden API parameter validation by `@mvdbeek `_ in `#22351 `_ + +============ +Enhancements +============ + +* Add DRS compact identifier support by `@dannon `_ in `#20410 `_ +* Add service account support for Google Cloud Storage client initialization by `@dannon `_ in `#21027 `_ +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Add Custom Validation for User-Configured Templates by `@davelopez `_ in `#21155 `_ +* Ascp plugin by `@d-callan `_ in `#21357 `_ +* Add OMERO File Source Plugin by `@davelopez `_ in `#21367 `_ +* Add new Azure Flat object store file source by `@guerler `_ in `#21398 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Switch Google Cloud Storage file source from fs-gcsfs to gcsfs (fsspec) by `@mvdbeek `_ in `#21590 `_ +* Unify extensions of file source templates by `@bernt-matthias `_ in `#21594 `_ +* Various fixes to file source template's validation system by `@davelopez `_ in `#21704 `_ +* Adds ImageJ metadata support to TIFF export by `@davelopez `_ in `#21882 `_ +* Use mock test server when tests don't target external galaxy server by `@mvdbeek `_ in `#22103 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/files/setup.cfg b/packages/files/setup.cfg index 885a5d2e38c..16e0826768d 100644 --- a/packages/files/setup.cfg +++ b/packages/files/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-files url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/job_execution/HISTORY.rst b/packages/job_execution/HISTORY.rst index 38204353be7..1fd2f984e17 100644 --- a/packages/job_execution/HISTORY.rst +++ b/packages/job_execution/HISTORY.rst @@ -3,11 +3,27 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix ``preferred_object_store_id`` not respected for discovered outputs with extended metadata by `@mvdbeek `_ in `#22056 `_ +* Fail job gracefully when output name exceeds 255 character DB limit by `@mvdbeek `_ in `#22059 `_ +* Fix redundant empty collection elements by `@mvdbeek `_ in `#22154 `_ +* Handle ``MaxDiscoveredFilesExceededError`` for dynamic collections by `@mvdbeek `_ in `#22402 `_ + +============ +Enhancements +============ + +* Add citation reminder to job completion email by `@Syrinx55 `_ in `#21347 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/job_execution/setup.cfg b/packages/job_execution/setup.cfg index d92848830cd..77357434628 100644 --- a/packages/job_execution/setup.cfg +++ b/packages/job_execution/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-job-execution url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/job_metrics/HISTORY.rst b/packages/job_metrics/HISTORY.rst index 9ed574cf5b9..2d8facfc8d8 100644 --- a/packages/job_metrics/HISTORY.rst +++ b/packages/job_metrics/HISTORY.rst @@ -3,11 +3,17 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +============ +Enhancements +============ + +* Add type annotations to job handling code by `@nsoranzo `_ in `#21171 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/job_metrics/setup.cfg b/packages/job_metrics/setup.cfg index 5b83bd3ad47..fdcdf708a85 100644 --- a/packages/job_metrics/setup.cfg +++ b/packages/job_metrics/setup.cfg @@ -28,7 +28,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-job-metrics url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/meta/HISTORY.rst b/packages/meta/HISTORY.rst index 42ebf86c48e..e0a79d5b11d 100644 --- a/packages/meta/HISTORY.rst +++ b/packages/meta/HISTORY.rst @@ -3,11 +3,398 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix workflow report time handling by `@dannon `_ in `#19292 `_ +* Attempt to fix transient API test failure for jobs search. by `@jmchilton `_ in `#20898 `_ +* Infer type from extension for mzml by `@bgruening `_ in `#21033 `_ +* Bump python-ldap from 3.4.0 to 3.4.5 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21042 `_ +* Update config samples from schema by `@davelopez `_ in `#21053 `_ +* Cross product tools: Fix typos in help section by `@RZ9082 `_ in `#21061 `_ +* Drop down revision for drop_job_params migration by `@mvdbeek `_ in `#21122 `_ +* Pin Ansible version during Docker image building by `@ksuderman `_ in `#21131 `_ +* Change invocation step state display selector to fix styling by `@ahmedhamidawan `_ in `#21144 `_ +* Simplify transiently failing test (#21224) see if this stabilizes it at all by `@jmchilton `_ in `#21239 `_ +* Plumbing for tracking potential fixes for transient failures (and a fix demonstrating it) by `@jmchilton `_ in `#21243 `_ +* Fix differentiation between single handler and handler tag by `@natefoo `_ in `#21252 `_ +* Fix quoting issue getting the Galaxy version by `@ksuderman `_ in `#21316 `_ +* Use uv also for the lint_openapi_schema GitHub workflow by `@nsoranzo `_ in `#21319 `_ +* Extend startup probe timeout by `@ksuderman `_ in `#21326 `_ +* remove a tool from sample that is no longer included in dist by `@martenson `_ in `#21371 `_ +* Various fixes around ascp file source by `@mvdbeek `_ in `#21372 `_ +* Attempt to fix transiently failing tests that click this tab. by `@jmchilton `_ in `#21376 `_ +* Attempt to fix transient failure in list_list_copy by `@jmchilton `_ in `#21381 `_ +* Use icon classes instead of strings for history content item states by `@guerler `_ in `#21393 `_ +* Bump urllib3 from 2.5.0 to 2.6.0 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21399 `_ +* Assorted tool shed fixes. by `@jmchilton `_ in `#21424 `_ +* Use Playwright from the Galaxy virtualenv by `@nsoranzo `_ in `#21425 `_ +* Fix tool shed repository last updated time by `@mvdbeek `_ in `#21427 `_ +* Add license define for vite by `@dannon `_ in `#21431 `_ +* Create alembic merge by `@mvdbeek `_ in `#21447 `_ +* Don't set OAUTHLIB_INSECURE_TRANSPORT setting in user_data by `@nuwang `_ in `#21451 `_ +* Bump filelock from 3.20.0 to 3.20.1 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21476 `_ +* Fixes select field clipping and filtering by `@guerler `_ in `#21479 `_ +* Add tool_shed_url config for explicit hostname setting by `@jmchilton `_ in `#21499 `_ +* Provide more accurate step hints for failing subworkflow steps by `@mvdbeek `_ in `#21514 `_ +* Restrict collection of dynamic working dir output to specified directory in pulsar by `@mvdbeek `_ in `#21515 `_ +* Accept 404 as valid intermediate state when waiting for dataset purge by `@mvdbeek `_ in `#21521 `_ +* Fix input tags not being copied when using copy_inputs_to_history by `@mvdbeek `_ in `#21529 `_ +* Bump aiohttp from 3.13.2 to 3.13.3 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21538 `_ +* Preserve assistant messages with tool calls by `@guerler `_ in `#21545 `_ +* Bump urllib3 from 2.6.2 to 2.6.3 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21546 `_ +* Bump werkzeug from 3.1.4 to 3.1.5 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21549 `_ +* Fix width and height assignment for image metadata using Pillow by `@kostrykin `_ in `#21554 `_ +* Better error message for unencoded/unresolvable filesource uri by `@dannon `_ in `#21562 `_ +* Fix loading spinner positioning in admin grid by `@dannon `_ in `#21564 `_ +* Update Molstar by `@guerler `_ in `#21567 `_ +* Overhaul ChatGXY Routing approach by `@dannon `_ in `#21580 `_ +* Fix Vite 5 upgrade compatibility issues for tool shed frontend by `@mvdbeek `_ in `#21581 `_ +* Remove dummy header from JupyterLite requests by `@guerler `_ in `#21585 `_ +* Bump pyasn1 from 0.6.1 to 0.6.2 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21605 `_ +* Fix Auto Layout crash with conditional (when) step inputs by `@jmchilton `_ in `#21616 `_ +* Fix toolshed tests on Python 3.14 by `@mvdbeek `_ in `#21617 `_ +* Fix package test using ``--index-strategy unsafe-best-match`` to match pip behavior by `@mvdbeek `_ in `#21619 `_ +* Fix ace import in cell-based markdown editor by `@guerler `_ in `#21622 `_ +* Triage command followup fixes/tweaks by `@dannon `_ in `#21629 `_ +* Bump python-multipart from 0.0.21 to 0.0.22 in /lib/galaxy/dependencies by `@dependabot[bot] `_ in `#21663 `_ +* Fix incorrect router tag in plugins API by `@dannon `_ in `#21669 `_ +* Add missing types to visualization model by `@guerler `_ in `#21672 `_ +* Fix storing origin for workflow landing requests by `@mvdbeek `_ in `#21696 `_ +* Hide interactivetools activity when disabled in config by `@dannon `_ in `#21755 `_ +* Hide ChatGXY activity when LLM API isn't configured by `@dannon `_ in `#21756 `_ +* Handle TPV floating point memory values by `@ksuderman `_ in `#21763 `_ +* Deserialize json string for export_metadata from old records by `@mvdbeek `_ in `#21772 `_ +* Removes unnecessary overflow restriction in upload method panel by `@davelopez `_ in `#21774 `_ +* Fix upload local file drop zone when listing by `@davelopez `_ in `#21776 `_ +* Fixes navigation back to added URLs in upload panel by `@davelopez `_ in `#21796 `_ +* Fix passing invalid job_destination dict to JobState constructor by `@mvdbeek `_ in `#21798 `_ +* Avoid slash duplication in display application urls by `@guerler `_ in `#21809 `_ +* Fix redirect upon impersonation by `@guerler `_ in `#21810 `_ +* Update ``get_definitions()`` to FastAPI 0.128.8 by `@nsoranzo `_ in `#21834 `_ +* Fix selenium test test_rename_history by `@davelopez `_ in `#21835 `_ +* When getting tool by uuid, get that exact tool by `@mvdbeek `_ in `#21844 `_ +* Fix OMERO file source download multi channel TIFF by `@davelopez `_ in `#21856 `_ +* Fix ascp download retries by `@mvdbeek `_ in `#21857 `_ +* Fix infinite request loop on dataset preview fetch failure by `@dannon `_ in `#21881 `_ +* Fixes some more optional fields in templates by `@davelopez `_ in `#21891 `_ +* Fix missing sharable link URL in TS2.0 emails by `@jmchilton `_ in `#21892 `_ +* Parse input collections as well in markdown editor by `@ahmedhamidawan `_ in `#21913 `_ +* Fix collection step Job markdown elements not rendering by `@ahmedhamidawan `_ in `#21917 `_ +* Fix Pydantic UnsupportedFieldAttributeWarning for Field defaults in Annotated by `@mvdbeek `_ in `#21923 `_ +* Remove unused handle_tool_shed_url_protocol by `@mvdbeek `_ in `#21925 `_ +* Backport paired or unpaired mapping fix by `@mvdbeek `_ in `#21936 `_ +* Fix HTML dataset extra files 404 in preview by `@dannon `_ in `#21981 `_ +* Fix dict leaking to process_dataset() during workflow execution by `@mvdbeek `_ in `#21982 `_ +* Fix dataset collection tag duplication when copying a history by `@mvdbeek `_ in `#21984 `_ +* Use inference_services config for plugin chat proxy by `@dannon `_ in `#21986 `_ +* Restore file doesn't match sniffed datatype message by `@mvdbeek `_ in `#21988 `_ +* Fix repo metadata persistence in fix_tool_config_paths.py by `@mvdbeek `_ in `#22012 `_ +* Fix uncaught `ImplicitConversionRequired` by `@mvdbeek `_ in `#22027 `_ +* Fix toolshed "copy page link" copying relative URL instead of absolute by `@mvdbeek `_ in `#22028 `_ +* Fix AttributeError when fetching citations for missing tools by `@mvdbeek `_ in `#22029 `_ +* Fix invalid function schema error for tools with None parameters by `@mvdbeek `_ in `#22030 `_ +* AttributeError when history is None during tool execution by `@mvdbeek `_ in `#22031 `_ +* Fix subworkflow editing navigation and enable e2e test by `@mvdbeek `_ in `#22032 `_ +* Fix AttributeError when export_metadata is a string instead of dict by `@mvdbeek `_ in `#22033 `_ +* Fix AttributeError serializing implicit output collections during job prep by `@mvdbeek `_ in `#22034 `_ +* Fix ToolExpressionOutput.to_model() for boolean type. by `@jmchilton `_ in `#22038 `_ +* Fix ``preferred_object_store_id`` not respected for discovered outputs with extended metadata by `@mvdbeek `_ in `#22056 `_ +* Fix TypeError when column_names metadata is None by `@mvdbeek `_ in `#22057 `_ +* Fail job gracefully when output name exceeds 255 character DB limit by `@mvdbeek `_ in `#22059 `_ +* Fix FileNotFoundError when workflow references purged HDA by `@mvdbeek `_ in `#22060 `_ +* Fix AttributeError when dataset in inheritance chain has no user by `@mvdbeek `_ in `#22062 `_ +* Add check_database_connection to workflow scheduling path by `@mvdbeek `_ in `#22063 `_ +* Use base64 URL instead of GitHub URL in test_stage_fetch_decompress_true by `@mvdbeek `_ in `#22069 `_ +* Store tool shed search index test data in repo by `@mvdbeek `_ in `#22071 `_ +* Move history panel expand button to top by `@ahmedhamidawan `_ in `#22076 `_ +* Fix subworkflow editing navigation and enable e2e test by `@mvdbeek `_ in `#22082 `_ +* Fix workflow search broken after auto layout by `@dannon `_ in `#22093 `_ +* Fix legacy_expose_api error callable returning str instead of bytes by `@mvdbeek `_ in `#22106 `_ +* Fix WSGI middlewares returning strings by `@mvdbeek `_ in `#22108 `_ +* Model hidden_data params as optional data in tool meta-models. by `@jmchilton `_ in `#22116 `_ +* Fix nested collection query performance by `@mvdbeek `_ in `#22119 `_ +* Fix CardinalityViolation in nested collection ARRAY walk scalar subqueries by `@mvdbeek `_ in `#22123 `_ +* Fix unhandled exceptions in tool form model population by `@guerler `_ in `#22129 `_ +* Use skip_locked also when updating collection by `@mvdbeek `_ in `#22133 `_ +* Backport transient CI fixes from #22102 to release_26.0 by `@mvdbeek `_ in `#22135 `_ +* Do not render hide button on non-optional activities in activity bar by `@ahmedhamidawan `_ in `#22140 `_ +* Fix redundant empty collection elements by `@mvdbeek `_ in `#22154 `_ +* Do not queue paused jobs by `@martenson `_ in `#22156 `_ +* Fix AmbiguousColumn error in job search for tools with long input names by `@mvdbeek `_ in `#22167 `_ +* Bump tiffviewer visualization to v0.0.4 by `@davelopez `_ in `#22168 `_ +* Fix make all histories private controller None id bug by `@ahmedhamidawan `_ in `#22174 `_ +* Fixes for gxformat2 by `@jmchilton `_ in `#22179 `_ +* Add batch celery task for history dataset purging by `@mvdbeek `_ in `#22180 `_ +* Include missing tools in stock_tool_paths. by `@jmchilton `_ in `#22181 `_ +* Don't fail on probable delete race by `@mvdbeek `_ in `#22183 `_ +* Throw ParameterValueError instead of generic error by `@guerler `_ in `#22188 `_ +* Back port collection fixes from #22170. by `@jmchilton `_ in `#22193 `_ +* Cache url path lookup by `@mvdbeek `_ in `#22198 `_ +* Fix event loop blocking in async API routes by `@mvdbeek `_ in `#22202 `_ +* Update fastmcp requirement to 3.0.2 by `@nsoranzo `_ in `#22221 `_ +* Fix race condition in history list when rapidly changing search filters by `@mvdbeek `_ in `#22223 `_ +* Fix missing focus helper by `@guerler `_ in `#22225 `_ +* Use ``/api/tool_data`` endpoints in DataTables.vue & DataManagerTable.vue by `@mvdbeek `_ in `#22229 `_ +* Optimize dataset get_edit API by deferring expensive role queries by `@mvdbeek `_ in `#22232 `_ +* Fix TypeError in ExternalIdentities by always including provider_label in authnz response by `@guerler `_ in `#22234 `_ +* Add optional dataset collection mode to harmonize tool by `@mvdbeek `_ in `#22236 `_ +* Fix batch history purge not updating user's update_time by `@mvdbeek `_ in `#22238 `_ +* Fix import order error from ESLint by `@nsoranzo `_ in `#22240 `_ +* Delete dummy error controller, fix type error on invalid requests by `@mvdbeek `_ in `#22245 `_ +* Fix file source removal by `@davelopez `_ in `#22246 `_ +* Make sure origins for data landings are persisted by `@d-callan `_ in `#22248 `_ +* Validate replacement_params values are strings before storing by `@mvdbeek `_ in `#22250 `_ +* Fix N+1 queries in fetch_job_states for jobs_summary endpoints by `@mvdbeek `_ in `#22251 `_ +* Fix oauth2 template validation by `@davelopez `_ in `#22253 `_ +* Drop stored workflow menu entries from user serialization by `@mvdbeek `_ in `#22254 `_ +* Replace BaseHTTPMiddleware with pure ASGI middleware for X-Frame-Options by `@mvdbeek `_ in `#22255 `_ +* Batch-prefetch HDCA job_state_summary in history contents listing by `@mvdbeek `_ in `#22256 `_ +* Fixes optional integer form handling in templates by `@davelopez `_ in `#22257 `_ +* Fix HDCA lost in tool form on rerun by `@mvdbeek `_ in `#22258 `_ +* Fix OMERO temp directory handling by `@davelopez `_ in `#22262 `_ +* Fix DOMPurify sanitize TypeError in Library components by `@dannon `_ in `#22263 `_ +* Fix purge for anon histories by `@mvdbeek `_ in `#22275 `_ +* Sequence datatypes: only read first character per line for setting metadata by `@bernt-matthias `_ in `#22276 `_ +* Raise error when API client sends invalid parameter keys by `@mvdbeek `_ in `#22277 `_ +* Fix refresh time in object store caches by `@bgruening `_ in `#22279 `_ +* Fix validation of certain classes of text validators in tools. by `@jmchilton `_ in `#22280 `_ +* Fail early wehn no route match is found by `@mvdbeek `_ in `#22284 `_ +* Raise MessageException instead of generic Exception in rules_dsl by `@mvdbeek `_ in `#22285 `_ +* Fix toolshed static image url encoding by `@mvdbeek `_ in `#22286 `_ +* Fix nested DatasetCollectionElement in dynamic options by `@mvdbeek `_ in `#22287 `_ +* Fix flaky job search for HDCA inputs on PostgreSQL by `@mvdbeek `_ in `#22290 `_ +* Fix HDCA shown as unavailable on tool form rerun by `@mvdbeek `_ in `#22291 `_ +* Fix AttributeError when anonymous user searches workflows with ``is:bookmarked`` by `@mvdbeek `_ in `#22296 `_ +* Improve timeout and error handling in ``/api/proxy`` endpoint by `@mvdbeek `_ in `#22297 `_ +* Downgrade authnz OAuth callback errors from ERROR/EXCEPTION to WARNING by `@mvdbeek `_ in `#22300 `_ +* Skip WorkflowHub tests when workflowhub.eu is down by `@mvdbeek `_ in `#22302 `_ +* Delay workflow scheduling when collection has unresolved 'auto' extension by `@mvdbeek `_ in `#22303 `_ +* Fix atomicity issues when pulling files into object store cache by `@mvdbeek `_ in `#22304 `_ +* Fix slow get_private_role_user_emails_dict query by `@mvdbeek `_ in `#22307 `_ +* Pass tool_uuid as proper query parameter instead of reusing URL path id by `@mvdbeek `_ in `#22309 `_ +* Strip content-length and accept-ranges headers from proxied streaming responses by `@mvdbeek `_ in `#22314 `_ +* Mark dataset collections as deleted when purging a history by `@mvdbeek `_ in `#22315 `_ +* Wrap webhook scripts in IIFE to prevent redeclaration errors by `@mvdbeek `_ in `#22320 `_ +* Handle inaccessible history errors in route-level components by `@mvdbeek `_ in `#22323 `_ +* Ignore aborted requests in rethrowSimple by `@mvdbeek `_ in `#22325 `_ +* Fix AbortSignal being serialized as dataset view query parameter by `@mvdbeek `_ in `#22326 `_ +* Discard rest of line in chunks in iter_start_of_line by `@mvdbeek `_ in `#22332 `_ +* Fix tool "Copy Link" generating broken /root?tool_id= URLs by `@mvdbeek `_ in `#22339 `_ +* Backport: Fix tool discovery help data race condition and stale results by `@mvdbeek `_ in `#22340 `_ +* Harden API parameter validation by `@mvdbeek `_ in `#22351 `_ +* Throw RequestAbortedError instead of returning undefined by `@mvdbeek `_ in `#22352 `_ +* Remove broken serialize_urls from HDASerializer by `@mvdbeek `_ in `#22358 `_ +* Fix HideDatasetAction not applied for cached workflow jobs by `@mvdbeek `_ in `#22360 `_ +* Fix timestamp parsing in job import/export by `@mvdbeek `_ in `#22372 `_ +* Don't retry JobNotReadyException in job destination mapping by `@mvdbeek `_ in `#22377 `_ +* Fix Content-Disposition header with trailing whitespace by `@mvdbeek `_ in `#22379 `_ +* Fix workflow extract NoneType on LDDA leaf in implicit collection by `@jmchilton `_ in `#22381 `_ +* Show error message when display action not ready by `@mvdbeek `_ in `#22383 `_ +* Ensure ``x-content-truncated`` header is string by `@mvdbeek `_ in `#22386 `_ +* Validate workflow invocation parameters values are dicts by `@mvdbeek `_ in `#22388 `_ +* Fix invalid request error for get_metadata_file endpoint by `@mvdbeek `_ in `#22389 `_ +* Offload AsyncClient construction to worker thread by `@mvdbeek `_ in `#22392 `_ +* Fix dataset preview rendering to preserve newlines by `@mvdbeek `_ in `#22397 `_ +* Serialize data provider errors as MessageException subclasses by `@mvdbeek `_ in `#22398 `_ +* Handle ``MaxDiscoveredFilesExceededError`` for dynamic collections by `@mvdbeek `_ in `#22402 `_ +* Silence social_core's noisy handle_http_errors logging by `@mvdbeek `_ in `#22403 `_ +* Unwrap HDCAs/DCEs nested in multi data input lists by `@mvdbeek `_ in `#22405 `_ +* Reject HDCA submitted to single data parameter by `@mvdbeek `_ in `#22406 `_ +* Fix headings in selenium package readme by `@guerler `_ in `#22411 `_ + +============ +Enhancements +============ + +* Refactor display application handling by `@guerler `_ in `#15076 `_ +* Replace Copy Dataset Mako with Vue Component by `@guerler `_ in `#17507 `_ +* Blur input path instead of requiring explicit enter in FormDirectory input by `@dannon `_ in `#20047 `_ +* Standardize FontAwesome usage by `@dannon `_ in `#20334 `_ +* Add DRS compact identifier support by `@dannon `_ in `#20410 `_ +* Fix output dataset collection visualizations by `@mvdbeek `_ in `#20544 `_ +* Improve docs for `invalidjobexception_state` and `_retry` of DRMAA runners by `@bernt-matthias `_ in `#20612 `_ +* Refactor/cleanup admin_cleanup_datasets.py script by `@ccoulombe `_ in `#20819 `_ +* Upload user defined tools from url by `@mvdbeek `_ in `#20860 `_ +* Add Support for HTTP Headers in URL Fetch Requests with Secure Storage for Landing Requests by `@davelopez `_ in `#20924 `_ +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Remove Trackster by `@guerler `_ in `#20974 `_ +* Move database revision tags to separate file by `@guerler `_ in `#20998 `_ +* Integrate 'uv' for enhanced package management by `@arash77 `_ in `#21002 `_ +* Add service account support for Google Cloud Storage client initialization by `@dannon `_ in `#21027 `_ +* Selenium test cases for IGV. by `@jmchilton `_ in `#21034 `_ +* Remove History Panel proxy by `@guerler `_ in `#21037 `_ +* Convert Modal to plain JavaScript and remove from Galaxy object by `@guerler `_ in `#21038 `_ +* Selenium test for the new storage delete confirm dialog. by `@jmchilton `_ in `#21039 `_ +* Selenium test for #20886 (sharing private histories) by `@jmchilton `_ in `#21040 `_ +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Bump github/codeql-action from 3 to 4 by `@dependabot[bot] `_ in `#21048 `_ +* Improve type annotation of job runners by `@nsoranzo `_ in `#21050 `_ +* Selenium test exercising workflow debug, failed jobs, etc... (20912) by `@jmchilton `_ in `#21058 `_ +* Selenium test case for basic tools list functionality. by `@jmchilton `_ in `#21059 `_ +* Remove jquery from legacy onload helpers and Rule Builder by `@guerler `_ in `#21063 `_ +* Remove Job.params by `@jdavcs `_ in `#21075 `_ +* Remove Reports Application by `@guerler `_ in `#21076 `_ +* Add Playwright Backend Support to Galaxy Browser Automation Framework by `@jmchilton `_ in `#21102 `_ +* Update Python dependencies by `@galaxybot `_ in `#21104 `_ +* Remove tabular chunked, binary and large file mako by `@guerler `_ in `#21106 `_ +* Enhance Confirm Dialog Types and More by `@itisAliRH `_ in `#21108 `_ +* Bump actions/setup-node from 5 to 6 by `@dependabot[bot] `_ in `#21116 `_ +* Pulsar relay implementation by `@mvdbeek `_ in `#21118 `_ +* Add `select all`, simple search and pagination to Zip file selector by `@davelopez `_ in `#21120 `_ +* Remove legacy Visualization Mako and Controllers by `@guerler `_ in `#21133 `_ +* Add Custom Validation for User-Configured Templates by `@davelopez `_ in `#21155 `_ +* Fix various bugs/hacks with tool_data_table handling. by `@jmchilton `_ in `#21163 `_ +* Add type annotations to job handling code by `@nsoranzo `_ in `#21171 `_ +* Add plotly pie charts by `@guerler `_ in `#21174 `_ +* Bump actions/upload-artifact from 4 to 5 by `@dependabot[bot] `_ in `#21176 `_ +* Refactor client imports for better ES module compatibility by `@dannon `_ in `#21194 `_ +* Replace tuswsgi with tuspyserver by `@mvdbeek `_ in `#21201 `_ +* Add an easy to access/obvious button to hide history panel by `@ahmedhamidawan `_ in `#21207 `_ +* Richer tracking of transient failures. by `@jmchilton `_ in `#21227 `_ +* Update Python dependencies by `@galaxybot `_ in `#21229 `_ +* Consolidate Dataset State Display by `@guerler `_ in `#21231 `_ +* Reimplement keycloak/cilogon as PSA providers and remove custos by `@nuwang `_ in `#21234 `_ +* Remove Tool Runner mako by `@guerler `_ in `#21235 `_ +* Bump actions/checkout from 4 to 5 by `@dependabot[bot] `_ in `#21236 `_ +* Allow filtering job searches by history ID by `@nsoranzo `_ in `#21257 `_ +* Slight improvement of mztab2 datatype by `@nguilhot `_ in `#21258 `_ +* Add "show in multiview" to mutiple history selection by `@davelopez `_ in `#21260 `_ +* Move js-client bootstrapping to FastAPI by `@guerler `_ in `#21264 `_ +* Smoke test and PR by `@ksuderman `_ in `#21277 `_ +* Update last queue process handler by `@guerler `_ in `#21288 `_ +* Update error message handling for OIDC by `@uwwint `_ in `#21297 `_ +* Update Python dependencies by `@galaxybot `_ in `#21301 `_ +* Add workflow dispatch to artifact building workflow by `@mvdbeek `_ in `#21323 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* Add Beta Upload Activity - User Interface Redesign by `@davelopez `_ in `#21338 `_ +* Annotates archive explorer tests as Selenium-only by `@davelopez `_ in `#21341 `_ +* Update Python dependencies by `@galaxybot `_ in `#21345 `_ +* Add citation reminder to job completion email by `@Syrinx55 `_ in `#21347 `_ +* Migrate client tests from Jest to Vitest by `@dannon `_ in `#21348 `_ +* Bump peter-evans/create-pull-request from 6 to 7 by `@dependabot[bot] `_ in `#21352 `_ +* Bump actions/checkout from 5 to 6 by `@dependabot[bot] `_ in `#21353 `_ +* Bump actions/setup-python from 4 to 6 by `@dependabot[bot] `_ in `#21354 `_ +* Bump jupyterhub/action-k3s-helm from 3 to 4 by `@dependabot[bot] `_ in `#21355 `_ +* Link to an external profile when user accounts are managed by a single OIDC provider by `@marius-mather `_ in `#21356 `_ +* Ascp plugin by `@d-callan `_ in `#21357 `_ +* Vitest followup: switch to happy-dom, cleanup/fixes to mocks by `@dannon `_ in `#21359 `_ +* Migrate rate limiter tests from Jest to Vitest by `@davelopez `_ in `#21361 `_ +* Add OMERO File Source Plugin by `@davelopez `_ in `#21367 `_ +* Update Python dependencies by `@galaxybot `_ in `#21368 `_ +* Replace Webpack with Vite for client build by `@dannon `_ in `#21369 `_ +* Replace gulp with native Node.js build script by `@dannon `_ in `#21370 `_ +* Fix: tool execution typing improvements/fixes by `@jmchilton `_ in `#21374 `_ +* More use of base64 to improve test stability. by `@jmchilton `_ in `#21383 `_ +* Update fastapi to 0.123.4 and ``get_openapi()`` fork by `@nsoranzo `_ in `#21384 `_ +* Add initial support for the DICOM format by `@kostrykin `_ in `#21385 `_ +* Add new Azure Flat object store file source by `@guerler `_ in `#21398 `_ +* Update Python dependencies by `@galaxybot `_ in `#21400 `_ +* Redesign TS landing page with prominent search box. by `@jmchilton `_ in `#21430 `_ +* A couple more tool shed fixes. by `@jmchilton `_ in `#21433 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Add Google Batch job runner by `@ksuderman `_ in `#21443 `_ +* Update Python dependencies by `@galaxybot `_ in `#21449 `_ +* Add toolshed metadata fixing script by `@mvdbeek `_ in `#21456 `_ +* Bump actions/upload-artifact from 5 to 6 by `@dependabot[bot] `_ in `#21460 `_ +* Bump actions/cache from 4 to 5 by `@dependabot[bot] `_ in `#21461 `_ +* Bump peter-evans/create-pull-request from 7 to 8 by `@dependabot[bot] `_ in `#21462 `_ +* Add Jupyternaut adapter for JupyterLite integration by `@guerler `_ in `#21463 `_ +* Add support for Python 3.14 by `@nsoranzo `_ in `#21486 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Modernize UrlTracker into a Typescript composable by `@davelopez `_ in `#21490 `_ +* Tool testing: add min/max attributes to test output collections by `@bernt-matthias `_ in `#21495 `_ +* Update Python dependencies by `@galaxybot `_ in `#21500 `_ +* Add functional test for filtering outputs by parameters in repeats by `@bernt-matthias `_ in `#21501 `_ +* Various test documentation updates. by `@jmchilton `_ in `#21507 `_ +* Raise ConfigurationError instead etree.ParseError by `@mvdbeek `_ in `#21509 `_ +* Discriminate decompression tools by `@mvdbeek `_ in `#21510 `_ +* Include subworkflow jobs in invocation metrics by `@mvdbeek `_ in `#21511 `_ +* Implement subworkflow invocation export by `@mvdbeek `_ in `#21512 `_ +* Update Python dependencies by `@galaxybot `_ in `#21513 `_ +* Fix use of function, method and argument names deprecated in pyparsing 3.0.0 by `@nsoranzo `_ in `#21517 `_ +* Add workflow API test for use_cached_job with sample sheet collections by `@mvdbeek `_ in `#21522 `_ +* Add `ruff --check` to pre-commit sample config by `@mvdbeek `_ in `#21523 `_ +* Add support for workflow landing requests using simple URLs by `@mvdbeek `_ in `#21525 `_ +* Update Python dependencies by `@galaxybot `_ in `#21526 `_ +* Extend `image_diff` and image content assertions to handle boolean images by `@kostrykin `_ in `#21527 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Migrate client package manager from Yarn to pnpm by `@dannon `_ in `#21539 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Update dependencies for IGV and Plotly by `@guerler `_ in `#21543 `_ +* Update Python dependencies by `@galaxybot `_ in `#21552 `_ +* Add Claude Code slash commands for GitHub issue triage by `@jmchilton `_ in `#21579 `_ +* Add discarded_data option to model store import API by `@mvdbeek `_ in `#21582 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Adds Vintent visualization plugin by `@guerler `_ in `#21586 `_ +* Sort data managers using case-insensitive order for display in admin UI by `@jdavcs `_ in `#21587 `_ +* Adds vue-eslint-parser as a dev dependency by `@davelopez `_ in `#21588 `_ +* Switch Google Cloud Storage file source from fs-gcsfs to gcsfs (fsspec) by `@mvdbeek `_ in `#21590 `_ +* Unify extensions of file source templates by `@bernt-matthias `_ in `#21594 `_ +* Use ``fail-on-cache-miss`` when restoring the client cache by `@nsoranzo `_ in `#21597 `_ +* Update Python dependencies by `@galaxybot `_ in `#21606 `_ +* Update to gravity 1.2.0 by `@nsoranzo `_ in `#21608 `_ +* Move legacy Visualization Plugins API to FastAPI by `@guerler `_ in `#21612 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Remove unused js-dependencies by `@guerler `_ in `#21621 `_ +* Migrate remaining vitest tests from `axios-mock-adapter` to `useServerMock` by `@dannon `_ in `#21634 `_ +* Fix slow startup regression by `@ksuderman `_ in `#21637 `_ +* Remove sanitization from built-in grep tool by `@wm75 `_ in `#21648 `_ +* Update Python dependencies by `@galaxybot `_ in `#21653 `_ +* Add tests for oidc usernames by `@nuwang `_ in `#21655 `_ +* Add agent based AI tool recommendation by `@dannon `_ in `#21661 `_ +* Improve ruff configuration to mimic our isort settings by `@nsoranzo `_ in `#21666 `_ +* Type annotations and refactorings by `@nsoranzo `_ in `#21673 `_ +* Check file source template config files for determining conditional dependencies + add constraint for zero-ice by `@bernt-matthias `_ in `#21688 `_ +* Standardize agent API schemas and response metadata by `@dannon `_ in `#21692 `_ +* Various fixes to file source template's validation system by `@davelopez `_ in `#21704 `_ +* Revert startup probe timeout by `@ksuderman `_ in `#21748 `_ +* Send a Slack notification if the Docker image build or smoke test fails by `@ksuderman `_ in `#21751 `_ +* Adds indicator to show if upload target history is current by `@davelopez `_ in `#21830 `_ +* Replaced deprecated actions with modern equivalents by `@ksuderman `_ in `#21849 `_ +* Allow connecting sample sheet inputs to compatible collection inputs in editor by `@mvdbeek `_ in `#21859 `_ +* Adds ImageJ metadata support to TIFF export by `@davelopez `_ in `#21882 `_ +* Backports: Return redirection instead of a JSON with the redirect URI by `@davelopez `_ in `#21902 `_ +* Update qiskit interactive tool by `@thepineapplepirate `_ in `#21948 `_ +* Backport chat API improvements by `@dannon `_ in `#21973 `_ +* Use ParameterValueError for dataset count validation to reduce Sentry noise by `@mvdbeek `_ in `#22058 `_ +* Add linter to validate required_files include paths exist by `@mvdbeek `_ in `#22061 `_ +* Use mock test server when tests don't target external galaxy server by `@mvdbeek `_ in `#22103 `_ +* Add new datatypes: .taf and .taf.gz by `@Maed0x `_ in `#22242 `_ +* Add _F/_R auto-pairing filter for forward/reverse datasets by `@jmchilton `_ in `#22267 `_ + +============= +Other changes +============= + +* Version 26.0.dev by `@ahmedhamidawan `_ in `#21020 `_ +* Update revision tags for release 25.1 by `@arash77 `_ in `#21022 `_ +* Update client API schema by `@davelopez `_ in `#21147 `_ +* Merge 25.1 into dev, fix openapi schema generation for TypedDict by `@mvdbeek `_ in `#21168 `_ +* Remove unused javascript from toolshed test makos by `@guerler `_ in `#21387 `_ +* Fix tool request API for multiple select parameters with defaults. by `@jmchilton `_ in `#21416 `_ +* Merge 25.1 into dev and create alembic merge revision by `@mvdbeek `_ in `#21440 `_ +* Merge 25.1 into dev by `@jmchilton `_ in `#21505 `_ +* Add automated npm publishing for client-api package by `@dannon `_ in `#21533 `_ +* Don't return 404 when file name can't be serialized by `@mvdbeek `_ in `#21577 `_ +* Bump default milestone to 26.1 by `@guerler `_ in `#21628 `_ +* Reduce completion monitor logging by `@mvdbeek `_ in `#21674 `_ +* Add Database Revision for 26.0 by `@guerler `_ in `#21675 `_ +* Version 26.1.dev by `@guerler `_ in `#21685 `_ +* Fix `test_value_restriction_with_select_from_multiple_subworkflow_inputs` formatting by `@mvdbeek `_ in `#21723 `_ +* Fix on_complete column type mismatch by `@mvdbeek `_ in `#21765 `_ +* Fix bad merge by `@nsoranzo `_ in `#21790 `_ +* Use 1-based step index in invocation metric UI by `@mvdbeek `_ in `#21799 `_ +* Backport: Fix dbkey filter returning no options when dbkey unset by `@bernt-matthias `_ in `#21945 `_ +* backport MIT license change by `@mr-c `_ in `#21999 `_ +* Show invalid tool error reasons in Tool Shed UI by `@mvdbeek `_ in `#22040 `_ +* Backport of 21939 by `@jdavcs `_ in `#22265 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/meta/setup.cfg b/packages/meta/setup.cfg index def355320a6..83cc47df6de 100644 --- a/packages/meta/setup.cfg +++ b/packages/meta/setup.cfg @@ -28,7 +28,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/navigation/HISTORY.rst b/packages/navigation/HISTORY.rst index 616d5dc35e8..4e866aab7d0 100644 --- a/packages/navigation/HISTORY.rst +++ b/packages/navigation/HISTORY.rst @@ -3,11 +3,11 @@ History .. to_doc -------- -26.0rc1 -------- - +------------------- +26.0.0 (2026-04-08) +------------------- +No recorded changes since last release ------------------- 25.1.2 (2026-03-09) diff --git a/packages/navigation/setup.cfg b/packages/navigation/setup.cfg index 6019998750a..fd6b2528499 100644 --- a/packages/navigation/setup.cfg +++ b/packages/navigation/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-navigation url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options.extras_require] test = diff --git a/packages/objectstore/HISTORY.rst b/packages/objectstore/HISTORY.rst index 048cbd6e2fa..0358b9cec78 100644 --- a/packages/objectstore/HISTORY.rst +++ b/packages/objectstore/HISTORY.rst @@ -3,11 +3,26 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix refresh time in object store caches by `@bgruening `_ in `#22279 `_ +* Fix atomicity issues when pulling files into object store cache by `@mvdbeek `_ in `#22304 `_ +* Harden API parameter validation by `@mvdbeek `_ in `#22351 `_ + +============ +Enhancements +============ + +* Add Playwright Backend Support to Galaxy Browser Automation Framework by `@jmchilton `_ in `#21102 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Various fixes to file source template's validation system by `@davelopez `_ in `#21704 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/objectstore/setup.cfg b/packages/objectstore/setup.cfg index f5d8f4e747d..b22da8a0be5 100644 --- a/packages/objectstore/setup.cfg +++ b/packages/objectstore/setup.cfg @@ -28,7 +28,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-objectstore url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/schema/HISTORY.rst b/packages/schema/HISTORY.rst index 858d65ec29c..1dd866deacd 100644 --- a/packages/schema/HISTORY.rst +++ b/packages/schema/HISTORY.rst @@ -3,11 +3,51 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Provide more accurate step hints for failing subworkflow steps by `@mvdbeek `_ in `#21514 `_ +* Add missing types to visualization model by `@guerler `_ in `#21672 `_ +* Fix Pydantic UnsupportedFieldAttributeWarning for Field defaults in Annotated by `@mvdbeek `_ in `#21923 `_ +* Fix dict leaking to process_dataset() during workflow execution by `@mvdbeek `_ in `#21982 `_ +* Fix AttributeError when fetching citations for missing tools by `@mvdbeek `_ in `#22029 `_ +* Add batch celery task for history dataset purging by `@mvdbeek `_ in `#22180 `_ +* Fix batch history purge not updating user's update_time by `@mvdbeek `_ in `#22238 `_ +* Validate workflow invocation parameters values are dicts by `@mvdbeek `_ in `#22388 `_ + +============ +Enhancements +============ + +* Replace Copy Dataset Mako with Vue Component by `@guerler `_ in `#17507 `_ +* Add Support for HTTP Headers in URL Fetch Requests with Secure Storage for Landing Requests by `@davelopez `_ in `#20924 `_ +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Remove legacy Visualization Mako and Controllers by `@guerler `_ in `#21133 `_ +* Allow filtering job searches by history ID by `@nsoranzo `_ in `#21257 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Include subworkflow jobs in invocation metrics by `@mvdbeek `_ in `#21511 `_ +* Add support for workflow landing requests using simple URLs by `@mvdbeek `_ in `#21525 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Add discarded_data option to model store import API by `@mvdbeek `_ in `#21582 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Standardize agent API schemas and response metadata by `@dannon `_ in `#21692 `_ +* Backport chat API improvements by `@dannon `_ in `#21973 `_ + +============= +Other changes +============= + +* Merge 25.1 into dev, fix openapi schema generation for TypedDict by `@mvdbeek `_ in `#21168 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/schema/setup.cfg b/packages/schema/setup.cfg index 7d97b718723..1d658b233e5 100644 --- a/packages/schema/setup.cfg +++ b/packages/schema/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-schema url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/selenium/HISTORY.rst b/packages/selenium/HISTORY.rst index b46aa53e1f2..6676acb0f5e 100644 --- a/packages/selenium/HISTORY.rst +++ b/packages/selenium/HISTORY.rst @@ -3,11 +3,30 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Attempt to fix transiently failing tests that click this tab. by `@jmchilton `_ in `#21376 `_ +* Fix selenium test test_rename_history by `@davelopez `_ in `#21835 `_ + +============ +Enhancements +============ + +* Replace Copy Dataset Mako with Vue Component by `@guerler `_ in `#17507 `_ +* Selenium test cases for IGV. by `@jmchilton `_ in `#21034 `_ +* Selenium test for #20886 (sharing private histories) by `@jmchilton `_ in `#21040 `_ +* Remove jquery from legacy onload helpers and Rule Builder by `@guerler `_ in `#21063 `_ +* Add Playwright Backend Support to Galaxy Browser Automation Framework by `@jmchilton `_ in `#21102 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/selenium/setup.cfg b/packages/selenium/setup.cfg index 7a4299f1eb7..2e1159dbc2d 100644 --- a/packages/selenium/setup.cfg +++ b/packages/selenium/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-selenium url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/test_api/HISTORY.rst b/packages/test_api/HISTORY.rst index acda8a7e808..17242f3e12e 100644 --- a/packages/test_api/HISTORY.rst +++ b/packages/test_api/HISTORY.rst @@ -3,11 +3,78 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Attempt to fix transient API test failure for jobs search. by `@jmchilton `_ in `#20898 `_ +* Drop down revision for drop_job_params migration by `@mvdbeek `_ in `#21122 `_ +* Plumbing for tracking potential fixes for transient failures (and a fix demonstrating it) by `@jmchilton `_ in `#21243 `_ +* Attempt to fix transient failure in list_list_copy by `@jmchilton `_ in `#21381 `_ +* Provide more accurate step hints for failing subworkflow steps by `@mvdbeek `_ in `#21514 `_ +* Fix input tags not being copied when using copy_inputs_to_history by `@mvdbeek `_ in `#21529 `_ +* Fix storing origin for workflow landing requests by `@mvdbeek `_ in `#21696 `_ +* Backport paired or unpaired mapping fix by `@mvdbeek `_ in `#21936 `_ +* Fix dict leaking to process_dataset() during workflow execution by `@mvdbeek `_ in `#21982 `_ +* Fix dataset collection tag duplication when copying a history by `@mvdbeek `_ in `#21984 `_ +* Restore file doesn't match sniffed datatype message by `@mvdbeek `_ in `#21988 `_ +* Fail job gracefully when output name exceeds 255 character DB limit by `@mvdbeek `_ in `#22059 `_ +* Use base64 URL instead of GitHub URL in test_stage_fetch_decompress_true by `@mvdbeek `_ in `#22069 `_ +* Fixes for gxformat2 by `@jmchilton `_ in `#22179 `_ +* Make sure origins for data landings are persisted by `@d-callan `_ in `#22248 `_ +* Validate replacement_params values are strings before storing by `@mvdbeek `_ in `#22250 `_ +* Fix HDCA lost in tool form on rerun by `@mvdbeek `_ in `#22258 `_ +* Fix purge for anon histories by `@mvdbeek `_ in `#22275 `_ +* Fix validation of certain classes of text validators in tools. by `@jmchilton `_ in `#22280 `_ +* Fix nested DatasetCollectionElement in dynamic options by `@mvdbeek `_ in `#22287 `_ +* Fix AttributeError when anonymous user searches workflows with ``is:bookmarked`` by `@mvdbeek `_ in `#22296 `_ +* Improve timeout and error handling in ``/api/proxy`` endpoint by `@mvdbeek `_ in `#22297 `_ +* Strip content-length and accept-ranges headers from proxied streaming responses by `@mvdbeek `_ in `#22314 `_ +* Fix HideDatasetAction not applied for cached workflow jobs by `@mvdbeek `_ in `#22360 `_ +* Validate workflow invocation parameters values are dicts by `@mvdbeek `_ in `#22388 `_ +* Fix dataset preview rendering to preserve newlines by `@mvdbeek `_ in `#22397 `_ +* Serialize data provider errors as MessageException subclasses by `@mvdbeek `_ in `#22398 `_ +* Unwrap HDCAs/DCEs nested in multi data input lists by `@mvdbeek `_ in `#22405 `_ +* Reject HDCA submitted to single data parameter by `@mvdbeek `_ in `#22406 `_ + +============ +Enhancements +============ + +* Refactor display application handling by `@guerler `_ in `#15076 `_ +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Selenium test exercising workflow debug, failed jobs, etc... (20912) by `@jmchilton `_ in `#21058 `_ +* Richer tracking of transient failures. by `@jmchilton `_ in `#21227 `_ +* Remove Tool Runner mako by `@guerler `_ in `#21235 `_ +* Allow filtering job searches by history ID by `@nsoranzo `_ in `#21257 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* More use of base64 to improve test stability. by `@jmchilton `_ in `#21383 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Include subworkflow jobs in invocation metrics by `@mvdbeek `_ in `#21511 `_ +* Implement subworkflow invocation export by `@mvdbeek `_ in `#21512 `_ +* Add workflow API test for use_cached_job with sample sheet collections by `@mvdbeek `_ in `#21522 `_ +* Add support for workflow landing requests using simple URLs by `@mvdbeek `_ in `#21525 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Add discarded_data option to model store import API by `@mvdbeek `_ in `#21582 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Type annotations and refactorings by `@nsoranzo `_ in `#21673 `_ +* Use mock test server when tests don't target external galaxy server by `@mvdbeek `_ in `#22103 `_ + +============= +Other changes +============= + +* Fix tool request API for multiple select parameters with defaults. by `@jmchilton `_ in `#21416 `_ +* Reduce completion monitor logging by `@mvdbeek `_ in `#21674 `_ +* Fix `test_value_restriction_with_select_from_multiple_subworkflow_inputs` formatting by `@mvdbeek `_ in `#21723 `_ +* Backport: Fix dbkey filter returning no options when dbkey unset by `@bernt-matthias `_ in `#21945 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/test_api/setup.cfg b/packages/test_api/setup.cfg index 1aff5510df9..f496511c45d 100644 --- a/packages/test_api/setup.cfg +++ b/packages/test_api/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-test-api url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/test_base/HISTORY.rst b/packages/test_base/HISTORY.rst index eb7f574d240..6e01c564935 100644 --- a/packages/test_base/HISTORY.rst +++ b/packages/test_base/HISTORY.rst @@ -3,11 +3,42 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Accept 404 as valid intermediate state when waiting for dataset purge by `@mvdbeek `_ in `#21521 `_ +* Backport paired or unpaired mapping fix by `@mvdbeek `_ in `#21936 `_ +* Fix HDCA lost in tool form on rerun by `@mvdbeek `_ in `#22258 `_ +* Fix purge for anon histories by `@mvdbeek `_ in `#22275 `_ +* Improve timeout and error handling in ``/api/proxy`` endpoint by `@mvdbeek `_ in `#22297 `_ +* Fix HideDatasetAction not applied for cached workflow jobs by `@mvdbeek `_ in `#22360 `_ + +============ +Enhancements +============ + +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Selenium test exercising workflow debug, failed jobs, etc... (20912) by `@jmchilton `_ in `#21058 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Add discarded_data option to model store import API by `@mvdbeek `_ in `#21582 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Type annotations and refactorings by `@nsoranzo `_ in `#21673 `_ +* Use mock test server when tests don't target external galaxy server by `@mvdbeek `_ in `#22103 `_ + +============= +Other changes +============= + +* Backport: Fix dbkey filter returning no options when dbkey unset by `@bernt-matthias `_ in `#21945 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/test_base/setup.cfg b/packages/test_base/setup.cfg index 81d38b817af..d0c86a33954 100644 --- a/packages/test_base/setup.cfg +++ b/packages/test_base/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-test-base url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/test_driver/HISTORY.rst b/packages/test_driver/HISTORY.rst index 525c73baec0..3a3bfbf5c47 100644 --- a/packages/test_driver/HISTORY.rst +++ b/packages/test_driver/HISTORY.rst @@ -3,11 +3,20 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +============ +Enhancements +============ + +* Add Support for HTTP Headers in URL Fetch Requests with Secure Storage for Landing Requests by `@davelopez `_ in `#20924 `_ +* Pulsar relay implementation by `@mvdbeek `_ in `#21118 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/test_driver/setup.cfg b/packages/test_driver/setup.cfg index 0fd1b5ffa6b..6b86ca5d8cd 100644 --- a/packages/test_driver/setup.cfg +++ b/packages/test_driver/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-test-driver url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/tool_shed/HISTORY.rst b/packages/tool_shed/HISTORY.rst index 581810bd2c1..2afe9d7f2b7 100644 --- a/packages/tool_shed/HISTORY.rst +++ b/packages/tool_shed/HISTORY.rst @@ -3,11 +3,18 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix missing sharable link URL in TS2.0 emails by `@jmchilton `_ in `#21892 `_ +* Store tool shed search index test data in repo by `@mvdbeek `_ in `#22071 `_ +* Fix toolshed static image url encoding by `@mvdbeek `_ in `#22286 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/tool_shed/setup.cfg b/packages/tool_shed/setup.cfg index a3c677f53f5..dfda58b6339 100644 --- a/packages/tool_shed/setup.cfg +++ b/packages/tool_shed/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-tool-shed url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/tool_shed_schema/HISTORY.rst b/packages/tool_shed_schema/HISTORY.rst index e335be95e86..58fd78d072a 100644 --- a/packages/tool_shed_schema/HISTORY.rst +++ b/packages/tool_shed_schema/HISTORY.rst @@ -3,11 +3,11 @@ History .. to_doc -------- -26.0rc1 -------- - +------------------- +26.0.0 (2026-04-08) +------------------- +No recorded changes since last release ------------------- 25.1.2 (2026-03-09) diff --git a/packages/tool_shed_schema/setup.cfg b/packages/tool_shed_schema/setup.cfg index 0e9687c8584..562b3676f3b 100644 --- a/packages/tool_shed_schema/setup.cfg +++ b/packages/tool_shed_schema/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-tool-shed-schema url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/tool_util/HISTORY.rst b/packages/tool_util/HISTORY.rst index e3834cd85df..150911eded1 100644 --- a/packages/tool_util/HISTORY.rst +++ b/packages/tool_util/HISTORY.rst @@ -3,11 +3,45 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* When getting tool by uuid, get that exact tool by `@mvdbeek `_ in `#21844 `_ +* Fix Pydantic UnsupportedFieldAttributeWarning for Field defaults in Annotated by `@mvdbeek `_ in `#21923 `_ +* Backport paired or unpaired mapping fix by `@mvdbeek `_ in `#21936 `_ +* Fix ToolExpressionOutput.to_model() for boolean type. by `@jmchilton `_ in `#22038 `_ +* Model hidden_data params as optional data in tool meta-models. by `@jmchilton `_ in `#22116 `_ +* Fix validation of certain classes of text validators in tools. by `@jmchilton `_ in `#22280 `_ + +============ +Enhancements +============ + +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Remove Trackster by `@guerler `_ in `#20974 `_ +* Add Playwright Backend Support to Galaxy Browser Automation Framework by `@jmchilton `_ in `#21102 `_ +* Fix various bugs/hacks with tool_data_table handling. by `@jmchilton `_ in `#21163 `_ +* Update Python dependencies by `@galaxybot `_ in `#21368 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Tool testing: add min/max attributes to test output collections by `@bernt-matthias `_ in `#21495 `_ +* Extend `image_diff` and image content assertions to handle boolean images by `@kostrykin `_ in `#21527 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Fix slow startup regression by `@ksuderman `_ in `#21637 `_ +* Remove sanitization from built-in grep tool by `@wm75 `_ in `#21648 `_ +* Update Python dependencies by `@galaxybot `_ in `#21653 `_ +* Add linter to validate required_files include paths exist by `@mvdbeek `_ in `#22061 `_ + +============= +Other changes +============= + +* Fix tool request API for multiple select parameters with defaults. by `@jmchilton `_ in `#21416 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/tool_util/setup.cfg b/packages/tool_util/setup.cfg index 1dc3b8489e4..66d2ce69e66 100644 --- a/packages/tool_util/setup.cfg +++ b/packages/tool_util/setup.cfg @@ -28,7 +28,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-tool-util url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/tool_util_models/HISTORY.rst b/packages/tool_util_models/HISTORY.rst index ef17c56338a..495faf4dda1 100644 --- a/packages/tool_util_models/HISTORY.rst +++ b/packages/tool_util_models/HISTORY.rst @@ -3,11 +3,34 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix Pydantic UnsupportedFieldAttributeWarning for Field defaults in Annotated by `@mvdbeek `_ in `#21923 `_ +* Backport paired or unpaired mapping fix by `@mvdbeek `_ in `#21936 `_ +* Fix validation of certain classes of text validators in tools. by `@jmchilton `_ in `#22280 `_ + +============ +Enhancements +============ + +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Update fastapi to 0.123.4 and ``get_openapi()`` fork by `@nsoranzo `_ in `#21384 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ + +============= +Other changes +============= + +* Merge 25.1 into dev, fix openapi schema generation for TypedDict by `@mvdbeek `_ in `#21168 `_ +* Fix tool request API for multiple select parameters with defaults. by `@jmchilton `_ in `#21416 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/tool_util_models/setup.cfg b/packages/tool_util_models/setup.cfg index bb8603dfb34..80c64506da4 100644 --- a/packages/tool_util_models/setup.cfg +++ b/packages/tool_util_models/setup.cfg @@ -28,7 +28,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-tool-util-models url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/tours/HISTORY.rst b/packages/tours/HISTORY.rst index 8eb180ed50a..1a8d098bc36 100644 --- a/packages/tours/HISTORY.rst +++ b/packages/tours/HISTORY.rst @@ -3,11 +3,11 @@ History .. to_doc -------- -26.0rc1 -------- - +------------------- +26.0.0 (2026-04-08) +------------------- +No recorded changes since last release ------------------- 25.1.2 (2026-03-09) diff --git a/packages/tours/setup.cfg b/packages/tours/setup.cfg index eafd1b54792..46925b17790 100644 --- a/packages/tours/setup.cfg +++ b/packages/tours/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-tours url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/util/HISTORY.rst b/packages/util/HISTORY.rst index 3f086072ab1..acc2b4124a8 100644 --- a/packages/util/HISTORY.rst +++ b/packages/util/HISTORY.rst @@ -3,11 +3,38 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Plumbing for tracking potential fixes for transient failures (and a fix demonstrating it) by `@jmchilton `_ in `#21243 `_ +* Remove unused handle_tool_shed_url_protocol by `@mvdbeek `_ in `#21925 `_ +* Raise MessageException instead of generic Exception in rules_dsl by `@mvdbeek `_ in `#22285 `_ +* Improve timeout and error handling in ``/api/proxy`` endpoint by `@mvdbeek `_ in `#22297 `_ +* Skip WorkflowHub tests when workflowhub.eu is down by `@mvdbeek `_ in `#22302 `_ +* Discard rest of line in chunks in iter_start_of_line by `@mvdbeek `_ in `#22332 `_ +* Fix Content-Disposition header with trailing whitespace by `@mvdbeek `_ in `#22379 `_ + +============ +Enhancements +============ + +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Add Playwright Backend Support to Galaxy Browser Automation Framework by `@jmchilton `_ in `#21102 `_ +* Add Custom Validation for User-Configured Templates by `@davelopez `_ in `#21155 `_ +* Add type annotations to job handling code by `@nsoranzo `_ in `#21171 `_ +* Richer tracking of transient failures. by `@jmchilton `_ in `#21227 `_ +* Update fastapi to 0.123.4 and ``get_openapi()`` fork by `@nsoranzo `_ in `#21384 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Fix use of function, method and argument names deprecated in pyparsing 3.0.0 by `@nsoranzo `_ in `#21517 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Add tests for oidc usernames by `@nuwang `_ in `#21655 `_ +* Various fixes to file source template's validation system by `@davelopez `_ in `#21704 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/util/setup.cfg b/packages/util/setup.cfg index 9d4b8d23b27..821b7d7d017 100644 --- a/packages/util/setup.cfg +++ b/packages/util/setup.cfg @@ -28,7 +28,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-util url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/web_apps/HISTORY.rst b/packages/web_apps/HISTORY.rst index 9a92a3134fc..0faa847010f 100644 --- a/packages/web_apps/HISTORY.rst +++ b/packages/web_apps/HISTORY.rst @@ -3,11 +3,92 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Preserve assistant messages with tool calls by `@guerler `_ in `#21545 `_ +* Fix incorrect router tag in plugins API by `@dannon `_ in `#21669 `_ +* Fix redirect upon impersonation by `@guerler `_ in `#21810 `_ +* Update ``get_definitions()`` to FastAPI 0.128.8 by `@nsoranzo `_ in `#21834 `_ +* Fix dataset collection tag duplication when copying a history by `@mvdbeek `_ in `#21984 `_ +* Use inference_services config for plugin chat proxy by `@dannon `_ in `#21986 `_ +* Fix AttributeError when fetching citations for missing tools by `@mvdbeek `_ in `#22029 `_ +* Fix invalid function schema error for tools with None parameters by `@mvdbeek `_ in `#22030 `_ +* AttributeError when history is None during tool execution by `@mvdbeek `_ in `#22031 `_ +* Fix AttributeError when export_metadata is a string instead of dict by `@mvdbeek `_ in `#22033 `_ +* Fix AttributeError when dataset in inheritance chain has no user by `@mvdbeek `_ in `#22062 `_ +* Fix make all histories private controller None id bug by `@ahmedhamidawan `_ in `#22174 `_ +* Add batch celery task for history dataset purging by `@mvdbeek `_ in `#22180 `_ +* Cache url path lookup by `@mvdbeek `_ in `#22198 `_ +* Fix event loop blocking in async API routes by `@mvdbeek `_ in `#22202 `_ +* Update fastmcp requirement to 3.0.2 by `@nsoranzo `_ in `#22221 `_ +* Use ``/api/tool_data`` endpoints in DataTables.vue & DataManagerTable.vue by `@mvdbeek `_ in `#22229 `_ +* Optimize dataset get_edit API by deferring expensive role queries by `@mvdbeek `_ in `#22232 `_ +* Fix TypeError in ExternalIdentities by always including provider_label in authnz response by `@guerler `_ in `#22234 `_ +* Delete dummy error controller, fix type error on invalid requests by `@mvdbeek `_ in `#22245 `_ +* Make sure origins for data landings are persisted by `@d-callan `_ in `#22248 `_ +* Replace BaseHTTPMiddleware with pure ASGI middleware for X-Frame-Options by `@mvdbeek `_ in `#22255 `_ +* Fix toolshed static image url encoding by `@mvdbeek `_ in `#22286 `_ +* Improve timeout and error handling in ``/api/proxy`` endpoint by `@mvdbeek `_ in `#22297 `_ +* Downgrade authnz OAuth callback errors from ERROR/EXCEPTION to WARNING by `@mvdbeek `_ in `#22300 `_ +* Fix slow get_private_role_user_emails_dict query by `@mvdbeek `_ in `#22307 `_ +* Pass tool_uuid as proper query parameter instead of reusing URL path id by `@mvdbeek `_ in `#22309 `_ +* Strip content-length and accept-ranges headers from proxied streaming responses by `@mvdbeek `_ in `#22314 `_ +* Fix tool "Copy Link" generating broken /root?tool_id= URLs by `@mvdbeek `_ in `#22339 `_ +* Harden API parameter validation by `@mvdbeek `_ in `#22351 `_ +* Show error message when display action not ready by `@mvdbeek `_ in `#22383 `_ +* Fix invalid request error for get_metadata_file endpoint by `@mvdbeek `_ in `#22389 `_ +* Offload AsyncClient construction to worker thread by `@mvdbeek `_ in `#22392 `_ + +============ +Enhancements +============ + +* Refactor display application handling by `@guerler `_ in `#15076 `_ +* Replace Copy Dataset Mako with Vue Component by `@guerler `_ in `#17507 `_ +* Tool Request API by `@jmchilton `_ in `#20935 `_ +* Remove Trackster by `@guerler `_ in `#20974 `_ +* Update Python dependencies by `@galaxybot `_ in `#21043 `_ +* Remove Reports Application by `@guerler `_ in `#21076 `_ +* Remove legacy Visualization Mako and Controllers by `@guerler `_ in `#21133 `_ +* Replace tuswsgi with tuspyserver by `@mvdbeek `_ in `#21201 `_ +* Consolidate Dataset State Display by `@guerler `_ in `#21231 `_ +* Reimplement keycloak/cilogon as PSA providers and remove custos by `@nuwang `_ in `#21234 `_ +* Remove Tool Runner mako by `@guerler `_ in `#21235 `_ +* Allow filtering job searches by history ID by `@nsoranzo `_ in `#21257 `_ +* Move js-client bootstrapping to FastAPI by `@guerler `_ in `#21264 `_ +* Update error message handling for OIDC by `@uwwint `_ in `#21297 `_ +* Implement GA4GH WES API by `@jmchilton `_ in `#21335 `_ +* Add Beta Upload Activity - User Interface Redesign by `@davelopez `_ in `#21338 `_ +* Link to an external profile when user accounts are managed by a single OIDC provider by `@marius-mather `_ in `#21356 `_ +* Update fastapi to 0.123.4 and ``get_openapi()`` fork by `@nsoranzo `_ in `#21384 `_ +* Add AI Agent Framework and ChatGXY 2.0 by `@dannon `_ in `#21434 `_ +* Add Jupyternaut adapter for JupyterLite integration by `@guerler `_ in `#21463 `_ +* Add support for Python 3.14 by `@nsoranzo `_ in `#21486 `_ +* Enable attaching sample sheet to landing requests by `@mvdbeek `_ in `#21489 `_ +* Update Python dependencies by `@galaxybot `_ in `#21500 `_ +* Update Python dependencies by `@galaxybot `_ in `#21526 `_ +* Implement workflow completion monitoring with extensible hooks by `@mvdbeek `_ in `#21532 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Sort data managers using case-insensitive order for display in admin UI by `@jdavcs `_ in `#21587 `_ +* Move legacy Visualization Plugins API to FastAPI by `@guerler `_ in `#21612 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ +* Standardize agent API schemas and response metadata by `@dannon `_ in `#21692 `_ +* Backports: Return redirection instead of a JSON with the redirect URI by `@davelopez `_ in `#21902 `_ +* Backport chat API improvements by `@dannon `_ in `#21973 `_ + +============= +Other changes +============= + +* Merge 25.1 into dev, fix openapi schema generation for TypedDict by `@mvdbeek `_ in `#21168 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/web_apps/setup.cfg b/packages/web_apps/setup.cfg index 0ca4bb912a0..0fd4905b96b 100644 --- a/packages/web_apps/setup.cfg +++ b/packages/web_apps/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-web-apps url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/web_client/HISTORY.rst b/packages/web_client/HISTORY.rst index 90139ecd4eb..0c0cad62dbb 100644 --- a/packages/web_client/HISTORY.rst +++ b/packages/web_client/HISTORY.rst @@ -3,11 +3,11 @@ History .. to_doc -------- -26.0rc1 -------- - +------------------- +26.0.0 (2026-04-08) +------------------- +No recorded changes since last release ------------------- 25.1.2 (2026-03-09) diff --git a/packages/web_client/setup.cfg b/packages/web_client/setup.cfg index 92fad7ea766..194174c5bb5 100644 --- a/packages/web_client/setup.cfg +++ b/packages/web_client/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-web-client url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/web_framework/HISTORY.rst b/packages/web_framework/HISTORY.rst index db0a15b299e..9c1eadf6989 100644 --- a/packages/web_framework/HISTORY.rst +++ b/packages/web_framework/HISTORY.rst @@ -3,11 +3,28 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix WSGI middlewares returning strings by `@mvdbeek `_ in `#22108 `_ +* Delete dummy error controller, fix type error on invalid requests by `@mvdbeek `_ in `#22245 `_ +* Fail early wehn no route match is found by `@mvdbeek `_ in `#22284 `_ +* Harden API parameter validation by `@mvdbeek `_ in `#22351 `_ + +============ +Enhancements +============ + +* Remove Reports Application by `@guerler `_ in `#21076 `_ +* Replace Webpack with Vite for client build by `@dannon `_ in `#21369 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ +* Apply 2026 black style by `@galaxybot `_ in `#21618 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/web_framework/setup.cfg b/packages/web_framework/setup.cfg index 8672bfdd2c7..17dd9ac1eef 100644 --- a/packages/web_framework/setup.cfg +++ b/packages/web_framework/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-web-framework url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True diff --git a/packages/web_stack/HISTORY.rst b/packages/web_stack/HISTORY.rst index 10c7b4c4ce1..4a359a1ac45 100644 --- a/packages/web_stack/HISTORY.rst +++ b/packages/web_stack/HISTORY.rst @@ -3,11 +3,24 @@ History .. to_doc -------- -26.0rc1 -------- +------------------- +26.0.0 (2026-04-08) +------------------- +========= +Bug fixes +========= + +* Fix differentiation between single handler and handler tag by `@natefoo `_ in `#21252 `_ + +============ +Enhancements +============ + +* Add type annotations to job handling code by `@nsoranzo `_ in `#21171 `_ +* Clean up code with pyupgrade by `@nsoranzo `_ in `#21540 `_ +* Drop support for Python 3.9 by `@nsoranzo `_ in `#21583 `_ ------------------- 25.1.2 (2026-03-09) diff --git a/packages/web_stack/setup.cfg b/packages/web_stack/setup.cfg index d48d16ba25b..99f3ee88455 100644 --- a/packages/web_stack/setup.cfg +++ b/packages/web_stack/setup.cfg @@ -26,7 +26,7 @@ long_description = file: README.rst, HISTORY.rst long_description_content_type = text/x-rst name = galaxy-web-stack url = https://github.com/galaxyproject/galaxy -version = 25.1.dev0 +version = 26.0.0 [options] include_package_data = True