Skip to content

Migration: v3.x → v4#

CocktailBerry v4.0.0 introduces the hardware extension system: scales, carriages, RFID readers, LEDs, and dispensers are now pluggable.

For most users, the upgrade is automatic — config keys are migrated on first start and the bundled launcher script handles the new dependencies.

I am hitting an error on first start after the v4 update#

Run the dependency installer once:

cd ~/CocktailBerry
bash scripts/dependency_installer.sh

Then start CocktailBerry as usual. If the issue persists across restarts, add the line above to whatever script you use to launch CocktailBerry, so it runs every time:

bash scripts/dependency_installer.sh
# uv run ....

The bundled scripts/v1-launcher.sh and scripts/v2-launcher.sh already do this. If you use them, you don't need to do anything.

Why the dependency installer is needed#

v4 adds two system-level dependencies for scale support: liblgpio-dev and the HX711 C library. The dependency installer takes care of both. Without it, uv may fail to install the Python dependencies and the program will not start.

Config is migrated automatically#

Old config keys (RFID_READER, LED_NORMAL, LED_WSLED, I2C_CONFIG[].address_int, the flat PUMP_CONFIG) are converted on first start. A backup is written to ~/cb_backup/custom_config_pre_4.0.0.yaml before any change. See the general guide for the restore flow if anything goes wrong.

Hardware extensions — opt-in#

If you want to write your own driver for a scale, carriage, RFID reader, LED strip, or dispenser, see Hardware Extensions. Default hardware works without any changes here.