Releases: VirtCode/serene-aur
v0.4.3
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
zshshell completions for the CLI- simple redirect endpoints to newest package files
- option to disable automatic package building
- option to set default value for
enabledsetting - 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
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_SEQUENCEconfig 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:
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
privatepackage 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 signaturessubcommand 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