Skip to content

Releases: LycheeOrg/Lychee

Version 4.6.0 RC - Refactoring of Authentication layer - Admin login changed!

19 Aug 22:01
ecd06a6
Compare
Choose a tag to compare

Important

Once the migration is applied, should you wish to rollback, you will need to reset your admin user otherwise it will not be possible to log as admin anymore.

What's Changed

Full Changelog: v4.5.3...v4.6.0-RC

Version 4.5.3 - New folder structure & more

07 Aug 16:28
fe173e4
Compare
Choose a tag to compare

This is official release making the step from 4.4.0.

IMPORTANT

  • The internal representation of Albums changed with version 4.5.0; we strongly recommend that you BACK UP YOUR DATABASE BEFORE UPDATING.
  • The folder structure changed for images; please check the required directory permissions.
    Read more here ».

Notable Modifications (since 4.4.0)

  • New ID scheme. Albums and photos are migrated to a new ID scheme. Previously, albums and photos used time-based integer IDs. The new IDs are truly 144bit of randomness encoded in Base64 as a 24-character string; e.g., if your photo had the URL https://my-domain.tld/r/16102925744307/16102927818284 before, it may have the URL https://my-domain.tld/r/GTqZfSso3nPeCnTNW4ovisgC/jM6KkmlK7X0LtVas5MjrHtTO after the migration. This means, external links to your albums or photos will stop working. However, we implemented a redirection service. You can enable/disable the re-direction service under Settings > More > legacy_id_redirection. This gives you time to migrate any external reference to the new IDs. We also generate a log entry every time the redirection service is used. This log contains the legacy and new ID as well as information where the request came from. This may help you with the migration of your external links.

  • New folder structure for images:

    • Deep directory structure. Instead of all images of a certain kind residing in a single, flat directory (potentially containing thousands of files), we now have two additional two-letter directory levels under each kind (e.g., images are stored as medium/ba/d0/9a28ec995ead4877dfa1befa2d3b.jpg).
    • HiDPI (@2x) variants now reside in their own directories.
    • big has been renamed to original.

    Note that this only affects newly added photos; those added in the past are not moved to new locations. Also, see the note above about directory permissions.

  • Refactoring of the internal architecture and the representation of albums. While this didn't add any major new features, a number of optimizations have been put in place to speed up various operations, e.g., on installations with many hundreds of albums. Because this requires a particularly complex database migration, those with existing installations should pay attention to the note above about backing up their database.

  • Refactoring of error handling and reporting. This should result in more meaningful error messages both in the web front end and in the server logs (instead of the old cryptic "Server error or API not found" messages).

  • Refactoring of the file handling during upload/import. Instead of using temporary files and (re-)reading them many times, we now rely on file streams. This not only speeds up processing during upload/import (by around 50% in our tests), but is also an important step towards future support for the use of AWS S3 as image storage.

  • New features in the web front end :

    • QR code added in the sharing menu.
    • GPX tracks can be added to albums for displaying together with photos on the map.
    • Drag/drop support added for albums and photos to facilitate more intuitive Move/Merge
  • ZIP compression level can now be changed and the compression can be disabled.

  • Support of Vietnamese language.

What's Changed (since 4.5.2)

Full Changelog: v4.5.2...v4.5.3

Version 4.5.2 - Use Filestreams, Improve handling of Errors - Add QR code sharing

06 Aug 09:03
0c3619e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.5.1...v4.5.2

Version 4.5.1 - SQL Optimizations and fixes

06 Aug 09:01
af768af
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.5.0...v4.5.1

Version 4.5.0 - Refactoring of Model Architecture

06 Aug 08:59
32c374d
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.4.0...v4.5.0

Version 4.4.0 - Full support of PHP 8.0 and 8.1 - dropped 7.4

03 Dec 21:04
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

Version 4.3.6 : Last version with php7.4 support!

23 Nov 11:13
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

Version 4.3.4

09 Jul 10:15
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

Version 4.3.0 - Support for PHP 8 + UI improvement on Touch devices

18 Apr 11:13
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

Version 4.2.2 - Various fixes + minor new functionalities

16 Feb 11:14
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