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