You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/releases.md
+79-2Lines changed: 79 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,84 @@
30
30
31
31
## Version 6
32
32
33
+
### v6.6.6 😈
34
+
35
+
Released on Jun 11, 2025
36
+
37
+
#### Spicy change: Photo and Album relationships, Colour palette extraction and more!
38
+
39
+
Evil number, spicy changes. This release brings a big turn in the way photos and albums are related to each other.
40
+
Before version 6.6.6, a photo could only be in one album at a time. This was a willing decision aimed at simplifying the way
41
+
photos were accessed and rights were handled. As a result, duplicates would effectively be duplicated rows in the database, which in itself, does not pose a problem of storage.
42
+
However, as I was implementing one of the coming feature: a *Timelines* page, it became clear that this was not going to be usable.
43
+
Duplicates would be displayed successively in such page and it would be impossible to distinguish them. This became the main reason for this change.
44
+
45
+
While doing this change, it also became clear that legacy ids for albums could no longer be preserved.
46
+
As a result, we dropped the legacy ids for albums and photos. This means that the remnants of API v1 are now completely gone.
47
+
48
+
This release also brings the support of two new languages: Arabic and Dutch. The former is still in early steps as we are still using the Left-to-Right (LTR) layout,
49
+
but we are planning to also add Persian (fa) and with it a full Right-to-Left (RTL) display.
50
+
51
+
We also added a registration page, which you can enable/disable in your settings.
52
+
53
+
Finally for the great supporters of Lychee we added two new features:
54
+
55
+
- The ability to create user-groups. This functionality is currently hidden behind a feature flag, but we are planning to make it available soon.
56
+
This will allow you to create groups of users and share albums with those groups, simplifying the sharing process.
57
+
- The extraction of the dominant colour palette from photos (you will need to enable it in your settings).
58
+
59
+
60
+
#### Most notable changes
61
+
62
+
`SE` refers to functionalities that are aimed at the Supporter Edition.
63
+
64
+
*`new`#3387 : Dutch translations by @ildyria.
65
+
*`new`#3396 : Arabic support by @ildyria.
66
+
*`new`#3388 : Support space in search terms by @ildyria.
67
+
> You can now search for terms with spaces, to do so, you will need to use quotes around the search term.
68
+
*`new`#3383 : Add option to disable slideshow by @ildyria.
69
+
> One of our users requested the ability to disable the slideshow mode in the photo view.
70
+
> Well here it is! Available as an option in the settings page.
71
+
*`new`#3384 : Add registration page by @ildyria.
72
+
> Registration is disabled by default, but you can enable it in the User Management section of the settings page.
73
+
*`new`#3379 : Add option to override the album visibility for smart and tag albums by @ildyria.
74
+
> By default, smart albums and tag albums are respecting the access rights of the user to select the pictures.
75
+
> One of our users requested the ability to override this visibility constraint. This option is now available in the settings page.
76
+
*`SE`#3406 : Add User-groups by @ildyria.
77
+
> User Groups are coming. As they do not provide value for the moment, they are hidden behind a feature flag.
78
+
*`SE`#3409 : Add color extraction from pictures. by @ildyria.
79
+
> This option is available in the image processing section of the settings page.
80
+
> It allows you to extract the 5 dominant colours from photos. We provide two different engines for this:
81
+
>
82
+
> - Slower: `league` does a full sampling and uses ciede2000DeltaE for colour distance calculation.
83
+
> - Faster: `farzai` uses spot sampling and k-mean distance.
84
+
*`new`#3359 : Refactoring photo-album relation by @ildyria.
85
+
> As explained in the introduction, this is a big change which allows a photo to be in multiple albums at the same time instead of being duplicated.
86
+
> We are looking forward to the possibilities this opens up for the future.
87
+
*`new`#3375 : Drop legacy id by @ildyria.
88
+
> Not a big change, but this may impact some of the users who relied on old sharing links.
89
+
90
+
#### Other boring changes
91
+
92
+
`klo` refers to *Keep the Light On*. In other words, basic software updates.
93
+
94
+
*`klo`#3374 : Remove "unjustified" photo layout option from code by @ildyria.
95
+
> Long overdue change, unjustified layout had been removed already in version 5. This is cleaning legacy code.
96
+
*`klo`#3355 : Remove dependency on parent-id and directly extract from the url by @ildyria.
97
+
> Necessary for the change of the photo-album relationship.
98
+
*`fixes`#3386 : Fix 500 when the imagick config file does not exists by @ildyria.
99
+
> Version 6.6.5 introduced a check to see whether imagick was properly configured to support pdf.
100
+
> This check was not working on windows servers as the imagick config file was not present and resulted in a 500 crash.
101
+
> We fixed it.
102
+
*`klo`#3390 : Add copilot instructions by @ildyria.
103
+
> While we are not active AI users, we provide some guidelines for contributors who feel like vibe coding on Lychee.
104
+
*`new`#3389 : Compact left menu by @ildyria.
105
+
> As we add more and more functionalities, the left menu was getting a bit crowded. This reduces the spacing to avoid having scroll bar.
106
+
*`klo`#3356 : Refactoring LiveMetrics to avoid photo.album_id requirement. by @ildyria.
107
+
> Necessary for the change of the photo-album relationship.
108
+
*`klo`#3426 : Minor documentation improvements by @ildyria.
109
+
110
+
33
111
### v6.6.5
34
112
35
113
Released on May 27, 2025
@@ -56,8 +134,7 @@ This small release fixes an indexing bug in the timeline view mode and adds a fe
56
134
- An annimation when switching images in the photo view.
57
135
- A proper login page instead of a modal.
58
136
59
-
60
-
`klo` refers to *Keep the Light On*. In other words, basic software updates.
137
+
#### Most notable changes
61
138
62
139
*`new`#3351 : Add go home link on error page by @ildyria
63
140
> When directly accessing a photo or album without permission or which does not exists, we customized the error page
Five days ago, we looked back on what we have accomplished over the past six months.
16
+
17
+
#### What is special about version 6.6.6?
18
+
19
+
Today, we are happy to announce the release of Lychee [version 6.6.6](https://github.com/LycheeOrg/Lychee/releases/tag/v6.6.6). An ill-fated version number which marks a brutal change in the way Lychee binds photos to albums.
20
+
We are moving from "*a photo can only be in a single album*" to "*a photo can be in multiple albums*".
21
+
22
+
To "*render unto Caesar*", [Matthias Nagel](https://github.com/nagmat84) was the first to suggest it, and I was not convinced that it was a good idea.
23
+
It has always been a feature that I thought was not needed, and I was afraid that it would complicate the codebase.
24
+
Now having worked on creating a timeline view, I can see how useful it is to have a photo in multiple albums: it avoids duplication.
25
+
26
+
While invisible to the user, this architecture change has a big impact. By having the relation a photo has a unique album,
27
+
it makes it possible to do a file mapping between the photos/albums in Lychee and the files/folders on the backend.
28
+
While this is not currently implemented, it could be in the future as this has been a long-standing complaint from some of our users.
29
+
By moving to a many-to-many relation between photos and albums, this mapping is no longer an "easy" task, but we believe the benefits outweigh the drawbacks.
30
+
31
+
#### Improved way of working with stacked pull requests
32
+
33
+
Having so many changes in the codebase in parallel makes it hard to keep track of what is going on, what needs to be reviewed, etc.
34
+
To make it easier on our reviewers, we use [stacked pull requests](https://www.stacking.dev/). The idea being that each pull request builds on top of a previous one.
35
+
This way the changes are smaller and thus easier to review.
36
+
37
+
The first drawback of this approach is that if you use the strategy squash-and-merge, you are facing some issues.
38
+
39
+
- While the CI guarantees that if you merge from bottom to top into the main branch, you will not have any issues.
40
+
It quickly goes sideway as conflicts between commits are bound to happen and need to be resolved.
41
+
The easy way to avoid this is to collapse the stack into a single commit once all the PR are approved before merging into main.
42
+
- The second issue is that because of squash-and-merge, you will need to rebase to ensure a nice linear stack and propagate changes up.
43
+
A review on the bottom with change requests will impact the PR above it. There are no easy solution to this but some git wizardry.
44
+
I will admit that `git reset --soft xxx` has become one of my best friends.
45
+
46
+
And finally, the last drawback of this approach is the growing number of PRs waiting to be merged. In itself it is not too annoying but GitHub
47
+
does not provide a good visual overview of the state of the stack. For this reason, to increase the visibility of the changes, we have created
48
+
a new [new page](https://pr.lycheeorg.dev/) to list all the open pull requests in a stack and their status.
49
+
Of course as per open-source tradition, the source code is available on [GitHub](https://github.com/LycheeOrg/Lychee-Pull-Requests).
50
+
51
+
A stack is automatically recognized by following the branch naming-convention `feature-name/pr-name`: all the pull requests that start with the same `feature-name/` are part of the same stack.
52
+
With this, we hope to make it easier for our reviewers to keep track of the changes and for our users to see what is coming next.
53
+
54
+
#### A bit of help, please?
55
+
56
+
If you speak Spanish, we would love to take a bit of your time to help us double check the Spanish translation of Lychee.
57
+
The pull request is available on [GitHub: #3398](https://github.com/LycheeOrg/Lychee/pull/3398), just add comments to the lines that need to be changed and we will take care of the rest.
58
+
59
+
As always, this release would not have been possible without the help of our supporters and hard work of our reviewers.
60
+
If you would like to help or join us, we are always looking for more contributors.
61
+
Please reach out to us on our [Discord](https://discord.gg/JMPvuRQcTf).
extra="<sup>*</sup> This table is summary of Lychee's functionalities and does not represent the large amount of configurations available.<br>\
132
-
<sup>**</sup> A lot of default values are still in English. Any pull requests with translation to your own language would help.<br>\
132
+
<sup>**</sup> Some languages are still untranslated. Any translations provided via <a class='text-sky-600 dark:text-sky-300 underline hover:text-sky-400 dark:hover:text-sky-500' href='https://weblate.lycheeorg.dev'>weblate</a> will be appreciated.<br>\
133
133
<sup>***</sup> This option is not available on <span class='text-sky-600 dark:text-sky-300'>SE</span> as they are already hidden."
0 commit comments