- Updated dependencies to the most-recent supported version
- Unified logging all over the library. Print statements are now rare. This makes it easier to identify why Inkycal isn't working without having to look up the logs
- Inkycal now makes use of a JSON-Cache to make it more resilient against resets etc. For example, the slideshow module will remember the last index even after a shutdown
- Inkycal now uses a list of supported displays instead of having to look up each driver in the driver directory
- Renamed tests according to python standards, starting with `test_..`, allowing unittest/pytest to automatically discover and run these tests.
### Fixed
- Fixed an annoying vertical alignment issue causing some characters to look chopped off
- Fixed the alignment of the red-circle on the calendar module
- Fixed weekday-names not translating in the weather module
- Fixed python 3.11 issues with numpy on Raspberry Pi OS
- Added long-awaited support of PiSugar v1/2/3. Still a bit experimental (no calibration handling), but works for most part. If PiSugar support is enabled, Inkycal will set the new alarm before shutting down the system, increasing battery life. Please note that around 70 updates were possible with the 1200mAh PiSugar 3 board, so one update a day to three should be max to get at least one month battery life.
- Added Webshot module which can be used to display a webpage. Works on InkycalOS-Lite too and does not need a GUI.
- Added XKCD module
- Added Tindie module
- Added support for much longer update-intervals than the previous max of once every 60 minutes
- Added Material-UI icons font
- Added dedicated Pipeline for unittests directly on Raspberry Pi OS to ensure Inkycal can run reliably on Raspberry Pi OS
- Added Feature-request and PR template
- Added support for 5.83" display (v2)
- Added support for 12.48" display on 64-bit systems
- Added Inkycal fullweather-module
- Added `settings.py file (not to be confused with `settings.json`) to set VCOM and other internal variables
## [2.0.3] 2023
### Changed
- Switched from pyowm to custom wrapper as pyowm only works up to python3.9, which is now outdated.
- Updated dependencies to the most-recent supported version
### Fixed
- Fixed python 3.11 issues with numpy on Raspberry Pi OS
- Fixed compatibility issues with Pillow when switching from v9.x to v10.x, particularly font width and height operations
- Renamed tests according to python standards, starting with `test_..`, allowing unittest/pytest to automatically discover and run these tests.
* Added support of 12.48" E-Paper display (all variants)
* Added support of 10.3" parallel display
* Added support of 9.7" parallel display
* Added support of 7.8" parallel display
* Added support to run Inkycal on non Rpi-devices
### Changed
* Installation procedure changed to virtual environments. This keeps Inkycal dependencies isolated from the system itself, allows clean uninstalling and makes it OS-independent
### Removed
* Removed installer for better transparency of install
* Added new design option: **Agenda-View**, which displays events in the next few days with timings
* Added support for multi-day events
* Added support for multiple languages
* Added support for localisation options (dates will be shown in the set language now)
* Added new fonts (NotoSans Semi & Noto Sans CJK) which support many languages (without displaying tofus)
* Added dynamic space management to minimise empty space on the generated image
* Added support for RSS-feeds. It is now possible to display them in the bottom section
* Added image pre-processing operation to allow displaying the generated image correctly on the E-Paper
* Added limit (in days) when fetching events from the iCalendar
* Added option to select the display-update interval*
* Added user-friendly Web-UI (webpage) for entering personal details easily (Credit to TobyChui)
* Added support for continuing the loop even if some details are missing in the settings file (api-key, rss-feed)
* Added support for relative path and removed explicit path
* Added support for timezones. events timings will be shown correctly using the system's set timezone
* Added support for 12/24 hours format for events
### Changed
* Changed E-Paper layout by splitting the image into three section: top-, middle, bottom.
* Changed the way the installer checks if a required package is installed (by test-importing it in python3)
* Changed the function which displays text on the Calendar
* Merged e-paper driver files (initially epd7in5b and epd7in5) into a single one (e_paper_drivers)
* Switched from image-based translations to text-based translation
* Changed algorithm for filtering events
### Removed
* Removed (older) fonts which were not suitable for multiple languages
* (Temporary) removed support of recurring events due to some known bugs
* (Temporary) dropped support of the installer on Raspbian Jessie Lite due to some known bugs
* Removed image-based translations for month names
### Fixed
* Fixed problems with iCalendar triggers by removing them altogether when parsing the iCalendar
* Fixed problems with outdated events
(*) Updating too frequently can cause ghosting, a problem specific to E-Paper displays where parts of the previous image can be seen on the current image. Ghosting can be fixed by 'calibrating' the E-Paper (displaying a single colour on the entire display) and is done by default. As a rule of thumb, one 'calibration' should be done for every 6 display-updates to maintain a crisp image.