Skip to content

v0.26.0

Latest

Choose a tag to compare

@kpcyrd kpcyrd released this 27 Mar 19:45
· 19 commits to main since this release
Immutable release. Only release title and notes can be modified.

⚠️ Major Changes

  • Complete database redesign (#184) - The database schema has been fully reworked with normalized tables: source_packages, build_inputs, binary_packages, rebuilds, and rebuild_artifacts. Build logs, diffoscope outputs, and attestation data is now stored in separate blob tables. Existing databases are migrated automatically (this may take some time, do not abort/interrupt!).
  • Package sync profiles now need explicit all/any in architectures (#184, #224) - Previously all packages visible to a certain architecture were scheduled (both architecture specific and unspecific packages). You now need to explicitly select the architecture independent packages (all for Debian, any for Arch Linux).
  • New v1 REST API (#184) - A new /v1/API was introduced that matches Debian's usecase of artifacts transitioning between releases more closely. The old /v0/ API still exists but is read-only for existing clients, workers need to upgrade to the new api routes however.
  • Historic builds are retained (#184) - The reproducible status, build log, diffoscope outputs and attestations of old packages are now retained. When upgrading rebuilderd, keep an eye on disk space to make sure you there's sufficient space available.
  • Initial schedule delay (#195) - It's now possible to artificially delay the first reproduce attempt. This gives archive infrastructure more time to catch up. Note however, when rebuilderd sees the package, users can usually also see the package and want rebuild-attestations immediately.
  • Limit number of maximum retries (#196) - Previously, unreproducible packages were retried indefinitely, it's now possible to configure an upper ceiling.
  • Filter by source package name (#219) - It was only possible to search by binary package name, it's now also possible to search by source package name (pkgbase)
  • Update Rust edition to 2024 (#207) - When building rebuilderd from source, you need a sufficiently recent Rust compiler.

What's Changed

  • Use diffoscope --timeout by @jspricke in #189
  • Database rework by @Nihlus in #184
  • Remove VACUUM from migration - rebuilderd automatically does this on schema changes by @kpcyrd in #193
  • Run rust CI on pull requests by @jspricke in #192
  • Use INSECURE as key in example config by @jspricke in #190
  • Fix minor bugs and clippy warnings by @kpcyrd in #200
  • Fix manual rescheduling by @Nihlus in #194
  • Update Rust edition to 2024 by @kpcyrd in #207
  • Support syncing of Debian releases with no packages by @kpcyrd in #208
  • Fixes and improvements for rebuildctl {pkgs,queue} by @kpcyrd in #209
  • README touch-up by @cen1 in #212
  • Make idle delay configurable by @cen1 in #211
  • docker-compose.yml improvement, .gitignore by @cen1 in #210
  • Implement a max_retries option by @Nihlus in #196
  • Implement an initial_delay option by @Nihlus in #195
  • Update dependencies (fixes for diesel and reqwest) by @kpcyrd in #213
  • Refactor test suite by @Nihlus in #215
  • Uncomment section headers in the default config file. by @Nihlus in #216
  • Test Debian .udeb packages (Closes: #203) by @jspricke in #218
  • Fix example profiles now needing all in architectures by @kpcyrd in #224
  • Update dependencies, convert some to workspace dependencies by @kpcyrd in #225
  • Add source_name param to binary API (Closes: #202) by @jspricke in #219
  • Fix some api routes for distros with release=null (e.g. Arch Linux) by @kpcyrd in #226

New Contributors

  • @cen1 made their first contribution in #212

Full Changelog: v0.25.0...v0.26.0

Thanks

We'd like to thank @repi for their support on github sponsors.