diff --git a/README.md b/README.md index cbf63123cb..e986218215 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.1.2 +docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.1.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.1.2 +Version: 2.1.3 The official repository can be found at https://github.com/baserow/baserow. diff --git a/backend/Dockerfile b/backend/Dockerfile index 300d56eb3a..4c21bbb4ac 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,4 +1,5 @@ # syntax=docker/dockerfile:1.4 +ARG PYTHON_BASE_IMAGE="python:3.14.3-slim-trixie" ARG UID="9999" ARG GID="9999" @@ -28,7 +29,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # ============================================================================= # Production base builder stage: builds runtime dependencies only # ============================================================================= -FROM python:3.14.3-slim-trixie AS builder-prod-base +FROM ${PYTHON_BASE_IMAGE} AS builder-prod-base ARG UID ARG GID @@ -174,17 +175,16 @@ RUN --mount=type=cache,target=$UV_CACHE_DIR,sharing=locked,uid=$UID,gid=$GID \ # ============================================================================= # CI Target - lightweight image for pytest and E2E tests # ============================================================================= -FROM python:3.14.3-slim-trixie AS ci +FROM ${PYTHON_BASE_IMAGE} AS ci ARG UID ARG GID -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update && \ +RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends \ gettext \ - xmlsec1 + xmlsec1 \ + && apt-get clean && rm -rf /var/lib/apt/lists/* ENV DOCKER_USER=baserow_docker_user \ BASEROW_IMAGE_TYPE="backend" \ @@ -222,7 +222,7 @@ ENTRYPOINT ["/usr/bin/tini", "--", "/bin/bash", "/baserow/backend/docker/docker- # Only works mounting the source code as a bind mount. See docker-compose.dev.yml for usage. # ============================================================================= -FROM python:3.14.3-slim-trixie AS dev +FROM ${PYTHON_BASE_IMAGE} AS dev ARG UID="9999" ARG GID="9999" @@ -321,10 +321,12 @@ CMD ["django-dev"] # ============================================================================= # Production target # ============================================================================= -FROM python:3.14.3-slim-trixie AS local +FROM ${PYTHON_BASE_IMAGE} AS local ARG UID ARG GID +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + ENV POSTGRES_VERSION=15 \ DOCKER_USER=baserow_docker_user \ BASEROW_IMAGE_TYPE="backend" \ @@ -334,10 +336,8 @@ ENV POSTGRES_VERSION=15 \ PYTHONPATH="/baserow/backend/src:/baserow/premium/backend/src:/baserow/enterprise/backend/src" \ DJANGO_SETTINGS_MODULE='baserow.config.settings.base' -# Runtime dependencies only - this layer is always cached -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update && \ +# Runtime dependencies only +RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends curl ca-certificates gnupg \ && curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --batch --dearmor -o /usr/share/keyrings/pgdg.gpg \ @@ -346,7 +346,8 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ && apt-get install -y --no-install-recommends \ xmlsec1 \ gettext \ - postgresql-client-${POSTGRES_VERSION} + postgresql-client-${POSTGRES_VERSION} \ + && apt-get clean && rm -rf /var/lib/apt/lists/* RUN groupadd --system --gid $GID ${DOCKER_USER} && \ useradd --shell /bin/bash -l -u $UID -g $GID -o -c "" -d /baserow -m ${DOCKER_USER} diff --git a/backend/docker/docker-entrypoint.sh b/backend/docker/docker-entrypoint.sh index 4bc75b8e52..96e181af88 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.1.2" +export BASEROW_VERSION="2.1.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 94aefc380d..d816140559 100644 --- a/backend/src/baserow/config/settings/base.py +++ b/backend/src/baserow/config/settings/base.py @@ -453,7 +453,7 @@ "name": "MIT", "url": "https://github.com/baserow/baserow/blob/develop/LICENSE", }, - "VERSION": "2.1.2", + "VERSION": "2.1.3", "SERVE_INCLUDE_SCHEMA": False, "TAGS": [ {"name": "Settings"}, diff --git a/backend/src/baserow/version.py b/backend/src/baserow/version.py index b7775796d6..4260069cc9 100644 --- a/backend/src/baserow/version.py +++ b/backend/src/baserow/version.py @@ -1 +1 @@ -VERSION = "2.1.2" +VERSION = "2.1.3" diff --git a/backend/uv.lock b/backend/uv.lock index a2acb7e032..197b1a845f 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -459,12 +459,12 @@ dev = [ [[package]] name = "baserow-enterprise" -version = "2.1.2" +version = "2.1.3" source = { editable = "../enterprise/backend" } [[package]] name = "baserow-premium" -version = "2.1.2" +version = "2.1.3" source = { editable = "../premium/backend" } [[package]] diff --git a/changelog.md b/changelog.md index 3b1e6a0f1f..f7178bdf2d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,17 @@ # Changelog +## Released 2.1.3 + +### Bug fixes +* [Core] Install tzdata-legacy in all-in-one image for timezones removed after the upgrade to trixie. + +### Refactors +* [Core] Upgrade redis-server in all-in-one image to resolve CVEs + +### Breaking API changes +* [Core] Remove outdated plugin boilerplate. + + ## Released 2.1.2 ### Bug fixes diff --git a/changelog/entries/unreleased/breaking_change/remove_plugin_boilerplate.json b/changelog/entries/2.1.3/breaking_change/remove_plugin_boilerplate.json similarity index 100% rename from changelog/entries/unreleased/breaking_change/remove_plugin_boilerplate.json rename to changelog/entries/2.1.3/breaking_change/remove_plugin_boilerplate.json diff --git a/changelog/entries/unreleased/bug/install_tzdatalegacy_in_allinone_image_for_timezones_removed.json b/changelog/entries/2.1.3/bug/install_tzdatalegacy_in_allinone_image_for_timezones_removed.json similarity index 100% rename from changelog/entries/unreleased/bug/install_tzdatalegacy_in_allinone_image_for_timezones_removed.json rename to changelog/entries/2.1.3/bug/install_tzdatalegacy_in_allinone_image_for_timezones_removed.json diff --git a/changelog/entries/unreleased/refactor/upgrade_redisserver_in_allinone_image_to_resolve_cves.json b/changelog/entries/2.1.3/refactor/upgrade_redisserver_in_allinone_image_to_resolve_cves.json similarity index 100% rename from changelog/entries/unreleased/refactor/upgrade_redisserver_in_allinone_image_to_resolve_cves.json rename to changelog/entries/2.1.3/refactor/upgrade_redisserver_in_allinone_image_to_resolve_cves.json diff --git a/changelog/entries/unreleased/refactor/upgrade_sentry_to_resolve_a_cve_in_minimatch.json b/changelog/entries/unreleased/refactor/upgrade_sentry_to_resolve_a_cve_in_minimatch.json new file mode 100644 index 0000000000..a5eaffc6a3 --- /dev/null +++ b/changelog/entries/unreleased/refactor/upgrade_sentry_to_resolve_a_cve_in_minimatch.json @@ -0,0 +1,9 @@ +{ + "type": "refactor", + "message": "Upgrade sentry to resolve a CVE in minimatch", + "issue_origin": "github", + "issue_number": null, + "domain": "core", + "bullet_points": [], + "created_at": "2026-02-27" +} \ No newline at end of file diff --git a/changelog/releases.json b/changelog/releases.json index 52cc1741ac..e6091b7c0a 100644 --- a/changelog/releases.json +++ b/changelog/releases.json @@ -1,5 +1,9 @@ { "releases": [ + { + "name": "2.1.3", + "created_at": "2026-02-27" + }, { "name": "2.1.2", "created_at": "2026-02-26" diff --git a/deploy/all-in-one/Dockerfile b/deploy/all-in-one/Dockerfile index a9217e672f..6193b1f185 100644 --- a/deploy/all-in-one/Dockerfile +++ b/deploy/all-in-one/Dockerfile @@ -26,9 +26,7 @@ ENV DOCKER_USER=baserow_docker_user \ BASEROW_PLUGIN_DIR=/baserow/data/plugins # Runtime dependencies -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update && \ +RUN apt-get update && \ apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \ curl gnupg2 ca-certificates && \ @@ -44,6 +42,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ gettext \ tini \ tzdata-legacy \ + && apt-get clean && rm -rf /var/lib/apt/lists/* \ && \ # Setup user and group with fixed UID/GID for volume permission consistency getent group "$GID" || groupadd --system --gid "$GID" "${DOCKER_USER}" && \ @@ -117,15 +116,15 @@ ARG GID SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Install postgres + redis (PGDG repo already added in base stage) -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - curl -fsSL https://packages.redis.io/gpg | gpg --batch --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && \ +RUN curl -fsSL https://packages.redis.io/gpg | gpg --batch --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && \ echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb trixie main" > /etc/apt/sources.list.d/redis.list && \ apt-get update && \ apt-get install --no-install-recommends -y \ "postgresql-${POSTGRES_VERSION}" \ "postgresql-${POSTGRES_VERSION}-pgvector" \ - redis && \ + redis \ + && apt-get clean && rm -rf /var/lib/apt/lists/* \ + && \ # Setup redis usermod -a -G tty redis && \ sed -i 's/daemonize yes/daemonize no/g' /etc/redis/redis.conf && \ diff --git a/deploy/all-in-one/README.md b/deploy/all-in-one/README.md index 55d11e0c27..1565ee3c58 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.1.2 +docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.1.3 ``` ## Quick Reference @@ -52,7 +52,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.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.1.2` image by default runs all of Baserow's various services in +The `baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.3 ``` ### With an external PostgresSQL server @@ -268,7 +268,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### With an external Redis server @@ -287,7 +287,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### With an external email server @@ -307,7 +307,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### With a Postgresql server running on the same host as the Baserow docker container @@ -345,7 +345,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### Supply secrets using files @@ -372,7 +372,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### Start just the embedded database @@ -385,7 +385,7 @@ docker run -it \ --name baserow \ -p 5432:5432 \ -v baserow_data:/baserow/data \ - baserow/baserow:2.1.2 \ + baserow/baserow:2.1.3 \ start-only-db # Now get the password from docker exec -it baserow cat /baserow/data/.pgpass @@ -417,7 +417,7 @@ docker run -it \ --rm \ --name baserow \ -v baserow_data:/baserow/data \ - baserow/baserow:2.1.2 \ + baserow/baserow:2.1.3 \ backend-cmd-with-db manage dbshell ``` @@ -540,19 +540,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.1.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.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.1.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.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.1.2 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz + baserow/baserow:2.1.3 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz ``` ### Restore only Baserow's Postgres Database @@ -568,13 +568,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.1.2 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz + baserow/baserow:2.1.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.1.2 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz + baserow/baserow:2.1.3 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz ``` ## Running healthchecks on Baserow @@ -625,7 +625,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` Or you can just store it directly in the volume at `baserow_data/env` meaning it will be @@ -634,7 +634,7 @@ loaded whenever you mount in this data volume. ### Building your own image from Baserow ```dockerfile -FROM baserow/baserow:2.1.2 +FROM baserow/baserow:2.1.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 54309d17ec..a8c06cce30 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.1.2 +Version 2.1.3 ========================================================================================= EOF diff --git a/deploy/cloudron/CloudronManifest.json b/deploy/cloudron/CloudronManifest.json index a4c1304472..0a7e8a1c5f 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.1.2", + "version": "2.1.3", "healthCheckPath": "/api/_health/", "httpPort": 80, "addons": { diff --git a/deploy/cloudron/Dockerfile b/deploy/cloudron/Dockerfile index 1d9a24d94f..bc450e6b35 100644 --- a/deploy/cloudron/Dockerfile +++ b/deploy/cloudron/Dockerfile @@ -1,4 +1,4 @@ -ARG FROM_IMAGE=baserow/baserow:2.1.2 +ARG FROM_IMAGE=baserow/baserow:2.1.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 ceb2596ac2..5787534548 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.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - name: baserow repository: file://charts/baserow-common - version: 1.0.45 + version: 1.0.46 - 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:be192c8fe0e48e4fb7605049827163a8186f573701956cbd7878786547d96119 -generated: "2026-02-26T19:17:35.348145+01:00" +digest: sha256:fff856e247762f9bdec43f23e3f705884f9a9b9591d7e41cdb5413f9b3f3a6a4 +generated: "2026-02-27T15:53:33.377652+01:00" diff --git a/deploy/helm/baserow/Chart.yaml b/deploy/helm/baserow/Chart.yaml index c469f55f50..a7b0ffa0f4 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.45 -appVersion: "2.1.2" +version: 1.0.46 +appVersion: "2.1.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.45" + version: "1.0.46" repository: "file://charts/baserow-common" - name: baserow alias: baserow-backend-wsgi - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" - name: baserow alias: baserow-frontend - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-beat-worker - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-export-worker - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-worker - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" - name: baserow alias: baserow-celery-flower - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" condition: baserow-celery-flower.enabled - name: baserow alias: baserow-embeddings - version: "1.0.45" + version: "1.0.46" repository: "file://charts/baserow-common" condition: baserow-embeddings.enabled diff --git a/deploy/helm/baserow/README.md b/deploy/helm/baserow/README.md index b8a265ff4f..4dfed6d9dd 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.1.2` | +| `global.baserow.image.tag` | Global Docker image tag | `2.1.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 938be206a0..1f5d522411 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.45 +version: 1.0.46 # 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.1.2" +appVersion: "2.1.3" diff --git a/deploy/helm/baserow/charts/baserow-common/README.md b/deploy/helm/baserow/charts/baserow-common/README.md index 02cc05562d..4ca44c6177 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.1.2` | +| `global.baserow.image.tag` | Global Docker image tag | `2.1.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 7fef48c184..4e4e52fefb 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.1.2 + tag: 2.1.3 imagePullSecrets: [] serviceAccount: shared: true @@ -83,7 +83,7 @@ global: ## image: repository: baserow/baserow # Docker image repository - tag: 2.1.2 # Docker image tag + tag: 2.1.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 f274c40ed1..42dcf818db 100644 --- a/deploy/helm/baserow/values.yaml +++ b/deploy/helm/baserow/values.yaml @@ -43,7 +43,7 @@ global: baserow: imageRegistry: baserow image: - tag: 2.1.2 + tag: 2.1.3 imagePullSecrets: [] serviceAccount: shared: true diff --git a/deploy/render/Dockerfile b/deploy/render/Dockerfile index f255ce05af..043391da0d 100644 --- a/deploy/render/Dockerfile +++ b/deploy/render/Dockerfile @@ -1,4 +1,4 @@ -ARG FROM_IMAGE=baserow/baserow:2.1.2 +ARG FROM_IMAGE=baserow/baserow:2.1.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 fdec405dd0..ec22fe7872 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.1.2} + image: baserow/baserow:${BASEROW_VERSION:-2.1.3} environment: BASEROW_PUBLIC_URL: 'http://localhost' ports: diff --git a/docker-compose.no-caddy.yml b/docker-compose.no-caddy.yml index 76df152bf0..8095c6d182 100644 --- a/docker-compose.no-caddy.yml +++ b/docker-compose.no-caddy.yml @@ -191,7 +191,7 @@ x-backend-variables: services: backend: - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 restart: unless-stopped ports: - "${HOST_PUBLISH_IP:-127.0.0.1}:8000:8000" @@ -206,7 +206,7 @@ services: local: web-frontend: - image: baserow/web-frontend:2.1.2 + image: baserow/web-frontend:2.1.3 restart: unless-stopped ports: - "${HOST_PUBLISH_IP:-127.0.0.1}:3000:3000" @@ -249,7 +249,7 @@ services: local: celery: - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 restart: unless-stopped environment: <<: *backend-variables @@ -270,7 +270,7 @@ services: local: celery-export-worker: - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 restart: unless-stopped command: celery-exportworker environment: @@ -291,7 +291,7 @@ services: local: celery-beat-worker: - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 restart: unless-stopped command: celery-beat environment: diff --git a/docker-compose.yml b/docker-compose.yml index 50b50b163d..84571de3b9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -267,7 +267,7 @@ services: local: backend: - image: baserow/backend:${BASEROW_VERSION:-2.1.2} + image: baserow/backend:${BASEROW_VERSION:-2.1.3} restart: unless-stopped environment: @@ -281,7 +281,7 @@ services: local: web-frontend: - image: baserow/web-frontend:${BASEROW_VERSION:-2.1.2} + image: baserow/web-frontend:${BASEROW_VERSION:-2.1.3} restart: unless-stopped environment: BASEROW_PUBLIC_URL: ${BASEROW_PUBLIC_URL-http://localhost} @@ -329,7 +329,7 @@ services: local: celery: - image: baserow/backend:${BASEROW_VERSION:-2.1.2} + image: baserow/backend:${BASEROW_VERSION:-2.1.3} restart: unless-stopped environment: <<: *backend-variables @@ -351,7 +351,7 @@ services: local: celery-export-worker: - image: baserow/backend:${BASEROW_VERSION:-2.1.2} + image: baserow/backend:${BASEROW_VERSION:-2.1.3} restart: unless-stopped command: celery-exportworker environment: @@ -373,7 +373,7 @@ services: local: celery-beat-worker: - image: baserow/backend:${BASEROW_VERSION:-2.1.2} + image: baserow/backend:${BASEROW_VERSION:-2.1.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 15d224f164..2e67dfa551 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.1.2` image or the example +We strongly recommend you use our `baserow/baserow:2.1.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.1.2` - and `baserow/web-frontend:2.1.2` images. +> * Your own container setup with our single service `baserow/backend:2.1.3` + and `baserow/web-frontend:2.1.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.1.2` +* The all-in-one Baserow image `baserow/baserow:2.1.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.1.2` and `baserow/web-frontend:2.1.2` images with +* Our standalone `baserow/backend:2.1.3` and `baserow/web-frontend:2.1.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.1.2` image then you can do this by adding +If you are using the `baserow/backend:2.1.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 df4864f3b6..49b0680510 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.1.2` image or the example +We strongly recommend you use our `baserow/baserow:2.1.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.1.2` - and `baserow/web-frontend:2.1.2` images. +> * Your own container setup with our single service `baserow/backend:2.1.3` + and `baserow/web-frontend:2.1.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.1.2` +* The all-in-one Baserow image `baserow/baserow:2.1.3` * Any of the example compose files found in the root of our git repository `docker-compose.yml`/`docker-compose.all-in-one.yml` @@ -107,7 +107,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.1.2` and `baserow/web-frontend:2.1.2` images with +* Our standalone `baserow/backend:2.1.3` and `baserow/web-frontend:2.1.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. @@ -126,7 +126,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.1.2` image then you can do this by adding +If you are using the `baserow/backend:2.1.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 8c9f59483b..7f898c03f6 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.1.2` image runs all of Baserow’s various services inside the +The `baserow/baserow:2.1.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.1.2`. + requests to any horizontally scaled container running `baserow/baserow:2.1.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.1.2` containers horizontally you + * For example if you deploy 10 `baserow/baserow:2.1.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.1.2` container +When setting up the health check for the ALB the `baserow/baserow:2.1.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.1.2` containers. See below for a +Now we are ready to spin up our `baserow/baserow:2.1.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.1.2` image. +1. Select the `baserow/baserow:2.1.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.1.2` +1. Use the `baserow/backend:2.1.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.1.2` image with `celery-worker` as the image command. +1. Use the `baserow/backend:2.1.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.1.2` image. +1. Use the `baserow/backend:2.1.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.1.2` image. +1. Use the `baserow/backend:2.1.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.1.2` image with no arguments needed. +1. Use the `baserow/web-frontend:2.1.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 33ffc613b0..dde42752a7 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.1.2 +$ cloudron install -l baserow.{YOUR_DOMAIN} --image baserow/cloudron:2.1.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.1.2 +cloudron update --app {YOUR_APP_ID} --image baserow/cloudron:2.1.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 2732581ec6..d8ee0813a2 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.1.2` +Image tag or digest: `2.1.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.1.2`), and click on save. The app will redeploy +the desired version (latest is `2.1.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 c5c1d75433..d03a3d51b2 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.1.2 +baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.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 2561e848b4..2db2496bd1 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.1.2` which by default starts the Gunicorn Django backend server +* `baserow/backend:2.1.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.1.2` which is a Nuxt server providing Server Side rendering +* `baserow/web-frontend:2.1.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.1.2` (default command is `gunicorn`) -* `baserow/backend:2.1.2` with command `celery-worker` -* `baserow/backend:2.1.2` with command `celery-export-worker` -* `baserow/web-frontend:2.1.2` (default command is `nuxt-prod`) +* `baserow/backend:2.1.3` (default command is `gunicorn`) +* `baserow/backend:2.1.3` with command `celery-worker` +* `baserow/backend:2.1.3` with command `celery-export-worker` +* `baserow/web-frontend:2.1.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 6339a04491..4f93fe62c3 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.1.2 + image: baserow/baserow:2.1.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 a750c468bc..c9c178d3c1 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.1.2 + baserow/baserow:2.1.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.1.2` image by default runs all of Baserow's various services in +The `baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.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.1.2 + baserow/baserow:2.1.3 ``` ### With an external PostgresSQL server @@ -245,7 +245,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### With an external Redis server @@ -264,7 +264,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### With an external email server @@ -284,7 +284,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### With a Postgresql server running on the same host as the Baserow docker container @@ -322,7 +322,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### Supply secrets using files @@ -349,7 +349,7 @@ docker run \ -v baserow_data:/baserow/data \ -p 80:80 \ -p 443:443 \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` ### Start just the embedded database @@ -362,7 +362,7 @@ docker run -it \ --name baserow \ -p 5432:5432 \ -v baserow_data:/baserow/data \ - baserow/baserow:2.1.2 \ + baserow/baserow:2.1.3 \ start-only-db # Now get the password from docker exec -it baserow cat /baserow/data/.pgpass @@ -394,7 +394,7 @@ docker run -it \ --rm \ --name baserow \ -v baserow_data:/baserow/data \ - baserow/baserow:2.1.2 \ + baserow/baserow:2.1.3 \ backend-cmd-with-db manage dbshell ``` @@ -517,19 +517,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.1.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.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.1.2 \ +docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.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.1.2 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz + baserow/baserow:2.1.3 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz ``` ### Restore only Baserow's Postgres Database @@ -545,13 +545,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.1.2 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz + baserow/baserow:2.1.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.1.2 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz + baserow/baserow:2.1.3 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz ``` ## Running healthchecks on Baserow @@ -602,7 +602,7 @@ docker run \ -p 80:80 \ -p 443:443 \ --restart unless-stopped \ - baserow/baserow:2.1.2 + baserow/baserow:2.1.3 ``` Or you can just store it directly in the volume at `baserow_data/env` meaning it will be @@ -611,7 +611,7 @@ loaded whenever you mount in this data volume. ### Building your own image from Baserow ```dockerfile -FROM baserow/baserow:2.1.2 +FROM baserow/baserow:2.1.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 e25e8642c5..9aca76a634 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.1.2 + image: 2.1.3 ``` Or specify the chart version directly: diff --git a/docs/installation/install-with-k8s.md b/docs/installation/install-with-k8s.md index 88dde15e6b..981ee1570d 100644 --- a/docs/installation/install-with-k8s.md +++ b/docs/installation/install-with-k8s.md @@ -165,7 +165,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: backend-asgi - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 workingDir: /baserow args: - "gunicorn" @@ -222,7 +222,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: backend-wsgi - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 workingDir: /baserow args: - "gunicorn-wsgi" @@ -281,7 +281,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: backend-worker - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 args: - "celery-worker" imagePullPolicy: Always @@ -298,7 +298,7 @@ spec: - secretRef: name: YOUR_ENV_SECRET_REF - name: backend-export-worker - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 args: - "celery-exportworker" imagePullPolicy: Always @@ -315,7 +315,7 @@ spec: - secretRef: name: YOUR_ENV_SECRET_REF - name: backend-beat-worker - image: baserow/backend:2.1.2 + image: baserow/backend:2.1.3 args: - "celery-beat" imagePullPolicy: Always @@ -356,7 +356,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: web-frontend - image: baserow/web-frontend:2.1.2 + image: baserow/web-frontend:2.1.3 args: - nuxt ports: diff --git a/docs/installation/install-with-traefik.md b/docs/installation/install-with-traefik.md index b1318d21e8..4ab46e8935 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.1.2 + image: baserow/baserow:2.1.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 ab3acce4e5..37d13d4bf4 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.1.2 +## Baserow 2.1.3 | Dependency | Supported versions | Tested versions | Recommended versions | diff --git a/docs/plugins/creation.md b/docs/plugins/creation.md index 18237c45d4..71ad0be4dd 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.1.2", + "supported_baserow_versions": "2.1.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 6629afe085..43b1680ed0 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.1.2 +FROM baserow/baserow:2.1.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.1.2 .` + `docker build -t my-customized-baserow:2.1.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.1.2` + `docker run -p 80:80 -v baserow_data:/baserow/data my-customized-baserow:2.1.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.1.2 + baserow:2.1.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.1.2` image which does not +it, the new container is created from the `baserow/baserow:2.1.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.1.2` and `baserow/web-frontend:2.1.2` images +Baserow also provides `baserow/backend:2.1.3` and `baserow/web-frontend:2.1.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.1.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.1.2 +docker run --rm baserow/backend:2.1.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.1.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.1.2 uninstall-plugin plugin_name` +3. `docker run --rm -v baserow_data:/baserow/data baserow:2.1.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.1.2 .` +6. Rebuild your image - `docker build -t my-customized-baserow:2.1.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.1.2` + - `docker run -p 80:80 -v baserow_data:/baserow/data my-customized-baserow:2.1.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.1.2 uninstall-plugin plugin_name` + 2. `docker run --rm -v baserow_data:/baserow/data baserow:2.1.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.1.2 list-plugins + baserow:2.1.3 list-plugins # or on a running container diff --git a/enterprise/backend/pyproject.toml b/enterprise/backend/pyproject.toml index ef65895ca8..28fa46f087 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.1.2" +version = "2.1.3" classifiers = [] [project.urls] diff --git a/heroku.Dockerfile b/heroku.Dockerfile index 298296933f..55dea1fc88 100644 --- a/heroku.Dockerfile +++ b/heroku.Dockerfile @@ -1,4 +1,4 @@ -ARG FROM_IMAGE=baserow/baserow:2.1.2 +ARG FROM_IMAGE=baserow/baserow:2.1.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 04207d3e85..2218be8be3 100644 --- a/justfile +++ b/justfile @@ -830,6 +830,7 @@ dc-prod *ARGS: if [ -z "{{ ARGS }}" ]; then just _dc_help else + export BASEROW_PUBLIC_URL="${BASEROW_PUBLIC_URL:-http://localhost}" VERSION="${BASEROW_VERSION:-latest}" if [ "$VERSION" = "latest" ] || [ -z "$BASEROW_VERSION" ]; then # Build locally for latest/unset diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/Dockerfile b/plugin-boilerplate/{{ cookiecutter.project_slug }}/Dockerfile deleted file mode 100644 index 38f6623012..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM baserow/baserow:2.1.2 - -COPY ./plugins/{{ cookiecutter.project_module }}/ /baserow/plugins/{{ cookiecutter.project_module }}/ -RUN /baserow/plugins/install_plugin.sh --folder /baserow/plugins/{{ cookiecutter.project_module }} diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/backend-dev.Dockerfile b/plugin-boilerplate/{{ cookiecutter.project_slug }}/backend-dev.Dockerfile deleted file mode 100644 index 425c344747..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/backend-dev.Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -# This a dev image for testing your plugin when installed into the Baserow backend image -FROM baserow/backend:2.1.2 as base - -FROM baserow/backend:2.1.2 - -USER root - -ARG PLUGIN_BUILD_UID -ENV PLUGIN_BUILD_UID=${PLUGIN_BUILD_UID:-9999} -ARG PLUGIN_BUILD_GID -ENV PLUGIN_BUILD_GID=${PLUGIN_BUILD_GID:-9999} - -# If we aren't building as the same user that owns all the files in the base -# image/installed plugins we need to chown everything first. -COPY --from=base --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID /baserow /baserow -RUN groupmod -g $PLUGIN_BUILD_GID baserow_docker_group && usermod -u $PLUGIN_BUILD_UID $DOCKER_USER - -# Install your dev dependencies manually. -COPY --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID ./plugins/{{ cookiecutter.project_module }}/backend/requirements/dev.txt /tmp/plugin-dev-requirements.txt -RUN . /baserow/venv/bin/activate && pip3 install -r /tmp/plugin-dev-requirements.txt - -COPY --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID ./plugins/{{ cookiecutter.project_module }}/ $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }}/ -RUN /baserow/plugins/install_plugin.sh --folder $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }} --dev - -USER $PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID -ENV DJANGO_SETTINGS_MODULE='baserow.config.settings.dev' -CMD ["django-dev"] diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/backend.Dockerfile b/plugin-boilerplate/{{ cookiecutter.project_slug }}/backend.Dockerfile deleted file mode 100644 index c07ece6a3a..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/backend.Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM baserow/backend:2.1.2 - -USER root - -COPY ./plugins/{{ cookiecutter.project_module }}/ $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }}/ -RUN /baserow/plugins/install_plugin.sh --folder $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }} - -USER $UID:$GID diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/dev.Dockerfile b/plugin-boilerplate/{{ cookiecutter.project_slug }}/dev.Dockerfile deleted file mode 100644 index daeae313ba..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/dev.Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -# This a dev image for testing your plugin when installed into the Baserow all-in-one image -FROM baserow/baserow:2.1.2 as base - -FROM baserow/baserow:2.1.2 - -ARG PLUGIN_BUILD_UID -ENV PLUGIN_BUILD_UID=${PLUGIN_BUILD_UID:-9999} -ARG PLUGIN_BUILD_GID -ENV PLUGIN_BUILD_GID=${PLUGIN_BUILD_GID:-9999} - -# Use a multi-stage copy to quickly chown the contents of Baserow to match the user -# that will be running this image. -COPY --from=base --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID /baserow /baserow - -RUN groupmod -g $PLUGIN_BUILD_GID baserow_docker_group && usermod -u $PLUGIN_BUILD_UID $DOCKER_USER - -# Install your dev dependencies manually. -COPY --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID ./plugins/{{ cookiecutter.project_module }}/backend/requirements/dev.txt /tmp/plugin-dev-requirements.txt -RUN . /baserow/venv/bin/activate && pip3 install -r /tmp/plugin-dev-requirements.txt && chown -R $PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID /baserow/venv - -COPY --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID ./plugins/{{ cookiecutter.project_module }}/ $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }}/ -RUN /baserow/plugins/install_plugin.sh --folder $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }} --dev - -ENV BASEROW_ALL_IN_ONE_DEV_MODE='true' diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/docker-compose.multi-service.dev.yml b/plugin-boilerplate/{{ cookiecutter.project_slug }}/docker-compose.multi-service.dev.yml deleted file mode 100644 index 2921ad0ebf..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/docker-compose.multi-service.dev.yml +++ /dev/null @@ -1,194 +0,0 @@ -# MAKE SURE YOU HAVE SET THE REQUIRED VARIABLES IN the .env FILE.configs: - -# This compose file starts up a dev version of the plugin with hot code reloading. -# It is accessible at http://localhost:3000 . - -services: - # A caddy http server just used for serving media in dev. - caddy: - image: caddy:2.11.1 - env_file: - - .env - ports: - - "${HOST_PUBLISH_IP:-127.0.0.1}:4000:80" - volumes: - # Override with the dev caddy file which switches Caddy to only be the media file - # server in the dev env. Devs will instead directly connect to the backend and - # web frontend services. - - $PWD/Caddyfile.dev:/etc/caddy/Caddyfile - - media:/baserow/media - - caddy_config:/config - - caddy_data:/data - - backend: - image: {{ cookiecutter.project_slug }}_backend_dev - build: - dockerfile: ./backend-dev.Dockerfile - context: . - args: - # We allow configuring the PLUGIN_BUILD_UID/PLUGIN_BUILD_GID here so you can run as the dev's actual user - # reducing the chance the containers screw up the bind mounted folders. - PLUGIN_BUILD_UID: $PLUGIN_BUILD_UID - PLUGIN_BUILD_GID: $PLUGIN_BUILD_GID - environment: - # Dev override variables - - PUBLIC_BACKEND_URL=http://localhost:8000 - - PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 - - MEDIA_URL=http://localhost:4000/ - - BASEROW_PUBLIC_URL= - - BASEROW_BACKEND_DEBUGGER_ENABLED - - BASEROW_BACKEND_DEBUGGER_PORT=${BASEROW_BACKEND_DEBUGGER_PORT:-5678} - ports: - - "${HOST_PUBLISH_IP:-127.0.0.1}:8000:8000" - - "${HOST_PUBLISH_IP:-127.0.0.1}:${BASEROW_BACKEND_DEBUGGER_PORT:-5678}:${BASEROW_BACKEND_DEBUGGER_PORT:-5678}" - env_file: - - .env - depends_on: - - db - - redis - volumes: - - media:/baserow/media - - ./plugins/{{ cookiecutter.project_module }}/backend:/baserow/plugins/{{ cookiecutter.project_module }}/backend - # Open stdin and tty so when attaching key input works as expected. - stdin_open: true - tty: true - - web-frontend: - image: {{ cookiecutter.project_slug }}_web-frontend_dev - build: - dockerfile: ./web-frontend-dev.Dockerfile - context: . - args: - # We allow configuring the PLUGIN_BUILD_UID/PLUGIN_BUILD_GID here so you can run as the dev's actual user - # reducing the chance the containers screw up the bind mounted folders. - PLUGIN_BUILD_UID: $PLUGIN_BUILD_UID - PLUGIN_BUILD_GID: $PLUGIN_BUILD_GID - environment: - - PUBLIC_BACKEND_URL=http://localhost:8000 - - PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 - - MEDIA_URL=http://localhost:4000/ - - BASEROW_PUBLIC_URL= - ports: - - "${HOST_PUBLISH_IP:-127.0.0.1}:3000:3000" - env_file: - - .env - depends_on: - - backend - volumes: - # Override the for node_modules so we use the node_modules built - # directly into the image instead of whatever is on your local filesystem. - - /baserow/plugins/{{ cookiecutter.project_module }}/web-frontend/node_modules - - ./plugins/{{ cookiecutter.project_module }}/web-frontend:/baserow/plugins/{{ cookiecutter.project_module }}/web-frontend - # Open stdin and tty so when attaching key input works as expected. - stdin_open: true - tty: true - - celery: - image: {{ cookiecutter.project_slug }}_backend_dev - env_file: - .env - command: celery-worker - # The backend image's baked in healthcheck defaults to the django healthcheck - # override it to the celery one here. - healthcheck: - test: [ "CMD-SHELL", "/baserow/backend/docker/docker-entrypoint.sh celery-worker-healthcheck" ] - environment: - # Dev override variables - - PUBLIC_BACKEND_URL=http://localhost:8000 - - PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 - - MEDIA_URL=http://localhost:4000/ - - BASEROW_PUBLIC_URL= - depends_on: - - backend - volumes: - - media:/baserow/media - - ./plugins/{{ cookiecutter.project_module }}/backend:/baserow/plugins/{{ cookiecutter.project_module }}/backend - # Open stdin and tty so when attaching key input works as expected. - stdin_open: true - tty: true - - celery-export-worker: - image: {{ cookiecutter.project_slug }}_backend_dev - command: celery-exportworker - # The backend image's baked in healthcheck defaults to the django healthcheck - # override it to the celery one here. - healthcheck: - test: [ "CMD-SHELL", "/baserow/backend/docker/docker-entrypoint.sh celery-exportworker-healthcheck" ] - environment: - # Dev override variables - - PUBLIC_BACKEND_URL=http://localhost:8000 - - PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 - - MEDIA_URL=http://localhost:4000/ - - BASEROW_PUBLIC_URL= - depends_on: - - backend - env_file: - .env - volumes: - - media:/baserow/media - - ./plugins/{{ cookiecutter.project_module }}/backend:/baserow/plugins/{{ cookiecutter.project_module }}/backend - # Open stdin and tty so when attaching key input works as expected. - stdin_open: true - tty: true - - celery-beat-worker: - image: {{ cookiecutter.project_slug }}_backend_dev - command: celery-beat - # See https://github.com/sibson/redbeat/issues/129#issuecomment-1057478237 - stop_signal: SIGQUIT - environment: - # Dev override variables - - PUBLIC_BACKEND_URL=http://localhost:8000 - - PUBLIC_WEB_FRONTEND_URL=http://localhost:3000 - - MEDIA_URL=http://localhost:4000/ - - BASEROW_PUBLIC_URL= - env_file: - - .env - depends_on: - - backend - volumes: - - media:/baserow/media - - ./plugins/{{ cookiecutter.project_module }}/backend:/baserow/plugins/{{ cookiecutter.project_module }}/backend - # Open stdin and tty so when attaching key input works as expected. - stdin_open: true - tty: true - - db: - # Please ensure the postgres-client's major version in the backend image is kept in - # sync with this major version so pg_dump remains compatible. - image: postgres:${POSTGRES_IMAGE_VERSION:-14} - env_file: - - .env - environment: - - POSTGRES_USER=${DATABASE_USER:-baserow} - - POSTGRES_PASSWORD=${DATABASE_PASSWORD:?} - - POSTGRES_DB=${DATABASE_NAME:-baserow} - healthcheck: - test: [ "CMD-SHELL", "su postgres -c \"pg_isready -U ${DATABASE_USER:-baserow}\"" ] - interval: 10s - timeout: 5s - retries: 5 - volumes: - - pgdata:/var/lib/postgresql/data - - redis: - image: redis:6 - command: redis-server --requirepass ${REDIS_PASSWORD:?} - env_file: - - .env - healthcheck: - test: [ "CMD", "redis-cli", "ping" ] - - # By default, the media volume will be owned by root on startup. Ensure it is owned by - # the same user that django is running as, so it can write user files. - volume-permissions-fixer: - image: bash:4.4 - command: chown ${PLUGIN_BUILD_UID:-1000}:${PLUGIN_BUILD_GID:-1000} -R /baserow/media - volumes: - - media:/baserow/media - -volumes: - pgdata: - media: - caddy_data: - caddy_config: diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/docker-compose.multi-service.yml b/plugin-boilerplate/{{ cookiecutter.project_slug }}/docker-compose.multi-service.yml deleted file mode 100644 index 0d753ff7de..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/docker-compose.multi-service.yml +++ /dev/null @@ -1,131 +0,0 @@ -# MAKE SURE YOU HAVE SET THE REQUIRED VARIABLES IN the .env FILE.configs: - -# This compose file starts up a prodish version of the plugin using a caddy reverse -# proxy to route requests between the backend and web-frontend services. -# It is accessible at http://localhost:80 by default. - -services: - # A caddy reverse proxy sitting in-front of all the services. - caddy: - image: caddy:2.11.1 - restart: unless-stopped - env_file: - - .env - ports: - - "${HOST_PUBLISH_IP:-0.0.0.0}:${WEB_FRONTEND_PORT:-80}:80" - - "${HOST_PUBLISH_IP:-0.0.0.0}:${WEB_FRONTEND_SSL_PORT:-443}:443" - volumes: - - $PWD/Caddyfile:/etc/caddy/Caddyfile - - media:/baserow/media - - caddy_config:/config - - caddy_data:/data - - backend: - image: {{ cookiecutter.project_slug }}_backend - build: - dockerfile: ./backend.Dockerfile - context: . - restart: unless-stopped - env_file: - - .env - depends_on: - - db - - redis - volumes: - - media:/baserow/media - - web-frontend: - image: {{ cookiecutter.project_slug }}_web-frontend - build: - dockerfile: ./web-frontend.Dockerfile - context: . - restart: unless-stopped - env_file: - - .env - depends_on: - - backend - - celery: - image: {{ cookiecutter.project_slug }}_backend - restart: unless-stopped - env_file: - .env - command: celery-worker - # The backend image's baked in healthcheck defaults to the django healthcheck - # override it to the celery one here. - healthcheck: - test: [ "CMD-SHELL", "/baserow/backend/docker/docker-entrypoint.sh celery-worker-healthcheck" ] - depends_on: - - backend - volumes: - - media:/baserow/media - - celery-export-worker: - image: {{ cookiecutter.project_slug }}_backend - restart: unless-stopped - command: celery-exportworker - # The backend image's baked in healthcheck defaults to the django healthcheck - # override it to the celery one here. - healthcheck: - test: [ "CMD-SHELL", "/baserow/backend/docker/docker-entrypoint.sh celery-exportworker-healthcheck" ] - depends_on: - - backend - env_file: - .env - volumes: - - media:/baserow/media - - celery-beat-worker: - image: {{ cookiecutter.project_slug }}_backend - restart: unless-stopped - command: celery-beat - # See https://github.com/sibson/redbeat/issues/129#issuecomment-1057478237 - stop_signal: SIGQUIT - env_file: - - .env - depends_on: - - backend - volumes: - - media:/baserow/media - - db: - # Please ensure the postgres-client's major version in the backend image is kept in - # sync with this major version so pg_dump remains compatible. - image: pgvector/pgvector:pg15 - restart: unless-stopped - env_file: - - .env - environment: - - POSTGRES_USER=${DATABASE_USER:-baserow} - - POSTGRES_PASSWORD=${DATABASE_PASSWORD:?} - - POSTGRES_DB=${DATABASE_NAME:-baserow} - healthcheck: - test: [ "CMD-SHELL", "su postgres -c \"pg_isready -U ${DATABASE_USER:-baserow}\"" ] - interval: 10s - timeout: 5s - retries: 5 - volumes: - - pgdata:/var/lib/postgresql/data - - redis: - image: redis:6 - restart: unless-stopped - command: redis-server --requirepass ${REDIS_PASSWORD:?} - env_file: - - .env - healthcheck: - test: [ "CMD", "redis-cli", "ping" ] - - # By default, the media volume will be owned by root on startup. Ensure it is owned by - # the same user that django is running as, so it can write user files. - volume-permissions-fixer: - image: bash:4.4 - command: chown 9999:9999 -R /baserow/media - volumes: - - media:/baserow/media - -volumes: - pgdata: - media: - caddy_data: - caddy_config: diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/plugins/{{ cookiecutter.project_module }}/baserow_plugin_info.json b/plugin-boilerplate/{{ cookiecutter.project_slug }}/plugins/{{ cookiecutter.project_module }}/baserow_plugin_info.json deleted file mode 100644 index 31a64e1c78..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/plugins/{{ cookiecutter.project_module }}/baserow_plugin_info.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "{{ cookiecutter.project_name }}", - "version": "0.0.1", - "supported_baserow_versions": "2.1.2", - "plugin_api_version": "0.0.1-alpha", - "description": "TODO", - "author": "TODO", - "author_url": "TODO", - "url": "TODO", - "license": "TODO", - "contact": "TODO" -} diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/web-frontend-dev.Dockerfile b/plugin-boilerplate/{{ cookiecutter.project_slug }}/web-frontend-dev.Dockerfile deleted file mode 100644 index 2fe39de197..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/web-frontend-dev.Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# This a dev image for testing your plugin when installed into the Baserow web-frontend image -FROM baserow/web-frontend:2.1.2 as base -FROM baserow/web-frontend:2.1.2 - -USER root - -ARG PLUGIN_BUILD_UID -ENV PLUGIN_BUILD_UID=${PLUGIN_BUILD_UID:-9999} -ARG PLUGIN_BUILD_GID -ENV PLUGIN_BUILD_GID=${PLUGIN_BUILD_GID:-9999} - -# If we aren't building as the same user that owns all the files in the base -# image/installed plugins we need to chown everything first. -COPY --from=base --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID /baserow /baserow -RUN groupmod -g $PLUGIN_BUILD_GID node && usermod -u $PLUGIN_BUILD_UID $DOCKER_USER - -COPY --chown=$PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID ./plugins/{{ cookiecutter.project_module }}/ $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }}/ -RUN /baserow/plugins/install_plugin.sh --folder $BASEROW_PLUGIN_DIR/{{ cookiecutter.project_module }} --dev - -USER $PLUGIN_BUILD_UID:$PLUGIN_BUILD_GID -CMD ["nuxt-dev"] diff --git a/plugin-boilerplate/{{ cookiecutter.project_slug }}/web-frontend.Dockerfile b/plugin-boilerplate/{{ cookiecutter.project_slug }}/web-frontend.Dockerfile deleted file mode 100644 index 91ef1cbc01..0000000000 --- a/plugin-boilerplate/{{ cookiecutter.project_slug }}/web-frontend.Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM baserow/web-frontend:2.1.2 - -USER root - -COPY ./plugins/{{ cookiecutter.project_module }}/ /baserow/plugins/{{ cookiecutter.project_module }}/ -RUN /baserow/plugins/install_plugin.sh --folder /baserow/plugins/{{ cookiecutter.project_module }} - -USER $UID:$GID diff --git a/premium/backend/pyproject.toml b/premium/backend/pyproject.toml index f3c26fe430..e62fa5855e 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.1.2" +version = "2.1.3" classifiers = [] [project.urls] diff --git a/web-frontend/Dockerfile b/web-frontend/Dockerfile index 93d1933fdb..5e877d0e19 100644 --- a/web-frontend/Dockerfile +++ b/web-frontend/Dockerfile @@ -1,4 +1,5 @@ # syntax=docker/dockerfile:1.4 +ARG NODE_BASE_IMAGE="node:24.14.0-trixie-slim" ARG UID="9999" ARG GID="9999" @@ -27,7 +28,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # ============================================================================= # CI builder stage # ============================================================================= -FROM node:24.13.0-trixie-slim AS builder-ci +FROM ${NODE_BASE_IMAGE} AS builder-ci ARG UID ARG GID @@ -51,7 +52,7 @@ RUN --mount=type=cache,target=$YARN_CACHE_FOLDER,uid=$UID,gid=$GID,sharing=locke # ============================================================================= # Production builder stage # ============================================================================= -FROM node:24.13.0-trixie-slim AS builder-prod +FROM ${NODE_BASE_IMAGE} AS builder-prod ARG UID ARG GID @@ -99,12 +100,16 @@ FROM busybox:musl AS busybox-helper # ============================================================================= # CI target - used in CI pipelines # ============================================================================= -FROM node:24.13.0-trixie-slim AS ci +FROM ${NODE_BASE_IMAGE} AS ci ARG UID ARG GID SHELL ["/bin/bash", "-o", "pipefail", "-c"] +# Upgrade OS packages to patch CVEs in base image +RUN apt-get update && apt-get upgrade -y --no-install-recommends \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + ENV DOCKER_USER=baserow_docker_user \ APP_ENV=test \ BASEROW_IMAGE_TYPE="web-frontend" @@ -150,7 +155,7 @@ CMD ["nuxt-prod"] # ============================================================================= # Development target - used for local development with live reload # ============================================================================= -FROM node:24.13.0-trixie-slim AS dev +FROM ${NODE_BASE_IMAGE} AS dev ARG UID ARG GID @@ -238,7 +243,7 @@ CMD ["nuxt-dev"] # ============================================================================= # Production target - minimal image with only runtime requirements # ============================================================================= -FROM node:24.13.0-trixie-slim AS local +FROM ${NODE_BASE_IMAGE} AS local ARG UID ARG GID @@ -254,8 +259,12 @@ COPY --from=tool-builder /usr/local/bin/su-exec /usr/local/bin/su-exec COPY --from=tool-builder /usr/bin/tini /usr/bin/tini COPY --from=busybox-helper /bin/wget /usr/local/bin/wget -# Update npm to patch CVEs in its bundled deps (glob, tar, @isaacs/brace-expansion) -RUN npm install -g npm@latest +# Upgrade OS packages to patch CVEs in base image +RUN apt-get update && apt-get upgrade -y --no-install-recommends \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +# Remove npm (not needed at runtime) to eliminate CVEs in its bundled deps (minimatch, glob, etc.) +RUN rm -rf /usr/local/lib/node_modules/npm /usr/local/bin/npm /usr/local/bin/npx RUN groupadd --system --gid $GID ${DOCKER_USER} && \ useradd --shell /bin/bash -l -u $UID -g $GID -o -c "" -d /baserow -m ${DOCKER_USER} diff --git a/web-frontend/docker/docker-entrypoint.sh b/web-frontend/docker/docker-entrypoint.sh index feb7f851da..0fc1b645f4 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.1.2" +export BASEROW_VERSION="2.1.3" BASEROW_WEBFRONTEND_PORT="${BASEROW_WEBFRONTEND_PORT:-3000}" show_help() { diff --git a/web-frontend/package.json b/web-frontend/package.json index 4fb0f5487d..e77d1c907a 100644 --- a/web-frontend/package.json +++ b/web-frontend/package.json @@ -1,6 +1,6 @@ { "name": "baserow", - "version": "2.1.2", + "version": "2.1.3", "private": true, "type": "module", "scripts": { @@ -31,9 +31,9 @@ }, "dependencies": { "@nuxtjs/i18n": "10.2.1", - "@sentry/node": "^10.38.0", - "@sentry/nuxt": "^10.38.0", - "@sentry/vue": "^10.38.0", + "@sentry/node": "10.40.0", + "@sentry/nuxt": "10.40.0", + "@sentry/vue": "10.40.0", "@tiptap/core": "^3.13.0", "@tiptap/extension-blockquote": "^3.13.0", "@tiptap/extension-bold": "^3.13.0", diff --git a/web-frontend/yarn.lock b/web-frontend/yarn.lock index ebfd718ddb..d278385d2a 100644 --- a/web-frontend/yarn.lock +++ b/web-frontend/yarn.lock @@ -22,20 +22,6 @@ dependencies: js-yaml "^4.1.0" -"@apm-js-collab/code-transformer@^0.8.0": - version "0.8.2" - resolved "https://registry.yarnpkg.com/@apm-js-collab/code-transformer/-/code-transformer-0.8.2.tgz#a3160f16d1c4df9cb81303527287ad18d00994d1" - integrity sha512-YRjJjNq5KFSjDUoqu5pFUWrrsvGOxl6c3bu+uMFc9HNNptZ2rNU/TI2nLw4jnhQNtka972Ee2m3uqbvDQtPeCA== - -"@apm-js-collab/tracing-hooks@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@apm-js-collab/tracing-hooks/-/tracing-hooks-0.3.1.tgz#414d3a93c3a15d8be543a3fac561f7c602b6a588" - integrity sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw== - dependencies: - "@apm-js-collab/code-transformer" "^0.8.0" - debug "^4.4.1" - module-details-from-path "^1.0.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" @@ -947,6 +933,16 @@ "@eslint/core" "^0.17.0" levn "^0.4.1" +"@fastify/otel@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@fastify/otel/-/otel-0.16.0.tgz#e003c9b81039490af9141a7f1397de6b05baa768" + integrity sha512-2304BdM5Q/kUvQC9qJO1KZq3Zn1WWsw+WWkVmFEaj1UE2hEIiuFqrPeglQOwEtw/ftngisqfQ3v70TWMmwhhHA== + dependencies: + "@opentelemetry/core" "^2.0.0" + "@opentelemetry/instrumentation" "^0.208.0" + "@opentelemetry/semantic-conventions" "^1.28.0" + minimatch "^10.0.3" + "@figspec/components@^2.0.1": version "2.1.0" resolved "https://registry.yarnpkg.com/@figspec/components/-/components-2.1.0.tgz#ab53c17d02d042ca6c5bd287bbb52c9c6abe6f5d" @@ -1180,7 +1176,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": version "1.5.5" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== @@ -1774,6 +1770,13 @@ dependencies: "@opentelemetry/api" "^1.3.0" +"@opentelemetry/api-logs@0.208.0": + version "0.208.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.208.0.tgz#56d3891010a1fa1cf600ba8899ed61b43ace511c" + integrity sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg== + dependencies: + "@opentelemetry/api" "^1.3.0" + "@opentelemetry/api-logs@0.211.0": version "0.211.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.211.0.tgz#32d9ed98939956a84d4e2ff5e01598cb9d28d744" @@ -1786,7 +1789,7 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== -"@opentelemetry/context-async-hooks@^2.5.0": +"@opentelemetry/context-async-hooks@^2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-2.5.1.tgz#457b8f9c1e219bf6e22b549d90f773db0a38fe06" integrity sha512-MHbu8XxCHcBn6RwvCt2Vpn1WnLMNECfNKYB14LI5XypcgH4IE0/DiVifVR9tAkwPMyLXN8dOoPJfya3IryLQVw== @@ -1798,7 +1801,7 @@ dependencies: "@opentelemetry/semantic-conventions" "^1.29.0" -"@opentelemetry/core@2.5.1", "@opentelemetry/core@^2.0.0", "@opentelemetry/core@^2.5.0": +"@opentelemetry/core@2.5.1", "@opentelemetry/core@^2.0.0", "@opentelemetry/core@^2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-2.5.1.tgz#b5d830ab499bc13e29f6efa88a165630f25d2ad2" integrity sha512-Dwlc+3HAZqpgTYq0MUyZABjFkcrKTePwuiFVLjahGD8cx3enqihmpAmdgNFO1R4m/sIe5afjJrA25Prqy4NXlA== @@ -2014,12 +2017,21 @@ import-in-the-middle "^2.0.0" require-in-the-middle "^8.0.0" +"@opentelemetry/instrumentation@^0.208.0": + version "0.208.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.208.0.tgz#d764f8e4329dad50804e2e98f010170c14c4ce8f" + integrity sha512-Eju0L4qWcQS+oXxi6pgh7zvE2byogAkcsVv0OjHF/97iOz1N/aKE6etSGowYkie+YA1uo6DNwdSxaaNnLvcRlA== + dependencies: + "@opentelemetry/api-logs" "0.208.0" + import-in-the-middle "^2.0.0" + require-in-the-middle "^8.0.0" + "@opentelemetry/redis-common@^0.38.2": version "0.38.2" resolved "https://registry.yarnpkg.com/@opentelemetry/redis-common/-/redis-common-0.38.2.tgz#cefa4f3e79db1cd54f19e233b7dfb56621143955" integrity sha512-1BCcU93iwSRZvDAgwUxC/DV4T/406SkMfxGqu5ojc3AvNI+I9GhV7v0J1HljsczuuhcnFLYqD5VmwVXfCGHzxA== -"@opentelemetry/resources@2.5.1", "@opentelemetry/resources@^2.5.0": +"@opentelemetry/resources@2.5.1", "@opentelemetry/resources@^2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-2.5.1.tgz#90ccc27cea02b543f20a7db9834852ec11784c1a" integrity sha512-BViBCdE/GuXRlp9k7nS1w6wJvY5fnFX5XvuEtWsTAOQFIO89Eru7lGW3WbfbxtCuZ/GbrJfAziXG0w0dpxL7eQ== @@ -2027,7 +2039,7 @@ "@opentelemetry/core" "2.5.1" "@opentelemetry/semantic-conventions" "^1.29.0" -"@opentelemetry/sdk-trace-base@^2.5.0": +"@opentelemetry/sdk-trace-base@^2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.5.1.tgz#4f55f37e18ac3f971936d4717b6bfd43cfd72d61" integrity sha512-iZH3Gw8cxQn0gjpOjJMmKLd9GIaNh/E3v3ST67vyzLSxHBs14HsG4dy7jMYyC5WXGdBVEcM7U/XTF5hCQxjDMw== @@ -2041,6 +2053,11 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.39.0.tgz#f653b2752171411feb40310b8a8953d7e5c543b7" integrity sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg== +"@opentelemetry/semantic-conventions@^1.28.0": + version "1.40.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz#10b2944ca559386590683392022a897eefd011d3" + integrity sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw== + "@opentelemetry/sql-common@^0.41.2": version "0.41.2" resolved "https://registry.yarnpkg.com/@opentelemetry/sql-common/-/sql-common-0.41.2.tgz#7f4a14166cfd6c9ffe89096db1cc75eaf6443b19" @@ -2854,110 +2871,109 @@ argparse "~1.0.9" string-argv "~0.3.1" -"@sentry-internal/browser-utils@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-10.38.0.tgz#576780062808bd3bae21476393f50caf9acbe12f" - integrity sha512-UOJtYmdcxHCcV0NPfXFff/a95iXl/E0EhuQ1y0uE0BuZDMupWSF5t2BgC4HaE5Aw3RTjDF3XkSHWoIF6ohy7eA== +"@sentry-internal/browser-utils@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-10.40.0.tgz#313949b8d50fd793d7990b2de25e3f5942c3089b" + integrity sha512-3CDeVNBXYOIvBVdT0SOdMZx5LzYDLuhGK/z7A14sYZz4Cd2+f4mSeFDaEOoH/g2SaY2CKR5KGkAADy8IyjZ21w== dependencies: - "@sentry/core" "10.38.0" + "@sentry/core" "10.40.0" -"@sentry-internal/feedback@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-10.38.0.tgz#c15b00513cddfbe839dbb86684115ec4860abd58" - integrity sha512-JXneg9zRftyfy1Fyfc39bBlF/Qd8g4UDublFFkVvdc1S6JQPlK+P6q22DKz3Pc8w3ySby+xlIq/eTu9Pzqi4KA== +"@sentry-internal/feedback@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-10.40.0.tgz#9bb242ee326f6e5a4425ecc2d0c3060742edd993" + integrity sha512-V/ixkcdCNMo04KgsCEeNEu966xUUTD6czKT2LOAO5siZACqFjT/Rp9VR1n7QQrVo3sL7P3QNiTHtX0jaeWbwzg== dependencies: - "@sentry/core" "10.38.0" + "@sentry/core" "10.40.0" -"@sentry-internal/replay-canvas@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-10.38.0.tgz#40fc937e2d05f9819b68c4c5d4d69e789c324823" - integrity sha512-OXWM9jEqNYh4VTvrMu7v+z1anz+QKQ/fZXIZdsO7JTT2lGNZe58UUMeoq386M+Saxen8F9SUH7yTORy/8KI5qw== +"@sentry-internal/replay-canvas@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-10.40.0.tgz#df641d44fffa70bc8e3fa05a724cf5fa3e47eed3" + integrity sha512-wzQwilFHO2baeCt0dTMf0eW+rgK8O+mkisf9sQzPXzG3Krr/iVtFg1T5T1Th3YsCsEdn6yQ3hcBPLEXjMSvccg== dependencies: - "@sentry-internal/replay" "10.38.0" - "@sentry/core" "10.38.0" + "@sentry-internal/replay" "10.40.0" + "@sentry/core" "10.40.0" -"@sentry-internal/replay@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-10.38.0.tgz#b901acf514265bf882e3e4ad849e6d9dd8276633" - integrity sha512-YWIkL6/dnaiQyFiZXJ/nN+NXGv/15z45ia86bE/TMq01CubX/DUOilgsFz0pk2v/pg3tp/U2MskLO9Hz0cnqeg== +"@sentry-internal/replay@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-10.40.0.tgz#9e88c5a8e37d9d1e612bea7603d1c9cd839d258b" + integrity sha512-vsH2Ut0KIIQIHNdS3zzEGLJ2C9btbpvJIWAVk7l7oft66JzlUNC89qNaQ5SAypjLQx4Ln2V/ZTqfEoNzXOAsoQ== dependencies: - "@sentry-internal/browser-utils" "10.38.0" - "@sentry/core" "10.38.0" + "@sentry-internal/browser-utils" "10.40.0" + "@sentry/core" "10.40.0" -"@sentry/babel-plugin-component-annotate@4.9.1": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.9.1.tgz#76b306cb89ac465946e9328228a20c5e7b83b534" - integrity sha512-0gEoi2Lb54MFYPOmdTfxlNKxI7kCOvNV7gP8lxMXJ7nCazF5OqOOZIVshfWjDLrc0QrSV6XdVvwPV9GDn4wBMg== +"@sentry/babel-plugin-component-annotate@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-5.1.1.tgz#9eeef63099011155691a5ee59b0f796c141e8f85" + integrity sha512-x2wEpBHwsTyTF2rWsLKJlzrRF1TTIGOfX+ngdE+Yd5DBkoS58HwQv824QOviPGQRla4/ypISqAXzjdDPL/zalg== -"@sentry/browser@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-10.38.0.tgz#2409e3982756ae8a0b3e46c701a51b63d4ed84cc" - integrity sha512-3phzp1YX4wcQr9mocGWKbjv0jwtuoDBv7+Y6Yfrys/kwyaL84mDLjjQhRf4gL5SX7JdYkhBp4WaiNlR0UC4kTA== +"@sentry/browser@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-10.40.0.tgz#aefc8fef7eeadb7dff43f6a368e06421f03b02fb" + integrity sha512-nCt3FKUMFad0C6xl5wCK0Jz+qT4Vev4fv6HJRn0YoNRRDQCfsUVxAz7pNyyiPNGM/WCDp9wJpGJsRvbBRd2anw== dependencies: - "@sentry-internal/browser-utils" "10.38.0" - "@sentry-internal/feedback" "10.38.0" - "@sentry-internal/replay" "10.38.0" - "@sentry-internal/replay-canvas" "10.38.0" - "@sentry/core" "10.38.0" + "@sentry-internal/browser-utils" "10.40.0" + "@sentry-internal/feedback" "10.40.0" + "@sentry-internal/replay" "10.40.0" + "@sentry-internal/replay-canvas" "10.40.0" + "@sentry/core" "10.40.0" -"@sentry/bundler-plugin-core@4.9.1": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-4.9.1.tgz#6a12b555954e5f727df982825ae240d56b1e29f4" - integrity sha512-moii+w7N8k8WdvkX7qCDY9iRBlhgHlhTHTUQwF2FNMhBHuqlNpVcSJJqJMjFUQcjYMBDrZgxhfKV18bt5ixwlQ== +"@sentry/bundler-plugin-core@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-5.1.1.tgz#d02cd1f70878936f22efb02765b01dcbf04d8483" + integrity sha512-F+itpwR9DyQR7gEkrXd2tigREPTvtF5lC8qu6e4anxXYRTui1+dVR0fXNwjpyAZMhIesLfXRN7WY7ggdj7hi0Q== dependencies: "@babel/core" "^7.18.5" - "@sentry/babel-plugin-component-annotate" "4.9.1" - "@sentry/cli" "^2.57.0" + "@sentry/babel-plugin-component-annotate" "5.1.1" + "@sentry/cli" "^2.58.5" dotenv "^16.3.1" find-up "^5.0.0" - glob "^10.5.0" - magic-string "0.30.8" - unplugin "1.0.1" - -"@sentry/cli-darwin@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.58.4.tgz#5e3005c1f845acac243e8dcb23bef17337924768" - integrity sha512-kbTD+P4X8O+nsNwPxCywtj3q22ecyRHWff98rdcmtRrvwz8CKi/T4Jxn/fnn2i4VEchy08OWBuZAqaA5Kh2hRQ== - -"@sentry/cli-linux-arm64@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.58.4.tgz#69da57656fda863f255d92123c3a3437e470408e" - integrity sha512-0g0KwsOozkLtzN8/0+oMZoOuQ0o7W6O+hx+ydVU1bktaMGKEJLMAWxOQNjsh1TcBbNIXVOKM/I8l0ROhaAb8Ig== - -"@sentry/cli-linux-arm@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.58.4.tgz#869ddab30f0dcebc0e61cff2f3ff47dcd40f8abe" - integrity sha512-rdQ8beTwnN48hv7iV7e7ZKucPec5NJkRdrrycMJMZlzGBPi56LqnclgsHySJ6Kfq506A2MNuQnKGaf/sBC9REA== - -"@sentry/cli-linux-i686@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.58.4.tgz#e30ca6b897147b3fb7b2e8684b139183d55e21c6" - integrity sha512-NseoIQAFtkziHyjZNPTu1Gm1opeQHt7Wm1LbLrGWVIRvUOzlslO9/8i6wETUZ6TjlQxBVRgd3Q0lRBG2A8rFYA== - -"@sentry/cli-linux-x64@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.58.4.tgz#f667e1fcaf0860f15401af8e0ee72f5013d84458" - integrity sha512-d3Arz+OO/wJYTqCYlSN3Ktm+W8rynQ/IMtSZLK8nu0ryh5mJOh+9XlXY6oDXw4YlsM8qCRrNquR8iEI1Y/IH+Q== - -"@sentry/cli-win32-arm64@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.58.4.tgz#f612c5788954e2a97b6626e9e46fa9a41cb049c1" - integrity sha512-bqYrF43+jXdDBh0f8HIJU3tbvlOFtGyRjHB8AoRuMQv9TEDUfENZyCelhdjA+KwDKYl48R1Yasb4EHNzsoO83w== - -"@sentry/cli-win32-i686@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.58.4.tgz#5611c05499f1b959d23e37650d0621d299c49cfc" - integrity sha512-3triFD6jyvhVcXOmGyttf+deKZcC1tURdhnmDUIBkiDPJKGT/N5xa4qAtHJlAB/h8L9jgYih9bvJnvvFVM7yug== - -"@sentry/cli-win32-x64@2.58.4": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.58.4.tgz#3290c59399579e8d484c97246cfa720171241061" - integrity sha512-cSzN4PjM1RsCZ4pxMjI0VI7yNCkxiJ5jmWncyiwHXGiXrV1eXYdQ3n1LhUYLZ91CafyprR0OhDcE+RVZ26Qb5w== - -"@sentry/cli@^2.57.0": - version "2.58.4" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.58.4.tgz#eb8792600cdf956cc4fe2bf51380ea1682327411" - integrity sha512-ArDrpuS8JtDYEvwGleVE+FgR+qHaOp77IgdGSacz6SZy6Lv90uX0Nu4UrHCQJz8/xwIcNxSqnN22lq0dH4IqTg== + glob "^13.0.6" + magic-string "~0.30.8" + +"@sentry/cli-darwin@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.58.5.tgz#ea9c4ab41161f15c636d0d2dcf126202cb49a588" + integrity sha512-lYrNzenZFJftfwSya7gwrHGxtE+Kob/e1sr9lmHMFOd4utDlmq0XFDllmdZAMf21fxcPRI1GL28ejZ3bId01fQ== + +"@sentry/cli-linux-arm64@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.58.5.tgz#38e866ee11ca88f6fb2164a6afd6cff4156b33d4" + integrity sha512-/4gywFeBqRB6tR/iGMRAJ3HRqY6Z7Yp4l8ZCbl0TDLAfHNxu7schEw4tSnm2/Hh9eNMiOVy4z58uzAWlZXAYBQ== + +"@sentry/cli-linux-arm@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.58.5.tgz#12da36dd10166c09275b8a91366ad0906a8482fd" + integrity sha512-KtHweSIomYL4WVDrBrYSYJricKAAzxUgX86kc6OnlikbyOhoK6Fy8Vs6vwd52P6dvWPjgrMpUYjW2M5pYXQDUw== + +"@sentry/cli-linux-i686@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.58.5.tgz#9434360fb67fee3028886de2b143fbed93c627ac" + integrity sha512-G7261dkmyxqlMdyvyP06b+RTIVzp1gZNgglj5UksxSouSUqRd/46W/2pQeOMPhloDYo9yLtCN2YFb3Mw4aUsWw== + +"@sentry/cli-linux-x64@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.58.5.tgz#405d1740dd2774d7f139e217f628d11e7446fd04" + integrity sha512-rP04494RSmt86xChkQ+ecBNRYSPbyXc4u0IA7R7N1pSLCyO74e5w5Al+LnAq35cMfVbZgz5Sm0iGLjyiUu4I1g== + +"@sentry/cli-win32-arm64@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.58.5.tgz#0807783f9fa67b32703154533c31c09355149d3c" + integrity sha512-AOJ2nCXlQL1KBaCzv38m3i2VmSHNurUpm7xVKd6yAHX+ZoVBI8VT0EgvwmtJR2TY2N2hNCC7UrgRmdUsQ152bA== + +"@sentry/cli-win32-i686@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.58.5.tgz#79586eab70341ebde3bbcb0be6d436da3840ef64" + integrity sha512-EsuboLSOnlrN7MMPJ1eFvfMDm+BnzOaSWl8eYhNo8W/BIrmNgpRUdBwnWn9Q2UOjJj5ZopukmsiMYtU/D7ml9g== + +"@sentry/cli-win32-x64@2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.58.5.tgz#4937c0821abfd346da50a3cf1ecbd752f75f8ef4" + integrity sha512-IZf+XIMiQwj+5NzqbOQfywlOitmCV424Vtf9c+ep61AaVScUFD1TSrQbOcJJv5xGxhlxNOMNgMeZhdexdzrKZg== + +"@sentry/cli@^2.58.5": + version "2.58.5" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.58.5.tgz#160a89235ba2add4c198f666d8c14547a1459ae8" + integrity sha512-tavJ7yGUZV+z3Ct2/ZB6mg339i08sAk6HDkgqmSRuQEu2iLS5sl9HIvuXfM6xjv8fwlgFOSy++WNABNAcGHUbg== dependencies: https-proxy-agent "^5.0.0" node-fetch "^2.6.7" @@ -2965,46 +2981,46 @@ proxy-from-env "^1.1.0" which "^2.0.2" optionalDependencies: - "@sentry/cli-darwin" "2.58.4" - "@sentry/cli-linux-arm" "2.58.4" - "@sentry/cli-linux-arm64" "2.58.4" - "@sentry/cli-linux-i686" "2.58.4" - "@sentry/cli-linux-x64" "2.58.4" - "@sentry/cli-win32-arm64" "2.58.4" - "@sentry/cli-win32-i686" "2.58.4" - "@sentry/cli-win32-x64" "2.58.4" - -"@sentry/cloudflare@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/cloudflare/-/cloudflare-10.38.0.tgz#74a7a3571bd2be0c50f7a5c831151d26704bc322" - integrity sha512-g008TNjxPbS5csEem3u6jBO40qNY4Vky5q1hJXlUjoNnCDt+5vMLPMzVqJVVbAzWWU+dwjdiMzGeNjwn0RYwcQ== + "@sentry/cli-darwin" "2.58.5" + "@sentry/cli-linux-arm" "2.58.5" + "@sentry/cli-linux-arm64" "2.58.5" + "@sentry/cli-linux-i686" "2.58.5" + "@sentry/cli-linux-x64" "2.58.5" + "@sentry/cli-win32-arm64" "2.58.5" + "@sentry/cli-win32-i686" "2.58.5" + "@sentry/cli-win32-x64" "2.58.5" + +"@sentry/cloudflare@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/cloudflare/-/cloudflare-10.40.0.tgz#421482e713879798276d01d7e3267d09da43950b" + integrity sha512-Tr8iDSUUlmwEBvXHic/zujEZZjs6XZ6mWJ3wOyb7gtjcd9umaRQtvALLHBaGg1uQoZkLjLpDas3q1p/dS4B6rw== dependencies: "@opentelemetry/api" "^1.9.0" - "@sentry/core" "10.38.0" + "@sentry/core" "10.40.0" -"@sentry/core@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-10.38.0.tgz#391f2535fde084e3eff4b1d2d634aa5619629b34" - integrity sha512-1pubWDZE5y5HZEPMAZERP4fVl2NH3Ihp1A+vMoVkb3Qc66Diqj1WierAnStlZP7tCx0TBa0dK85GTW/ZFYyB9g== +"@sentry/core@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-10.40.0.tgz#2bfb85410dfc03f9ff8062f763de52f915162483" + integrity sha512-/wrcHPp9Avmgl6WBimPjS4gj810a1wU5oX9fF1bzJfeIIbF3jTsAbv0oMbgDp0cSDnkwv2+NvcPnn3+c5J6pBA== -"@sentry/node-core@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/node-core/-/node-core-10.38.0.tgz#39a0385bca18986072edf1ac5a2d050d9577aa7f" - integrity sha512-ErXtpedrY1HghgwM6AliilZPcUCoNNP1NThdO4YpeMq04wMX9/GMmFCu46TnCcg6b7IFIOSr2S4yD086PxLlHQ== +"@sentry/node-core@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/node-core/-/node-core-10.40.0.tgz#aac4206df1a94538c9638a3f92a1dce00b681276" + integrity sha512-ciZGOF54rJH9Fkg7V3v4gmWVufnJRqQQOrn0KStuo49vfPQAJLGePDx+crQv0iNVoLc6Hmrr6E7ebNHSb4NSAw== dependencies: - "@apm-js-collab/tracing-hooks" "^0.3.1" - "@sentry/core" "10.38.0" - "@sentry/opentelemetry" "10.38.0" + "@sentry/core" "10.40.0" + "@sentry/opentelemetry" "10.40.0" import-in-the-middle "^2.0.6" -"@sentry/node@10.38.0", "@sentry/node@^10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-10.38.0.tgz#dc618644d2a19e1a735d1f5fe1fb54792d00d991" - integrity sha512-wriyDtWDAoatn8EhOj0U4PJR1WufiijTsCGALqakOHbFiadtBJANLe6aSkXoXT4tegw59cz1wY4NlzHjYksaPw== +"@sentry/node@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-10.40.0.tgz#931608a274daf4b2f8c74529e95d5c353b4a8e42" + integrity sha512-HQETLoNZTUUM8PBxFPT4X0qepzk5NcyWg3jyKUmF7Hh/19KSJItBXXZXxx+8l3PC2eASXUn70utXi65PoXEHWA== dependencies: + "@fastify/otel" "0.16.0" "@opentelemetry/api" "^1.9.0" - "@opentelemetry/context-async-hooks" "^2.5.0" - "@opentelemetry/core" "^2.5.0" + "@opentelemetry/context-async-hooks" "^2.5.1" + "@opentelemetry/core" "^2.5.1" "@opentelemetry/instrumentation" "^0.211.0" "@opentelemetry/instrumentation-amqplib" "0.58.0" "@opentelemetry/instrumentation-connect" "0.54.0" @@ -3028,61 +3044,60 @@ "@opentelemetry/instrumentation-redis" "0.59.0" "@opentelemetry/instrumentation-tedious" "0.30.0" "@opentelemetry/instrumentation-undici" "0.21.0" - "@opentelemetry/resources" "^2.5.0" - "@opentelemetry/sdk-trace-base" "^2.5.0" + "@opentelemetry/resources" "^2.5.1" + "@opentelemetry/sdk-trace-base" "^2.5.1" "@opentelemetry/semantic-conventions" "^1.39.0" "@prisma/instrumentation" "7.2.0" - "@sentry/core" "10.38.0" - "@sentry/node-core" "10.38.0" - "@sentry/opentelemetry" "10.38.0" + "@sentry/core" "10.40.0" + "@sentry/node-core" "10.40.0" + "@sentry/opentelemetry" "10.40.0" import-in-the-middle "^2.0.6" - minimatch "^9.0.0" -"@sentry/nuxt@^10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/nuxt/-/nuxt-10.38.0.tgz#36573959ef73c80d6084466449c82350dece3938" - integrity sha512-xay2m6LEo92NOXRa9wcE+XmYS1xjHv2KpY6VwNVYfDW1bEnS3r/vzr/XZ4lht2ZKRQ9fwfcP88b54S8G97teoQ== +"@sentry/nuxt@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/nuxt/-/nuxt-10.40.0.tgz#febd700992cfe548e027e10bc511a810e2091137" + integrity sha512-AY4qYYpmdMbK0nX8J6evI57QazJSTBrlpHwkmzLQRIeVumRbIyEDYjkSw/5pUq6hC6a1SaDalR+Rt9nw3KkOdQ== dependencies: "@nuxt/kit" "^3.13.2" - "@sentry/browser" "10.38.0" - "@sentry/cloudflare" "10.38.0" - "@sentry/core" "10.38.0" - "@sentry/node" "10.38.0" - "@sentry/node-core" "10.38.0" - "@sentry/rollup-plugin" "^4.8.0" - "@sentry/vite-plugin" "^4.8.0" - "@sentry/vue" "10.38.0" - -"@sentry/opentelemetry@10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-10.38.0.tgz#1472b33c3ab25504e8a5afd8126923083bf01c66" - integrity sha512-YPVhWfYmC7nD3EJqEHGtjp4fp5LwtAbE5rt9egQ4hqJlYFvr8YEz9sdoqSZxO0cZzgs2v97HFl/nmWAXe52G2Q== - dependencies: - "@sentry/core" "10.38.0" - -"@sentry/rollup-plugin@^4.8.0": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@sentry/rollup-plugin/-/rollup-plugin-4.9.1.tgz#3272cd9df13fc9b427c1835573921bf3125d045d" - integrity sha512-cjr/S4I9Xj4481K0o47PuteGgqFBs3hRRPOFs1Vz1Jql6VeCm5+ghbtsLGQMwB2lCOpWcYggdc03JK67UJT4ZQ== + "@sentry/browser" "10.40.0" + "@sentry/cloudflare" "10.40.0" + "@sentry/core" "10.40.0" + "@sentry/node" "10.40.0" + "@sentry/node-core" "10.40.0" + "@sentry/rollup-plugin" "^5.1.0" + "@sentry/vite-plugin" "^5.1.0" + "@sentry/vue" "10.40.0" + +"@sentry/opentelemetry@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-10.40.0.tgz#18661bf75ed481cf3b6fabb72eef69bffc286587" + integrity sha512-Zx6T258qlEhQfdghIlazSTbK7uRO0pXWw4/4/VPR8pMOiRPh8dAoJg8AB0L55PYPMpVdXxNf7L9X0EZoDYibJw== + dependencies: + "@sentry/core" "10.40.0" + +"@sentry/rollup-plugin@5.1.1", "@sentry/rollup-plugin@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@sentry/rollup-plugin/-/rollup-plugin-5.1.1.tgz#0504fc89736fef515a7e52c03634f0aafb634118" + integrity sha512-1d5NkdRR6aKWBP7czkY8sFFWiKnfmfRpQOj+m9bJTsyTjbMiEQJst6315w5pCVlRItPhBqpAraqAhutZFgvyVg== dependencies: - "@sentry/bundler-plugin-core" "4.9.1" - unplugin "1.0.1" + "@sentry/bundler-plugin-core" "5.1.1" + magic-string "~0.30.8" -"@sentry/vite-plugin@^4.8.0": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@sentry/vite-plugin/-/vite-plugin-4.9.1.tgz#1dd392c813f694451fd5c7816c0f15f2300dc581" - integrity sha512-Tlyg2cyFYp/icX58GWvfpvZr9NLdLs2/xyFVyS8pQ0faZWmoXic3FMzoXYHV1gsdMbL1Yy5WQvGJy8j1rS8LGA== +"@sentry/vite-plugin@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@sentry/vite-plugin/-/vite-plugin-5.1.1.tgz#082e20ce5ba965523643bc322167bec35f09aac6" + integrity sha512-i6NWUDi2SDikfSUeMJvJTRdwEKYSfTd+mvBO2Ja51S1YK+hnickBuDfD+RvPerIXLuyRu3GamgNPbNqgCGUg/Q== dependencies: - "@sentry/bundler-plugin-core" "4.9.1" - unplugin "1.0.1" + "@sentry/bundler-plugin-core" "5.1.1" + "@sentry/rollup-plugin" "5.1.1" -"@sentry/vue@10.38.0", "@sentry/vue@^10.38.0": - version "10.38.0" - resolved "https://registry.yarnpkg.com/@sentry/vue/-/vue-10.38.0.tgz#bab46ea8fff7de655a2b85ab560a1ed08a8a0b27" - integrity sha512-fmgZxB9LCoX8Os/Vlk8w3vpfO+GbocnyFv0+DCfKnKhO0ApxxJQ7K6Q9GDzgoDVc8FM5GYbdymbgzOF9h7BpRw== +"@sentry/vue@10.40.0": + version "10.40.0" + resolved "https://registry.yarnpkg.com/@sentry/vue/-/vue-10.40.0.tgz#cfbbbdac0f2b897de6720b9652b732c2f914eeba" + integrity sha512-VnsGlSgG4RBgxcsGwS5+5XNUZackUsApgKdCjmwkwWchvLMm1S/RXMXBHT01BabcmUNjxmzWEfI7aboVUoLiGA== dependencies: - "@sentry/browser" "10.38.0" - "@sentry/core" "10.38.0" + "@sentry/browser" "10.40.0" + "@sentry/core" "10.40.0" "@sindresorhus/base62@^1.0.0": version "1.0.0" @@ -4480,7 +4495,7 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.14.0, acorn@^8.15.0, acorn@^8.5.0, acorn@^8.6.0, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.14.0, acorn@^8.15.0, acorn@^8.5.0, acorn@^8.6.0, acorn@^8.8.2, acorn@^8.9.0: version "8.15.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== @@ -4776,6 +4791,11 @@ balanced-match@^2.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== +balanced-match@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== + bare-events@^2.7.0: version "2.8.2" resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.8.2.tgz#7b3e10bd8e1fc80daf38bb516921678f566ab89f" @@ -4850,6 +4870,13 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" +brace-expansion@^5.0.2: + version "5.0.4" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.4.tgz#614daaecd0a688f660bbbc909a8748c3d80d4336" + integrity sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg== + dependencies: + balanced-match "^4.0.2" + braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -5133,7 +5160,7 @@ check-error@^2.1.1: resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.3.tgz#2427361117b70cca8dc89680ead32b157019caf5" integrity sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: +"chokidar@>=3.0.0 <4.0.0": version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -6846,7 +6873,7 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^10.0.0, glob@^10.4.2, glob@^10.5.0: +glob@^10.0.0, glob@^10.4.2: version "10.5.0" resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== @@ -6867,6 +6894,15 @@ glob@^13.0.0: minipass "^7.1.2" path-scurry "^2.0.0" +glob@^13.0.6: + version "13.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.6.tgz#078666566a425147ccacfbd2e332deb66a2be71d" + integrity sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw== + dependencies: + minimatch "^10.2.2" + minipass "^7.1.3" + path-scurry "^2.0.2" + global-directory@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" @@ -7986,14 +8022,7 @@ magic-string-ast@^1.0.2: dependencies: magic-string "^0.30.19" -magic-string@0.30.8: - version "0.30.8" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613" - integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -magic-string@^0.30.0, magic-string@^0.30.12, magic-string@^0.30.17, magic-string@^0.30.19, magic-string@^0.30.21, magic-string@^0.30.3, magic-string@^0.30.8: +magic-string@^0.30.0, magic-string@^0.30.12, magic-string@^0.30.17, magic-string@^0.30.19, magic-string@^0.30.21, magic-string@^0.30.3, magic-string@^0.30.8, magic-string@~0.30.8: version "0.30.21" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== @@ -8210,6 +8239,13 @@ minimatch@9.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^10.0.3, minimatch@^10.2.2: + version "10.2.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde" + integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== + dependencies: + brace-expansion "^5.0.2" + minimatch@^10.1.1, "minimatch@^9.0.3 || ^10.0.1": version "10.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55" @@ -8231,7 +8267,7 @@ minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5: +minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== @@ -8250,6 +8286,11 @@ minimatch@~3.0.3: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== +minipass@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== + minizlib@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.1.0.tgz#6ad76c3a8f10227c9b51d1c9ac8e30b27f5a251c" @@ -9035,6 +9076,14 @@ path-scurry@^2.0.0: lru-cache "^11.0.0" minipass "^7.1.2" +path-scurry@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.2.tgz#6be0d0ee02a10d9e0de7a98bae65e182c9061f85" + integrity sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== + dependencies: + lru-cache "^11.0.0" + minipass "^7.1.2" + path-to-regexp@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" @@ -11233,16 +11282,6 @@ unplugin-vue-router@^0.19.0: unplugin-utils "^0.3.1" yaml "^2.8.2" -unplugin@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.0.1.tgz#83b528b981cdcea1cad422a12cd02e695195ef3f" - integrity sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA== - dependencies: - acorn "^8.8.1" - chokidar "^3.5.3" - webpack-sources "^3.2.3" - webpack-virtual-modules "^0.5.0" - unplugin@^1.3.1: version "1.16.1" resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.1.tgz#a844d2e3c3b14a4ac2945c42be80409321b61199" @@ -11711,16 +11750,6 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webpack-sources@^3.2.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723" - integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== - -webpack-virtual-modules@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" - integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== - webpack-virtual-modules@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8"