<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Photarium journal</title>
<subtitle>Every improvement to Photarium, written up when it ships.</subtitle>
<link href="https://photarium.waxquixotic.com/journal/feed.xml" rel="self"/><link href="https://photarium.waxquixotic.com/journal/"/>
<id>https://photarium.waxquixotic.com/journal/</id><updated>2026-10-20T12:00:00Z</updated>
<author><name>Scott Alan Miller</name></author>
<entry><title>Download many photos at once (v1.0.140)</title>
<link href="https://photarium.waxquixotic.com/journal/bulk-download"/><id>https://photarium.waxquixotic.com/journal/bulk-download</id>
<updated>2026-10-20T12:00:00Z</updated><category term="Feature"/>
<summary>Select several photos and save all their original files in one go, instead of opening each photo&#x27;s page and downloading them one by one.</summary><content type="html">&lt;p&gt;Photarium has long let you select many photos at once to tag, add to albums, change privacy or delete. Now the same selection bar has a &lt;strong&gt;Download&lt;/strong&gt; action.&lt;/p&gt;
&lt;h2&gt;How it works&lt;/h2&gt;
&lt;p&gt;Select the photos you want, choose &lt;strong&gt;Download&lt;/strong&gt; in the bar at the bottom of the screen, and press the button. Photarium saves the original file of each photo to your computer, with its original filename, and shows progress as it goes. Anything that fails stays selected so you can simply try again.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;It always saves the &lt;strong&gt;original&lt;/strong&gt;, not a resized copy.&lt;/li&gt;&lt;li&gt;Private photos download for you as the owner and for no one else.&lt;/li&gt;&lt;li&gt;Your browser may ask once to allow multiple downloads. Choose Allow, and keep the tab open until the progress bar finishes.&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Why it took two tries&lt;/h2&gt;
&lt;p&gt;The first version started each download by clicking a hidden link. A link click is a page navigation, and starting the next one cancelled the one before it, so only the first photo ever arrived. Version 1.0.140 fetches and saves each original itself, so a batch can no longer step on its own toes.&lt;/p&gt;</content></entry>
<entry><title>Better descriptions on listing pages for search engines (v1.0.138)</title>
<link href="https://photarium.waxquixotic.com/journal/photo-headlines-for-crawlers"/><id>https://photarium.waxquixotic.com/journal/photo-headlines-for-crawlers</id>
<updated>2026-10-13T12:00:00Z</updated><category term="Improvement"/>
<summary>Search-engine versions of tag, album and people pages now describe untitled photos by who is in them and what they show, instead of repeating &quot;Untitled photo&quot;.</summary><content type="html">&lt;p&gt;Photos without a title are common, especially after an import. Photarium already built a descriptive headline for each of them on its own page, from the people in the photo, its first tags and the date it was taken.&lt;/p&gt;
&lt;p&gt;The listing pages that search engines read (tags, albums, people, and the like) were still captioning those photos &amp;quot;Untitled photo&amp;quot;. They now use the same generated headline for each image&amp;#x27;s description and caption, so a page of fifty untitled photos reads as fifty different photos. Photos that have a title are unchanged.&lt;/p&gt;</content></entry>
<entry><title>A leaner tag sitemap, and a mobile menu that fits (v1.0.137)</title>
<link href="https://photarium.waxquixotic.com/journal/tag-sitemap-and-mobile-menu"/><id>https://photarium.waxquixotic.com/journal/tag-sitemap-and-mobile-menu</id>
<updated>2026-10-03T12:00:00Z</updated><category term="Improvement"/>
<summary>Only tags with at least five public photos are offered to search engines, and the phone menu no longer scrolls sideways.</summary><content type="html">&lt;h2&gt;Tags worth indexing&lt;/h2&gt;
&lt;p&gt;On a large library most tags sit on one or two photos. In a library of 72,000 photos, 2,692 of 4,310 tags were that thin, and a page per tag that mostly repeats a couple of photos&amp;#x27; own pages dilutes the pages that deserve to be found.&lt;/p&gt;
&lt;p&gt;The tag sitemap now lists only tags on &lt;strong&gt;five or more public photos&lt;/strong&gt;. A tag page below that threshold also asks search engines not to index it, so it isn&amp;#x27;t picked up from the links on its photos instead.&lt;/p&gt;
&lt;h2&gt;Mobile menu&lt;/h2&gt;
&lt;p&gt;The footer of the phone menu — the Support button, social icons, theme toggle and Log in — used to scroll sideways. It now wraps onto two rows and fits.&lt;/p&gt;</content></entry>
<entry><title>Display options, and much better search-engine pages (v1.0.135)</title>
<link href="https://photarium.waxquixotic.com/journal/display-options-and-search"/><id>https://photarium.waxquixotic.com/journal/display-options-and-search</id>
<updated>2026-10-03T12:00:00Z</updated><category term="Feature"/>
<summary>Each visitor can choose full page width and whether people show as names, avatars or both. Crawlers also get real titles, links and structured data.</summary><content type="html">&lt;h2&gt;Display options&lt;/h2&gt;
&lt;p&gt;A new &lt;strong&gt;Display options&lt;/strong&gt; button, in the header and in the menu on a phone, lets each visitor choose how the site looks to them. Choices are remembered per browser.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Page width:&lt;/strong&gt; standard, or full width, which uses the whole window on wide screens.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;People:&lt;/strong&gt; show names, avatars, or both. An avatar is the person&amp;#x27;s primary photo. With avatars on, the people in a photo also appear on the photo itself, not only in its details.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;We also fixed the header&amp;#x27;s account control (Log in, or the admin&amp;#x27;s avatar) overlapping the icon beside it on screens narrower than about 1700px.&lt;/p&gt;
&lt;h2&gt;Search engines&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Untitled photos no longer all read &amp;quot;Untitled photo&amp;quot;. Crawlers get a title, heading and image description built from who is in the photo, its first tags and the date it was taken.&lt;/li&gt;&lt;li&gt;Photo pages mention the people and albums, link their tags and albums, and carry keywords and the photographer in their structured data. Tag pages are titled &amp;quot;&amp;lt;tag&amp;gt; photos&amp;quot;. The home page links to the biggest tags and uses the About bio as its description once one is written.&lt;/li&gt;&lt;li&gt;Search Console&amp;#x27;s URL Inspection and Rich Results Test, GoogleOther and Applebot now get the same pages as Googlebot. Before, testing a page in Search Console showed an empty page, not what Google&amp;#x27;s crawler is served.&lt;/li&gt;&lt;/ul&gt;</content></entry>
<entry><title>Photarium now updates itself (v1.0.131)</title>
<link href="https://photarium.waxquixotic.com/journal/self-updating-installs"/><id>https://photarium.waxquixotic.com/journal/self-updating-installs</id>
<updated>2026-09-29T12:00:00Z</updated><category term="Feature"/>
<summary>Installs check for a newer signed release and install it when the site is quiet, with a database snapshot first and automatic rollback.</summary><content type="html">&lt;p&gt;Running your own server shouldn&amp;#x27;t mean remembering to upgrade it. Photarium now checks for a newer signed release and, by default, installs it when the site has been quiet.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Safe by design:&lt;/strong&gt; a database snapshot is taken first, and if the new version doesn&amp;#x27;t come up healthy, Photarium rolls back automatically.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Signed releases:&lt;/strong&gt; every release is signed. A separate root helper re-verifies the signature and checksum before replacing any program, and refuses to run if the service user could have modified it.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Your choice:&lt;/strong&gt; automatic (when quiet, or at a set time) or manual, in &lt;strong&gt;Settings → Software updates&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;</content></entry>
<entry><title>One-line install, and Photarium is open source (v1.0.119–1.0.131)</title>
<link href="https://photarium.waxquixotic.com/journal/one-line-install-and-open-source"/><id>https://photarium.waxquixotic.com/journal/one-line-install-and-open-source</id>
<updated>2026-09-28T12:00:00Z</updated><category term="Install"/>
<summary>A single command installs Photarium on Debian, Ubuntu or Fedora, and the whole project is free software under the GNU AGPL v3.0.</summary><content type="html">&lt;p&gt;Photarium is now easy to run on your own server, and it is free software.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;One-line Linux installer&lt;/strong&gt; for Debian, Ubuntu and Fedora, on amd64 and arm64. Linux and Windows packages are published for every release.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;One program:&lt;/strong&gt; &lt;code&gt;photosd&lt;/code&gt; serves the web interface itself and can get and renew its own HTTPS certificate.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Your storage:&lt;/strong&gt; Backblaze B2, Wasabi, Cloudflare R2 or any S3-compatible service. Cloudflare cache purging is optional.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Check your setup:&lt;/strong&gt; &lt;code&gt;photosctl check&lt;/code&gt; tests the storage configuration end to end.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;License:&lt;/strong&gt; GNU AGPL v3.0. Free, with no paid tier.&lt;/li&gt;&lt;/ul&gt;</content></entry>
<entry><title>Security, speed and reliability pass (v1.0.119–1.0.131)</title>
<link href="https://photarium.waxquixotic.com/journal/security-performance-reliability"/><id>https://photarium.waxquixotic.com/journal/security-performance-reliability</id>
<updated>2026-09-27T12:00:00Z</updated><category term="Security"/>
<summary>Safer privacy handling, rate-limited sign-in, much cheaper album and map views, faster bulk actions and image processing, and fixes for odd cameras.</summary><content type="html">&lt;h2&gt;Security and privacy&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Deleted or privatized photos are purged from Cloudflare&amp;#x27;s edge reliably, and cached copies expire within a day even if a purge fails.&lt;/li&gt;&lt;li&gt;Private album names and photo counts no longer reach anonymous visitors.&lt;/li&gt;&lt;li&gt;Sign-in is rate limited, error responses no longer reveal internals, and a cross-site write check protects the admin API.&lt;/li&gt;&lt;li&gt;Clearing a photo&amp;#x27;s location also removes the coordinates from the stored original. Originals are otherwise never modified.&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Performance and reliability&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Album, people, map, popular and gallery views are much cheaper: batched queries, new indexes and a maintained per-photo view count.&lt;/li&gt;&lt;li&gt;Bulk actions run as one transaction, about 20–40× faster on 1,000 photos.&lt;/li&gt;&lt;li&gt;Image processing uses 5–8× less memory and is about 3× faster.&lt;/li&gt;&lt;li&gt;Uploads that fail part-way no longer leave orphaned files, and graceful shutdown lets in-flight uploads finish.&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Fixes&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Photos from cameras that write one malformed EXIF tag (BlackBerry 9630s) keep their camera and GPS metadata.&lt;/li&gt;&lt;li&gt;Searches typed while results were loading no longer show stale results.&lt;/li&gt;&lt;li&gt;Bulk selections no longer carry over between pages.&lt;/li&gt;&lt;/ul&gt;</content></entry>
</feed>
