<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/src/Jellyfin.Database/Jellyfin.Database.Implementations, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=master</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2026-05-04T08:25:02Z</updated>
<entry>
<title>Fix Playlist and Boxset query and count perf</title>
<updated>2026-05-04T08:25:02Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-05-04T08:22:13Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=fa65a392b0e754848caf94f08724ba19ec8bdd9f'/>
<id>urn:sha1:fa65a392b0e754848caf94f08724ba19ec8bdd9f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimize Search and NextUp queries</title>
<updated>2026-03-08T14:26:35Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-03-08T14:10:01Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=ba722b45175a15b66d6c934d80a50bbb1ed6e695'/>
<id>urn:sha1:ba722b45175a15b66d6c934d80a50bbb1ed6e695</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix review comments</title>
<updated>2026-03-05T21:54:26Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-03-05T21:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=744c5539d8471addca131c9d9f7e8c4e30f8c4b5'/>
<id>urn:sha1:744c5539d8471addca131c9d9f7e8c4e30f8c4b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate PrimaryVersionId to GUID and fix assignment</title>
<updated>2026-02-15T22:12:52Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-02-15T22:12:52Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=3439d3c017a06604e7b471a1063a8467306f78f2'/>
<id>urn:sha1:3439d3c017a06604e7b471a1063a8467306f78f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix BoxSet collapse handling and deletion</title>
<updated>2026-02-07T20:17:01Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-02-07T20:17:01Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=bb6c3b4eecee46a0a6222ffe17657cabc7da97f4'/>
<id>urn:sha1:bb6c3b4eecee46a0a6222ffe17657cabc7da97f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimize Indices</title>
<updated>2026-02-06T23:57:15Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-02-06T23:56:38Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=8ddc35a1ced32b40ef2ee333f2adcc57f3725811'/>
<id>urn:sha1:8ddc35a1ced32b40ef2ee333f2adcc57f3725811</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimize Validator and Filter Performance</title>
<updated>2026-01-31T18:22:04Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-01-31T18:19:26Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=2789532aa88ccc899ff8497537642e1d78b31ef5'/>
<id>urn:sha1:2789532aa88ccc899ff8497537642e1d78b31ef5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add ImageInfo index</title>
<updated>2026-01-18T18:48:46Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-01-18T16:39:48Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=342846e4fcd9645680c69f164f474d549414c963'/>
<id>urn:sha1:342846e4fcd9645680c69f164f474d549414c963</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't use raw SQL</title>
<updated>2026-01-18T18:48:46Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-01-18T13:59:57Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=2086ac7dd2f64f286ea3c88a53cc0860f28454f8'/>
<id>urn:sha1:2086ac7dd2f64f286ea3c88a53cc0860f28454f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Complete LinkedChildren integration and batch DTO optimizations</title>
<updated>2026-01-18T18:48:46Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-01-17T16:10:07Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=5996c4afce11249804d24f1caa3a99b390543c4d'/>
<id>urn:sha1:5996c4afce11249804d24f1caa3a99b390543c4d</id>
<content type='text'>
This commit integrates remaining performance changes:

- Add batch user data fetching in DtoService to reduce N+1 queries
- Add GetNextUpEpisodesBatch in TVSeriesManager for efficient batch retrieval
- Update Video/Movie/BoxSet to use LibraryManager for alternate versions
- Transition LinkedChild to use ItemId instead of Path (obsolete Path/LibraryItemId)
- Update providers and controllers for LinkedChildren-based references
- Add NextUpEpisodeBatchResult for batched episode queries
- Integrate IDescendantQueryProvider in SqliteDatabaseProvider
</content>
</entry>
</feed>
