Release preparation v1.147

New release candidate v1.147 already deployed for QA Satellite

Changelog

General

  • 015cf15 .claude/skills: add dbx-regenerate skill
  • b189e0a ci: share web/storagenode/Dockerfile
  • 124949d .claude/skills: cleanup test-with-spanner skill
  • 760c667 ci: fix make images
  • 8835c5b ci: use --push for pushing images, fix LATEST_TAG
  • 21fa339 ci: setup buildx builder
  • 123d589 ci: fix buildx builder setup
  • 4c3e7a8 ci: switch to Jenkins coverage plugin
  • e90c239 images: optimize delve and storj-up building
  • a7296a8 installer/windows: fix path escaping
  • 93ca6cb modular/cli: graceful shutdown for sigterm
  • fb85dcd ci: add missing compress stage and reorder
  • 9147112 script/bake.sh: include satellite web for version calculation
  • fb5ee70 ci: merge images and release-binaries makefiles
  • df01e9e ci: fix export the environment variables
  • d9c20be Makefile: remove commit hash from tagged builds
  • 39bfce0 ci: match also release candidate tags
  • 305766c ci: update Go to 1.25.6
  • 71e2838 go.mod: update some packages
  • 56d798f ci: publish to github should use git tag
  • c538f01 ci: remove unused make targets
  • 939adef scripts/release: compress files in parallel
  • 8e51dc9 go.mod: bump storj/common
  • fe766c0 go.mod: bump minimum language version to go1.25
  • b7f41c7 ci,scripts: fix rc tag detection
  • 66ca3a9 ci,scripts: fix additional check
  • fbf4198 Jenkinsfile: add timeout
  • b201f96 ci: remove last references to storjlabs/golang
  • 9e16bfe ci: avoid using -u for test containers
  • d5d909e cmd/write-hashtbl: some bug fixes
  • 0ba9fb2 .claude: add test-with-postgres skill
  • 480635e .claude: update test-with-spanner to run without manual approvals
  • a7fdfd2 shared/sync/kofn: fix long tail logic

Multinode

  • 7fe9f29 web/multinode: add Dockerfile

Satellite

  • 85d5ee8 web/satellite: hide uplink behavior based on the feature flag
  • 835be98 satellite/admin/{,legacy}/ui: add Dockerfile
  • b90b82b satellite/metabase: remove line numbers from doc.go
  • 9347115 satellite/console: reduce billing address requirement
  • bb52123 satellite/console: allow gateway URL overrides for tenants
  • 9b5b5fc satellite/admin: added ā€˜satellite’ vs ā€˜user’ managed passphrase indication
  • b645068 satellite/admin: added lock and versioning statuses to buckets table
  • bbf0262 web/satellite: simplify managed passphrase conditions
  • 0f2a373 web/satellite: bump lucide icons package version
  • 096f9d0 web/satellite: compute styling and UX updates
  • e221e21 web/satellite: hide onboarding sales contact checkbox for whitelabeled sat
  • 80a6e18 satellite/{console,web}: improve color customization for whitelabeled sat
  • e9b2fe5 web/satellite: hide encryption info in account/project settings based on the flag
  • 717c934 satellite/{console,web}: add loader logo back
  • 6ad829d satellite/console,web/satellite: use configured terms and privacy URLs
  • 4082645 satellite/console,web/satellite: add config to hide segments UI
  • c8710ff satellite/admin: add change URL to audit log
  • b99be5d web/satellite: make auth pages generic for white labeling
  • fdeb6c1 satellite/emails: make email logo more responsive
  • 1433ff5 web/satellite: change project limit req URL for white label
  • 4ead3c6 satellite/{web/admin-ui}: fix table coloring
  • 804b9f4 web/satellite/wasm: move wasm into web/satellite
  • a31a845 web/satellite/wasm: move release scripts
  • 7060bad web/satellite: fixed a couple of pagination issues in object browser
  • 4f83cc2 ci,web/satellite: fix Dockerfile
  • 43c8d0c satellite/{console,web}: prevent project creation for frozen accounts
  • 5a1a7d2 web/satellite: Minor visual improvements for branded config
  • c76d7db satellite/entitlements: add basic licenses handling
  • b8c8b18 satellite/metainfo: add LicenseInfo endpoint
  • 3d00e73 web/satellite: prefer showing tier’s short name during bucket creation
  • 6e34b00 satellite/repair: fix flaky TestRepairMultipleDisqualifiedAndSuspended and TestRepairGracefullyExited
  • 5455c87 satellite/accounting: optimize tally reporting to eventkit
  • ee6ecac web/satellite: improve create access UX
  • 2257db6 satellite/{web,console}: show bucket eventing state
  • 8c564a5 web/satellite: improve sharing experience
  • 5972e87 web/satellite: updated create bucket flow
  • 500c370 satellite/{console,web}: whitelabel UX fixes
  • 4ae3648 satellite/metainfo: impersonate bucket eventing SA for test event
  • 264dd5e satellite/metainfo: remove feature flag for versioning and object lock
  • ffeb0a3 satellite/{db,overlay}: list nodes by email
  • 96e1f47 satellite/admin: add nodes search functionality
  • aa4577a satellite/admin/ui: add nodes search functionality
  • c20a0c2 satellite/{metainfo,payments}: record retention remainder on object delete
  • af949b7 satellite/metainfo: remove unused config flags
  • c46a443 satellite: Track storage node downtime
  • 1859906 satellite/console: Flatten whitelabel config
  • 117a1fd satellite: modular starter for API services (without UI)
  • 3e6fcc9 satellite/payments/stripe: add ItemCode to invoice metadata
  • 2a40354 satellite/{payments,db}: add retention remainder to invoice
  • 21645ad satellite/metainfo: rename LicenseInfo to AccountLicenses
  • 4fb7dfc satellite/console: fix SingleWhiteLabel tenant context propagation
  • b240ec7 satellite/jobq/jobqueue: fix synctest test
  • b736ca7 satellite/eventing: remove the bucket-eventing.buckets config
  • a5428dd satellite/repair/repairer,shared/sync/kofn: separate the concurrency primitive
  • b79aebc web/satellite: refactor layouts code
  • c80e80f web/satellite: update project encryption tags
  • 5e77e36 satellite/{entitlements,metainfo}: update AccountLicense structure
  • c3edd9e satellite/{stripe,db}: fix missing retention remainder db dependency
  • 38c7bae satellite/admin: add endpoint to list project members page
  • e24ec13 satellite/admin: licenses support
  • d0d8e7d satellite/admin/ui: licensing support
  • ef8a306 web/satellite: create separate wasm/go.mod and isolate Dockerfile
  • 9aa3b46 satellite/admin: small improvements for the licensing implementation

Storagenode

  • d46a808 storagenode/hashstore: open all files with shared delete
  • dfdc3b3 storagenode/hashstore: change log level for fsck matched entries
  • 8de976a storagenode/hashstore: simplify RecordTailsEqualish
  • 5d04aff storagenode/piecestore: log hashstore collisions as warning
  • 0e87f8b storagenode/hashstore: add log file check stats to open log
  • 30f955a storagenode/hashstore: extra info on record rewrite error
  • daefa64 storagenode/piecestore: log client disconnect errors at WARN level
  • ac4aebc storagenode/hashstore: skip log file check bool
  • 1ebf3b0 storagenode/hashstore: log hint info
  • ff2db93 storagenode/hashstore: ignore collisions during fsck
  • 5090d47 storagenode/hashstore: fsck for missing log files
  • 77ce661 storagenode/store: enhance error message
  • 8da5ad5 storagenode/hashstore/platform: use a separate binary for file operations
  • 6ab488e storagenode/monitor: expose reclaimable space usage from hashstore
  • 7f91ccc storagenode: early initialization of trust.Pool

Test

  • 63afb77 shared/dbutil/dbtest: don’t write Spanner emulator output into test output
  • 48bdbdb ci,testsuite/{rolling-upgrade,uplink-versions}: use docker-compose
  • 3df0bcc testsuite/*: pass in GOPROXY
3 Likes

I’m willing to wait as long as it takes, so

  • Hashstore databases can be rebuilt from data logs (which we have)
  • Hashstore data logs have some hope of being at least partially repaired after disk errors (which.. we don’t really have?)

No need to rush. I want HDD errors to be as easy to recover from as was piecestore.

On my opinion it is already easier than piecestore. Just rsync to new location and rebuild hashtable if needed. This is so much faster than piecestore… :+1:

1 Like

Slightly off-topic… but I wonder if we’ll never have an active migration of legacy piecestore data? Like they told us new data all goes into hashstore… but… if you leave it that way long enough then almost all old piecestore data would get deleted anyways (like over 1-2 years).

So never migrate old .sj1 files… just… keep… waiting… and hashstore takes over?

IIRC the code still maintains support for v0 pieces. I’ve never had them, and I joined in January 2020—looking at git history, the change happened in August 2019. Yet there’s still a report from 2024 on a problem related to this legacy format.

Granted, it might have come from a free account…

Hiya @Andrii. We now have release preparations for 1.145, 1.146 and 1.147.

Is the first one shipping? I still see suggested version as 1.142 on version satellite.

Over the last three posts, we also have three different ways of spelling ā€œRelease Preparationā€. Is this not automated?

1 Like

Based on these typos, I doubt they’re fully automated. And not sure they should, the contents are already produced by a script, copy&pasting it into the post is trivial, and would probably take unproportionately much time to extend it to something to authenticate against discourse and create the post.

Changelog doesn’t match github. Seems to be copy&paste from v1.141… :wink:

1 Like

I see a lot of Claude contributions in the latest version. I wonder if the time gained by getting the scripting done by AI is not lost by reviewing and correcting that code. I don’t say AI coding is bad, but for the time being, as I understand it, needs a lot of supervising.

Compared to what?؜؜؜؜

1 Like

2 posts were split to a new topic: Windows node: hashstore compaction failed: EOF

this version started to show reclaimable amount, it gives me possibilities to monitor if there a lot of reclaimable, then i have problem with compaction.

no, as long as they debug Claude, with Codex :wink: (codex is really good in debugging)

Owning Valdi.ai… should mean Storj developers get to run unlimited Kimi K2.5 for ā€œfreeā€. They have the hardware for it!

Agents are very good at writing boiler plate code, tests, refactoring, apis and protocols implementation, and code reviews — all the the things that humans rather not do. These are all areas where the outcome is known and cost of validating is much lower than implementing.

In my experience: as of today: Claude sonnet is a toddler with engineering degree. A lot of time wasted correcting and handholding its nonsense. Opus is very usable. Codex5 at the highest reasoning setting is also pretty good.

So yes, agentinc coders already provide positive value. It’s expected to further improve.

1 Like

Yeah, you are right. I paste a wrong changelog. Fixed now (and fixed typo in the title).

Positive value? For the past couple of weeks, Codex 5.3 and similar tools have revolutionized the way we program. There are entire companies that no longer touch code manually, and I’m talking about major companies. I think you’re being too pessimistic about it by reducing it to a simple ā€˜positive value.’ Did you try codex 5.3?

So we are letting machines that can’t even count or spell the alphabet do the coding for us. We are F…

2 Likes

That could be Storj’s next target-market:

ā€œAll your code is written by AI now? Make sure you have backups. Choose Storjā€ :money_mouth_face:

5 Likes

I’ve used 5.3. It’s good, and adds real value. Humans still own the code. I still think ā€œproviding positive valueā€ is a correctly calibrated expectation.

If there are major companies that truly don’t touch code, publish the names so I know which stocks to short.

1 Like