Published by ildyria about 2 years ago
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.
npm install
in post-merge hook by @qwerty287 in https://github.com/LycheeOrg/Lychee/pull/1445
Full Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.5.3...v4.6.0-RC
Published by ildyria about 2 years ago
This is official release making the step from 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:
medium/ba/d0/9a28ec995ead4877dfa1befa2d3b.jpg
).@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 :
ZIP compression level can now be changed and the compression can be disabled.
Support of Vietnamese language.
Full Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.5.2...v4.5.3
Published by ildyria about 2 years ago
X
by @qwerty287 in https://github.com/LycheeOrg/Lychee/pull/1264
X
by @qwerty287 in https://github.com/LycheeOrg/Lychee/pull/1306
report
method. by @nagmat84 in https://github.com/LycheeOrg/Lychee/pull/1315
.env
by @qwerty287 in https://github.com/LycheeOrg/Lychee/pull/1361
key:generete
command to fix recreating key every time by @qwerty287 in https://github.com/LycheeOrg/Lychee/pull/1364
int
on getCode()
but a string
. by @ildyria in https://github.com/LycheeOrg/Lychee/pull/1407
Full Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.5.1...v4.5.2
Published by ildyria about 2 years ago
POST api/Album::getPositionData
by @nagmat84 in https://github.com/LycheeOrg/Lychee/pull/1256
RewriteRule
to .htaccess by @nagmat84 in https://github.com/LycheeOrg/Lychee/pull/1272
Full Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.5.0...v4.5.1
Published by ildyria about 2 years ago
Full Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.4.0...v4.5.0
Published by ildyria almost 3 years ago
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:
Full Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.3.6...v4.4.0
Published by ildyria almost 3 years ago
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 branchesnew
#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 pathfixes
#1105 : Fix type issues related to thumbsfixes
#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 missingnew
#1122 : Improved French translations.fixes
#1121 : Fix lychee:video_datafixes
#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 usersnew
#1142 : also support Caps on size format in diagnostics.fixes
#1146 : artisan optimize crashes with Unable to prepare route
fixes
https://github.com/LycheeOrg/Lychee-front/pull/270: Copy To... didn't work correctlyfixes
https://github.com/LycheeOrg/Lychee-front/issues/273: Wrong support of ' (single quote) in some placesfixes
#1123: Album renaming did not work reliablynew
https://github.com/LycheeOrg/Lychee-front/pull/276: Remember user preference for the visibility of the info sidebarfixes
https://github.com/LycheeOrg/Lychee-front/pull/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 albumsFull Changelog: https://github.com/LycheeOrg/Lychee/compare/v4.3.4...v4.3.6
Published by ildyria over 3 years ago
new
#972 : more versions and dependencies checkfixes
#954 : Google Motion Photonew
#988 : Added raw values of attributes to JSON APInew
#1000 : Extended search for cameramodel and date.fixes
#998 : Use Guzzle7 instead of Guzzle6fixes
#994 : Disable login with Legacy if UserAdmin existsnew
#991 : Add attribute 'filesize_raw' to entity 'Photo'new
#1016 : Refactor timestampsfixes
#1008 : null error on live photo importnew
#1041 : Enhance German TranslationPackaged version of Lychee including the vendor folder.
Install process is as follow:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria over 3 years ago
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 Lycheefixes
#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:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria over 3 years ago
fixes
#882 : Password albums were broken.fixes
#891 : Download: file not found on password protected Albumfixes
#895 : Default license displayfixes
#888 : Refactoring of the rotation codenew
#887 : Add the possibility to not display the GPS direction on the mapnew
#892 : Add --force
option to the Command Line Interface for Takedatefixes
#890 : Fix delete bug when selecting multiple sub albumsnew
#901 : Add more diagnostics checksnew
#905 : Improve Chinese translationfixes
#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:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria over 3 years ago
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:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria over 3 years ago
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 viaLIVEWIRE_ENABLED
in.env
(DO NOT USE, still in development)use Facade
AccessControl
to accessSession
information (basically home-brewedAuth
Facade)use Facade
Lang
to accessLang
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:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria almost 4 years ago
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 subdirectoryfixes
#811 : fall back to native metadata extraction on errorfixes
#810 : fix(rss): avoid display feed link in HTML if RSS option is disablednew
#819 : add support for WebAuth: Yubikeys & fingerprint & other authentication devices.
This is only available to the admin login (for now)
Also implements shortcutk
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:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria almost 4 years ago
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:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria about 4 years ago
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 breaknew
#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 FireTVfixes
#662 : Error code changes in PhPnew
#660 : Add new available licensesnew
#659 : Add lossless image optimization supportfixes
#668 : Improved French translationnew
#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 languagenew
#678 : Add support for Norvegian languagenew
#677 : Make swipping tolerances configurable.fixes
#680 : Distinguish UTC vs local video takestampsfixes
#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 8new
#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 handlerPackaged version of Lychee including the vendor folder.
Install process is as follow:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria over 4 years ago
new
#588 : add an option to the sync command to 're-sync' images that already exist.
Since XMP sidecars are now allowed, images with the same checksum will not get
updated metadata if the sidecar changes but the checksum remains the same. This
adds an optional flag to thelychee:sync
command that forces existing images
with no change in checksum to get updated metadata from XMP files (if they exist).
It only updates the image if the metadata read in differs from the metadata that
the image aleady has.
new
#599 : Added method to get the full path of albums.
Specifically in the sharing screen, when albums are sometimes named the same
(if they are organized by Year and Month), then it is impossible to tell which
album you are actually sharing. This adds the ability to get the album's
"full path" and sends it down for the sharing settings.
fixes
#596 : Failing xmp file read results in fallback to native exif extraction.
If the EXIF succeeds but sidecar fails, it reverts falls into the catch.
new
#574 : Support of HEIC files and subsequently convert raw files (e.g. .NEF) into jpeg.
if a raw file is imported such as .nef, php-imagick will try to generate a thumbnail jpeg for it.
Note that the extension still needs to be added in your advanced settings.Important: Lychee was never meant to convert RAW files such as .nef, .cr2 .arw etc.
If you shoot RAW, it is to be able to change exposure, dodge&burn, crop etc. later in
a proper image processing software such as Lightroom, > Photoshop, Capture One, Luminar, Darktable …
otherwise you better shoot JPEG. Lychee does not intend to provide those functionality.
new
#594 : Add debug bar for dev
install.
It is disabled by default, even in debug mode. To enable it, set
DEBUGBAR_ENABLED
totrue
in your.env
file.
new
#579 : Ghostbuster command to clean up dead symlinks.
The ghostbuster command also parses the database and see if some symlinks are dead.
It will delete the photo from the database in such case.
As this behaviour can modify the database, we disable it by default.
new
#577 : Parse additional xmp sidecars files to update metadata.
This reads in XMP sidecar files (if they exist).
Thankfully, exiftool supports reading in sidecars, so we can use the same
technique we're using to read the files. We merge both file and sidecar metadata,
taking priority based on user settings (default to prefer image metadata)
fixes
#581 : Undefined property errors when migrating from 3.1.6.
The missing
license
,lens
are now taken care off.
fixes
#565 : No Dropbox Import with Lychee 4.0.0.
The CSP was a bit too tight, preventing the execution of the script from dropbox.
Packaged version of Lychee including the vendor folder.
Install process is as follow:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee 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
Published by ildyria over 4 years ago
This is a very minor update version and mostly contains bug fixes and adds fail safe to help user install Lychee.
new
#551fixes
#557fixes
#550fixes
#460Packaged version of Lychee including the vendor folder.
Install process is as follow:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee change log: https://github.com/LycheeOrg/Lychee/wiki/Changelog
See how to upgrade from version 3: https://github.com/LycheeOrg/Lychee/wiki/Upgrade-from-version-3
Published by ildyria over 4 years ago
This is a very minor update version and mostly contains bug fixes and adds fail safe to help user install Lychee.
new
Better support for SQLitefixes
#539fixes
#533fixes
#529fixes
#525Packaged version of Lychee including the vendor folder.
Install process is as follow:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee change log: https://github.com/LycheeOrg/Lychee/wiki/Changelog
See how to upgrade from version 3: https://github.com/LycheeOrg/Lychee/wiki/Upgrade-from-version-3
Published by ildyria over 4 years ago
fixes
#498fixes
#508fixes
#510Packaged version of Lychee including the vendor folder.
Install process is as follow:
Then you have two possibilities:
cp .env.example .env
.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 stepsSee change log: https://github.com/LycheeOrg/Lychee/wiki/Changelog
See how to upgrade from version 3: https://github.com/LycheeOrg/Lychee/wiki/Upgrade-from-version-3
Published by ildyria over 4 years ago
fixes
#488fixes
#485fixes
#487 (at least parts, maybe completely?)Packaged version of Lychee including the vendor folder.
Install process is as follow:
sudo chown -R www-data:www-data .
From that point you can access from your browser the Lychee installation and follow the installation steps or you can do the steps:
cp .env.example .env
.env
php artisan key:generate
php artisan migrate
sudo chown -R www-data:www-data *
See change log: https://github.com/LycheeOrg/Lychee/wiki/Changelog
See how to upgrade from version 3: https://github.com/LycheeOrg/Lychee/wiki/Upgrade-from-version-3