Release preparation v1.155

New release candidate v1.155 is already deployed on QA Satellite

Changelog

General

  • 5d1509b shared/dbutil{,/tidbutil}: route tidb:// scheme and convert URLs to MySQL DSNs
  • 158c28b shared/dbutil/pgutil: handle Postgres 17 NOT NULL constraint type
  • dff1ae2 all: bump to Go 1.26.3
  • dbefd72 shared/strictcsv: run go fix
  • 92072dd shared/dbutil/tidbutil: add clientFoundRows to default dsn
  • 6643e18 shared/dbutil/retrydb: classify MySQL/TiDB conflict codes
  • 9b43d3f shared/dbutil/retrydb: add shared driver-wrap helpers
  • 31894f2 shared/dbutil/cockroachutil: route Exec retries through RetryConflict
  • 84f425b shared/dbutil/tidbutil: add custom mysql driver
  • 1101f2f shared/dbutil/tempdb: route tidb:// to tidbutil.OpenUnique
  • ea93213 shared/tagsql: recognize tidbutil.Driver
  • 1eee9e5 shared/dbutil/tidbutil: add IsConstraintViolation and IsInvalidSyntax
  • d083420 shared/dbutil/tidbutil: fix review comments
  • 79c8694 private/apigen: Allow to define optional query params
  • c831f86 private/apigen: Accept bool type for path/query params
  • c4aabc9 go.mod: bump storj/common
  • 5326e44 shared/modular: fix ! operator to exclude components from subcommand selectors
  • df7325d .claude/skills: do up gerrit and test-with-postgres
  • cc56419 ci: run TiDB tests
  • 086b384 web/satllite: Update new pricing dialog for 2 options
  • 6756513 shared/dbutil/dx: add utilities for batch queries
  • 89d752c versioncontrol: add per-platform binary info endpoint for object-mount-gui (#7752)
  • 3e8a0c6 go.mod: bump storj.io/uplink
  • aa54c8e shared/dbutil: make database connection parameters configurable per database

Satellite

  • e4b5e46 satellite/satellitedb: drop tenant_whitelabel_configs.created_at default
  • 56dd30c web/satellite: resolve some deprecation warnings
  • 0b7b458 web/satellite: upgrade Vuetify to v4+
  • 2952eab satellite/metabase/metabasetest: register TiDB metabase
  • 93e30c7 satellite/metainfo: add config flag for object and segment checksums
  • f9b471c satellite/metabase: add TiDBAdapter scaffold and schema
  • 54ae1da satellite/console: create buckets via private API
  • 8bd3689 satellite/satellitedb: skip boundary tally when all in-period tallies are zero
  • 37053b8 satellite/console/emailreminders: fix nil pointer panic on Close
  • 98bebae satellite/balancer: use batch processing for segment operations
  • dba6ef7 satellite/metainfo: include checksum info in object responses
  • e56c107 satellite/taskqueue: add PopBatch for batch reading from Redis streams
  • 9f7b995 satellite/taskqueue: support concurrent workers in BatchRunner
  • dfefc6c satellite/balancer: add placement filter to drain config
  • 11110db satellite/metabase: unify Postgres+TiDB iterator queries
  • e4896cf satellite/admin: Implement usage endpoint
  • 2020e7a satellite/metabase: stub TiDBAdapter methods and wire Open() dispatch
  • 8e81729 satellite/{balancer,metabase}: use SHA256 hash for piece list CAS in balancer
  • b1108cc satellite/nodeselection: fix StreamFilter ignoring filtered-out alreadySelected nodes
  • f9dc0ac satellite/metabase: implement (*TiDBAdapter).TestingBatchInsertObjects
  • c06fbc9 satellite/metabase: implement (*TiDBAdapter).TestingBatchInsertSegments
  • c24804f satellite/metabase: implement (*TiDBAdapter).TestingDeleteAll
  • 65b9dd5 satellite/metabase: implement (TiDBAdapter).TestingGetAll
  • c480d51 satellite/metabase: implement (TiDBAdapter).TestingSet
  • 0d681f1 satellite/metabase: implement (TiDBAdapter).BeginObject
  • 929267b satellite/metabase: implement (*TiDBAdapter).WithTx
  • 3fd7d7d satellite/metabase: implement NodeAlias-related methods on TiDBAdapter
  • 7c53459 satellite/admin/ui: Implement frontend for usage reporting
  • a48685e satellite/eventing: introduce PendingResult type alias
  • c352bc8 web/satellite: Implement full-screen price changes pop-up
  • be7a048 web/satellite: Implement opt-out new pricing dialog confirmation
  • 52ccd2c satellite/console/consoleweb: Add opt-in status set settings
  • 44f6e2a cmd/satellite: add command to exclude users from opt-in
  • 4fb426e web/satellite: Make opt-in new pricing options dynamic
  • 06d0e4e web/satellite: Update opt-in new pricing wording
  • eca2f11 satellite/{console,accountfreeze}: add opt-out freeze logic
  • ec83e1d satellite/{console,accountfreeze}: add opt out unfreeze
  • 04f9776 satellite/metabase: remove deadcode fetchSegmentsForCommit
  • 58943a0 satellite/metabase: avoid TRUNCATE in (*TiDBAdapter).TestingDeleteAll
  • c054dfb satellite/metabase: implement (*TiDBAdapter).CommitObject
  • c651052 satellite/metabase: implement (*TiDBAdapter).CommitInlineObject
  • eb83821 satellite/metabase: implement (*TiDBAdapter).CommitPendingObjectSegment
  • a3b8d3a satellite/metabase: implement (*TiDBAdapter).CommitInlineSegment
  • 234770b satellite/mailservice,private/post: improve email deliverability and accessibility
  • 1e2ead5 satellite/console: override opt-in status if user is Free, NFR or Member
  • 6971206 satellite/metabase: implement (TiDBAdapter).GetSegmentByPosition
  • 76def16 satellite/accountfreze: add opt-out freeze emails
  • bdb0e17 satellite/admin: add for opt-out freeze functionality
  • 132a12a web/satellite: Add opt-in pricing confirmation
  • 34eacdd web/satellite: slight opt-in behavior updates
  • 9129ffd satellite/{console,web}: send opt in/out confirmation emails
  • 96ce5c8 satellite/metainfo: update ListObjects to return object checksum info
  • 12315ca satellite/metainfo: update ListSegments to return checksum
  • 6f34b5a satellite/metabase: implement (*TiDBAdapter).GetSegmentPositionsAndKeys
  • b6a81bc satellite/metainfo: narrow bucket fetch in upload path
  • c41a7c3 web/satellite: show new pricing opt-in popup after user upgrade
  • ff2b68c satellite/metabase: implement (TiDBAdapter).GetObjectExactVersion
  • 9c707a2 satellite/metabase: implement (TiDBAdapter).GetObjectLastCommitted
  • cedefb5 satellite/metabase: implement (*TiDBAdapter).GetLatestObjectLastSegment
  • 47a1f06 satellite/metabase: implement (*TiDBAdapter).GetPendingObjectMetadata
  • 472101f satellite/metabase: implement (*TiDBAdapter).GetStreamPieceCountByAlias
  • 074e687 satellite/metabase: implement (*TiDBAdapter).ObjectIterator
  • 219839b satellite/metabase: use tuple comparison in tidb queries
  • 7633872 satellite/metainfo: avoid delimiter byte in ListObjectsMetadata test key
  • 8ed1226 satellite/admin: add satellite name to admin UI tag
  • ba6f214 satellite/{console,web}: add opt-out freeze banners
  • df96efd satellite/metainfo: fix flaky TestRateLimit_ProjectRateLimitOverrideCachedExpired
  • 6cd62db satellite/audit: fix flaky TestVerifierSlowDownload
  • c275052 satellite/payments/stripe: fix flaky TestBackendWrapper/context_cancellation/during_retries
  • f62313a cmd/satellite: add migrate-pricing subcommand (phase1)
  • ddd3efd satellite/orders: wire RollupsWriteCache into modular API
  • 7ea5b35 web/satellite: fixed several UX issues
  • c1df453 satellite/console: override opt-in status in SetUserSettings
  • 603d947 web/satellite: added more info about the new pricing
  • 011deb6 web/satellite: updated wording in the opt-in popup

Storagenode

  • abd35bd storagenode/peer,testplanet: seed blobstore cache from DB before preflight check
  • 0bd829c storagenode/piecemigrate: classify migration errors by type for metrics

Test

  • 822d5c6 shared/dbutil/dbtest: add tidb test flag and Pick helpers
  • 6579529 Makefile.test.mk: add TiDB test environment
  • 920329e testsuite: install jobq in tests
  • df3963a testsuite/backward-compatibility: don’t double create ca

v1.155.4

Disk not met errors have come back

@Andrii