Skip to content

v4.4.0

Choose a tag to compare

@andi34 andi34 released this 09 Jan 06:37
· 25 commits to stable4 since this release

4.4.0 (09.01.2024)

Breaking changes

  • requires Node.js v18.17.0 or newer
  • requires npm 9.6.7 or newer

General

  • api: get rid of deleteTmpPhoto
  • cameracontrol.py: don't fail capturing images using Sony Cameras
  • result screen: reload after all files have been deleted
  • core: simplify print message handling
  • core: define tempImageUrl if and where needed
  • core: improve logging
  • api (takePic): only log return value issues on loglevel > 1
  • core/gallery: central QR modal handling
  • config: move preview bsm to commands section
  • preview: remove arrow functions
  • config(cleanup): remove unused success messages
  • api(previewCamera): use play or stop string instead true and false
  • preview: combine api.startWebcam and api.stopPreviewVideo functions
  • preview: adjust logging
  • preview: fix preview TEST mode
  • preview: fix checking for frame config
  • test(preview): fix preview with cmd
  • core(print): remove unneeded delay
  • optimized keyboard trigger
  • Remove fake buttons to trigger actions, use global functions instead
  • core: simplify check to.clear timeout
  • core: blur picture / collage buttons as needed
  • core: we already blur printBtn after print
  • livechroma: add notification via modal message on trigger via keyCode
  • livechroma: adjust keyCode trigger handling
  • core: adjust keyCode trigger handling
  • logging: adjust some console log messages
  • core: remove unneded focusSet on QR btn click
  • config: remove collage only config, allow to enable/disable picture instead
  • configsetup: define remotebuzzer server port first
  • lib(applyText): remove unneeded if-else statements
  • lib(applyText): add error handling, return unmodified resource on error
  • lib(applyText): throw Exception if text can't be applied
  • lib(applyFrame): add error handling, return unmodified resource on error
  • lib(applyFrame): throw Exceptions if needed
  • lib(polaroid): return unmodified resource on error
  • lib(polaroid): throw exceptions if needed
  • lib(resize): add try-catch-block to rotateResizeImage function
  • lib(resize): throw exceptions on rotateResizeImage if needed
  • lib(resize): add try-catch-block to resizeImage function
  • lib(resize): throw exceptions where needed on resizeImage
  • lib(resize): validate dimensions
  • lib(resize): add try-catch-block to resizePngImage function
  • lib(resize): validate dimensions on resizePngImage function
  • lib(resize): throw exceptions where needed on resizePngImage function
  • lib(resize): add try-catch-block to resizeCropImage function
  • lib(resize): validate dimensions on resizeCropImage function
  • lib(resize): try to clear cache on error
  • lib(resize): adjust check if resize was possible
  • lib (collage): only test file if needed
  • js(tools): add print image function to reuse
  • gulp: updated with ECMAScript Modules (ESM) syntax
  • task: bind docker do port 80 and 443
  • task: bump node version to v18 LTS and drop yarn
  • task: only limit node and npm version by minimum versions
  • package: switch to marked to formatt faq
  • remotebuzzer server: log earlier
  • remotebuzzer-server: update sanity check, only check if needed
  • remotebuzzer-server: allow GPIO to be any number (#529)

Bugfix

  • fix: start shutter animation independent of cheese image
  • cameracontrol.py: don't fail capturing images using Sony Cameras
  • core: fix Test value for CameraDisplayMode
  • test preview: fix Test value for CameraDisplayMode
  • UI
    • UI: use highlight color for hover
    • gallery: respect button and font color
    • Prettier display delete status
    • ui: adjust modal transparency and font-weight
    • core: use own div for general different modal messages
    • delete: adjust delete notification messages
    • style: use secondary color for backgrounds where needed
    • task: fix colors while processing images (#375)
    • ui(gallery): only show 3 images in a row on mobile phones
  • core: fix delete on collage with interruption
  • Check if images array is empty
  • Standalone Gallerie: add missing js file
  • core(fix): init PhotoSwipe after remoteBuzzer
  • api (takePic): only abort if file was not created
  • preview: respect offset to hide preview
  • preview: respect offset to hide preview from URL
  • slideshow: clear timeout to prevent from running timeout multiple times
  • remotebuzzer server: Determine whether or not GPIO access is possible
    • remotebuzzer server: fix checking for gpio config
  • welcome: use index.php instead of detected URL
  • api (admin): don't reset log on preview config error
  • core(preview): remove preview mode check if image is captured from preview
  • core: check for preview stream instead use of demo images
  • core(preview): stop preview on countdown slightly earlier
  • remotebuzzer server: fix for Node.js v16
  • submodules: ignore dirty state
  • core: hide result screen on reset
  • remotebuzzer client: fix log
  • Revert "stabilized rotary encoder handling"
  • remotebuzzer client: handle QR in gallery
  • remotebuzzer client: close qr modals directly if needed
  • added explicit int conversion
  • gallery: Collage only config was removed
  • sync-to-drive: fix for Node.js v16
    • Sync more Filetypes
  • lib(config): adjust print command for Windows
  • api (previewCamera): $config is not available, remove logging for now
  • remotebuzzer: respect config also on get request trigger
  • remotebuzzer: don't trigger a different action if disabled
  • remotebuzzer client: check if taking pictures is enabled
  • trigger.php: add missing options, respect hardware button config
  • lib (db): fix for PHP 8
  • api(admin): check if fonts, frames and collage placeholder are valid
  • core: clear/reset timeout on keyup (#226)
  • lib (image): fix applying text to images, fail if text CAN NOT be applied
  • lib(image): don't keep aspect ratio while resizing PNG
  • bugfix: supprress error messages on getimagesize function
  • api(admin): image filter depends on images in tmp folder
  • fix hiding/showing home button independent of button bar on result screen
  • index (frame): respect preview frame config
  • core: don't add images to gallery if gallery is disabled
  • core: print & qr code only if enabled
  • bugfix: update dockerfile
    • add missing python3
  • lib(resize): fix rotating images on PHP8

Feature

  • config: make time adjustable a notification is visible
  • preview: allow to delay the visibility of the preview from URL
  • preview: allow execution of start/stop cmd without validation
    • config: run preview CMD's without validation by default
  • preview: run preview cmd & stop cmd independent of preview mode
  • remotebuzzer: make print and rotary functions available via get request
  • remotebuzzer: Reboot Button
  • remotebuzzer: make shutdown and reboot available via get request
  • task: enable lazy loading for gallery images (#383)

FAQ

  • FAQ: add note to fix broken v4l2loopback module (#109)
  • FAQ: add notes about issues while taking a picture
  • faq: a username is needed while running enable-usb-sync.sh
  • Updated FAQ - how to upload pictures to remote server (#127)
  • FAQ: preview bsm was moved
  • FAQ: no need for success message
  • FAQ: add instructions to update gphoto2 & libgphoto
  • FAQ: adjust PiCamera information (#417)
  • FAQ: Add possible preview error because of secure boot (#437)
  • FAQ: adjust GPIO setup for PiOS Bookworm
  • FAQ: adjust GPIO information for Raspberry Pi 5; adjust for Pi OS versions

Install

  • install: adjust PolKit rule naming
  • install-photobooth: allow to add PolKit rule on all linux distros
  • install-photobooth: PolKit rule doesn't depend on update
  • install-photobooth: make system update optional on photobooth update
  • install-photobooth: fix permissions on yarn folder
  • install-photobooth: easy access to private folder
  • install-photobooth: always ignore filemode changes on git
  • install-photobooth: allow Node.js minor version to match or be newer
  • install-photobooth: be flexible on Node.js version
  • install: yarn: use of apt-key is deprecated
  • install-photobooth: use PHP 8.2 by default
  • install-photobooth: PHP8 sources needed earlier
  • install-photobooth: add https://packages.sury.org/php/ only if distro is supported
  • install: also run apt autoremove while removing nodejs
  • install: switch to latest development version of Gphoto2
  • install: fix PHP8 install in Ubuntu 20
  • install-photobooth: improve/fix PHP8 install on Ubuntu
  • install-photobooth: fix missing sources.lst on Ubuntu 22.04
  • install-photobooth: install npm on Raspberry Pi
    • bugfix: correct installer
  • install: add ppa for PHP on all Debian based distributions
  • install: run commands as www-data user
  • install: install needed packages for gphoto2 webcam service only if needed
  • install: use wget to check internet connection
  • install: update nodejs install
  • install: suppress most progress infos, only display essential output
  • install: fix permissions for www-data user on install
  • install: check for npm on all devices
  • install: remove npm from packages, uninstall libnode72 if installed
  • install: update npm to latest
  • install: fix Download of node-install (Raspberry Pi)
  • install: also check NODEJS_MINOR version
  • install: always install nodejs from official node source
  • install: only fail on Node.js below v18, recheck version if update is skipped
  • install: proof npm version, abort if needed
  • install: fix checking npm version
  • install: check for Firefox browser first
  • install: also check for firefox-esr
  • install-photobooth: remove autostart and hide mouse
    • installer: remove leftover from removed questions/features
  • install-photobooth: don't compile gphoto2 and libgphoto2 (#439)
  • install: check if /boot/config.txt is a symlink (#465)
  • install-photobooth: adjust Update for www-data user (#498)
  • install-photobooth: install npm 9.6.7 if needed (#531)

Full Changelog:

v4.3.1...v4.4.0