Release 2023.44.0
A new release (at a rather arbitrary point in time), and switching to
calendar-based versioning since it makes more sense for this application.
Lots of changes since the previous "official" release was around 4 years ago.
HiDPI displays
Finally fixed image resolution handling for hi-dpi displays. Previously,
Corydalis was completely oblivious to this, so the images were fuzzy in the
native (built-in) image viewer (issue #10). Now they should show correctly.
Performance changes
Image thumbnails in image/folder list make use of the HTML-native
lazy-loading mechanism, which (for browsers that implement it) makes
large image lists actually usable. Not a proper replacement for a
paged loading mechanism, but a working substitute.
Slight performance change for loading pages due to reduced and
combined CSS/JS resource serving. This can lead to 10-20% page loaded
speed-ups, depending on the page type and complexity.
Exif changes
Now parses the rating as written by (at least) Lightroom. Value '0' is
unrated, otherwise the explicit rating.
Search changes
Added new search atoms season, month, day, rating,
people-count, keyword-count.
Season is usual English name for season, i.e. winter, spring,
summer, autumn, and the season computation is based on month
boundaries: winter lasts from December to January, and the rest
follow.
Month is usual English name for the month, or alternatively the
numeric value (1-12).
Day is a bit more complex. It can take any of: day-of-week (English
names), 'weekday', 'weekend', or numerical month day (e.g. '10th').
Rating is the exif rating as written by camera or image processing
tools, usually using the values 1-5, with 0 being unrated.
People and keyword count atoms are what you'd expect, searching by how
many people or keywords are in an image.
All the numeric search atoms (year, rating, counts, etc.) can use '<'
and '>' in the quick search, e.g. keyword-count:>3.
UI interaction changes
Previously, searching for things, or clicking to various links was
always going to either an image grid browsing view or folder grid
browsing view, based on static conditions. Now, the preference of how
to display search results has moved to a per-browser sticky
(long-lived) cookies, so that multiple searches will remain on last
view. The preference is updated whenever the view is manually changed
(via the alternate links in the page).
In case of missing preferences, the default is same as before, image
or folder grid.
Internal changes
The way image name URLs are built for multi-level paths changed;
instead of encoded '%2F' elements in the path, with the image being a
single path element, now image names are multi-path elements:
a%2Fb%2Fc becomes a/b/c. This should help with reverse-proxying
corydalis, and in general is a cleaner way to represent file-system
paths in URLS.
The source tree no longer contains embedded libraries (yay!). They
have been replaced by symlinks (or transformations) of upstream files
as shipped in npm packages. This should
simplify future development.