Skip to content

Releases: VirtCode/serene-aur

v0.4.3

18 Dec 10:40

Choose a tag to compare

Welcome to a small release of Serene before the holidays. This brings a couple of fixes regarding the AUR and some minor features. Upgrading should be easy and not require any changes on your side.

Highlights

AUR Usage Improvements

The main fixes this version brings are about when and how the AUR is used. This fixes a bug of Serene hanging when updating a lot of package sources (probably because of a new change to their DDOS protection). Additionally, it no longer connects and uses the AUR when resolving dependencies during build, reducing overall requests made.

GitHub Mirror Support

In addition, Serene now includes first-class support for the experimental AUR GitHub mirror. This is useful if the AUR happens to be down again or suffers more DDOS attacks. It is not enabled by default but can be enabled in such cases. This also allows you to have a Serene setup which is fully independent from the AUR servers. Note however that archlinux explicitly marks this mirror as experimental so things might change without warning.

See more about this and how to enable it on its documentation page.

Changelog

Here's an overview over all other changes in this release. Full Changelog: v0.4.2...v0.4.3

Additions

  • zsh shell completions for the CLI
  • simple redirect endpoints to newest package files
  • option to disable automatic package building
  • option to set default value for enabled setting
  • CLI flag to skip first build when adding a package
  • support for the experimental GitHub mirror

Fixes

  • don't use the AUR for resolving build sequence
  • use timeout and retry AUR info requests

Pull Requests

v0.4.2

25 Aug 23:06

Choose a tag to compare

Welcome to the first actual GitHub release of Serene! This release is mainly focussed on finally having a proper versioning strategy and proper documentation. It includes a couple QOL and preformance improvements too. So let's get into it.

This release is not backwards compatible, so consider making a backup before updating.

Note that at the time of release, the AUR is suffering from DDOS attacks, so it is sometimes unreachable. In these cases, builds in Serene may fail fatally because the build sequence cannot be resolved. As a temporary solution, you might consider disabling that feature with the RESOLVE_BUILD_SEQUENCE config variable if you can live with that. Note that adding packages during those times won't work for obvious reasons either way.

Highlights

Versioning Strategy

Beginning with this release, Serene will have a proper versioning strategy. Instead of just using the latest build from the main branch, you should now use tagged releases, or preferrably the :latest docker image which points to the latest release. When using a release docker image,

  • the server will use a runner image which is compatible with it's version.
  • the CLI that is built by the server will also always be of the same version as the server.

For more information about this, see the documentation.

Documentation Site

Serene finally has proper hand written documentation! I have taken the time to split up and largely rewrite the previous half-baked docs, and have written some additional guides about Serene's inner workings and created some example docker compose deployments to go off of. This means the docs are more accessible and not just three massive README.md files.

Thanks to @WhySoBad, the documentation is now also hosted on a dedicated GitHub page, which is a lot more beautiful and convenient than having them just stored in the repository. Check it out below:


 Serene Documentation 

Performance Improvements

The only major technical change in this release is that build logs are now stored outside of the database. This reduces the database filesize significantly (in my case 600mb down to 3mb), which makes it a lot faster especially on servers with slow storage. This significantly reduces the likelihood of running into the dreaded database locked fatal error when the server is under heavy load.

When updating to this release, the server will automatically start to migrate its logs on startup. Be warned that this can take quite a while, based on your disk speed. On my server with a very slow disk, it took about 35 minutes to migrate about 9100 builds.

Onboarding Procedure

As a last major change, the CLI of this version also includes a new onboarding procedure that shows up when serene is run for the first time on a new machine. It will now directly check connectivity to the server and help you set up the pacman repository including package signature verification.

Changelog

Here's a overview over the changes in this version. Full Changelog: v0.4.1...v0.4.2

Additions

  • add private package property to hide prepare commands of certain packages
  • proper and extensive documentation including website
  • new log storage outside of database on filesystem
  • build the CLI consistently with the server version
  • overhauled CLI onboarding procedure
  • serene host signatures subcommand to import package signing key into pacman

Fixes

  • check for cli updates after server start
  • clear pacman cache in build containers
  • create empty pacman repository on first startup
  • update alpine version in docker container
  • various minor fixes

Pull Requests