Skip to content

Commit 5aa472a

Browse files
authored
update stac, weaver, magpie, twitcher, cowbird - security fixes for EOL Python and http-related libraires (#622)
## Overview Update multiple components with corresponding updates of `urllib`, `requests`, etc. At the same time, bump to Python 3.13 versions as applicable. ## Changes **Non-breaking changes** - STAC API: Security update, minor OpenAPI version reporting fixes, and `stac-fastapi`/`starlette` compatibility fix using [2.3.0](https://github.com/crim-ca/stac-app/releases/tag/2.3.0) - relates to crim-ca/stac-app#65 - relates to crim-ca/stac-app#69 - relates to crim-ca/stac-app#74 - Cowbird: Security update to version [2.6.0](https://github.com/Ouranosinc/cowbird/releases/tag/2.6.0) - relates to Ouranosinc/cowbird#98 - Magpie: Security update to version [4.3.0](https://github.com/Ouranosinc/Magpie/releases/tag/4.3.0) - relates to Ouranosinc/Magpie#640 - relates to Ouranosinc/Magpie#642 - Twitcher: Security update to version [0.11.0](https://github.com/bird-house/twitcher/releases/tag/v0.11.0) - relates to bird-house/twitcher#143 - relates to bird-house/twitcher#145 - relates to bird-house/twitcher#146 - relates to bird-house/twitcher#148 - Weaver: Security and dependency fix update using version [6.8.3](https://github.com/crim-ca/weaver/releases/tag/6.8.3) - relates to crim-ca/weaver#868 - relates to crim-ca/weaver#869 - relates to crim-ca/weaver#877 - relates to crim-ca/weaver#881 - Weaver: Update `post-docker-compose-up` script. - Handle multiple Magpie cookies in response. This can happen depending on specific internal HTTP libraries versions of the services. To retain backward/forward compatibility, all cookies returned from Magpie are chained in following `curl` commands. - Use birdhouse `log` utility to report operations produced by the script rather than custom "echo level". - Weaver: Job Result Proxy Buffers - The *Job Results* responses of `weaver` can return a lot of `Link` headers. This is done to provide job metadata references and provenance traceability details, but also for actual results locations that can vary in quantity depending on the actual process execution. Therefore, the Ngnix `proxy_buffer_size` and `proxy_buffers` directives of the `proxy` service must be added with sufficiently large values to avoid HTTP 502 errors when the response headers exceed the default buffer sizes. The `WEAVER_PROXY_RESPONSE_BUFFER_SIZE` and `WEAVER_PROXY_RESPONSE_BUFFER_COUNT` variables are added to allow further customization as needed by the server. Their defaults are reasonable values to meet minimal requirements by `weaver`'s metadata `Link` and a few result outputs. - Birdhouse: Allow `log <LEVEL> -n ...` and `log <LEVEL> -p ...` to generate log outputs without newline/prefixes. These options allow writing multiple log entries onto the same line for correct visual rendering of distinct `log` calls separated to allow some intermediate logic. The `log` function invocations with these options respect the log levels in order to make the messages consistent with enabled redirections and verbosity. **Breaking changes** - n/a
2 parents 97f62c0 + 9256d82 commit 5aa472a

File tree

18 files changed

+312
-141
lines changed

18 files changed

+312
-141
lines changed

.bumpversion.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tool.bumpversion]
2-
current_version = "2.23.0"
2+
current_version = "2.23.1"
33
commit = true
44
message = "Bump version: {current_version} → {new_version} [skip ci]"
55
tag = false

CHANGES.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,58 @@
1717

1818
[//]: # (list changes here, using '-' for each new entry, remove this when items are added)
1919

20+
[2.23.1](https://github.com/bird-house/birdhouse-deploy/tree/2.23.1) (2026-02-17)
21+
------------------------------------------------------------------------------------------------------------------
22+
23+
## Changes
24+
25+
- STAC API: Security update, minor OpenAPI version reporting fixes, and `stac-fastapi`/`starlette` compatibility fix
26+
using version [2.3.0](https://github.com/crim-ca/stac-app/releases/tag/2.3.0)
27+
(relates to [crim-ca/stac-app#65](https://github.com/crim-ca/stac-app/pull/65),
28+
[crim-ca/stac-app#69](https://github.com/crim-ca/stac-app/pull/69) and
29+
[crim-ca/stac-app#74](https://github.com/crim-ca/stac-app/pull/74)).
30+
31+
- Cowbird: Security update using version [2.6.0](https://github.com/Ouranosinc/cowbird/releases/tag/2.6.0)
32+
(relates to [Ouranosinc/cowbird#98](https://github.com/Ouranosinc/cowbird/pull/98)).
33+
34+
- Magpie: Security update using version [4.3.1](https://github.com/Ouranosinc/Magpie/releases/tag/4.3.1)
35+
(relates to [Ouranosinc/Magpie#640](https://github.com/Ouranosinc/Magpie/pull/640)
36+
and [Ouranosinc/Magpie#642](https://github.com/Ouranosinc/Magpie/pull/642)).
37+
38+
- Twitcher: Security update using version [0.11.0](https://github.com/bird-house/twitcher/releases/tag/v0.11.0)
39+
(relates to [bird-house/twitcher#143](https://github.com/bird-house/twitcher/pull/143),
40+
[bird-house/twitcher#145](https://github.com/bird-house/twitcher/pull/145),
41+
[bird-house/twitcher#146](https://github.com/bird-house/twitcher/pull/146) and
42+
[bird-house/twitcher#148](https://github.com/bird-house/twitcher/pull/148)).
43+
44+
- Weaver: Security and dependency fix update using version [6.8.3](https://github.com/crim-ca/weaver/releases/tag/6.8.3)
45+
(relates to [crim-ca/weaver#868](https://github.com/crim-ca/weaver/pull/868),
46+
[crim-ca/weaver#869](https://github.com/crim-ca/weaver/pull/869),
47+
[crim-ca/weaver#877](https://github.com/crim-ca/weaver/pull/877) and
48+
[crim-ca/weaver#881](https://github.com/crim-ca/weaver/pull/881)).
49+
50+
- Weaver: Update `post-docker-compose-up` script.
51+
- Handle multiple Magpie cookies in response.
52+
This can happen depending on specific internal HTTP libraries versions of the services.
53+
To retain backward/forward compatibility, all cookies returned from Magpie are chained in following `curl` commands.
54+
- Use birdhouse `log` utility to report operations produced by the script rather than custom "echo level".
55+
56+
- Weaver: Job Result Proxy Buffers
57+
- The *Job Results* responses of `weaver` can return a lot of `Link` headers. This is done to provide job metadata
58+
references and provenance traceability details, but also for actual results locations that can vary in quantity
59+
depending on the actual process execution.
60+
Therefore, the Ngnix `proxy_buffer_size` and `proxy_buffers` directives of the `proxy` service must be added with
61+
sufficiently large values to avoid HTTP 502 errors when the response headers exceed the default buffer sizes.
62+
The `WEAVER_PROXY_RESPONSE_BUFFER_SIZE` and `WEAVER_PROXY_RESPONSE_BUFFER_COUNT` variables are added to allow
63+
further customization as needed by the server. Their defaults are reasonable values to meet minimal requirements
64+
by `weaver`'s metadata `Link` and a few result outputs.
65+
66+
- Birdhouse: Allow `log <LEVEL> -n ...` and `log <LEVEL> -p ...` to generate log outputs without newline/prefixes.
67+
68+
These options allow writing multiple log entries onto the same line for correct visual rendering of distinct `log`
69+
calls separated to allow some intermediate logic. The `log` function invocations with these options respect the
70+
log levels in order to make the messages consistent with enabled redirections and verbosity.
71+
2072
[2.23.0](https://github.com/bird-house/birdhouse-deploy/tree/2.23.0) (2026-02-13)
2173
------------------------------------------------------------------------------------------------------------------
2274

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ override BIRDHOUSE_MAKE_DIR := $(shell realpath -P $$(dirname $(BIRDHOUSE_MAKE_C
88
# Generic variables
99
override SHELL := bash
1010
override APP_NAME := birdhouse-deploy
11-
override APP_VERSION := 2.23.0
11+
override APP_VERSION := 2.23.1
1212

1313
# utility to remove comments after value of an option variable
1414
override clean_opt = $(shell echo "$(1)" | $(_SED) -r -e "s/[ '$'\t'']+$$//g")

README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ for a full-fledged production platform.
1818
* - citation
1919
- | |citation|
2020

21-
.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/2.23.0.svg
21+
.. |commits-since| image:: https://img.shields.io/github/commits-since/bird-house/birdhouse-deploy/2.23.1.svg
2222
:alt: Commits since latest release
23-
:target: https://github.com/bird-house/birdhouse-deploy/compare/2.23.0...master
23+
:target: https://github.com/bird-house/birdhouse-deploy/compare/2.23.1...master
2424

25-
.. |latest-version| image:: https://img.shields.io/badge/tag-2.23.0-blue.svg?style=flat
25+
.. |latest-version| image:: https://img.shields.io/badge/tag-2.23.1-blue.svg?style=flat
2626
:alt: Latest Tag
27-
:target: https://github.com/bird-house/birdhouse-deploy/tree/2.23.0
27+
:target: https://github.com/bird-house/birdhouse-deploy/tree/2.23.1
2828

2929
.. |readthedocs| image:: https://readthedocs.org/projects/birdhouse-deploy/badge/?version=latest
3030
:alt: ReadTheDocs Build Status (latest version)

RELEASE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.23.0 2026-02-13T00:28:48Z
1+
2.23.1 2026-02-17T22:14:37Z

bin/birdhouse

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ print_config_command() {
228228
}
229229

230230
print_log_command() {
231-
echo ". ${COMPOSE_DIR}/scripts/logging.include.sh"
231+
echo "export __BIRDHOUSE_SUPPORTED_INTERFACE=True ; . ${COMPOSE_DIR}/scripts/logging.include.sh"
232232
}
233233

234234
# Support multiple short flags together (ex: -abc instead of -a -b -c)

birdhouse/components/README.rst

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ service but this runs in docker containers and is specifically designed to inter
1313
Birdhouse stack.
1414

1515
Available jobs
16-
-------------
16+
--------------
1717

1818
Scheduler jobs can be enabled by enabling optional components. Birdhouse comes with a variety of
1919
these jobs in the ``optional-components`` directory. To enable any of these jobs, add the relevant
@@ -623,6 +623,29 @@ Customizing the Component
623623
entirely, the ``WEAVER_ALT_PREFIX`` variable should be explicitly set to an empty value.
624624
625625
626+
Managing Large Job Results
627+
--------------------------
628+
629+
The `Job Results <https://pavics-weaver.readthedocs.io/en/latest/processes.html#job-results>`_ responses from `Weaver`
630+
can return a lot of ``Link`` headers. This is done to provide job metadata references and provenance traceability
631+
details, but also for actual results locations that can vary in quantity depending on the actual process execution.
632+
633+
By default, the Ngnix `proxy_buffer_size <https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size>`_
634+
and `proxy_buffers <https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers>`_ directives of
635+
the ``proxy`` service are added to the `Weaver` API endpoints with sufficiently large values to avoid HTTP 502 errors
636+
when the response headers exceed the default buffer sizes.
637+
638+
If your processes happen to generate even larger results (e.g.: they return many NetCDF files from batch processing),
639+
you may need to further increase these buffer sizes using
640+
the ``WEAVER_PROXY_RESPONSE_BUFFER_SIZE`` and ``WEAVER_PROXY_RESPONSE_BUFFER_COUNT`` variables.
641+
642+
If your processes generate a *very large* number of results, you may also want to consider
643+
alternate *content negotiation strategies* as described in
644+
the `Job Results <https://pavics-weaver.readthedocs.io/en/latest/processes.html#job-results>`_
645+
and `Process Execution Results <https://pavics-weaver.readthedocs.io/en/latest/processes.html#proc-exec-results>`_
646+
sections of the `Weaver` documentation. Certain execution request parameters can be explicitly provided to limit
647+
the number of returned headers and their representation in the responses.
648+
626649
.. _finch: https://github.com/bird-house/finch
627650
.. _flyingpigeon: https://github.com/bird-house/flyingpigeon
628651
.. _Weaver: https://github.com/crim-ca/weaver

birdhouse/components/canarie-api/docker_configuration.py.template

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ SERVICES = {
108108
# NOTE:
109109
# Below version and release time auto-managed by 'make VERSION=x.y.z bump'.
110110
# Do NOT modify it manually. See 'Tagging policy' in 'birdhouse/README.rst'.
111-
'version': '2.23.0',
112-
'releaseTime': '2026-02-13T00:28:48Z',
111+
'version': '2.23.1',
112+
'releaseTime': '2026-02-17T22:14:37Z',
113113
'institution': '${BIRDHOUSE_INSTITUTION}',
114114
'researchSubject': '${BIRDHOUSE_SUBJECT}',
115115
'supportEmail': '${BIRDHOUSE_SUPPORT_EMAIL}',
@@ -141,8 +141,8 @@ PLATFORMS = {
141141
# NOTE:
142142
# Below version and release time auto-managed by 'make VERSION=x.y.z bump'.
143143
# Do NOT modify it manually. See 'Tagging policy' in 'birdhouse/README.rst'.
144-
'version': '2.23.0',
145-
'releaseTime': '2026-02-13T00:28:48Z',
144+
'version': '2.23.1',
145+
'releaseTime': '2026-02-17T22:14:37Z',
146146
'institution': '${BIRDHOUSE_INSTITUTION}',
147147
'researchSubject': '${BIRDHOUSE_SUBJECT}',
148148
'supportEmail': '${BIRDHOUSE_SUPPORT_EMAIL}',

birdhouse/components/cowbird/default.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ VARS="$VARS $EXTRA_VARS"
2929
# Cowbird Configuration
3030
# =====================
3131

32-
export COWBIRD_VERSION="2.5.2"
32+
export COWBIRD_VERSION="2.6.0"
3333
export COWBIRD_DOCKER=pavics/cowbird
3434
export COWBIRD_IMAGE='${COWBIRD_DOCKER}:${COWBIRD_VERSION}'
3535
export COWBIRD_IMAGE_API='${COWBIRD_IMAGE}-webservice'

birdhouse/components/magpie/default.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# are applied and must be added to the list of DELAYED_EVAL.
66

77
# Tag version that will be used to update Magpie API, Magpie CLI, and matching Twitcher with Magpie Adapter
8-
export MAGPIE_VERSION=4.2.0
8+
export MAGPIE_VERSION=4.3.1
99
export MAGPIE_IMAGE='pavics/magpie:${MAGPIE_VERSION}'
1010
export MAGPIE_IMAGE_URI='registry.hub.docker.com/${MAGPIE_IMAGE}'
1111

0 commit comments

Comments
 (0)