Don't allow an existing trace description to be removed
Descriptions were only required when creating a trace, so editing a
trace could set its description to a blank string such as a single
space. Require a description for traces that already have one, while
still allowing old traces that never had one to be edited without
adding one.
The minimum length check is dropped as the presence check covers it,
and it stopped those old traces being saved without a description.
Updates `sass-embedded` from 1.105.1 to 1.105.2
- [Commits](https://github.com/sass-contrib/sass-embedded-host-ruby/compare/v1.105.1...v1.105.2)
Updates `activerecord-import` from 2.3.0 to 3.0.0
- [Changelog](https://github.com/zdennis/activerecord-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zdennis/activerecord-import/compare/v2.3.0...v3.0.0)
Updates `cancancan` from 3.6.1 to 3.7.0
- [Release notes](https://github.com/CanCanCommunity/cancancan/releases)
- [Changelog](https://github.com/coorasse/cancancan/blob/main/CHANGELOG.md)
- [Commits](https://github.com/CanCanCommunity/cancancan/compare/3.6.1...3.7.0)
Updates `faraday` from 2.14.4 to 2.15.0
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lostisland/faraday/compare/v2.14.4...v2.15.0)
Updates `opentelemetry-instrumentation-all` from 0.98.0 to 0.99.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-all/v0.98.0...opentelemetry-instrumentation-all/v0.99.0)
Updates `webmock` from 3.29.0 to 3.34.0
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.29.0...v3.34.0)
Updates `database_consistency` from 3.0.15 to 3.0.16
- [Changelog](https://github.com/djezzzl/database_consistency/blob/master/CHANGELOG.md)
- [Commits](https://github.com/djezzzl/database_consistency/compare/v3.0.15...v3.0.16)
Updates `faraday-net_http` from 3.4.4 to 3.5.0
- [Release notes](https://github.com/lostisland/faraday-net_http/releases)
- [Commits](https://github.com/lostisland/faraday-net_http/compare/v3.4.4...v3.5.0)
Updates `net-imap` from 0.6.7 to 0.6.8
- [Release notes](https://github.com/ruby/net-imap/releases)
- [Commits](https://github.com/ruby/net-imap/compare/v0.6.7...v0.6.8)
Updates `opentelemetry-exporter-otlp-common` from 0.3.0 to 0.4.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-exporter-otlp-common/v0.3.0...opentelemetry-exporter-otlp-common/v0.4.0)
Updates `opentelemetry-instrumentation-lmdb` from 0.27.0 to 0.28.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-lmdb/v0.27.0...opentelemetry-instrumentation-lmdb/v0.28.0)
Andy Allan [Wed, 21 Oct 2026 12:32:18 +0000 (13:32 +0100)]
Don't send email confirmation if the new address has been cleared
The new_email might be cleared between queuing the confirmation email and the
job running. For example, by deleting the account or resubmitting the form.
The mail then had no recipient, and the job raised an ArgumentError on every retry.
Validate the tags as part of the trace and report any problems against
the tag string, so that the upload and edit forms show what is wrong
next to the tags field, and return a 422 status when either form is
shown again with errors.
This means removing the tag's validation of its trace, as validating the
trace from each tag cleared the trace's errors, so a trace with an
invalid tag followed by a valid one was considered valid. The tag still
requires a trace, as belongs_to associations are required by default.
Assigning a new set of tags to an existing trace saved them immediately,
so an invalid tag raised ActiveRecord::RecordNotSaved instead of failing
validation. The API returned a 500 error and the edit form showed an
error page.
Build the new tags instead so they are validated and saved along with
the trace, and update the trace through the API in a transaction so the
old tags are kept if the update fails.
dependabot[bot] [Thu, 15 Oct 2026 07:04:37 +0000 (07:04 +0000)]
Bump the dependencies group across 1 directory with 4 updates
Bumps the dependencies group with 4 updates in the / directory: [bootstrap-icons](https://github.com/twbs/icons), [i18n-js](https://github.com/fnando/i18n), [terra-draw](https://github.com/JamesLMilner/terra-draw) and [terra-draw-maplibre-gl-adapter](https://github.com/JamesLMilner/terra-draw).
Updates `bootstrap-icons` from 1.13.1 to 1.13.2
- [Release notes](https://github.com/twbs/icons/releases)
- [Commits](https://github.com/twbs/icons/compare/v1.13.1...v1.13.2)
Updates `i18n-js` from 4.5.3 to 4.5.4
- [Changelog](https://github.com/fnando/i18n/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fnando/i18n/compare/v4.5.3...v4.5.4)
Updates `terra-draw` from 1.36.0 to 1.37.0
- [Release notes](https://github.com/JamesLMilner/terra-draw/releases)
- [Changelog](https://github.com/JamesLMilner/terra-draw/blob/main/release.js)
- [Commits](https://github.com/JamesLMilner/terra-draw/compare/terra-draw@1.36.0...terra-draw@1.37.0)
Updates `terra-draw-maplibre-gl-adapter` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/JamesLMilner/terra-draw/releases)
- [Changelog](https://github.com/JamesLMilner/terra-draw/blob/main/release.js)
- [Commits](https://github.com/JamesLMilner/terra-draw/compare/terra-draw-maplibre-gl-adapter@1.4.1...terra-draw-maplibre-gl-adapter@1.5.0)
Updates `opentelemetry-instrumentation-all` from 0.97.0 to 0.98.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-all/v0.97.0...opentelemetry-instrumentation-all/v0.98.0)
Updates `aws-sdk-s3` from 1.233.1 to 1.233.2
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)
Updates `open3` from 0.2.1 to 0.3.0
- [Release notes](https://github.com/ruby/open3/releases)
- [Commits](https://github.com/ruby/open3/compare/v0.2.1...v0.3.0)
Updates `digest` from 3.2.1 to 3.3.0
- [Release notes](https://github.com/ruby/digest/releases)
- [Commits](https://github.com/ruby/digest/compare/v3.2.1...v3.3.0)
Updates `selenium-webdriver` from 4.50.0 to 4.51.0
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.50.0...selenium-4.51.0)
Updates `webmock` from 3.26.4 to 3.29.0
- [Release notes](https://github.com/bblimke/webmock/releases)
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.26.4...v3.29.0)
Updates `database_consistency` from 3.0.14 to 3.0.15
- [Changelog](https://github.com/djezzzl/database_consistency/blob/master/CHANGELOG.md)
- [Commits](https://github.com/djezzzl/database_consistency/compare/v3.0.14...v3.0.15)
Updates `aws-partitions` from 1.1293.0 to 1.1296.0
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)
Updates `json` from 3.0.2 to 3.1.0
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v3.0.2...v3.1.0)
Updates `net-http` from 0.9.1 to 0.10.0
- [Release notes](https://github.com/ruby/net-http/releases)
- [Commits](https://github.com/ruby/net-http/compare/v0.9.1...v0.10.0)
Updates `opentelemetry-helpers-sql-processor` from 0.5.0 to 0.5.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-helpers-sql-processor/v0.5.0...opentelemetry-helpers-sql-processor/v0.5.1)
Updates `opentelemetry-instrumentation-grape` from 0.7.1 to 0.7.2
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-grape/v0.7.1...opentelemetry-instrumentation-grape/v0.7.2)
Updates `opentelemetry-instrumentation-mysql2` from 0.34.0 to 0.34.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-mysql2/v0.34.0...opentelemetry-instrumentation-mysql2/v0.34.1)
Updates `opentelemetry-instrumentation-pg` from 0.37.0 to 0.37.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-pg/v0.37.0...opentelemetry-instrumentation-pg/v0.37.1)
Updates `opentelemetry-instrumentation-trilogy` from 0.69.0 to 0.69.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-trilogy/v0.69.0...opentelemetry-instrumentation-trilogy/v0.69.1)
Updates `opentelemetry-logs-api` from 0.6.0 to 0.7.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-logs-api/v0.6.0...opentelemetry-logs-api/v0.7.0)
Updates `opentelemetry-metrics-api` from 0.9.0 to 0.10.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-metrics-api/v0.9.0...opentelemetry-metrics-api/v0.10.0)
dependabot[bot] [Wed, 14 Oct 2026 23:12:36 +0000 (23:12 +0000)]
Bump the dependencies group with 3 updates
Bumps the dependencies group with 3 updates: [ruby/setup-ruby](https://github.com/ruby/setup-ruby), [actions/setup-node](https://github.com/actions/setup-node) and [actions/upload-artifact](https://github.com/actions/upload-artifact).
Updates `ruby/setup-ruby` from 1.327.0 to 1.328.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](https://github.com/ruby/setup-ruby/compare/14594264cd68ce8a2345dd349bc3d138a4ef85c8...e81a8fa391b11a595c1b7ed84177cc0fe02faf83)
Matt Van Horn [Tue, 13 Oct 2026 10:04:52 +0000 (03:04 -0700)]
Omit blank zoom from Nominatim reverse search
Zoom is added to the reverse parameters only when zoom.present?, which
leaves nil and blank strings off the URL and still sends zoom 0. New
controller tests cover the outbound Nominatim request and the search
page's reverse links for a missing zoom, an empty zoom, and zoom 0.
Updates `pg` from 1.6.3 to 1.7.0
- [Changelog](https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.6.3...v1.7.0)
Updates `autoprefixer-rails` from 10.4.21.0 to 10.6.1.0
- [Changelog](https://github.com/ai/autoprefixer-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ai/autoprefixer-rails/compare/10.4.21.0...10.6.1.0)
Updates `dalli` from 5.1.1 to 5.2.2
- [Release notes](https://github.com/petergoldstein/dalli/releases)
- [Changelog](https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/petergoldstein/dalli/compare/v5.1.1...v5.2.2)
Updates `opentelemetry-exporter-otlp` from 0.36.0 to 0.37.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-exporter-otlp/v0.36.0...opentelemetry-exporter-otlp/v0.37.0)
Updates `opentelemetry-instrumentation-all` from 0.96.0 to 0.97.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-all/v0.96.0...opentelemetry-instrumentation-all/v0.97.0)
Updates `sentry-delayed_job` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/7.0.0...7.1.0)
Updates `sentry-rails` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/7.0.0...7.1.0)
Updates `sentry-ruby` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/7.0.0...7.1.0)
Updates `aws-sdk-s3` from 1.232.2 to 1.233.1
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)
Updates `image_processing` from 2.1.0 to 2.2.0
- [Changelog](https://github.com/janko/image_processing/blob/master/CHANGELOG.md)
- [Commits](https://github.com/janko/image_processing/compare/v2.1.0...v2.2.0)
Updates `noticed` from 3.0.0 to 3.1.0
- [Release notes](https://github.com/excid3/noticed/releases)
- [Changelog](https://github.com/excid3/noticed/blob/main/CHANGELOG.md)
- [Commits](https://github.com/excid3/noticed/compare/v3.0.0...v3.1.0)
Updates `listen` from 3.10.0 to 3.10.1
- [Release notes](https://github.com/guard/listen/releases)
- [Commits](https://github.com/guard/listen/compare/v3.10.0...v3.10.1)
Updates `brakeman` from 8.0.6 to 8.1.0
- [Release notes](https://github.com/presidentbeef/brakeman/releases)
- [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md)
- [Commits](https://github.com/presidentbeef/brakeman/compare/v8.0.6...v8.1.0)
Updates `pg_query` from 6.2.2 to 6.2.5
- [Changelog](https://github.com/pganalyze/pg_query/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pganalyze/pg_query/compare/v6.2.2...v6.2.5)
Updates `selenium-webdriver` from 4.49.0 to 4.50.0
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.49.0...selenium-4.50.0)
Updates `database_consistency` from 3.0.13 to 3.0.14
- [Changelog](https://github.com/djezzzl/database_consistency/blob/master/CHANGELOG.md)
- [Commits](https://github.com/djezzzl/database_consistency/compare/v3.0.13...v3.0.14)
Updates `aws-partitions` from 1.1291.0 to 1.1293.0
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)
Updates `date` from 3.5.1 to 3.6.0
- [Release notes](https://github.com/ruby/date/releases)
- [Commits](https://github.com/ruby/date/compare/v3.5.1...v3.6.0)
Updates `googleapis-common-protos-types` from 1.20.0 to 1.23.0
- [Release notes](https://github.com/googleapis/common-protos-ruby/releases)
- [Commits](https://github.com/googleapis/common-protos-ruby/compare/googleapis-common-protos-types/v1.20.0...googleapis-common-protos-types/v1.23.0)
Updates `opentelemetry-common` from 0.25.1 to 0.25.2
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-common/v0.25.1...opentelemetry-common/v0.25.2)
Updates `opentelemetry-exporter-otlp-common` from 0.2.0 to 0.3.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-exporter-otlp-common/v0.2.0...opentelemetry-exporter-otlp-common/v0.3.0)
Updates `opentelemetry-instrumentation-aws_lambda` from 0.7.0 to 0.7.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-aws_lambda/v0.7.0...opentelemetry-instrumentation-aws_lambda/v0.7.1)
Updates `opentelemetry-instrumentation-base` from 0.26.1 to 0.27.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-base/v0.26.1...opentelemetry-instrumentation-base/v0.27.0)
Updates `opentelemetry-instrumentation-lmdb` from 0.26.1 to 0.27.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-lmdb/v0.26.1...opentelemetry-instrumentation-lmdb/v0.27.0)
Updates `opentelemetry-instrumentation-net_http` from 0.29.1 to 0.29.2
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-net_http/v0.29.1...opentelemetry-instrumentation-net_http/v0.29.2)
Updates `opentelemetry-instrumentation-rack` from 0.31.1 to 0.31.2
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-rack/v0.31.1...opentelemetry-instrumentation-rack/v0.31.2)
Updates `opentelemetry-instrumentation-sinatra` from 0.30.0 to 0.30.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/opentelemetry-instrumentation-sinatra/v0.30.0...opentelemetry-instrumentation-sinatra/v0.30.1)
Tom Hughes [Thu, 8 Oct 2026 17:47:14 +0000 (18:47 +0100)]
Release pinning of dartsass-sprockets and related gems
We keep sass-embedded pinned to a version below 3.0.0 as some
of the deprecation warnings from bootstrap are for things which
are planned to be removed in that version.
dependabot[bot] [Wed, 7 Oct 2026 23:13:16 +0000 (23:13 +0000)]
Bump the dependencies group with 3 updates
Bumps the dependencies group with 3 updates: [terra-draw](https://github.com/JamesLMilner/terra-draw), [eslint](https://github.com/eslint/eslint) and [globals](https://github.com/sindresorhus/globals).
Updates `terra-draw` from 1.35.0 to 1.36.0
- [Release notes](https://github.com/JamesLMilner/terra-draw/releases)
- [Changelog](https://github.com/JamesLMilner/terra-draw/blob/main/release.js)
- [Commits](https://github.com/JamesLMilner/terra-draw/compare/terra-draw@1.35.0...terra-draw@1.36.0)
Updates `eslint` from 10.11.0 to 10.12.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0)
Updates `globals` from 17.12.0 to 17.13.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0)