<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/MediaBrowser.Controller/Entities/UserViewBuilder.cs, branch v12.0-rc3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=v12.0-rc3</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=v12.0-rc3'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2026-06-26T16:25:58Z</updated>
<entry>
<title>Fix Book collections scanning all items</title>
<updated>2026-06-26T16:25:58Z</updated>
<author>
<name>Marc Brooks</name>
<email>IDisposable@gmail.com</email>
</author>
<published>2026-01-06T00:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=70b45893829feddff5f5e5f89e9087b395454c08'/>
<id>urn:sha1:70b45893829feddff5f5e5f89e9087b395454c08</id>
<content type='text'>
Added static method GetBaseItemKindsForCollectionType in ItemsController (moved from ContentFolderImageProvider to be shared)

Added AudioBook to GetRepresentativeItemTypes for CollectionType.books for consistency

Added GetBooks to GetUserItems for CollectionType.books which gets BaseItemKind.Book and BaseItemKind.AudioBook

Move GetBaseItemKindsForCollectionType to DtoExtensions

Cleaned up the missing null checks and used new collection expressions.
Associate Person to Book and AudioBook for related items.
</content>
</entry>
<entry>
<title>Wrap method parameters</title>
<updated>2026-04-01T16:01:25Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-04-01T16:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=99ad70fbc81c128f5859081a3b51da8db2d78726'/>
<id>urn:sha1:99ad70fbc81c128f5859081a3b51da8db2d78726</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Handle linkedChildren in GetPlayedAndTotalCountBatch and optimize filter</title>
<updated>2026-02-21T21:38:07Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-02-21T21:38:07Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=ae5420d4ae09dec7d62d1d0861dfc823a180d93b'/>
<id>urn:sha1:ae5420d4ae09dec7d62d1d0861dfc823a180d93b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix IsPlayed filter and setting BoxSet played/unplayed</title>
<updated>2026-02-21T18:58:00Z</updated>
<author>
<name>Shadowghost</name>
<email>Ghost_of_Stone@web.de</email>
</author>
<published>2026-02-21T18:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=0f1a6fe4c27fa4c91b7e8dcd577960c568fa3c03'/>
<id>urn:sha1:0f1a6fe4c27fa4c91b7e8dcd577960c568fa3c03</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>
<entry>
<title>avoid Take(0) when limit == 0 (#14608)</title>
<updated>2025-12-09T04:15:46Z</updated>
<author>
<name>evan314159</name>
<email>110177090+evan314159@users.noreply.github.com</email>
</author>
<published>2025-12-09T04:15:46Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=8b2a8b94b6361e31eff58078225cf78d8a6c3fb1'/>
<id>urn:sha1:8b2a8b94b6361e31eff58078225cf78d8a6c3fb1</id>
<content type='text'>
Co-authored-by: Evan &lt;evan@MacBook-Pro.local&gt;</content>
</entry>
<entry>
<title>Apply filter server side (#14856)</title>
<updated>2025-09-25T00:15:10Z</updated>
<author>
<name>JPVenson</name>
<email>github@jpb.email</email>
</author>
<published>2025-09-25T00:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=2aa39226c6f47a7d985bd1f5ddc887387650daad'/>
<id>urn:sha1:2aa39226c6f47a7d985bd1f5ddc887387650daad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert IsPlayed optimization, pass UserItemData to IsPlayed when available (#14786)</title>
<updated>2025-09-14T17:18:21Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2025-09-14T17:18:21Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=4d36bd635d3dd0ff5652c1807dce7a1a1dff8873'/>
<id>urn:sha1:4d36bd635d3dd0ff5652c1807dce7a1a1dff8873</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use existing userData (#14703)</title>
<updated>2025-08-26T22:09:17Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2025-08-26T22:09:17Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=da3f3b09d963b729c2d50002db035304a531efaf'/>
<id>urn:sha1:da3f3b09d963b729c2d50002db035304a531efaf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix seasons random (#13224)</title>
<updated>2025-06-17T22:41:09Z</updated>
<author>
<name>Maxime</name>
<email></email>
</author>
<published>2025-06-17T22:37:43Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=e83b992eef2eaa19099ed729f214ac0e4f8ccf2f'/>
<id>urn:sha1:e83b992eef2eaa19099ed729f214ac0e4f8ccf2f</id>
<content type='text'>
Sorting was always enabled so removed the `enableSorting` parameter
in QueryResult method.
</content>
</entry>
</feed>
