Skip to content
5b51765
Compare
Choose a tag to compare

PHP 7.4 IS NOT LONGER SUPPORTED AND WILL NOT WORK. Expect error 500.

We are aware this may not be a popular decision.

Please accept the rationale of such change:

  • Php supported version: we want to stay in the green zone, anything orange is ignored.
  • PHP 8.0 brings lots of improvements: stronger typing, JIT... read more here
  • Spatie requires in all their updated packages to be in version 8.0 (basically some of our dependencies).

What's Changed

Full Changelog: v4.3.6...v4.4.0

e86652f
Compare
Choose a tag to compare

THIS IS THE LAST VERSION OF LYCHEE WHICH SUPPORTS PHP 7.4.

  • fixes #1059 : Add Cache busting.
  • new #1049 / fixes #1011 : New Photos Email Notification
    • Send an email when new photos were added to albums that have been shared.
    • Use the laravel notification system to send via SMTP, env settings will need to be set up.
    • It is set to send out emails once a week via cron, so the laravel cron job would need to be set up.
    • Neither is required so if people don't want to set those up then it won't affect the operation of Lychee.
    • Add admin setting to toggle the notification option, which enables a user level menu item to change their email. This is purely opt-in, so users can clear their email if they don't wish to receive the emails anymore.
    • The email that gets sent out has been branded lychee, and will group the last week's worth of notifications and send them all out in one email to each user that has an email set up.
  • new #1065 : Add Polish translation.
  • new #1071 : Avoid git rebase conflicts during development on other branches
  • new #1086 : cli sync from from server with option to delete, import via symlink, etc.
  • new #1097 : Make language more gender neutral.
  • fixes #1102 : Character limitation of table column logs.function causes server error 500 for deployments with long installation path
  • fixes #1105 : Fix type issues related to thumbs
  • fixes #1108 : Fixes takestamps.
    • This should correct all instances of incorrect album min/max takestamps and as a bonus be computationally much less expensive.
  • fixes #1110 : round in php8 requires an int or float as the first argument.
  • fixes #1119 : No video upload when ffmpeg is missing
  • new #1122 : Improved French translations.
  • fixes #1121 : Fix lychee:video_data
  • fixes #1033 : A bit of JS to prevent multiple submissions of the migration form.
  • fixes #1127 : The upload_processing_limit parameter only works when uploading images in the admin account. It does not work for images uploaded by other users
  • new #1142 : also support Caps on size format in diagnostics.
  • fixes #1146 : artisan optimize crashes with Unable to prepare route
  • fixes LycheeOrg/Lychee-front#270: Copy To... didn't work correctly
  • fixes LycheeOrg/Lychee-front#273: Wrong support of ' (single quote) in some places
  • fixes #1123: Album renaming did not work reliably
  • new LycheeOrg/Lychee-front#276: Remember user preference for the visibility of the info sidebar
  • fixes LycheeOrg/Lychee-front#278: Fix the menu for smart and tag albums and in public mode, fix import into top-level albums view, fix empty info sidebar for albums

Full Changelog: v4.3.4...v4.3.6

8d41c0f
Compare
Choose a tag to compare
  • new #972 : more versions and dependencies check
  • fixes #954 : Google Motion Photo
  • new #988 : Added raw values of attributes to JSON API
  • new #1000 : Extended search for cameramodel and date.
  • fixes #998 : Use Guzzle7 instead of Guzzle6
  • fixes #994 : Disable login with Legacy if UserAdmin exists
  • new #991 : Add attribute 'filesize_raw' to entity 'Photo'
  • new #1016 : Refactor timestamps
  • fixes #1008 : null error on live photo import
  • new #1041 : Enhance German Translation

Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.html

0c0661d
Compare
Choose a tag to compare
  • new #940 : Improved support for touch devices.
  • new #939 : Responsive web design for small screens.
  • fixes #959 : Excluded '/api/Session::init' from CSRF protection (as per the API specs).
  • fixes #959 : Fixes .lycheeignore support.
  • new #942 : Add support for Portuguese language.
  • fixes #927 : Also copy over the password column when migrating from the very old version 3 of Lychee
  • fixes #932 : Public photos hidden

    It adds a new config variable public_photos_hidden, which defaults to 1 (preserving the current behavior). If set to 0, photos individually made public (rather than through an album) will be included in the results of a public search or in public tagged albums. Basically, they will no longer be treated as hidden (even though they still won't be findable through browsing; we could address that as well by making the Public smart album, well, public -- I welcome your input if we should, and if so, what to name the config variable to enabled that, other than public_public wink).


Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.htmlVe

3274d9a
Compare
Choose a tag to compare
  • fixes #882 : Password albums were broken.
  • fixes #891 : Download: file not found on password protected Album
  • fixes #895 : Default license display
  • fixes #888 : Refactoring of the rotation code
  • new #887 : Add the possibility to not display the GPS direction on the map
  • new #892 : Add --force option to the Command Line Interface for Takedate
  • fixes #890 : Fix delete bug when selecting multiple sub albums
  • new #901 : Add more diagnostics checks
  • new #905 : Improve Chinese translation
  • fixes #908 : Migration from v3 was broken since version 4.2

    By adding nested set tree, column _lft and _rgt did not exist on first import while the code required it.

  • new #919 : Add the possibility to limit the number of image being processed

    This will lower the memory load on the server, especially on RAM limited instances.

  • fixes #925 : Some user decided to upload pictures without extension, this broke our code...
  • fixes #903 : Windows microtime() was a bit slow, generating collisions in the uploaded file names.

    The file name are now generated from the sha1 hash of the file.

  • new #894 : Extend the functionality of Import from server to have the same interface as from the command line.

Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.htmlVe

a368964
Compare
Choose a tag to compare

Custom album covers (#875)

  • new #875 : Add custom cover for albums
    • custom album covers
    • IMPORTANT: support for 3 distinct images for albums dropped (overkill given that 2 are barely visible)

Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.html

97729f3
Compare
Choose a tag to compare
  • fixes #831 - Bad extension filename when you upload *.jpg

    The regression was introduced in 4.0.8 as part of #777.

  • new #874 - Update CLI Takedate
    • add option --timestamp added to set create_at to timestamp of media file for media that lacks EXIF information
    • use same formatting for 'sysdate' as for 'takedate'
  • new #832 - Major rework of backend
    • start using Livewire for the front-end, for now accessible at example.com/livewire if enabled via LIVEWIRE_ENABLED in .env (DO NOT USE, still in development)

    • use Facade AccessControl to access Session information (basically home-brewed Auth Facade)

    • use Facade Lang to access Lang information (Easier to use through the blade template)

    • heavy refactoring of the core, introducing more granularity:

      • Interfaces are Contracts
      • Group Factories
      • use trait on album for smaller dedicated operations
      • add Nested Set theory to Album to allow access to all descendants
    • fixes #843

    • fixes #846

    • fixes #858


Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.html

ccf7cf7
Compare
Choose a tag to compare

REQUIRE PHP 7.4

  • new #798 : Force migration page.

    when the database is behind the file version, we immediately redirect to a migration page to ensure that
    database columns are not missing, generating error 500.

  • new #800 : Move to GitHub actions instead of Travis CI.

    They are still available in the Ajax query

  • upd #799 #816 : Require PHP 7.4

    PHP 7.3 is EOL.

  • new #807 : add new command: php artisan lychee:rebuild_albums_takestamps

    there are instances where the album min max takestamps are broken. This allows the user to reset it.

  • upd #808 : Update traditional Chinese files.
  • fixes #813 : some error 500 during installations were not properly caught.
  • fixes #806 : Direct Links of albums do not respect url if lychee installed in subdirectory
  • fixes #811 : fall back to native metadata extraction on error
  • fixes #810 : fix(rss): avoid display feed link in HTML if RSS option is disabled
  • new #819 : add support for WebAuth: Yubikeys & fingerprint & other authentication devices.

    This is only available to the admin login (for now)
    Also implements shortcut k to pop-up the passwordless login interface.

  • new #822 : add sensitive albums
    • adds a new "flag" so that such folders can be recognized at first glance while being logged in.
    • adds a key-bind h who hides all folders previously marked as sensitive.
    • adds a pink star in the header to notify the user is in a Sensitive folder.
    • Changing this property is either done on clicking on the star or toggling it in the visibility parameters.
    • makes it possible to hide Sensitive folder by default.

    Important note: if a sensitive folder is set as public, it will be revealed by h. If you do not wish such public folder to be visible, set it as hidden.

  • fixes #831 : Use correct file name for small/medium downloads

    fixes a regression bug introduced by #777


Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.html

3e562ac
Compare
Choose a tag to compare

REQUIRE PHP 7.4

  • fixes #783 : Can't rename tag album

    Tag-albums were not accessible by albums.getByID

  • fixes #781 : Fixes a bug which prevented the use of sharing albums between users

    This rare bug was only triggered if a non-admin user was sharing an album with
    another user.

  • fixes #779 : Fixes some missing information on Tag Albums in the front end.
  • fixes #766 : It is no longer possible to use the 'photo rotation' functionality

    While the buttons are still accessible we now return an error instead of filling up
    the entire disk space of the server.

  • fixes #751 : In some rare instance, it was not possible to generate video thumbnails

    this is fixed. We try to reextract the 'aperture' property to get the thumbnail.
    We also added a warning in the case where FFmpeg was not enabled.

  • fixes #769 : when moving pictures in Image view, the second try resulted in failure

    we no longer clear the content of json.album when moving an image.
    This ensure that the required properties are still accessible

  • fixes : Settings are accessible in Image view

    There were rare sequence of events which prevented the settings view to open.

  • new : /Frame will now display a warning if no pictures are found.

    instead of staying a black screen, we now send an alert()

  • new : Share information are no longer displayed in public mode

    They are still available in the Ajax query

  • upd #773 : Update French localization

    spacing typos in French localization

  • new #771 : Update French localization

    minor changes in the French localization.

  • new #764 : Add Diagnotics warnings if the php init values are too low (less than 30M).
  • new #757 : Add limits on the number of logs seen.

    Too many logs lines where crashing php by using too much memory.

  • new #758 : Add the possibility to chose the picture ordering per album

    the admin can now chose whether to order by name etc per album instead of globally.


Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and access from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.html

v4.0.7
9a14a46
Compare
Choose a tag to compare
  • fixes #584 : Albums that do not allow photo downloads cannot be included as enclosures.

    This checks album permissions before creating the enclosure to add to the feed.

  • new #616 : Add picture rotations

    As known improvements, this code will rotate all images.

  • fixes #621 ( #623 ) : Original migration from v3 is less prone to break
  • new #625 : Better new smart albums

    this allows the ability to add more smart albums and more flexibility in using them.

  • fixes #642 : Permission problem on Windows

    Windows does not understand the concept of readable but not writable permission.

  • new #656 : Add support for FireTV
  • fixes #662 : Error code changes in PhP
  • new #660 : Add new available licenses
  • new #659 : Add lossless image optimization support
  • fixes #668 : Improved French translation
  • new #671 : Add a redirection system

    Instagram uses the hashtag for topics as a result, sharing a lychee link to an album does not work on it.
    Given example.com/r/123456 will be redirected to example.com/gallery#123456
    and example.com/r/123456/7890 will be redirected to example.com/gallery#123456/7890
    to allow sharing on such plateform.

  • new #667 : Add support for traditional Chinese language
  • new #678 : Add support for Norvegian language
  • new #677 : Make swipping tolerances configurable.
  • fixes #680 : Distinguish UTC vs local video takestamps
  • fixes #708 : More failsafe when migrating from V3.
  • new #704 : Add smart albums by tag

    it is now possible to create smart albums which will take a list of tag and return an album containing the pictures with those tags.

  • new #721 : Upgrade to Laravel version 8
  • new #727 : When checking a password on an album, upon success we also unlock the other albums with that same password.
  • new #749 : Add webp support to the GD handler

Packaged version of Lychee including the vendor folder.
Install process is as follow:

  1. extract the zip file.
  2. create your database and user manually

Then you have two possibilities:

  • cp .env.example .env
  • edit .env
  • php artisan key:generate
  • php artisan migrate
  • sudo chown -R www-data:www-data .

or

  • sudo chown -R www-data:www-data . and acces from your browser the Lychee installation and follow the installation steps

See change log: https://lycheeorg.github.io/docs/releases.html
See how to update: https://lycheeorg.github.io/docs/update.html
See how to upgrade from version 3: https://lycheeorg.github.io/docs/upgrade.html