Releases: AndreWohnsland/CocktailBerry
v1.6.1 - Better UI and UX
With this small update, a big amount of bottles is possible - you can use up to 16 Bottles now in your machine!
New features of this release 🆕
- Increased maximum bottle number to 16
- Added validation of list length for pump pins, volumes, and team names to satisfy minmal length
v1.6.0 - Better UI and UX
First, this project is called CocktailBerry from now on, a combination of Cocktail and Raspberry Pi. It's a much nicer and fitting name for this project. We even got a slogan and a nice icon within the docs! 🎉
With this update, a lot of new and helpful features were introduced. There are now scripts for automatic setup of your whole Pi (less manual work, wuhu!) and some long time overdue fixes of the GUI within the maker. Also, we got a cool new Dash WebApp frontend available for an even better looking dashboard! 🚀
New features of this release 🆕
- Setup scripts available for fast and easy machine setup
- Install Docker and Docker-compose with one command
- Install the machine dependencies, auto run scripts and optional set up Docker container with one command
- Install everything for the dashboard, option to choose your dashboard representation with one command
- New dashboard option with interactive chart
- ListWidget got now better visuals, like slider background colour as well as up and down arrows on the buttons
- The alcohol level slider will now finally respect its step size and is easier to handle
- The dashboard API will now correctly filter and return the data, if a limiter is present
Dev Notes 🔧
- A lot of good refactoring went into the dashboard modules to make them more understandable and cleaner
- The old Streamlit frontend was replaced with a more fitting Dash one
- Dockerfiles now use Debian 11, Python 3.9 base images, like the new Raspberry Pi OS
- There is also a language.yaml file for frontend translation now
Breaking Changes 💀
- pyfiglet is a new needed dependency. The migrator will automatically install the library on the version update
- The GitHub URL changed due to the name change. Even though the old URL will still work fine (thanks GitHub 😄), the migrator will set the origin to the new URL. You can also set it yourself to https://github.com/AndreWohnsland/CocktailBerry.git, but it should happen automatically
v1.5.3 - Autoupdates and Persistence
New features of this release 🆕
- Added typer for better CLI interface, You can now use:
python runme.py -c
to run the calibration program orpython runme.py
to run the normal cocktailmaker- Also run
python runme.py --help
orpython runme.py --version
for help and version info
- Calibration screen got a new look, fitting for the main application
- The docs got better!
Dev Notes 🔧
- Version is now stored in
src.__init__
- Calibration module is now coupled into the main src folder for better code reusage
v1.5.2 - Autoupdates and Persistence
New features of this release 🆕
- Better scaling at larger resolution for the maker tab
- Changes for the latest Raspberry Pi OS (Bullseye)
- New checkbox indicator
v1.5.0 - Autoupdates and Persistence
This version introduces a migrator and an updater - get the latest version over your interface and let the program do all the necessary database migrations for the latest update. Also, never lose any team data again, even if your dashboard goes mysteriously down.
New features of this release 🆕
- Introduced migrator module to be able to make local migrations automatically with new version releases
- Introduced updater module to programmatically check and fetch the latest version from GitHub
- Added buffering / queuing of failed payloads for team data and resending when it is possible again
Bugfixes 🐛
- Fixed a bug causing the program to crash when interrupting the cocktail
Dev Notes 🔧
- Restructured maker structure to have all code within the src folder
- Renamed German DB columns to English names
- Introduced additional table for failed team data buffering and according logic
- Added new dialogue method to ask a yes or no question
- Improved logging of some notable events into the log files
Breaking Changes 💀
- Python 3.7 is now at least required due to the usage of GitPython
- New config variable
MAKER_SEARCH_UPDATES
, default is false - Database column names are now referenced by their English names - the migrator will automatically adjust the local DB - updating to 1.5.0 causes your local DB not to work with older versions
v1.4.1 - Better Interfaces
New features of this release 🆕
- Dynamic adjustment of displayed bottles according to amount of bottles specified in the config
- Dynamic adjustment of cocktail / ingredient data and sorting by amount in the maker tab for better recipe ingredient clarification / display
- Automated logging of errors into
debuglog.log
in case of a program crash
Bugfixes 🐛
- Fixed fetching names from bottles, which could result in an unwanted refresh behaviour of the bottle dropdowns
- Fixed spelling mistakes
Dev Notes 🥼
- Thanks to the introduction of the new models for ingredient and cocktail (recipe) data as objects, a lot of code was refactored and simplified. Many database methods could be dropped and replaced by one unified method. This also enables new features like easy dynamic recomputing of the maker display data
- Almost all methods and classes got now type hints and docstrings for better documentation and IDE support
v1.4 - Better Interfaces
All the interfaces have been improved with respect to UI/UX, as well as dynamic scaling. Additionally, some improvements to language support have been made, general improvements as bonus on top. 🎉
New features of this release 🆕
- Scaling UI elements for all windows, using different monitor dimensions should not be a problem any more! You can use the new
UI_WIDTH
andUI_HEIGHT
for your desired dimensions. - Using inverted button styles for strong focus on the primary buttons
- Redesigned maker and recipes tab layout
- Type checking of config properties takes now place and will raise an exception on program start
- Documentation now got a possible ingredient list for basic usage
- Almost all dialogues now use full screen
- Removed minimize / close button for none full-screen windows, this was only an issue on the RPi
Bugfixes 🐛
- Fixed the maker not cleaning selection display on every possible scenario
- Teams button now word wrap too long line into multiple lines if multiple words are used
- Added window icon to windows missing it
Dev Notes 🥼
- Moved all language related settings (dialogues, UI renaming) to an own
language.yaml
file within thesrc
folder. Contributing new languages is now even easier! - Added
Contributing.md
and templates for issues (Bug report and Feature request)
Breaking Changes 💀
.language.env
is now.env
, defaultenv.example
is provided for copying into this file- New configuration options:
- UI_WIDTH
- UI_HEIGHT
v1.3.1 - Language Support and Good Config
Bugfixes
- Removed Literal in code to work with Python < 3.8
- Updated dashboard .env keys to not conflict with Raspberry Pi default environment key
- Fixed a bug not extracting right folder path using dashboard app at Linux systems
v1.3 - Language Support and Good Config
Again, a lot of work has been done 🎉
New features of this release 🆕
You got some cool new stuff:
- Stand-alone config for persistent and git-independent support ⚙️
- After the first machine run, a
custom_config.yaml
will be existent - Use the config to tweak your maker to your liking
- After the first machine run, a
- Language support and according restructuring 💬
- Using
UI_LANGUAGE
to change the language of the maker - Currently, English (en) and German (de) is supported
- Using
- Calibration module for set up and fine-tuning of your pumps 💧
- Even better and more documentation 📄
- Pictures now with English interface
- Hardware list now available
- Instructions for cleaning and calibration
- Prettier RPi module outputs
- Bugfixes and code clean-ups 🧹
Breaking Changes 💀
Due to the restructuring, the config names changes to better represent their use:
- USEDPINS > PUMP_PINS
- NUMBER_BOTTLES > MAKER_NUMBER_BOTTLES
- CLEAN_TIME > MAKER_CLEAN_TIME
- SLEEP_TIME > MAKER_SLEEP_TIME
- USE_MICROSERVICE > MICROSERVICE_ACTIVE
- USE_TEAMS > TEAMS_ACTIVE
- DEVENVIRONMENT > UI_DEVENVIRONMENT
- PARTYMODE > UI_PARTYMODE
- MASTERPASSWORD > UI_MASTERPASSWORD
LOGGERNAMEremovedLOGGERNAME_DEBUGremoved- UI_LANGUAGE new
v1.2 - Teams and More
This release was a lot of work, but here we are! Finally, a teams function is here 🎉
Features of this release:
- Teams: You can now enable the teams function. Select one of two teams to book the cocktail to the team. An API will receive and save the data, a Dashboard will display in live time the according data. In the future there may even be individual person support with NFC, but we will see 👁️
- Persistent Hook Post Save: In case of active microservice but not having an internet connection, the data will now be saved into a DB for later resending. So you will always get the data to your hook (someday 📅)
- New Docker-Compose Files: Of course there are adjusted and new files for existing and new service setups
- Improved Docs: A lot more information how to set up things like docker 🐳, the RPi Autostart 💻 or just some troubleshooting ❓
- Refactoring: As always, make the old code better. We still got some way to go to get rid of all rookie mistakes, but the code gets cleaner and more efficient over time 🐎
- Easier to Set Up: Started Adding scripts and config for faster setting up on the RPi 📜