<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/Jellyfin.Server/Migrations, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.lodewillems.com/jellyfin/atom?h=master</id>
<link rel='self' href='https://git.lodewillems.com/jellyfin/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/'/>
<updated>2026-07-04T21:55:31Z</updated>
<entry>
<title>Use InvariantCulture when parsing machine-generated dates</title>
<updated>2026-07-04T21:55:31Z</updated>
<author>
<name>Nils Lehnen</name>
<email>admin@nlehnen.de</email>
</author>
<published>2026-07-04T21:55:31Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=f8ffccae7fa65a27324667ccd156ca71fbfc89cd'/>
<id>urn:sha1:f8ffccae7fa65a27324667ccd156ca71fbfc89cd</id>
<content type='text'>
DateTime.TryParse without an IFormatProvider falls back to the current
thread culture, so the same string can parse differently (or fail)
depending on the server's locale. None of these call sites deal with
user-entered text - they parse dates that come from filenames, an
HTTP header, ffprobe metadata and values the app itself wrote to the
auth database - so InvariantCulture is the correct provider everywhere
here.

Fixes the S6580 / CA1305 warnings on these call sites.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #17162 from Shadowghost/batch-duplicate-cleanup-deletes</title>
<updated>2026-06-27T14:22:11Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2026-06-27T14:22:11Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=a83920c5a79a5081fb7377759390d7a85c6eb836'/>
<id>urn:sha1:a83920c5a79a5081fb7377759390d7a85c6eb836</id>
<content type='text'>
Batch duplicate-cleanup deletes in merge migrations</content>
</entry>
<entry>
<title>Merge pull request #17154 from joshuaboniface/enhance-startup-ux</title>
<updated>2026-06-27T13:48:42Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2026-06-27T13:48:42Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=ff36b1b417c29baf36cd6adf091f1b349612db67'/>
<id>urn:sha1:ff36b1b417c29baf36cd6adf091f1b349612db67</id>
<content type='text'>
Revamp startup UI for visual style and usability</content>
</entry>
<entry>
<title>Batch duplicate-cleanup deletes in merge migrations</title>
<updated>2026-06-22T21:16:47Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-06-22T21:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=af82aceadb632300e87ed4aca6723cf4dda097c3'/>
<id>urn:sha1:af82aceadb632300e87ed4aca6723cf4dda097c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Restyle the startup UI and add a generic startup activity line</title>
<updated>2026-06-22T04:00:38Z</updated>
<author>
<name>Joshua M. Boniface</name>
<email>joshua@boniface.me</email>
</author>
<published>2026-06-22T03:09:55Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=0046adda29b4d99cbdf6b215d14539c08e96ab3e'/>
<id>urn:sha1:0046adda29b4d99cbdf6b215d14539c08e96ab3e</id>
<content type='text'>
Restyle the startup/migration holding page to match the Jellyfin dark theme,
with the inline wordmark logo, a gradient spinner and a recolored startup log
tree, and move the Morestachio template rendering into a reusable
StartupUiRenderer.

Add a curated, non-identifying "current activity" line to the always-visible
header (for example "Initializing server" or "Running migration X of Y"),
reported from the startup flow and the migration service so it never leaks
server details to unauthenticated clients. Move the log download into a
"Download logs" link in the log panel header, and show only the header, with
no log hints, to non-local clients.
</content>
</entry>
<entry>
<title>Add progress logging and batch deletion for logs</title>
<updated>2026-06-22T03:31:25Z</updated>
<author>
<name>Joshua M. Boniface</name>
<email>joshua@boniface.me</email>
</author>
<published>2026-06-22T03:06:45Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=b60c535c84a382d06eab5b0c38ee279103b06cf2'/>
<id>urn:sha1:b60c535c84a382d06eab5b0c38ee279103b06cf2</id>
<content type='text'>
After resolving duplicates the migration deleted all items in one silent
pass (per-id GetItemById plus a single DeleteItemsUnsafeFast), which looks
hung for minutes on large libraries. Delete in batches of 500 and log
progress per batch, which also avoids one oversized delete transaction.
</content>
</entry>
<entry>
<title>Fix CleanName and CleanValue refresh</title>
<updated>2026-06-10T08:09:01Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-06-10T08:09:01Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=12f718e7bb1b3b247e90fe2769d2a6b22b9f37af'/>
<id>urn:sha1:12f718e7bb1b3b247e90fe2769d2a6b22b9f37af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Drop linked alternate versions pointing at owned items in migration</title>
<updated>2026-06-07T21:06:37Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-06-05T17:40:39Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=f5847596384c35b5bf4119cd8b39e4234af6e899'/>
<id>urn:sha1:f5847596384c35b5bf4119cd8b39e4234af6e899</id>
<content type='text'>
(cherry picked from commit 40afd403a655ada6cfa30b577454bb766ea2099f)
</content>
</entry>
<entry>
<title>Merge pull request #16941 from Shadowghost/fix-external-data-pruning</title>
<updated>2026-06-07T18:28:34Z</updated>
<author>
<name>Bond-009</name>
<email>bond.009@outlook.com</email>
</author>
<published>2026-06-07T18:28:34Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=ec43ea156e11705227eccbe760e2510a28d774a4'/>
<id>urn:sha1:ec43ea156e11705227eccbe760e2510a28d774a4</id>
<content type='text'>
Fix external data pruning on item deletion</content>
</entry>
<entry>
<title>Re-disable legacy authorization methods by default</title>
<updated>2026-05-31T19:12:44Z</updated>
<author>
<name>theguymadmax</name>
<email>theguymadmax@proton.me</email>
</author>
<published>2026-05-31T19:12:44Z</published>
<link rel='alternate' type='text/html' href='https://git.lodewillems.com/jellyfin/commit/?id=a6ae68433a20b0d29fb7734251aa7ddf29173ef3'/>
<id>urn:sha1:a6ae68433a20b0d29fb7734251aa7ddf29173ef3</id>
<content type='text'>
</content>
</entry>
</feed>
