From f3964054df5ba6279c9996724cdec4f44df56082 Mon Sep 17 00:00:00 2001 From: Peter Evans Date: Tue, 21 Jul 2026 09:47:27 +0100 Subject: [PATCH 1/7] bug: ensure the HTTP trigger service's uid is immutable (#5732) --- .../integrations/core/service_types.py | 13 ++------- .../automation/api/nodes/test_nodes_views.py | 29 +++++++++++++++++++ .../test_core_http_trigger_service_type.py | 14 +-------- ...dress_of_an_http_trigger_from_being_c.json | 9 ++++++ 4 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 changelog/entries/unreleased/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json diff --git a/backend/src/baserow/contrib/integrations/core/service_types.py b/backend/src/baserow/contrib/integrations/core/service_types.py index 97a3936e91..49568dd746 100644 --- a/backend/src/baserow/contrib/integrations/core/service_types.py +++ b/backend/src/baserow/contrib/integrations/core/service_types.py @@ -1604,9 +1604,9 @@ class CoreHTTPTriggerServiceType(TriggerServiceTypeMixin, ServiceType): type = "http_trigger" model_class = CoreHTTPTriggerService - allowed_fields = ["uid", "exclude_get", "is_public"] + allowed_fields = ["exclude_get", "is_public"] serializer_field_names = ["uid", "exclude_get", "is_public"] - request_serializer_field_names = ["uid", "exclude_get"] + request_serializer_field_names = ["exclude_get"] class SerializedDict(ServiceDict): uid: str @@ -1797,15 +1797,6 @@ def import_serialized( **kwargs, ) - def export_prepared_values( - self, instance: CoreHTTPTriggerService - ) -> dict[str, Any]: - values = super().export_prepared_values(instance) - - values["uid"] = str(values["uid"]) - - return values - class CoreManualTriggerServiceType(TriggerServiceTypeMixin, CoreServiceType): type = "manual" diff --git a/backend/tests/baserow/contrib/automation/api/nodes/test_nodes_views.py b/backend/tests/baserow/contrib/automation/api/nodes/test_nodes_views.py index f2383a9019..ef248d0543 100644 --- a/backend/tests/baserow/contrib/automation/api/nodes/test_nodes_views.py +++ b/backend/tests/baserow/contrib/automation/api/nodes/test_nodes_views.py @@ -1,4 +1,5 @@ from unittest.mock import patch +from uuid import uuid4 from django.urls import reverse @@ -425,6 +426,34 @@ def test_updating_node_with_invalid_formula_arguments_throws_error( } +@pytest.mark.django_db +def test_update_http_trigger_node_ignores_uid(api_client, data_fixture): + user, token = data_fixture.create_user_and_token() + workflow = data_fixture.create_automation_workflow(user, create_trigger=False) + node = data_fixture.create_http_trigger_node(user=user, workflow=workflow) + service = node.service + original_uid = service.uid + + api_kwargs = get_api_kwargs(token) + update_url = reverse(API_URL_ITEM, kwargs={"node_id": node.id}) + payload = { + "service": { + "type": service.get_type().type, + "uid": str(uuid4()), + "exclude_get": True, + } + } + response = api_client.patch(update_url, payload, **api_kwargs) + + assert response.status_code == HTTP_200_OK + assert response.json()["service"]["uid"] == str(original_uid) + + service.refresh_from_db() + assert service.uid == original_uid + # A field which is allowed to be updated is still applied. + assert service.exclude_get is True + + @pytest.mark.django_db def test_update_node_invalid_node(api_client, data_fixture): _, token = data_fixture.create_user_and_token() diff --git a/backend/tests/baserow/contrib/integrations/core/test_core_http_trigger_service_type.py b/backend/tests/baserow/contrib/integrations/core/test_core_http_trigger_service_type.py index 5d42dbf97d..f77c02f57b 100644 --- a/backend/tests/baserow/contrib/integrations/core/test_core_http_trigger_service_type.py +++ b/backend/tests/baserow/contrib/integrations/core/test_core_http_trigger_service_type.py @@ -1,5 +1,5 @@ from unittest.mock import MagicMock -from uuid import UUID, uuid4 +from uuid import uuid4 import pytest @@ -177,15 +177,3 @@ def test_import_serialized_sets_is_public(data_fixture, is_publishing): ) assert instance.is_public is is_publishing - - -@pytest.mark.django_db -def test_export_prepared_values_casts_uid_to_str(data_fixture): - trigger_node = data_fixture.create_http_trigger_node() - service = trigger_node.service - - assert isinstance(service.uid, UUID) - - values = CoreHTTPTriggerServiceType().export_prepared_values(service) - - assert values["uid"] == str(service.uid) diff --git a/changelog/entries/unreleased/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json b/changelog/entries/unreleased/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json new file mode 100644 index 0000000000..9252c8609a --- /dev/null +++ b/changelog/entries/unreleased/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json @@ -0,0 +1,9 @@ +{ + "type": "bug", + "message": "Prevents the webhook address of an HTTP trigger from being changed after it is created", + "issue_origin": "github", + "issue_number": null, + "domain": "automation", + "bullet_points": [], + "created_at": "2026-07-16" +} From 322c95bc18d9d1f77390f2764907ca9128a5aebd Mon Sep 17 00:00:00 2001 From: alamin-br Date: Tue, 21 Jul 2026 11:09:33 +0200 Subject: [PATCH 2/7] feat: monitor celery beat periodic tasks with Sentry crons (#5754) * feat: monitor celery beat periodic tasks with Sentry crons * fix: validate sentry exclude beat task patterns and correct docs example --- backend/src/baserow/config/settings/base.py | 29 ++++++++++++++++++- ...r_celery_beat_tasks_with_sentry_crons.json | 9 ++++++ docker-compose.yml | 2 ++ docs/installation/configuration.md | 2 ++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 changelog/entries/unreleased/feature/monitor_celery_beat_tasks_with_sentry_crons.json diff --git a/backend/src/baserow/config/settings/base.py b/backend/src/baserow/config/settings/base.py index f18dfd3b1a..bd784df886 100644 --- a/backend/src/baserow/config/settings/base.py +++ b/backend/src/baserow/config/settings/base.py @@ -1469,6 +1469,7 @@ def __setitem__(self, key, value): import sentry_sdk import sentry_sdk.integrations as _sentry_integrations from loguru import logger + from sentry_sdk.integrations.celery import CeleryIntegration from sentry_sdk.integrations.django import DjangoIntegration from sentry_sdk.scrubber import DEFAULT_DENYLIST, EventScrubber @@ -1504,9 +1505,35 @@ def __setitem__(self, key, value): 0 if sentry_transport else float(os.getenv("SENTRY_TRACES_SAMPLE_RATE", 0.01)) ) + # Auto-create Sentry cron monitors for celery beat tasks. Beat dispatches tasks + # with sentry-monitor-* headers and workers send the check-ins, so both processes + # need this integration; they all load these settings. Disabled with the console + # transport (fake DSN in dev) to avoid spamming check-in envelopes to the console. + sentry_monitor_beat_tasks = not sentry_transport and str_to_bool( + os.getenv("SENTRY_MONITOR_BEAT_TASKS") or "true" + ) + # Validate patterns here: sentry-sdk matches them unguarded on every beat + # dispatch, so one invalid regex would stop all periodic tasks from being sent. + sentry_exclude_beat_tasks = [] + for task in (os.getenv("SENTRY_EXCLUDE_BEAT_TASKS") or "").split(","): + task = task.strip() + if not task: + continue + try: + re.compile(task) + sentry_exclude_beat_tasks.append(task) + except re.error: + logger.warning(f"[SENTRY] Ignoring invalid exclude beat task: {task}") + sentry_sdk.init( dsn=SENTRY_DSN, - integrations=[DjangoIntegration(signals_spans=False, middleware_spans=False)], + integrations=[ + DjangoIntegration(signals_spans=False, middleware_spans=False), + CeleryIntegration( + monitor_beat_tasks=sentry_monitor_beat_tasks, + exclude_beat_tasks=sentry_exclude_beat_tasks, + ), + ], traces_sample_rate=sentry_traces_sample_rate, send_default_pii=False, before_send=drop_expected_asyncio_websocket_disconnect_events, diff --git a/changelog/entries/unreleased/feature/monitor_celery_beat_tasks_with_sentry_crons.json b/changelog/entries/unreleased/feature/monitor_celery_beat_tasks_with_sentry_crons.json new file mode 100644 index 0000000000..d10e6a7ca8 --- /dev/null +++ b/changelog/entries/unreleased/feature/monitor_celery_beat_tasks_with_sentry_crons.json @@ -0,0 +1,9 @@ +{ + "type": "feature", + "message": "Monitor celery beat periodic tasks with Sentry cron monitors when Sentry is enabled", + "issue_origin": "github", + "issue_number": null, + "domain": "core", + "bullet_points": [], + "created_at": "2026-07-20" +} diff --git a/docker-compose.yml b/docker-compose.yml index a9ff20db34..7ca89ebdd0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -224,6 +224,8 @@ x-backend-variables: SENTRY_DSN: SENTRY_BACKEND_DSN: SENTRY_TRACES_SAMPLE_RATE: + SENTRY_MONITOR_BEAT_TASKS: + SENTRY_EXCLUDE_BEAT_TASKS: OPENAI_API_KEY: GROQ_API_KEY: BASEROW_OPENAI_API_KEY: diff --git a/docs/installation/configuration.md b/docs/installation/configuration.md index db3cb24d86..68980f59df 100644 --- a/docs/installation/configuration.md +++ b/docs/installation/configuration.md @@ -270,6 +270,8 @@ Baserow can throttle the number of concurrent requests a single user (or, option | SENTRY\_BACKEND\_DSN | If provided, will instantiate Sentry SDK for the backend with this DSN. It will override SENTRY\_DSN | "" (empty string) | | SENTRY\_TRACES\_SAMPLE\_RATE | The sample rate for Sentry performance tracing (transactions), shared by the backend and frontend. A float between 0 and 1, where 0 disables tracing and 1 traces every transaction. | 0.01 | | SENTRY\_REPLAYS\_ON\_ERROR\_SAMPLE\_RATE | The frontend sample rate for saving a Sentry session replay when an error occurs. A float between 0 and 1, where 0 disables error replays and 1 saves a replay for every error. | 0.1 | +| SENTRY\_MONITOR\_BEAT\_TASKS | Automatically create Sentry cron monitors for the celery beat periodic tasks, so missed or failed runs are reported. Only used when Sentry is enabled for the backend. Note that every periodic task gets its own cron monitor, which can count towards your Sentry quota. | true | +| SENTRY\_EXCLUDE\_BEAT\_TASKS | Comma separated list of regexes matched against the beat schedule entry names to exclude them from the cron monitors. Baserow's periodic tasks are unnamed beat entries, so their entry names end with `()`, e.g. `baserow.core.usage.tasks.run_calculate_storage()`. Use a pattern like `baserow\.core\.usage\.tasks\.run_calculate_storage.*`. | "" (empty string) | | BASEROW\_OSS\_ONLY | If not empty, it will only start the MIT licensed open source version, without premium and enterprise. | "" (empty string) | ### User file upload Configuration From 7b52576b7f5d9ee58e7ec91811e21588f15c54c7 Mon Sep 17 00:00:00 2001 From: Bram Date: Tue, 21 Jul 2026 14:46:32 +0200 Subject: [PATCH 3/7] Prepare for 2.3.3 release (#5756) --- README.md | 4 +- backend/docker/docker-entrypoint.sh | 2 +- backend/src/baserow/config/settings/base.py | 2 +- backend/src/baserow/version.py | 2 +- backend/uv.lock | 4 +- changelog.md | 23 +++++++++++ ...l_unselecting_newly_created_rows_due_.json | 0 ...inside_collection_elements_failing_to.json | 0 ...eactivated_users_via_the_admin_impers.json | 0 ...dress_of_an_http_trigger_from_being_c.json | 0 ...usage_by_releasing_each_api_responses.json | 0 ...lds_with_a_broken_prompt_and_block_ge.json | 0 ...validates_the_manifest_schema_version.json | 0 ...view_visitors_in_editors_presence_bar.json | 0 ...atting_to_form_and_field_descriptions.json | 0 ...om_reaching_private_network_addresses.json | 0 ...r_celery_beat_tasks_with_sentry_crons.json | 0 ...ed_from_reaching_private_network_addr.json | 0 ...point_to_resolve_user_identity_from_t.json | 0 ...ces_in_builder_automation__integratio.json | 0 changelog/releases.json | 4 ++ deploy/all-in-one/README.md | 40 +++++++++---------- deploy/all-in-one/supervisor/start.sh | 2 +- deploy/cloudron/CloudronManifest.json | 2 +- deploy/cloudron/Dockerfile | 2 +- deploy/helm/baserow/Chart.lock | 20 +++++----- deploy/helm/baserow/Chart.yaml | 20 +++++----- deploy/helm/baserow/README.md | 2 +- .../baserow/charts/baserow-common/Chart.yaml | 4 +- .../baserow/charts/baserow-common/README.md | 2 +- .../baserow/charts/baserow-common/values.yaml | 4 +- deploy/helm/baserow/values.yaml | 2 +- deploy/render/Dockerfile | 2 +- docker-compose.all-in-one.yml | 2 +- docker-compose.no-caddy.yml | 10 ++--- docker-compose.yml | 10 ++--- docs/installation/install-behind-apache.md | 12 +++--- docs/installation/install-behind-nginx.md | 12 +++--- docs/installation/install-on-aws.md | 28 ++++++------- docs/installation/install-on-cloudron.md | 4 +- docs/installation/install-on-digital-ocean.md | 4 +- docs/installation/install-on-ubuntu.md | 4 +- .../install-using-standalone-images.md | 12 +++--- .../install-with-docker-compose.md | 2 +- docs/installation/install-with-docker.md | 38 +++++++++--------- docs/installation/install-with-helm.md | 2 +- docs/installation/install-with-k8s.md | 12 +++--- docs/installation/install-with-traefik.md | 2 +- docs/installation/supported.md | 2 +- docs/plugins/creation.md | 2 +- docs/plugins/installation.md | 26 ++++++------ enterprise/backend/pyproject.toml | 2 +- heroku.Dockerfile | 2 +- justfile | 2 +- premium/backend/pyproject.toml | 2 +- web-frontend/docker/docker-entrypoint.sh | 2 +- web-frontend/package.json | 2 +- 57 files changed, 183 insertions(+), 156 deletions(-) rename changelog/entries/{unreleased => 2.3.3}/bug/5735_fix_link_row_field_modal_unselecting_newly_created_rows_due_.json (100%) rename changelog/entries/{unreleased => 2.3.3}/bug/fixed_workflow_actions_inside_collection_elements_failing_to.json (100%) rename changelog/entries/{unreleased => 2.3.3}/bug/prevent_impersonating_deactivated_users_via_the_admin_impers.json (100%) rename changelog/entries/{unreleased => 2.3.3}/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json (100%) rename changelog/entries/{unreleased => 2.3.3}/bug/reduces_backend_memory_usage_by_releasing_each_api_responses.json (100%) rename changelog/entries/{unreleased => 2.3.3}/bug/show_an_error_on_ai_fields_with_a_broken_prompt_and_block_ge.json (100%) rename changelog/entries/{unreleased => 2.3.3}/bug/workspace_import_strictly_validates_the_manifest_schema_version.json (100%) rename changelog/entries/{unreleased => 2.3.3}/feature/5702_show_anonymous_public_view_visitors_in_editors_presence_bar.json (100%) rename changelog/entries/{unreleased => 2.3.3}/feature/add_links_and_rich_formatting_to_form_and_field_descriptions.json (100%) rename changelog/entries/{unreleased => 2.3.3}/feature/data_syncs_can_be_blocked_from_reaching_private_network_addresses.json (100%) rename changelog/entries/{unreleased => 2.3.3}/feature/monitor_celery_beat_tasks_with_sentry_crons.json (100%) rename changelog/entries/{unreleased => 2.3.3}/feature/sso_oauth2_providers_can_be_blocked_from_reaching_private_network_addr.json (100%) rename changelog/entries/{unreleased => 2.3.3}/refactor/5743_simplify_2fa_verify_endpoint_to_resolve_user_identity_from_t.json (100%) rename changelog/entries/{unreleased => 2.3.3}/refactor/updated_formula_references_in_builder_automation__integratio.json (100%) diff --git a/README.md b/README.md index 99bab80bf3..193b64091f 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ existing tools and performs at any scale. [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://www.heroku.com/deploy/?template=https://github.com/baserow/baserow/tree/master) ```bash -docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.3.2 +docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.3.3 ``` ![Baserow database screenshot](docs/assets/screenshot.png "Baserow database screenshot") @@ -108,7 +108,7 @@ Created by Baserow B.V. - bram@baserow.io. Distributes under the MIT license. See `LICENSE` for more information. -Version: 2.3.2 +Version: 2.3.3 The official repository can be found at https://github.com/baserow/baserow. diff --git a/backend/docker/docker-entrypoint.sh b/backend/docker/docker-entrypoint.sh index 8280204b20..5ebfd942c1 100755 --- a/backend/docker/docker-entrypoint.sh +++ b/backend/docker/docker-entrypoint.sh @@ -6,7 +6,7 @@ set -euo pipefail # ENVIRONMENT VARIABLES USED DIRECTLY BY THIS ENTRYPOINT # ====================================================== -export BASEROW_VERSION="2.3.2" +export BASEROW_VERSION="2.3.3" # Used by docker-entrypoint.sh to start the dev server # If not configured you'll receive this: CommandError: "0.0.0.0:" is not a valid port number or address:port pair. diff --git a/backend/src/baserow/config/settings/base.py b/backend/src/baserow/config/settings/base.py index bd784df886..c5543eee37 100644 --- a/backend/src/baserow/config/settings/base.py +++ b/backend/src/baserow/config/settings/base.py @@ -494,7 +494,7 @@ "name": "MIT", "url": "https://github.com/baserow/baserow/blob/develop/LICENSE", }, - "VERSION": "2.3.2", + "VERSION": "2.3.3", "SERVE_INCLUDE_SCHEMA": False, "TAGS": [ {"name": "Settings"}, diff --git a/backend/src/baserow/version.py b/backend/src/baserow/version.py index 8e0257bf7b..2f0a408b5b 100644 --- a/backend/src/baserow/version.py +++ b/backend/src/baserow/version.py @@ -1 +1 @@ -VERSION = "2.3.2" +VERSION = "2.3.3" diff --git a/backend/uv.lock b/backend/uv.lock index 6e3a9a700b..70c9a2b981 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -485,12 +485,12 @@ dev = [ [[package]] name = "baserow-enterprise" -version = "2.3.2" +version = "2.3.3" source = { editable = "../enterprise/backend" } [[package]] name = "baserow-premium" -version = "2.3.2" +version = "2.3.3" source = { editable = "../premium/backend" } [[package]] diff --git a/changelog.md b/changelog.md index e0be9be982..97e51eee73 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,28 @@ # Changelog +## Released 2.3.3 + +### New features +* [Database] Show anonymous public view visitors in editor's presence bar [#5702](https://github.com/baserow/baserow/issues/5702) +* [Database] Add links and rich formatting to form and field descriptions [#1851](https://github.com/baserow/baserow/issues/1851) +* [Database] Data syncs that fetch from a user configured URL (such as a self-hosted GitLab or Jira instance, or an iCal feed) can now be blocked from reaching private network addresses by setting the `BASEROW_DATA_SYNC_ALLOW_PRIVATE_ADDRESS` env var to `false`. +* [Core] Monitor celery beat periodic tasks with Sentry cron monitors when Sentry is enabled +* [Core] OAuth2 and OpenID Connect SSO providers with admin configurable URLs can now be blocked from reaching private network addresses by setting the `BASEROW_SSO_ALLOW_PRIVATE_ADDRESS` env var to `false`. + +### Bug fixes +* [Database] Fix link row field modal unselecting newly created rows due to a race condition with real-time updates [#5735](https://github.com/baserow/baserow/issues/5735) +* [Builder] Fixed workflow actions inside collection elements failing to resolve the current_record. +* [Core] Prevent impersonating deactivated users via the admin impersonate endpoint +* [Automation] Prevents the webhook address of an HTTP trigger from being changed after it is created +* [Core] Reduce backend memory usage by releasing each API response's memory right after it is sent +* [Database] Show an error on AI fields with a broken prompt and block generating until fixed [#3088](https://github.com/baserow/baserow/issues/3088) +* [Core] Workspace import now strictly validates the manifest schema version, and an unsupported version returns a clear invalid file error. + +### Refactors +* [Core] Simplify 2FA verify endpoint to resolve user identity from the authentication token instead of the request body. [#5743](https://github.com/baserow/baserow/issues/5743) +* [Builder] Updated 'formula' references in builder, automation & integrations module so that they now refer to 'expressions'. + + ## Released 2.3.2 ### New features diff --git a/changelog/entries/unreleased/bug/5735_fix_link_row_field_modal_unselecting_newly_created_rows_due_.json b/changelog/entries/2.3.3/bug/5735_fix_link_row_field_modal_unselecting_newly_created_rows_due_.json similarity index 100% rename from changelog/entries/unreleased/bug/5735_fix_link_row_field_modal_unselecting_newly_created_rows_due_.json rename to changelog/entries/2.3.3/bug/5735_fix_link_row_field_modal_unselecting_newly_created_rows_due_.json diff --git a/changelog/entries/unreleased/bug/fixed_workflow_actions_inside_collection_elements_failing_to.json b/changelog/entries/2.3.3/bug/fixed_workflow_actions_inside_collection_elements_failing_to.json similarity index 100% rename from changelog/entries/unreleased/bug/fixed_workflow_actions_inside_collection_elements_failing_to.json rename to changelog/entries/2.3.3/bug/fixed_workflow_actions_inside_collection_elements_failing_to.json diff --git a/changelog/entries/unreleased/bug/prevent_impersonating_deactivated_users_via_the_admin_impers.json b/changelog/entries/2.3.3/bug/prevent_impersonating_deactivated_users_via_the_admin_impers.json similarity index 100% rename from changelog/entries/unreleased/bug/prevent_impersonating_deactivated_users_via_the_admin_impers.json rename to changelog/entries/2.3.3/bug/prevent_impersonating_deactivated_users_via_the_admin_impers.json diff --git a/changelog/entries/unreleased/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json b/changelog/entries/2.3.3/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json similarity index 100% rename from changelog/entries/unreleased/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json rename to changelog/entries/2.3.3/bug/prevents_the_webhook_address_of_an_http_trigger_from_being_c.json diff --git a/changelog/entries/unreleased/bug/reduces_backend_memory_usage_by_releasing_each_api_responses.json b/changelog/entries/2.3.3/bug/reduces_backend_memory_usage_by_releasing_each_api_responses.json similarity index 100% rename from changelog/entries/unreleased/bug/reduces_backend_memory_usage_by_releasing_each_api_responses.json rename to changelog/entries/2.3.3/bug/reduces_backend_memory_usage_by_releasing_each_api_responses.json diff --git a/changelog/entries/unreleased/bug/show_an_error_on_ai_fields_with_a_broken_prompt_and_block_ge.json b/changelog/entries/2.3.3/bug/show_an_error_on_ai_fields_with_a_broken_prompt_and_block_ge.json similarity index 100% rename from changelog/entries/unreleased/bug/show_an_error_on_ai_fields_with_a_broken_prompt_and_block_ge.json rename to changelog/entries/2.3.3/bug/show_an_error_on_ai_fields_with_a_broken_prompt_and_block_ge.json diff --git a/changelog/entries/unreleased/bug/workspace_import_strictly_validates_the_manifest_schema_version.json b/changelog/entries/2.3.3/bug/workspace_import_strictly_validates_the_manifest_schema_version.json similarity index 100% rename from changelog/entries/unreleased/bug/workspace_import_strictly_validates_the_manifest_schema_version.json rename to changelog/entries/2.3.3/bug/workspace_import_strictly_validates_the_manifest_schema_version.json diff --git a/changelog/entries/unreleased/feature/5702_show_anonymous_public_view_visitors_in_editors_presence_bar.json b/changelog/entries/2.3.3/feature/5702_show_anonymous_public_view_visitors_in_editors_presence_bar.json similarity index 100% rename from changelog/entries/unreleased/feature/5702_show_anonymous_public_view_visitors_in_editors_presence_bar.json rename to changelog/entries/2.3.3/feature/5702_show_anonymous_public_view_visitors_in_editors_presence_bar.json diff --git a/changelog/entries/unreleased/feature/add_links_and_rich_formatting_to_form_and_field_descriptions.json b/changelog/entries/2.3.3/feature/add_links_and_rich_formatting_to_form_and_field_descriptions.json similarity index 100% rename from changelog/entries/unreleased/feature/add_links_and_rich_formatting_to_form_and_field_descriptions.json rename to changelog/entries/2.3.3/feature/add_links_and_rich_formatting_to_form_and_field_descriptions.json diff --git a/changelog/entries/unreleased/feature/data_syncs_can_be_blocked_from_reaching_private_network_addresses.json b/changelog/entries/2.3.3/feature/data_syncs_can_be_blocked_from_reaching_private_network_addresses.json similarity index 100% rename from changelog/entries/unreleased/feature/data_syncs_can_be_blocked_from_reaching_private_network_addresses.json rename to changelog/entries/2.3.3/feature/data_syncs_can_be_blocked_from_reaching_private_network_addresses.json diff --git a/changelog/entries/unreleased/feature/monitor_celery_beat_tasks_with_sentry_crons.json b/changelog/entries/2.3.3/feature/monitor_celery_beat_tasks_with_sentry_crons.json similarity index 100% rename from changelog/entries/unreleased/feature/monitor_celery_beat_tasks_with_sentry_crons.json rename to changelog/entries/2.3.3/feature/monitor_celery_beat_tasks_with_sentry_crons.json diff --git a/changelog/entries/unreleased/feature/sso_oauth2_providers_can_be_blocked_from_reaching_private_network_addr.json b/changelog/entries/2.3.3/feature/sso_oauth2_providers_can_be_blocked_from_reaching_private_network_addr.json similarity index 100% rename from changelog/entries/unreleased/feature/sso_oauth2_providers_can_be_blocked_from_reaching_private_network_addr.json rename to changelog/entries/2.3.3/feature/sso_oauth2_providers_can_be_blocked_from_reaching_private_network_addr.json diff --git a/changelog/entries/unreleased/refactor/5743_simplify_2fa_verify_endpoint_to_resolve_user_identity_from_t.json b/changelog/entries/2.3.3/refactor/5743_simplify_2fa_verify_endpoint_to_resolve_user_identity_from_t.json similarity index 100% rename from changelog/entries/unreleased/refactor/5743_simplify_2fa_verify_endpoint_to_resolve_user_identity_from_t.json rename to changelog/entries/2.3.3/refactor/5743_simplify_2fa_verify_endpoint_to_resolve_user_identity_from_t.json diff --git a/changelog/entries/unreleased/refactor/updated_formula_references_in_builder_automation__integratio.json b/changelog/entries/2.3.3/refactor/updated_formula_references_in_builder_automation__integratio.json similarity index 100% rename from changelog/entries/unreleased/refactor/updated_formula_references_in_builder_automation__integratio.json rename to changelog/entries/2.3.3/refactor/updated_formula_references_in_builder_automation__integratio.json diff --git a/changelog/releases.json b/changelog/releases.json index 530c235c2e..94088f4563 100644 --- a/changelog/releases.json +++ b/changelog/releases.json @@ -1,5 +1,9 @@ { "releases": [ + { + "name": "2.3.3", + "created_at": "2026-07-21" + }, { "name": "2.3.2", "created_at": "2026-07-15" diff --git a/deploy/all-in-one/README.md b/deploy/all-in-one/README.md index 2ec65f32a0..ceee99aeee 100644 --- a/deploy/all-in-one/README.md +++ b/deploy/all-in-one/README.md @@ -15,7 +15,7 @@ tool gives you the powers of a developer without leaving your browser. [Vue.js](https://vuejs.org/) and [PostgreSQL](https://www.postgresql.org/). ```bash -docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.3.2 +docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.3.3 ``` ## Quick Reference @@ -52,7 +52,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` * Change `BASEROW_PUBLIC_URL` to `https://YOUR_DOMAIN` or `http://YOUR_IP` to enable @@ -75,7 +75,7 @@ docker run \ ## Image Feature Overview -The `baserow/baserow:2.3.2` image by default runs all of Baserow's various services in +The `baserow/baserow:2.3.3` image by default runs all of Baserow's various services in a single container for maximum ease of use. > This image is designed for simple single server deployments or simple container @@ -223,7 +223,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### Behind a reverse proxy already handling ssl @@ -236,7 +236,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### On a nonstandard HTTP port @@ -249,7 +249,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 3001:80 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With an external PostgresSQL server @@ -268,7 +268,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With an external Redis server @@ -289,7 +289,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With an external email server @@ -309,7 +309,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With a Postgresql server running on the same host as the Baserow docker container @@ -347,7 +347,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### Supply secrets using files @@ -374,7 +374,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### Start just the embedded database @@ -387,7 +387,7 @@ docker run -it \ --name baserow \ -p 5432:5432 \ -v baserow_data:/baserow/data \ - baserow/baserow:2.3.2 \ + baserow/baserow:2.3.3 \ start-only-db # Now get the password from docker exec -it baserow cat /baserow/data/.pgpass @@ -419,7 +419,7 @@ docker run -it \ --rm \ --name baserow \ -v baserow_data:/baserow/data \ - baserow/baserow:2.3.2 \ + baserow/baserow:2.3.3 \ backend-cmd-with-db manage dbshell ``` @@ -542,19 +542,19 @@ the command below. ```bash # First read the help message for this command -docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.3 \ backend-cmd-with-db backup --help # Stop Baserow instance docker stop baserow # The command below backs up Baserow to the backups folder in the baserow_data volume: -docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.3 \ backend-cmd-with-db backup -f /baserow/data/backups/backup.tar.gz # Or backup to a file on your host instead run something like: docker run -it --rm -v baserow_data:/baserow/data -v $PWD:/baserow/host \ - baserow/baserow:2.3.2 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz + baserow/baserow:2.3.3 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz ``` ### Restore only Baserow's Postgres Database @@ -570,13 +570,13 @@ docker stop baserow docker run -it --rm \ -v old_baserow_data_volume_containing_the_backup_tar_gz:/baserow/old_data \ -v new_baserow_data_volume_to_restore_into:/baserow/data \ - baserow/baserow:2.3.2 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz + baserow/baserow:2.3.3 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz # Or to restore from a file on your host instead run something like: docker run -it --rm \ -v baserow_data:/baserow/data -v \ $(pwd):/baserow/host \ - baserow/baserow:2.3.2 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz + baserow/baserow:2.3.3 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz ``` ## Running healthchecks on Baserow @@ -627,7 +627,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` Or you can just store it directly in the volume at `baserow_data/env` meaning it will be @@ -636,7 +636,7 @@ loaded whenever you mount in this data volume. ### Building your own image from Baserow ```dockerfile -FROM baserow/baserow:2.3.2 +FROM baserow/baserow:2.3.3 # Any .sh files found in /baserow/supervisor/env/ will be sourced and loaded at startup # useful for storing your own environment variable overrides. diff --git a/deploy/all-in-one/supervisor/start.sh b/deploy/all-in-one/supervisor/start.sh index 2943d7ed6e..7843612199 100755 --- a/deploy/all-in-one/supervisor/start.sh +++ b/deploy/all-in-one/supervisor/start.sh @@ -14,7 +14,7 @@ cat << EOF ██████╔╝██║ ██║███████║███████╗██║ ██║╚██████╔╝╚███╔███╔╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══╝╚══╝ -Version 2.3.2 +Version 2.3.3 ========================================================================================= EOF diff --git a/deploy/cloudron/CloudronManifest.json b/deploy/cloudron/CloudronManifest.json index 18696cc6ba..fe4981ebc7 100644 --- a/deploy/cloudron/CloudronManifest.json +++ b/deploy/cloudron/CloudronManifest.json @@ -8,7 +8,7 @@ "contactEmail": "bram@baserow.io", "icon": "file://logo.png", "tags": ["no-code", "nocode", "database", "data", "collaborate", "airtable"], - "version": "2.3.2", + "version": "2.3.3", "healthCheckPath": "/api/_health/", "httpPort": 80, "addons": { diff --git a/deploy/cloudron/Dockerfile b/deploy/cloudron/Dockerfile index 048d45445a..a931f15baf 100644 --- a/deploy/cloudron/Dockerfile +++ b/deploy/cloudron/Dockerfile @@ -1,4 +1,4 @@ -ARG FROM_IMAGE=baserow/baserow:2.3.2 +ARG FROM_IMAGE=baserow/baserow:2.3.3 # This is pinned as version pinning is done by the CI setting FROM_IMAGE. # hadolint ignore=DL3006 FROM $FROM_IMAGE AS image_base diff --git a/deploy/helm/baserow/Chart.lock b/deploy/helm/baserow/Chart.lock index e145f5c9da..abff0c81cc 100644 --- a/deploy/helm/baserow/Chart.lock +++ b/deploy/helm/baserow/Chart.lock @@ -1,28 +1,28 @@ dependencies: - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: baserow repository: file://charts/baserow-common - version: 1.0.55 + version: 1.0.56 - name: redis repository: https://charts.bitnami.com/bitnami version: 19.5.5 @@ -35,5 +35,5 @@ dependencies: - name: caddy-ingress-controller repository: https://caddyserver.github.io/ingress version: 1.1.0 -digest: sha256:632314c1efe74a5bbf8cffab099e4498c4a87ad155b5ecc0356d1d102dfe6462 -generated: "2026-07-15T14:42:04.801704+02:00" +digest: sha256:cd9a81c79f6db0fc7aed1d369c644d66584d2d927dbead0a75c66ac8aaa06557 +generated: "2026-07-21T14:28:17.809231+02:00" diff --git a/deploy/helm/baserow/Chart.yaml b/deploy/helm/baserow/Chart.yaml index 85790371b1..b463e07350 100644 --- a/deploy/helm/baserow/Chart.yaml +++ b/deploy/helm/baserow/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: baserow description: The open platform to create scalable databases and applications—without coding. type: application -version: 1.0.55 -appVersion: "2.3.2" +version: 1.0.56 +appVersion: "2.3.3" home: https://github.com/baserow/baserow/blob/develop/deploy/helm/baserow?ref_type=heads icon: https://baserow.io/img/favicon_192.png sources: @@ -13,43 +13,43 @@ sources: dependencies: - name: baserow alias: baserow-backend-asgi - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" - name: baserow alias: baserow-backend-wsgi - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" - name: baserow alias: baserow-frontend - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-beat-worker - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-export-worker - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-worker - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-flower - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" condition: baserow-celery-flower.enabled - name: baserow alias: baserow-embeddings - version: "1.0.55" + version: "1.0.56" repository: "file://charts/baserow-common" condition: baserow-embeddings.enabled diff --git a/deploy/helm/baserow/README.md b/deploy/helm/baserow/README.md index 64c678c8af..13919d59cf 100644 --- a/deploy/helm/baserow/README.md +++ b/deploy/helm/baserow/README.md @@ -232,7 +232,7 @@ caddy: | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------- | ----------------------- | | `global.baserow.imageRegistry` | Global Docker image registry | `baserow` | | `global.baserow.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | -| `global.baserow.image.tag` | Global Docker image tag | `2.3.2` | +| `global.baserow.image.tag` | Global Docker image tag | `2.3.3` | | `global.baserow.serviceAccount.shared` | Set to true to share the service account between all application components. | `true` | | `global.baserow.serviceAccount.create` | Set to true to create a service account to share between all application components. | `true` | | `global.baserow.serviceAccount.name` | Configure a name for service account to share between all application components. | `baserow` | diff --git a/deploy/helm/baserow/charts/baserow-common/Chart.yaml b/deploy/helm/baserow/charts/baserow-common/Chart.yaml index ca774e487c..124ae7d1f0 100644 --- a/deploy/helm/baserow/charts/baserow-common/Chart.yaml +++ b/deploy/helm/baserow/charts/baserow-common/Chart.yaml @@ -15,10 +15,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.0.55 +version: 1.0.56 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "2.3.2" +appVersion: "2.3.3" diff --git a/deploy/helm/baserow/charts/baserow-common/README.md b/deploy/helm/baserow/charts/baserow-common/README.md index 920136acd2..728042d076 100644 --- a/deploy/helm/baserow/charts/baserow-common/README.md +++ b/deploy/helm/baserow/charts/baserow-common/README.md @@ -6,7 +6,7 @@ | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | | `global.baserow.imageRegistry` | Global Docker image registry | `baserow` | | `global.baserow.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | -| `global.baserow.image.tag` | Global Docker image tag | `2.3.2` | +| `global.baserow.image.tag` | Global Docker image tag | `2.3.3` | | `global.baserow.serviceAccount.shared` | Set to true to share the service account between all application components. | `true` | | `global.baserow.serviceAccount.create` | Set to true to create a service account to share between all application components. | `true` | | `global.baserow.serviceAccount.name` | Configure a name for service account to share between all application components. | `baserow` | diff --git a/deploy/helm/baserow/charts/baserow-common/values.yaml b/deploy/helm/baserow/charts/baserow-common/values.yaml index a2413b340d..bfc5f4f36b 100644 --- a/deploy/helm/baserow/charts/baserow-common/values.yaml +++ b/deploy/helm/baserow/charts/baserow-common/values.yaml @@ -38,7 +38,7 @@ global: baserow: imageRegistry: baserow image: - tag: 2.3.2 + tag: 2.3.3 imagePullSecrets: [] serviceAccount: shared: true @@ -83,7 +83,7 @@ global: ## image: repository: baserow/baserow # Docker image repository - tag: 2.3.2 # Docker image tag + tag: 2.3.3 # Docker image tag pullPolicy: IfNotPresent # Image pull policy ## @param workingDir Application container working directory diff --git a/deploy/helm/baserow/values.yaml b/deploy/helm/baserow/values.yaml index 7838b56fc6..eeb03ba279 100644 --- a/deploy/helm/baserow/values.yaml +++ b/deploy/helm/baserow/values.yaml @@ -43,7 +43,7 @@ global: baserow: imageRegistry: baserow image: - tag: 2.3.2 + tag: 2.3.3 imagePullSecrets: [] serviceAccount: shared: true diff --git a/deploy/render/Dockerfile b/deploy/render/Dockerfile index eabfa02a3a..b5470acd9a 100644 --- a/deploy/render/Dockerfile +++ b/deploy/render/Dockerfile @@ -1,4 +1,4 @@ -ARG FROM_IMAGE=baserow/baserow:2.3.2 +ARG FROM_IMAGE=baserow/baserow:2.3.3 # This is pinned as version pinning is done by the CI setting FROM_IMAGE. # hadolint ignore=DL3006 FROM $FROM_IMAGE AS image_base diff --git a/docker-compose.all-in-one.yml b/docker-compose.all-in-one.yml index c36da5df6c..0dbb05d034 100644 --- a/docker-compose.all-in-one.yml +++ b/docker-compose.all-in-one.yml @@ -3,7 +3,7 @@ services: baserow: container_name: baserow - image: baserow/baserow:${BASEROW_VERSION:-2.3.2} + image: baserow/baserow:${BASEROW_VERSION:-2.3.3} environment: BASEROW_PUBLIC_URL: 'http://localhost' ports: diff --git a/docker-compose.no-caddy.yml b/docker-compose.no-caddy.yml index 076bec8fee..0a9603e01b 100644 --- a/docker-compose.no-caddy.yml +++ b/docker-compose.no-caddy.yml @@ -219,7 +219,7 @@ x-backend-variables: services: backend: - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 restart: unless-stopped ports: - "${HOST_PUBLISH_IP:-127.0.0.1}:8000:8000" @@ -234,7 +234,7 @@ services: local: web-frontend: - image: baserow/web-frontend:2.3.2 + image: baserow/web-frontend:2.3.3 restart: unless-stopped ports: - "${HOST_PUBLISH_IP:-127.0.0.1}:3000:3000" @@ -295,7 +295,7 @@ services: local: celery: - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 restart: unless-stopped environment: <<: *backend-variables @@ -316,7 +316,7 @@ services: local: celery-export-worker: - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 restart: unless-stopped command: celery-exportworker environment: @@ -337,7 +337,7 @@ services: local: celery-beat-worker: - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 restart: unless-stopped command: celery-beat environment: diff --git a/docker-compose.yml b/docker-compose.yml index 7ca89ebdd0..4e7628174e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -306,7 +306,7 @@ services: local: backend: - image: baserow/backend:${BASEROW_VERSION:-2.3.2} + image: baserow/backend:${BASEROW_VERSION:-2.3.3} restart: unless-stopped environment: @@ -320,7 +320,7 @@ services: local: web-frontend: - image: baserow/web-frontend:${BASEROW_VERSION:-2.3.2} + image: baserow/web-frontend:${BASEROW_VERSION:-2.3.3} restart: unless-stopped environment: BASEROW_PUBLIC_URL: ${BASEROW_PUBLIC_URL-http://localhost} @@ -388,7 +388,7 @@ services: local: celery: - image: baserow/backend:${BASEROW_VERSION:-2.3.2} + image: baserow/backend:${BASEROW_VERSION:-2.3.3} restart: unless-stopped environment: <<: *backend-variables @@ -410,7 +410,7 @@ services: local: celery-export-worker: - image: baserow/backend:${BASEROW_VERSION:-2.3.2} + image: baserow/backend:${BASEROW_VERSION:-2.3.3} restart: unless-stopped command: celery-exportworker environment: @@ -432,7 +432,7 @@ services: local: celery-beat-worker: - image: baserow/backend:${BASEROW_VERSION:-2.3.2} + image: baserow/backend:${BASEROW_VERSION:-2.3.3} restart: unless-stopped command: celery-beat healthcheck: diff --git a/docs/installation/install-behind-apache.md b/docs/installation/install-behind-apache.md index 5bb6e06b5f..20e02b25b8 100644 --- a/docs/installation/install-behind-apache.md +++ b/docs/installation/install-behind-apache.md @@ -3,7 +3,7 @@ If you have an [Apache server](https://www.apache.com/) this guide will explain how to configure it to pass requests through to Baserow. -We strongly recommend you use our `baserow/baserow:2.3.2` image or the example +We strongly recommend you use our `baserow/baserow:2.3.3` image or the example `docker-compose.yml` files (excluding the `.no-caddy.yml` variant) provided in our [git repository](https://github.com/baserow/baserow/tree/master/deploy/apache/). @@ -18,8 +18,8 @@ simplifies your life by: > If you do not want to use our embedded Caddy service behind your Apache then > make sure you are using one of the two following deployment methods: > -> * Your own container setup with our single service `baserow/backend:2.3.2` - and `baserow/web-frontend:2.3.2` images. +> * Your own container setup with our single service `baserow/backend:2.3.3` + and `baserow/web-frontend:2.3.3` images. > * Or our `docker-compose.no-caddy.yml` example file in our [git repository](https://github.com/baserow/baserow/tree/master/deploy/apache/). > > Then you should use **Option 2: Without our embedded Caddy** section instead. @@ -32,7 +32,7 @@ simplifies your life by: Follow this option if you are using: -* The all-in-one Baserow image `baserow/baserow:2.3.2` +* The all-in-one Baserow image `baserow/baserow:2.3.3` * Any of the example compose files found in the root of our git repository `docker-compose.yml`/`docker-compose.all-in-one.yml` @@ -115,7 +115,7 @@ You should now be able to access Baserow on you configured subdomain. Follow this option if you are using: -* Our standalone `baserow/backend:2.3.2` and `baserow/web-frontend:2.3.2` images with +* Our standalone `baserow/backend:2.3.3` and `baserow/web-frontend:2.3.3` images with your own container orchestrator. * Or the `docker-compose.no-caddy.yml` example docker compose file in the root of our git repository. @@ -147,7 +147,7 @@ sudo systemctl restart apache2 You need to ensure user uploaded files are accessible in a folder for Apache to serve. In the rest of the guide we will use the example `/var/web` folder for this purpose. -If you are using the `baserow/backend:2.3.2` image then you can do this by adding +If you are using the `baserow/backend:2.3.3` image then you can do this by adding `-v /var/web:/baserow/data/media` to your normal `docker run` command used to launch the Baserow backend. diff --git a/docs/installation/install-behind-nginx.md b/docs/installation/install-behind-nginx.md index 2fc8392dfc..1ca65f5420 100644 --- a/docs/installation/install-behind-nginx.md +++ b/docs/installation/install-behind-nginx.md @@ -3,7 +3,7 @@ If you have an [Nginx server](https://www.nginx.com/) this guide will explain how to configure it to pass requests through to Baserow. -We strongly recommend you use our `baserow/baserow:2.3.2` image or the example +We strongly recommend you use our `baserow/baserow:2.3.3` image or the example `docker-compose.yml` files (excluding the `.no-caddy.yml` variant) provided in our [git repository](https://github.com/baserow/baserow/tree/master/deploy/nginx/). @@ -18,8 +18,8 @@ simplifies your life by: > If you do not want to use our embedded Caddy service behind your Nginx then > make sure you are using one of the two following deployment methods: > -> * Your own container setup with our single service `baserow/backend:2.3.2` - and `baserow/web-frontend:2.3.2` images. +> * Your own container setup with our single service `baserow/backend:2.3.3` + and `baserow/web-frontend:2.3.3` images. > * Or our `docker-compose.no-caddy.yml` example file in our [git repository](https://github.com/baserow/baserow/tree/master/deploy/nginx/). > > Then you should use **Option 2: Without our embedded Caddy** section instead. @@ -32,7 +32,7 @@ simplifies your life by: Follow this option if you are using: -* The all-in-one Baserow image `baserow/baserow:2.3.2` +* The all-in-one Baserow image `baserow/baserow:2.3.3` * Any of the example compose files found in the root of our git repository `docker-compose.yml`/`docker-compose.all-in-one.yml` @@ -112,7 +112,7 @@ You should now be able to access Baserow on you configured subdomain. Follow this option if you are using: -* Our standalone `baserow/backend:2.3.2` and `baserow/web-frontend:2.3.2` images with +* Our standalone `baserow/backend:2.3.3` and `baserow/web-frontend:2.3.3` images with your own container orchestrator. * Or the `docker-compose.no-caddy.yml` example docker compose file in the root of our git repository. @@ -131,7 +131,7 @@ but you might have to run different commands. You need to ensure user uploaded files are accessible in a folder for Nginx to serve. In the rest of the guide we will use the example `/var/web` folder for this purpose. -If you are using the `baserow/backend:2.3.2` image then you can do this by adding +If you are using the `baserow/backend:2.3.3` image then you can do this by adding `-v /var/web:/baserow/data/media` to your normal `docker run` command used to launch the Baserow backend. diff --git a/docs/installation/install-on-aws.md b/docs/installation/install-on-aws.md index 54c8bb5e5b..a9c4d3b505 100644 --- a/docs/installation/install-on-aws.md +++ b/docs/installation/install-on-aws.md @@ -49,7 +49,7 @@ overview this is what any AWS deployment of Baserow will need: ## Option 1) Deploying the all-in-one image to Fargate/ECS -The `baserow/baserow:2.3.2` image runs all of Baserow’s various services inside the +The `baserow/baserow:2.3.3` image runs all of Baserow’s various services inside the container for ease of use. This image is designed for single server deployments or simple deployments to @@ -67,7 +67,7 @@ Run. * You don't need to worry about configuring and linking together the different services that make up a Baserow deployment. * Configuring load balancers is easier as you can just directly route through all - requests to any horizontally scaled container running `baserow/baserow:2.3.2`. + requests to any horizontally scaled container running `baserow/baserow:2.3.3`. #### Cons @@ -75,7 +75,7 @@ Run. * Potentially higher resource usage overall as each of the all-in-one containers will come with its internal services, so you have less granular control over scaling specific services. - * For example if you deploy 10 `baserow/baserow:2.3.2` containers horizontally you + * For example if you deploy 10 `baserow/baserow:2.3.3` containers horizontally you by default end up with: * 10 web-frontend services * 10 backend services @@ -188,18 +188,18 @@ Generally, the Redis server is not the bottleneck in Baserow deployments as they Now create a target group on port 80 and ALB ready to route traffic to the Baserow containers. -When setting up the health check for the ALB the `baserow/baserow:2.3.2` container +When setting up the health check for the ALB the `baserow/baserow:2.3.3` container ,which you'll be deploying next, choose port `80` and health check URL `/api/_health/`. We recommend a long grace period of 900 seconds to account for first-time migrations being run on the first container's startup. #### 5) Launching Baserow on ECS/Fargate -Now we are ready to spin up our `baserow/baserow:2.3.2` containers. See below for a +Now we are ready to spin up our `baserow/baserow:2.3.3` containers. See below for a full task definition and environment variables. We recommend launching the containers with 2vCPUs and 4 GB of RAM each to start with. In short, you will want to: -1. Select the `baserow/baserow:2.3.2` image. +1. Select the `baserow/baserow:2.3.3` image. 2. Add a port mapping of `80` on TCP as this is where this images HTTP server is listening by default. 3. Mark the container as essential. @@ -244,7 +244,7 @@ container_definitions = < We recommend setting the timeout of each HTTP API request to 60 seconds in the @@ -484,7 +484,7 @@ This service is our HTTP REST API service. When creating the task definition you This service is our Websocket API service and when configuring the task definition you should: -1. Use the `baserow/backend:2.3.2` +1. Use the `baserow/backend:2.3.3` 2. Under docker configuration set `gunicorn` as the Command. 3. We recommend 2vCPUs and 4 GB of RAM per container to start with. 4. Map the container port `8000`/`TCP` @@ -496,7 +496,7 @@ should: This service is our asynchronous high priority task worker queue used for realtime collaboration and sending emails. -1. Use the `baserow/backend:2.3.2` image with `celery-worker` as the image command. +1. Use the `baserow/backend:2.3.3` image with `celery-worker` as the image command. 2. Under docker configuration set `celery-worker` as the Command. 3. No port mappings needed. 4. We recommend 2vCPUs and 4 GB of RAM per container to start with. @@ -509,7 +509,7 @@ This service is our asynchronous slow/low priority task worker queue for batch processes and running potentially slow operations for users like table exports and imports etc. -1. Use the `baserow/backend:2.3.2` image. +1. Use the `baserow/backend:2.3.3` image. 2. Under docker configuration set `celery-exportworker` as the Command. 3. No port mappings needed. 4. We recommend 2vCPUs and 4 GB of RAM per container to start with. @@ -520,7 +520,7 @@ imports etc. This service is our CRON task scheduler that can have multiple replicas deployed. -1. Use the `baserow/backend:2.3.2` image. +1. Use the `baserow/backend:2.3.3` image. 2. Under docker configuration set `celery-beat` as the Command. 3. No port mapping needed. 4. We recommend 1vCPUs and 3 GB of RAM per container to start with. @@ -537,7 +537,7 @@ This service is our CRON task scheduler that can have multiple replicas deployed Finally, this service is used for server side rendering and serving the frontend of Baserow. -1. Use the `baserow/web-frontend:2.3.2` image with no arguments needed. +1. Use the `baserow/web-frontend:2.3.3` image with no arguments needed. 2. Map the container port `3000` 3. We recommend 2vCPUs and 4 GB of RAM per container to start with. 4. Mark the container as essential. diff --git a/docs/installation/install-on-cloudron.md b/docs/installation/install-on-cloudron.md index 7e116c4fe2..aede8367d3 100644 --- a/docs/installation/install-on-cloudron.md +++ b/docs/installation/install-on-cloudron.md @@ -46,7 +46,7 @@ $ cd baserow/deploy/cloudron After that you can install the Baserow Cloudron app by executing the following commands. ``` -$ cloudron install -l baserow.{YOUR_DOMAIN} --image baserow/cloudron:2.3.2 +$ cloudron install -l baserow.{YOUR_DOMAIN} --image baserow/cloudron:2.3.3 App is being installed. ... App is installed. @@ -89,7 +89,7 @@ the `baserow/deploy/cloudron` folder, you can upgrade your cloudron baserow serv the latest version by running the following command: ``` -cloudron update --app {YOUR_APP_ID} --image baserow/cloudron:2.3.2 +cloudron update --app {YOUR_APP_ID} --image baserow/cloudron:2.3.3 ``` > Note that you must replace the image with the most recent image of Baserow. The diff --git a/docs/installation/install-on-digital-ocean.md b/docs/installation/install-on-digital-ocean.md index 1c2671eadd..feb275500b 100644 --- a/docs/installation/install-on-digital-ocean.md +++ b/docs/installation/install-on-digital-ocean.md @@ -51,7 +51,7 @@ Navigate to the `Apps` page in the left sidebar of your Digital Ocean dashboard. on `Create App`, select `Docker Hub`, and fill out the following: Repository: `baserow/baserow` -Image tag or digest: `2.3.2` +Image tag or digest: `2.3.3` Click on `Next`, then on the `Edit` button of the `baserow-baserow` web service. Here you must change the HTTP Port to 80, and then click on `Back`. Click on the `Next` @@ -124,7 +124,7 @@ environment. In order to update the Baserow version, you simply need to replace the image tag. Navigate to the `Settings` tag of your created app, click on the `baserow-baserow` component, then click on the `Edit` button next to source, change the `Image tag` into -the desired version (latest is `2.3.2`), and click on save. The app will redeploy +the desired version (latest is `2.3.3`), and click on save. The app will redeploy with the latest version. ## External email server diff --git a/docs/installation/install-on-ubuntu.md b/docs/installation/install-on-ubuntu.md index 4a8357f142..94e5464cd8 100644 --- a/docs/installation/install-on-ubuntu.md +++ b/docs/installation/install-on-ubuntu.md @@ -34,7 +34,7 @@ docker run -e BASEROW_PUBLIC_URL=http://localhost \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ -baserow/baserow:2.3.2 +baserow/baserow:2.3.3 # Watch the logs for Baserow to come available by running: docker logs baserow ``` @@ -147,7 +147,7 @@ docker run \ -v /baserow/media:/baserow/data/media \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 # Check the logs and wait for Baserow to become available docker logs baserow ``` diff --git a/docs/installation/install-using-standalone-images.md b/docs/installation/install-using-standalone-images.md index 52531154d3..5784b7121a 100644 --- a/docs/installation/install-using-standalone-images.md +++ b/docs/installation/install-using-standalone-images.md @@ -10,9 +10,9 @@ Baserow consists of a number of services, two of which are built and provided as separate standalone images by us: -* `baserow/backend:2.3.2` which by default starts the Gunicorn Django backend server +* `baserow/backend:2.3.3` which by default starts the Gunicorn Django backend server for Baserow but is also used to start the celery workers and celery beat services. -* `baserow/web-frontend:2.3.2` which is a Nuxt server providing Server Side rendering +* `baserow/web-frontend:2.3.3` which is a Nuxt server providing Server Side rendering for the website. If you want to use your own container orchestration software like Kubernetes then these @@ -27,10 +27,10 @@ in the root of our repository. These are all the services you need to set up to run a Baserow using the standalone images: -* `baserow/backend:2.3.2` (default command is `gunicorn`) -* `baserow/backend:2.3.2` with command `celery-worker` -* `baserow/backend:2.3.2` with command `celery-export-worker` -* `baserow/web-frontend:2.3.2` (default command is `nuxt-prod`) +* `baserow/backend:2.3.3` (default command is `gunicorn`) +* `baserow/backend:2.3.3` with command `celery-worker` +* `baserow/backend:2.3.3` with command `celery-export-worker` +* `baserow/web-frontend:2.3.3` (default command is `nuxt-prod`) * A postgres database * A redis server diff --git a/docs/installation/install-with-docker-compose.md b/docs/installation/install-with-docker-compose.md index bbf11753f0..fed8904a0b 100644 --- a/docs/installation/install-with-docker-compose.md +++ b/docs/installation/install-with-docker-compose.md @@ -15,7 +15,7 @@ guide on the specifics of how to work with this image. services: baserow: container_name: baserow - image: baserow/baserow:2.3.2 + image: baserow/baserow:2.3.3 environment: BASEROW_PUBLIC_URL: 'http://localhost' ports: diff --git a/docs/installation/install-with-docker.md b/docs/installation/install-with-docker.md index fe33fe743b..25503cc385 100644 --- a/docs/installation/install-with-docker.md +++ b/docs/installation/install-with-docker.md @@ -29,7 +29,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` * Change `BASEROW_PUBLIC_URL` to `https://YOUR_DOMAIN` or `http://YOUR_IP` to enable @@ -52,7 +52,7 @@ docker run \ ## Image Feature Overview -The `baserow/baserow:2.3.2` image by default runs all of Baserow's various services in +The `baserow/baserow:2.3.3` image by default runs all of Baserow's various services in a single container for maximum ease of use. > This image is designed for simple single server deployments or simple container @@ -200,7 +200,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### Behind a reverse proxy already handling ssl @@ -213,7 +213,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### On a nonstandard HTTP port @@ -226,7 +226,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 3001:80 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With an external PostgresSQL server @@ -245,7 +245,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With an external Redis server @@ -266,7 +266,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With an external email server @@ -286,7 +286,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### With a Postgresql server running on the same host as the Baserow docker container @@ -324,7 +324,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### Supply secrets using files @@ -351,7 +351,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` ### Start just the embedded database @@ -364,7 +364,7 @@ docker run -it \ --name baserow \ -p 5432:5432 \ -v baserow_data:/baserow/data \ - baserow/baserow:2.3.2 \ + baserow/baserow:2.3.3 \ start-only-db # Now get the password from docker exec -it baserow cat /baserow/data/.pgpass @@ -396,7 +396,7 @@ docker run -it \ --rm \ --name baserow \ -v baserow_data:/baserow/data \ - baserow/baserow:2.3.2 \ + baserow/baserow:2.3.3 \ backend-cmd-with-db manage dbshell ``` @@ -519,19 +519,19 @@ the command below. ```bash # First read the help message for this command -docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.3 \ backend-cmd-with-db backup --help # Stop Baserow instance docker stop baserow # The command below backs up Baserow to the backups folder in the baserow_data volume: -docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.3.3 \ backend-cmd-with-db backup -f /baserow/data/backups/backup.tar.gz # Or backup to a file on your host instead run something like: docker run -it --rm -v baserow_data:/baserow/data -v $PWD:/baserow/host \ - baserow/baserow:2.3.2 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz + baserow/baserow:2.3.3 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz ``` ### Restore only Baserow's Postgres Database @@ -547,13 +547,13 @@ docker stop baserow docker run -it --rm \ -v old_baserow_data_volume_containing_the_backup_tar_gz:/baserow/old_data \ -v new_baserow_data_volume_to_restore_into:/baserow/data \ - baserow/baserow:2.3.2 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz + baserow/baserow:2.3.3 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz # Or to restore from a file on your host instead run something like: docker run -it --rm \ -v baserow_data:/baserow/data -v \ $(pwd):/baserow/host \ - baserow/baserow:2.3.2 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz + baserow/baserow:2.3.3 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz ``` ## Running healthchecks on Baserow @@ -604,7 +604,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.3.2 + baserow/baserow:2.3.3 ``` Or you can just store it directly in the volume at `baserow_data/env` meaning it will be @@ -613,7 +613,7 @@ loaded whenever you mount in this data volume. ### Building your own image from Baserow ```dockerfile -FROM baserow/baserow:2.3.2 +FROM baserow/baserow:2.3.3 # Any .sh files found in /baserow/supervisor/env/ will be sourced and loaded at startup # useful for storing your own environment variable overrides. diff --git a/docs/installation/install-with-helm.md b/docs/installation/install-with-helm.md index 8ea61b8252..5051124cd2 100644 --- a/docs/installation/install-with-helm.md +++ b/docs/installation/install-with-helm.md @@ -133,7 +133,7 @@ You can specify a particular Baserow version by updating your `config.yaml`: ```yaml global: baserow: - image: 2.3.2 + image: 2.3.3 ``` Or specify the chart version directly: diff --git a/docs/installation/install-with-k8s.md b/docs/installation/install-with-k8s.md index 2c8eb53cda..f2d84a7872 100644 --- a/docs/installation/install-with-k8s.md +++ b/docs/installation/install-with-k8s.md @@ -167,7 +167,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: backend-asgi - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 workingDir: /baserow args: - "gunicorn" @@ -224,7 +224,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: backend-wsgi - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 workingDir: /baserow args: - "gunicorn-wsgi" @@ -283,7 +283,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: backend-worker - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 args: - "celery-worker" imagePullPolicy: Always @@ -300,7 +300,7 @@ spec: - secretRef: name: YOUR_ENV_SECRET_REF - name: backend-export-worker - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 args: - "celery-exportworker" imagePullPolicy: Always @@ -317,7 +317,7 @@ spec: - secretRef: name: YOUR_ENV_SECRET_REF - name: backend-beat-worker - image: baserow/backend:2.3.2 + image: baserow/backend:2.3.3 args: - "celery-beat" imagePullPolicy: Always @@ -358,7 +358,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: web-frontend - image: baserow/web-frontend:2.3.2 + image: baserow/web-frontend:2.3.3 args: - nuxt ports: diff --git a/docs/installation/install-with-traefik.md b/docs/installation/install-with-traefik.md index 3f17d2999c..409cf6392b 100644 --- a/docs/installation/install-with-traefik.md +++ b/docs/installation/install-with-traefik.md @@ -10,7 +10,7 @@ See below for an example docker-compose file that will enable Baserow with Traef ``` services: baserow: - image: baserow/baserow:2.3.2 + image: baserow/baserow:2.3.3 container_name: baserow labels: # Explicitly tell Traefik to expose this container diff --git a/docs/installation/supported.md b/docs/installation/supported.md index cc9fed6bb8..54e8cc1023 100644 --- a/docs/installation/supported.md +++ b/docs/installation/supported.md @@ -8,7 +8,7 @@ Software versions are divided into the following groups: before the release. * `Recommended`: Recommended software for the best experience. -## Baserow 2.3.2 +## Baserow 2.3.3 | Dependency | Supported versions | Tested versions | Recommended versions | diff --git a/docs/plugins/creation.md b/docs/plugins/creation.md index 07a18bc766..92bf039ec1 100644 --- a/docs/plugins/creation.md +++ b/docs/plugins/creation.md @@ -122,7 +122,7 @@ containing metadata about your plugin. It should have the following JSON structu { "name": "TODO", "version": "TODO", - "supported_baserow_versions": "2.3.2", + "supported_baserow_versions": "2.3.3", "plugin_api_version": "0.0.1-alpha", "description": "TODO", "author": "TODO", diff --git a/docs/plugins/installation.md b/docs/plugins/installation.md index d6042a5a7e..48a71a5d52 100644 --- a/docs/plugins/installation.md +++ b/docs/plugins/installation.md @@ -36,7 +36,7 @@ build your own image based off the Baserow all-in-one image. 4. Next copy the contents shown into your `Dockerfile` ```dockerfile -FROM baserow/baserow:2.3.2 +FROM baserow/baserow:2.3.3 # You can install a plugin found in a git repo: RUN /baserow/plugins/install_plugin.sh \ @@ -70,9 +70,9 @@ RUN /baserow/plugins/install_plugin.sh \ 5. Choose which of the `RUN` commands you'd like to use to install your plugins and delete the rest, replace the example URLs with ones pointing to your plugin. 6. Now build your custom Baserow with the plugin installed by running: - `docker build -t my-customized-baserow:2.3.2 .` + `docker build -t my-customized-baserow:2.3.3 .` 7. Finally, you can run your new customized image just like the normal Baserow image: - `docker run -p 80:80 -v baserow_data:/baserow/data my-customized-baserow:2.3.2` + `docker run -p 80:80 -v baserow_data:/baserow/data my-customized-baserow:2.3.3` ### Installing in an existing Baserow all-in-one container @@ -111,7 +111,7 @@ docker run \ -v baserow_data:/baserow/data \ # ... All your normal launch args go here -e BASEROW_PLUGIN_GIT_REPOS=https://example.com/example/plugin1.git,https://example.com/example/plugin2.git - baserow:2.3.2 + baserow:2.3.3 ``` These variables will only trigger and installation when found on startup of the @@ -120,7 +120,7 @@ container. To uninstall a plugin you must still manually follow the instructions ### Caveats when installing into an existing container If you ever delete the container you've installed plugins into at runtime and re-create -it, the new container is created from the `baserow/baserow:2.3.2` image which does not +it, the new container is created from the `baserow/baserow:2.3.3` image which does not have any plugins installed. However, when a plugin is installed at runtime or build time it is stored in the @@ -135,7 +135,7 @@ scratch. ### Installing into standalone Baserow service images -Baserow also provides `baserow/backend:2.3.2` and `baserow/web-frontend:2.3.2` images +Baserow also provides `baserow/backend:2.3.3` and `baserow/web-frontend:2.3.3` images which only run the respective backend/celery/web-frontend services. These images are used for more advanced self-hosted deployments like a multi-service docker-compose, k8s etc. @@ -145,8 +145,8 @@ used with docker run and a specified command and the plugin env vars shown above example: ``` -docker run --rm baserow/backend:2.3.2 install-plugin ... -docker run -e BASEROW_PLUGIN_GIT_REPOS=https://example.com/example/plugin1.git,https://example.com/example/plugin2.git --rm baserow/backend:2.3.2 +docker run --rm baserow/backend:2.3.3 install-plugin ... +docker run -e BASEROW_PLUGIN_GIT_REPOS=https://example.com/example/plugin1.git,https://example.com/example/plugin2.git --rm baserow/backend:2.3.3 ``` You can use these scripts exactly as you would in the sections above to install a plugin @@ -169,13 +169,13 @@ associated data permanently. [Docker install guide backup section](../installation/install-with-docker.md) for more details on how to do this. 2. Stop your Baserow server first - `docker stop baserow` -3. `docker run --rm -v baserow_data:/baserow/data baserow:2.3.2 uninstall-plugin plugin_name` +3. `docker run --rm -v baserow_data:/baserow/data baserow:2.3.3 uninstall-plugin plugin_name` 4. Now the plugin has uninstalled itself and all associated data has been removed. 5. Edit your custom `Dockerfile` and remove the plugin. -6. Rebuild your image - `docker build -t my-customized-baserow:2.3.2 .` +6. Rebuild your image - `docker build -t my-customized-baserow:2.3.3 .` 7. Remove the old container using the old image - `docker rm baserow` 8. Run your new image with the plugin removed - - `docker run -p 80:80 -v baserow_data:/baserow/data my-customized-baserow:2.3.2` + - `docker run -p 80:80 -v baserow_data:/baserow/data my-customized-baserow:2.3.3` 9. If you fail to do this if you ever recreate the container, your custom image still has the plugin installed and the new container will start up again with the plugin re-installed. @@ -207,7 +207,7 @@ associated data permanently. restart as the environment variable will still contain the old plugin. To do this you must: 1. `docker stop baserow` - 2. `docker run --rm -v baserow_data:/baserow/data baserow:2.3.2 uninstall-plugin plugin_name` + 2. `docker run --rm -v baserow_data:/baserow/data baserow:2.3.3 uninstall-plugin plugin_name` 3. Now the plugin has uninstalled itself and all associated data has been removed. 4. Finally, recreate your Baserow container by using the same `docker run` command you launched it with, just make sure the plugin you uninstalled has been removed @@ -222,7 +222,7 @@ check what plugins are currently installed. docker run \ --rm \ -v baserow_data:/baserow/data \ - baserow:2.3.2 list-plugins + baserow:2.3.3 list-plugins # or on a running container diff --git a/enterprise/backend/pyproject.toml b/enterprise/backend/pyproject.toml index 6411fb3e8a..70d82eb53a 100644 --- a/enterprise/backend/pyproject.toml +++ b/enterprise/backend/pyproject.toml @@ -12,7 +12,7 @@ description = """Baserow is an open source no-code database tool and Airtable \ # mixed license license = { file = "../LICENSE" } requires-python = "==3.14.*" -version = "2.3.2" +version = "2.3.3" classifiers = [] [project.urls] diff --git a/heroku.Dockerfile b/heroku.Dockerfile index 96cd00a07f..fc623181c3 100644 --- a/heroku.Dockerfile +++ b/heroku.Dockerfile @@ -1,4 +1,4 @@ -ARG FROM_IMAGE=baserow/baserow:2.3.2 +ARG FROM_IMAGE=baserow/baserow:2.3.3 # This is pinned as version pinning is done by the CI setting FROM_IMAGE. # hadolint ignore=DL3006 FROM $FROM_IMAGE AS image_base diff --git a/justfile b/justfile index 971a039175..020ccb856b 100644 --- a/justfile +++ b/justfile @@ -1216,7 +1216,7 @@ env-clear: echo "echo 'No .env.local found'" fi -# Run changelog command (e.g., just changelog add, just changelog release 2.3.2) +# Run changelog command (e.g., just changelog add, just changelog release 2.3.3) [positional-arguments] [group('5 - utilities')] [doc("Changelog: just changelog ")] diff --git a/premium/backend/pyproject.toml b/premium/backend/pyproject.toml index 49d7f75e0a..756fd44d2f 100644 --- a/premium/backend/pyproject.toml +++ b/premium/backend/pyproject.toml @@ -12,7 +12,7 @@ description = """Baserow is an open source no-code database tool and Airtable \ # mixed license license = { file = "../LICENSE" } requires-python = "==3.14.*" -version = "2.3.2" +version = "2.3.3" classifiers = [] [project.urls] diff --git a/web-frontend/docker/docker-entrypoint.sh b/web-frontend/docker/docker-entrypoint.sh index b5086e7a9b..b0c5d5d64c 100755 --- a/web-frontend/docker/docker-entrypoint.sh +++ b/web-frontend/docker/docker-entrypoint.sh @@ -2,7 +2,7 @@ # Bash strict mode: http://redsymbol.net/articles/unofficial-bash-strict-mode/ set -euo pipefail -export BASEROW_VERSION="2.3.2" +export BASEROW_VERSION="2.3.3" BASEROW_WEBFRONTEND_PORT="${BASEROW_WEBFRONTEND_PORT:-3000}" show_help() { diff --git a/web-frontend/package.json b/web-frontend/package.json index 803ecc8bfb..d47bbb40e9 100644 --- a/web-frontend/package.json +++ b/web-frontend/package.json @@ -1,6 +1,6 @@ { "name": "baserow", - "version": "2.3.2", + "version": "2.3.3", "private": true, "type": "module", "scripts": { From d37ea888085da2576c9b1e8cbb4575e66ee0b275 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:22:43 +0200 Subject: [PATCH 4/7] chore(deps): bump tar from 7.5.16 to 7.5.20 in /web-frontend (#5758) Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.16 to 7.5.20. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/isaacs/node-tar/compare/v7.5.16...v7.5.20) --- updated-dependencies: - dependency-name: tar dependency-version: 7.5.20 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-frontend/yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index e8691cefa8..c375f6fb45 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -12596,9 +12596,9 @@ tar-stream@^3.0.0: streamx "^2.15.0" tar@^7.4.0: - version "7.5.16" - resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.16.tgz#f11e063afed4554f758049d082909e37d6b53ced" - integrity sha512-56adEpPMouktRlBLXiaYFFzZ/3+JXa8P9n7WbR+ibIjtviN55mEaOkiysCnPnWm+7kkui1Dn8J9l+g6zV8731w== + version "7.5.20" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.20.tgz#37a65aa911cbd69864002e14bf8a926a5551e240" + integrity sha512-9FcyK4PA6+WbzlTM9WhQm6vB5W7cP7dUiPsv1g7YDwEQnQ1CGpK3MGlKk/ITVWMk05kHZuBhmVhiv8LZoy/PFQ== dependencies: "@isaacs/fs-minipass" "^4.0.0" chownr "^3.0.0" @@ -12721,7 +12721,7 @@ tiptap-markdown@0.9.0: markdown-it-task-lists "^2.1.1" prosemirror-markdown "^1.11.1" -tldjs@^2.3.1: +tldjs@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/tldjs/-/tldjs-2.3.2.tgz#46bc9b7ec7d8d5afc01ece590914c208b7f308d2" integrity sha512-EORDwFMSZKrHPUVDhejCMDeAovRS5d8jZKiqALFiPp3cjKjEldPkxBY39ZSx3c45awz3RpKwJD1cCgGxEfy8/A== From 96604ff6faa74e2897d7ffcb34ad244e9302b501 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 13:39:24 +0000 Subject: [PATCH 5/7] chore(deps): bump shell-quote from 1.8.4 to 1.10.0 in /web-frontend (#5759) Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.4 to 1.10.0. - [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md) - [Commits](https://github.com/ljharb/shell-quote/compare/v1.8.4...v1.10.0) --- updated-dependencies: - dependency-name: shell-quote dependency-version: 1.10.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index c375f6fb45..fca343bb82 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -12037,9 +12037,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.8.4: - version "1.8.4" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.4.tgz#2edd9a4dcefc96649e2e2cb12f637b1f1d92a190" - integrity sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ== + version "1.10.0" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.10.0.tgz#482033e192e4f5c07151521ffa03400ec71b1b0f" + integrity sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA== side-channel-list@^1.0.0: version "1.0.0" From a591beb57ec8c574dcae29ea3f4607c00db1c1bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 13:40:05 +0000 Subject: [PATCH 6/7] chore(deps): bump js-yaml from 4.2.0 to 4.3.0 in /web-frontend (#5760) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.2.0 to 4.3.0. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.0) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.3.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index fca343bb82..c4e6a72a4b 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -8962,9 +8962,9 @@ js-tokens@^9.0.1: integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== js-yaml@^4.1.0, js-yaml@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.2.0.tgz#2bd9e85682dd91bd469afb809d816043b3d49524" - integrity sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw== + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.3.0.tgz#d1900572a7f7cf0b5f540c83673e60bad3436592" + integrity sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q== dependencies: argparse "^2.0.1" From 463fb662c08a4e9229a9f7b528df8ba69609c554 Mon Sep 17 00:00:00 2001 From: Davide Silvestri <75379892+silvestrid@users.noreply.github.com> Date: Tue, 21 Jul 2026 15:56:11 +0200 Subject: [PATCH 7/7] chore (deps): update pillow and soupsieve in the backend; axios in the frontend (#5761) --- backend/pyproject.toml | 2 +- backend/uv.lock | 50 ++++++++++++++++++--------------------- e2e-tests/package.json | 2 +- e2e-tests/yarn.lock | 46 ++++++++++++++++++++++++++++------- web-frontend/package.json | 2 +- web-frontend/yarn.lock | 8 +++---- 6 files changed, 67 insertions(+), 43 deletions(-) diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 0aafd18e19..aee003e49b 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -26,7 +26,7 @@ dependencies = [ "websockets==16.0.0", "requests==2.34.2", "itsdangerous==2.2.0", - "Pillow==12.2.0", + "Pillow==12.3.0", "drf-spectacular==0.29.0", "asgiref==3.11.0", "channels[daphne]==4.3.2", diff --git a/backend/uv.lock b/backend/uv.lock index 70c9a2b981..d98e8732ee 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -409,7 +409,7 @@ requires-dist = [ { name = "opentelemetry-semantic-conventions", specifier = "==0.60b1" }, { name = "opentelemetry-util-http", specifier = "==0.60b1" }, { name = "pgvector", specifier = "==0.4.2" }, - { name = "pillow", specifier = "==12.2.0" }, + { name = "pillow", specifier = "==12.3.0" }, { name = "posthog", specifier = "==7.4.2" }, { name = "prosemirror", specifier = "==0.5.2" }, { name = "psutil", specifier = "==7.2.2" }, @@ -2690,29 +2690,25 @@ wheels = [ [[package]] name = "pillow" -version = "12.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", size = 46987819, upload-time = "2026-04-01T14:46:17.687Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/98/4595daa2365416a86cb0d495248a393dfc84e96d62ad080c8546256cb9c0/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3adc9215e8be0448ed6e814966ecf3d9952f0ea40eb14e89a102b87f450660d8", size = 4100848, upload-time = "2026-04-01T14:44:48.48Z" }, - { url = "https://files.pythonhosted.org/packages/0b/79/40184d464cf89f6663e18dfcf7ca21aae2491fff1a16127681bf1fa9b8cf/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6a9adfc6d24b10f89588096364cc726174118c62130c817c2837c60cf08a392b", size = 4176515, upload-time = "2026-04-01T14:44:51.353Z" }, - { url = "https://files.pythonhosted.org/packages/b0/63/703f86fd4c422a9cf722833670f4f71418fb116b2853ff7da722ea43f184/pillow-12.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6a6e67ea2e6feda684ed370f9a1c52e7a243631c025ba42149a2cc5934dec295", size = 3640159, upload-time = "2026-04-01T14:44:53.588Z" }, - { url = "https://files.pythonhosted.org/packages/71/e0/fb22f797187d0be2270f83500aab851536101b254bfa1eae10795709d283/pillow-12.2.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2bb4a8d594eacdfc59d9e5ad972aa8afdd48d584ffd5f13a937a664c3e7db0ed", size = 5312185, upload-time = "2026-04-01T14:44:56.039Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:80b2da48193b2f33ed0c32c38140f9d3186583ce7d516526d462645fd98660ae", size = 4695386, upload-time = "2026-04-01T14:44:58.663Z" }, - { url = "https://files.pythonhosted.org/packages/70/62/98f6b7f0c88b9addd0e87c217ded307b36be024d4ff8869a812b241d1345/pillow-12.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22db17c68434de69d8ecfc2fe821569195c0c373b25cccb9cbdacf2c6e53c601", size = 6280384, upload-time = "2026-04-01T14:45:01.5Z" }, - { url = "https://files.pythonhosted.org/packages/5e/03/688747d2e91cfbe0e64f316cd2e8005698f76ada3130d0194664174fa5de/pillow-12.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b14cc0106cd9aecda615dd6903840a058b4700fcb817687d0ee4fc8b6e389be", size = 8091599, upload-time = "2026-04-01T14:45:04.5Z" }, - { url = "https://files.pythonhosted.org/packages/f6/35/577e22b936fcdd66537329b33af0b4ccfefaeabd8aec04b266528cddb33c/pillow-12.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cbeb542b2ebc6fcdacabf8aca8c1a97c9b3ad3927d46b8723f9d4f033288a0f", size = 6396021, upload-time = "2026-04-01T14:45:07.117Z" }, - { url = "https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bfd07bc812fbd20395212969e41931001fd59eb55a60658b0e5710872e95286", size = 7083360, upload-time = "2026-04-01T14:45:09.763Z" }, - { url = "https://files.pythonhosted.org/packages/5e/26/d325f9f56c7e039034897e7380e9cc202b1e368bfd04d4cbe6a441f02885/pillow-12.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9aba9a17b623ef750a4d11b742cbafffeb48a869821252b30ee21b5e91392c50", size = 6507628, upload-time = "2026-04-01T14:45:12.378Z" }, - { url = "https://files.pythonhosted.org/packages/5f/f7/769d5632ffb0988f1c5e7660b3e731e30f7f8ec4318e94d0a5d674eb65a4/pillow-12.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:deede7c263feb25dba4e82ea23058a235dcc2fe1f6021025dc71f2b618e26104", size = 7209321, upload-time = "2026-04-01T14:45:15.122Z" }, - { url = "https://files.pythonhosted.org/packages/b6/ab/1b426a3974cb0e7da5c29ccff4807871d48110933a57207b5a676cccc155/pillow-12.2.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:57850958fe9c751670e49b2cecf6294acc99e562531f4bd317fa5ddee2068463", size = 5314225, upload-time = "2026-04-01T14:45:25.637Z" }, - { url = "https://files.pythonhosted.org/packages/19/1e/dce46f371be2438eecfee2a1960ee2a243bbe5e961890146d2dee1ff0f12/pillow-12.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d5d38f1411c0ed9f97bcb49b7bd59b6b7c314e0e27420e34d99d844b9ce3b6f3", size = 4698541, upload-time = "2026-04-01T14:45:28.355Z" }, - { url = "https://files.pythonhosted.org/packages/55/c3/7fbecf70adb3a0c33b77a300dc52e424dc22ad8cdc06557a2e49523b703d/pillow-12.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c0a9f29ca8e79f09de89293f82fc9b0270bb4af1d58bc98f540cc4aedf03166", size = 6322251, upload-time = "2026-04-01T14:45:30.924Z" }, - { url = "https://files.pythonhosted.org/packages/1c/3c/7fbc17cfb7e4fe0ef1642e0abc17fc6c94c9f7a16be41498e12e2ba60408/pillow-12.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1610dd6c61621ae1cf811bef44d77e149ce3f7b95afe66a4512f8c59f25d9ebe", size = 8127807, upload-time = "2026-04-01T14:45:33.908Z" }, - { url = "https://files.pythonhosted.org/packages/ff/c3/a8ae14d6defd2e448493ff512fae903b1e9bd40b72efb6ec55ce0048c8ce/pillow-12.2.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a34329707af4f73cf1782a36cd2289c0368880654a2c11f027bcee9052d35dd", size = 6433935, upload-time = "2026-04-01T14:45:36.623Z" }, - { url = "https://files.pythonhosted.org/packages/6e/32/2880fb3a074847ac159d8f902cb43278a61e85f681661e7419e6596803ed/pillow-12.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e9c4f5b3c546fa3458a29ab22646c1c6c787ea8f5ef51300e5a60300736905e", size = 7116720, upload-time = "2026-04-01T14:45:39.258Z" }, - { url = "https://files.pythonhosted.org/packages/46/87/495cc9c30e0129501643f24d320076f4cc54f718341df18cc70ec94c44e1/pillow-12.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06", size = 6540498, upload-time = "2026-04-01T14:45:41.879Z" }, - { url = "https://files.pythonhosted.org/packages/18/53/773f5edca692009d883a72211b60fdaf8871cbef075eaa9d577f0a2f989e/pillow-12.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f278f034eb75b4e8a13a54a876cc4a5ab39173d2cdd93a638e1b467fc545ac43", size = 7239413, upload-time = "2026-04-01T14:45:44.705Z" }, +version = "12.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce", size = 47025035, upload-time = "2026-07-01T11:56:38.965Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/01/001f65b68192f0228cc1dbbc8d2530ab5d58b61037ba0587f946fea607cd/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b814ce40d4330", size = 4161736, upload-time = "2026-07-01T11:54:51.156Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d2/0219746d0fd16fc8a84498e79452375be3797d3ce4044596ce565164b84f/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c14da4fafc741c5f6217", size = 4255435, upload-time = "2026-07-01T11:54:53.414Z" }, + { url = "https://files.pythonhosted.org/packages/c8/02/8d0bc62ef0302318c46ff2a512822d2610e81c7aa46c9b3abe6cbaca5ad0/pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90b67d3e6bca2f1990930", size = 3696262, upload-time = "2026-07-01T11:54:55.739Z" }, + { url = "https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8", size = 5350344, upload-time = "2026-07-01T11:54:57.657Z" }, + { url = "https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0", size = 4780131, upload-time = "2026-07-01T11:54:59.713Z" }, + { url = "https://files.pythonhosted.org/packages/b1/9d/8b2c807dbef61a5197c047afe99823787eb66f63daf9fb2432f91d6f0462/pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321", size = 6263757, upload-time = "2026-07-01T11:55:01.778Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b", size = 6936962, upload-time = "2026-07-01T11:55:03.93Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/e483414b35800b86b6f08dbbc7803fb5cd52c4d6f897f47d53ea2c7e6f65/pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f785b0a0198", size = 6339171, upload-time = "2026-07-01T11:55:05.989Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f4/68c491844841ede6bed70189546b3ee9731cf9f2cbad396faff5e1ccba45/pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf20648130", size = 7048116, upload-time = "2026-07-01T11:55:08.131Z" }, + { url = "https://files.pythonhosted.org/packages/52/69/c2208e56af9bfc1913afb24020297a691eb1d4ef688474c8a04913f65e04/pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1bfe34ee6e", size = 5352503, upload-time = "2026-07-01T11:55:17.076Z" }, + { url = "https://files.pythonhosted.org/packages/07/70/e5686d753e898a45d778ff1718dba8516ead6ab6b95d85fc8c4b70650cf2/pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700fc6eb17", size = 4782956, upload-time = "2026-07-01T11:55:19.448Z" }, + { url = "https://files.pythonhosted.org/packages/d5/37/25c6692f06927ee973ff18c8d9ee98ad0b4d84ee67a09610c2dd1447958e/pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d02022de0540bf43a16ed734ed7537b07385", size = 6322855, upload-time = "2026-07-01T11:55:21.613Z" }, + { url = "https://files.pythonhosted.org/packages/cc/91/420637fcb8f1bc11029e403b4538e6694744428d8246118e45719f944556/pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf70eb00dbe09005bc345b2677b726855c", size = 6989642, upload-time = "2026-07-01T11:55:24.006Z" }, + { url = "https://files.pythonhosted.org/packages/10/08/b94d7811281ccf0d143a1cf768d1c49e1e54af63e7b708ab2ee3eb87face/pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d623832b5b0e28d", size = 6391281, upload-time = "2026-07-01T11:55:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/24233f785f55474dc02ce3e739c5528a77e3a862e9333d1dd7a25cc31f70/pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c937177db558931", size = 7096716, upload-time = "2026-07-01T11:55:28.318Z" }, ] [[package]] @@ -3731,11 +3727,11 @@ wheels = [ [[package]] name = "soupsieve" -version = "2.8.3" +version = "2.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" } +sdist = { url = "https://files.pythonhosted.org/packages/80/f1/93422647dd7e461f23d254e6b2bfa687a85b53aeb4903fcdbb74474d4584/soupsieve-2.9.tar.gz", hash = "sha256:acee8417325c5653e1377dc31eccad59eb82cbc65942afe6174c53b3aaad63fc", size = 122122, upload-time = "2026-07-19T01:35:18.425Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d6/3185ab5ad1280319b31986898f3206dd7227cd75e293d4dba2a5e6bf27a0/soupsieve-2.9-py3-none-any.whl", hash = "sha256:a2b2c76d67df2382d245409fd71e321a571717e58463efa32ace87dcadac2c12", size = 37387, upload-time = "2026-07-19T01:35:17.106Z" }, ] [[package]] diff --git a/e2e-tests/package.json b/e2e-tests/package.json index 01f7fd46b8..8deefe85d3 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -20,7 +20,7 @@ "@faker-js/faker": "7.6.0", "@nuxt/test-utils": "^3.21.0", "@playwright/test": "^1.48.0", - "axios": "1.15.2", + "axios": "1.18.0", "dotenv": "16.0.3" } } diff --git a/e2e-tests/yarn.lock b/e2e-tests/yarn.lock index 6309de4f7a..95d2b24856 100644 --- a/e2e-tests/yarn.lock +++ b/e2e-tests/yarn.lock @@ -272,18 +272,26 @@ acorn@^8.15.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -axios@1.15.2: - version "1.15.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.15.2.tgz#eb8fb6d30349abace6ade5b4cb4d9e8a0dc23e5b" - integrity sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A== +axios@1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.18.0.tgz#8a7f8854af280fcaae063272df2ed9f3837d2398" + integrity sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw== dependencies: - follow-redirects "^1.15.11" + follow-redirects "^1.16.0" form-data "^4.0.5" + https-proxy-agent "^5.0.1" proxy-from-env "^2.1.0" c12@^3.3.2, c12@^3.3.3: @@ -370,6 +378,13 @@ csstype@^3.2.3: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== +debug@4: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + defu@^6.1.4: version "6.1.4" resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" @@ -468,10 +483,10 @@ fdir@^6.5.0: resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== -follow-redirects@^1.15.11: - version "1.15.11" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" - integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== +follow-redirects@^1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== form-data@^4.0.5: version "4.0.5" @@ -582,6 +597,14 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2" +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + ignore@^7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" @@ -650,6 +673,11 @@ mlly@^1.7.4, mlly@^1.8.0: pkg-types "^1.3.1" ufo "^1.6.1" +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nanoid@^3.3.11: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" diff --git a/web-frontend/package.json b/web-frontend/package.json index d47bbb40e9..cfd591f628 100644 --- a/web-frontend/package.json +++ b/web-frontend/package.json @@ -84,7 +84,7 @@ "@zip.js/zip.js": "^2.8.26", "antlr4": "4.9.3", "async-mutex": "0.4.0", - "axios": "1.17.0", + "axios": "1.18.0", "bignumber.js": "9.1.1", "chart.js": "3.9.1", "chartjs-adapter-moment": "1.0.1", diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index c4e6a72a4b..63b5abe239 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -5858,10 +5858,10 @@ axios-mock-adapter@^2.1.0: fast-deep-equal "^3.1.3" is-buffer "^2.0.5" -axios@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.17.0.tgz#ae5a1164a4f719942cd73c67e6a3f62d3ccb8f2b" - integrity sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw== +axios@1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.18.0.tgz#8a7f8854af280fcaae063272df2ed9f3837d2398" + integrity sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw== dependencies: follow-redirects "^1.16.0" form-data "^4.0.5"