This repository was archived by the owner on Mar 16, 2025. It is now read-only.
8000
Read more
Releases: henrikfroehling/Trakt.NET
Releases · henrikfroehling/Trakt.NET
v1.4.0
What's Changed
New Features
- Simplified page navigation (Issue 157)
var pagedParameters = new TraktPagedParameters(1, 10); // page = 1, items per page = 10
TraktPagedResponse<ITraktTrendingShow> trendingShowsResponse = await client.Shows.GetTrendingShowsAsync(null, pagedParameters);
// getting the next page, the old way
pagedParameters.Page = pagedParameters.Page + 1;
trendingShowsResponse = await client.Shows.GetTrendingShowsAsync(extendedInfo, pagedParameters);
// getting the next page, the new way
trendingShowsResponse = await trendingShowsResponse.GetNextPageAsync();
// NOTE: The old way still works.
- Add possibility to serialize objects as JSON with indentation (Issue 401)
The output of
ITraktShow show = ...; // Show: The Last of Us
string json = await TraktSerializationService.SerializeAsync(show);
Console.WriteLine(json);
looks like this:
{"title":"The Last of Us","year":2023,"ids":{"trakt":158947,"slug":"the-last-of-us","tvdb":392256,"imdb":"tt3581920","tmdb":100088}}
TraktSerializationService.SerializeAsync()
has a new optional boolean parameter indentation
, which indents the JSON output like this:
string json = await TraktSerializationService.SerializeAsync(show, indentation: true);
{
"title":"The Last of Us",
"year":2023,
"ids":
{
"trakt":158947,
"slug":"the-last-of-us",
"tvdb":392256,
"imdb":"tt3581920",
"tmdb":100088
}
}
Added
- Support for new Trakt API Endpoints
- Add support for "movies/recommended/{period}" GET request (Issue 359)
- Add support for "people/updates/{start_date}" GET request (Issue 360)
- Add support for "people/updates/id/{start_date}" GET request (Issue 361)
- Add support for "shows/recommended/{period}" GET request (Issue 362)
- Add support for "shows/{id}/certifications" GET request (Issue 363)
- Add support for "movies/{id}/studios" GET request (Issue 407)
- Add support for "shows/{id}/studios" GET request (Issue 408)
- Add support for "users/{id}/lists/{list_id}/items/{list_item_id}" PUT request (Issue 484)
- Add support for "sync/watchlist/{list_item_id}" PUT request (Issue 485)
- Add support for "sync/favorites/{list_item_id}" PUT request (Issue 486)
- Add support for "lists/{id}/like" POST request (Issue 585)
- Add support for "lists/{id}/like" DELETE request (Issue 586)
- Add support for "users/{id}/notes/{type}" GET request (Issue 597)
- Add support for "sync/watchlist" PUT request (Issue 599)
- Add support for "sync/favorites" PUT request (Issue 600)
- Add support for "movies/{id}/refresh" POST request (Issue 630)
- Add support for "shows/{id}/refresh" POST request (Issue 631)
- Add support for "notes" POST request (Issue 632)
- Add support for "notes/{id}" GET request (Issue 633)
- Add support for "notes/{id}" PUT request (Issue 634)
- Add support for "notes/{id}" DELETE request (Issue 635)
- Add support for "notes/{id}/item" GET request (Issue 636)
- Add support for "users/{id}/watchlist/comments/{sort}" GET request (Issue 638)
- Add support for "users/{id}/favorites/comments/{sort}" GET request (Issue 639)
- Missing Properties in JSON objects
- Update properties in
ITraktSyncLastActivities
(Issue 364) - Add support for property "updated_at" in
ITraktPerson
(Issue 406) - Update properties in
ITraktConnections
(Issue 440) - Add properties for "vip" and "comments" in
TraktExtendedInfo
(Issue 460) - Add properties for "share_link" and "type" in
ITraktList
(Issue 462) - Add property for "user_stats" in
ITraktComment
(Issue 464) - Add property for "country" in
ITraktTranslation
(Issue 468) - Add property for "title" in
ITraktSeasonProgress
(Issue 475) - Add missing properties in
ITraktSyncLastActivities
(Issue 478) - Add property for "list" in
ITraktListItemsReorderPostResponse
(Issue 479) - Add property for "id" in
ITraktRecommendation
(Issue 480) - Add property for "rank" in
ITraktUserSavedFilter
(Issue 481) - Add property for "user" in
TraktHiddenItemType
(Issue 482) - Add property
8000
for "user" in
ITraktUserHiddenItem
(Issue 483) - Add properties for "country" and "ids" in
ITraktNetwork
(Issue 519) - Add missing properties in
ITraktSyncLastActivities
(Issue 606) - Add missing properties in
ITraktUserLimits
(Issue 608) - Add "Show.Tagline" field (Issue 615)
- Add support for episode type (Issue 622)
- Update properties in
Improved
- Add methods in modules to stream multiple results (Issue 416)
- Add method overloads in post builder API (Issue 421)
- Add method overloads in modules to be more flexible with "id or slug" parameters (Issue 452)
- Add enumeration type for "gender" property in
ITraktPerson
(Issue 458) - Add enumeration type for "known_for_department" property in
ITraktPerson
(Issue 459) - Add enumeration type
TraktListPrivacy
forITraktList
s (Issue 461) - Add boolean parameters "showSignupPage" and "forceLoginPrompt" in
TraktAuthenticationModule.CreateAuthorizationUrl()
(Issue 463) - Add parameter
TraktExtendedInfo
inTraktListsModule.GetListLikesAsync()
(Issue 467) - Add enumeration type
TraktExtendedCommentSortOrder
forTraktMoviesModule.GetMovieCommentsAsync()
andTraktEpisodesModule.GetEpisodeCommentsAsync()
(Issue 469) - Add enumeration type
TraktShowsCommentSortOrder
forTraktShowsModule.GetShowCommentsAsync()
andTraktSeasonsModule.GetSeasonCommentsAsync()
(Issue 474) - Add parameter
TraktExtendedInfo
inTraktCommentsModule.GetCommentAsync()
(Issue 487) - Add parameter
TraktExtendedInfo
inTraktListsModule.GetTrendingListsAsync()
(Issue 488) - Add parameter
TraktExtendedInfo
inTraktListsModule.GetPopularListsAsync()
(Issue 489) - Add parameter
TraktExtendedInfo
inTraktListsModule.GetListAsync()
(Issue 490) - Add parameter
TraktExtendedInfo
inTraktListsModule.GetListCommentsAsync()
(Issue 491) - Add parameter
TraktExtendedInfo
inTraktMoviesModule.GetMovieListsAsync()
(Issue 492) - Add parameter
TraktExtendedInfo
inTraktPeopleModule.GetPersonListsAsync()
(Issue 493) - Add parameter
TraktExtendedInfo
in `TraktCommentsModule.GetCommentRe...
v1.3.0
What's Changed
Breaking Changes:
- Rename "CustomList(s)" requests to "PersonalList(s)" requests (by @henrikfroehling in Issue 276)
- Rename
ITraktSharing
toITraktConnections
(by @henrikfroehling in Issue 303) - Rename
TraktUserCustomListPost
toTraktUserPersonalListPost
(by @henrikfroehling in Issue 349) - Move parameter types into namespace
TraktNet.Parameters
(by @henrikfroehling in Issue 354)TraktExtendedInfo
TraktPagedParameters
TraktIncludeReplies
- Refactor filters (by @henrikfroehling in Issue 289)
- Filters are now in the namespace
TraktNet.Parameters
- Filters are now immutable and cannot be changed after created
- Filters are now only creatable with their builder methods
ITraktCalendarFilter
=>TraktFilter.NewCalendarFilter().Build()
ITraktMovieFilter
=>TraktFilter.NewMovieFilter().Build()
ITraktShowFilter
=>TraktFilter.NewShowFilter().Build()
ITraktSearchFilter
=>TraktFilter.NewSearchFilter().Build()
- Filters are now in the namespace
- Post builder refactoring (by @henrikfroehling in Issue 319)
- Post builder methods have been completely refactored and unified
- Post builder methods are now in the namespace
TraktNet.PostBuilder
- Posts can be created with the
TraktPost.New...Post().Build()
methods - There have been added new builders methods for creating comment-, checkin- and scrobble-posts (Issue 346)
- Following post objects are now also creatable with the post builder methods
ITraktSyncCollectionRemovePost
ITraktSyncRatingsRemovePost
ITraktSyncRecommendationsRemovePost
ITraktSyncWatchlistRemovePost
ITraktUserHiddenItemsRemovePost
ITraktUserPersonalListItemsRemovePost
ITraktMovieCommentPost
ITraktShowCommentPost
ITraktSeasonCommentPost
ITraktEpisodeCommentPost
ITraktListCommentPost
ITraktMovieCheckinPost
ITraktEpisodeCheckinPost
ITraktMovieScrobblePost
ITraktEpisodeScrobblePost
Added:
- Add support for "limits" property in
ITraktUserSettings
(by @henrikfroehling in Issue 272) - Add new exception type for HTTP Status Code 420 (user has exceeded their account limit) (by @henrikfroehling in Issue 273)
- Add support for "notes" (255 maximum characters) for watchlist and personal list items (by @henrikfroehling in Issue 274)
- Add value "recommendations" in
TraktListType
enumeration (by @henrikfroehling in Issue 275) - Add support for "lists/{id}" GET request (by @henrikfroehling in Issue 277)
- Add support for "lists/{id}/likes" GET request (by @henrikfroehling in Issue 278)
- Add support for "lists/{id}/items/{type}" GET request (by @henrikfroehling in Issue 279)
- Add support for "lists/{id}/comments/{sort}" GET request (by @henrikfroehling in Issue 280)
- Add support for "users/{id}/lists/collaborations" GET request (by @henrikfroehling in Issue 281)
- Add support for "users/saved_filters" GET request (by @henrikfroehling in Issue 282)
- Add support for "facebook" and "apple" properties in
ITraktConnections
(by @henrikfroehling in Issue 283) - Add support for "rated" property in
ITraktSharingText
(by @henrikfroehling in Issue 284) - Add support for "vip_og", "vip_years" and "vip_cover_image" properties in
ITraktUser
(by @henrikfroehling in Issue 285) - Add support for "movies/updates/id/{start_date}" GET request (by @henrikfroehling in Issue 293)
- Add support for "shows/updates/id/{start_date}" GET request (by @henrikfroehling in Issue 294)
- Add support for "id" and "rank" properties in
ITraktWatchlistItem
(by @henrikfroehling in Issue 310) - New Post builder implementations (by @henrikfroehling in Issue 346)
Fixed:
- [Bug]: ValidateHistoryPost for RemoveWatchedHistoryItemsAsync ignores WithHistoryIds (by @henrikfroehling in Issue 316)
Improved:
- Return enum types for response headers with fixed values (e.g. SortBy, SortHow) (by @henrikfroehling in Issue 288)
- Improve request validations (by @henrikfroehling in Issue 350)
Changed:
- Rename "CustomList(s)" requests to "PersonalList(s)" requests (by @henrikfroehling in Issue 276)
- Rename
ITraktSharing
toITraktConnections
(by @henrikfroehling in Issue 303) - Change type of "rank" property in
ITraktListItem
toint
(by @henrikfroehling in Issue 311) - Rename
TraktUserCustomListPost
toTraktUserPersonalListPost
(by @henrikfroehling in Issue 349) - Move parameter types into namespace
TraktNet.Parameters
(by @henrikfroehling in Issue 354)TraktExtendedInfo
TraktPagedParameters
TraktIncludeReplies
API Diff: https://www.fuget.org/packages/Trakt.NET/1.3.0/lib/netstandard2.0/diff/1.2.0
Full Changelog: v1.2.0...v1.3.0
v1.2.0
What's Changed
Breaking Change:
- Update target framework to .NET Standard 2.0 (by @henrikfroehling in Issue 247)
Added:
- Add support for getting rate limit details (by @henrikfroehling in Issue 193)
- Add values "aired" and "watched" in
TraktLastActivity
enumeration (by @henrikfroehling in Issue 198) - Add support for "users/requests/following" GET request (by @henrikfroehling in Issue 199)
- Add property for "recommended" counts in
ITraktStatistics
(by @henrikfroehling in Issue 200) - Add support for "users/{id}/lists/{list_id}/likes" GET request (by @henrikfroehling in Issue 201)
- Add support for optional pagination in "sync/playback" GET request (by @henrikfroehling in Issue 202)
- Add support for date filtering in "sync/playback" GET request (by @henri 10000 kfroehling in Issue 203)
- Add support for "sync/recommendations" GET request (by @henrikfroehling in Issue 204)
- Add support for "sync/recommendations" POST request (by @henrikfroehling in Issue 205)
- Add support for "sync/recommendations/remove" POST request (by @henrikfroehling in Issue 206)
- Add support for "sync/recommendations/reorder" POST request (by @henrikfroehling in Issue 232)
- Add support for VIP only methods (Issue 236)
- Add support for "shows/{id}/progress/watched/reset" POST request (by @henrikfroehling in Issue 237)
- Add support for "shows/{id}/progress/watched/reset" DELETE request (by @henrikfroehling in Issue 238)
- Add support for "sync/watchlist/reorder" POST request (by @henrikfroehling in Issue 239)
- Add property "updated_at" in
ITraktSeason
(by @henrikfroehling in Issue 242) - Update
ITraktSyncLastActivities
and add missing properties (by @henrikfroehling in Issue 257) - Add support for comments (blocked users) in "users/hidden/{section}" and "users/hidden/{section}/remove" POST requests (by @henrikfroehling in Issue 258)
- Add values "continuing" and "pilot" in
TraktShowStatus
enumeration (by @henrikfroehling in Issue 264) - Add support for "shows/{id}/seasons/{season}/translations/{language}" GET request (by @henrikfroehling in Issue 265)
- Add missing properties in
ITraktPerson
(by @henrikfroehling in Issue 266)
Fixed:
GetShowAsync
returns Status null when status is 'upcoming' (by @henrikfroehling in Issue 208)- Calendar methods do not accept a value greater than 31 for days (by @henrikfroehling in Issue 220)
GetShowAsync
returns Status null when status is 'planned' (by @henrikfroehling in Issue 221)
Improved:
- Handle HTTP Status Code 423 for locked user accounts (by @henrikfroehling in Issue 194)
- Post Builder interfaces and implementations are not in the same namespace (by @henrikfroehling in Issue 207)
Changed:
- OAuth authorization for "users/{id}/lists/{list_id}/comments" should be optional (by @henrikfroehling in Issue 197)
- Rename methods in post builder (by @henrikfroehling in Issue 251)
- Change OAuth requirement to optional for "users/{id}/likes/{type}" GET request (by @henrikfroehling in Issue 256)
Full Changelog: v1.1.1...v1.2.0
v1.1.1
What's Changed
- Fixed: GetShowAsync returns Status null when status is 'upcoming' by @henrikfroehling in #229
- Fixed: GetShowAsync returns Status null when status is 'planned' by @henrikfroehling in #230
- Fixed: Calendar methods do not accept a value greater than 31 for days by @henrikfroehling in #231
Full Changelog: v1.1.0...v1.1.1
v1.1.0
What's Changed
- Added show Ids to scrobble request by @MCs88 in #56
- Improve / replace UriTemplate implementation by @henrikfroehling in #80
- GH-87: Convert test project to xUnit .NET Core by @arnaudmaichac in #89
- Add support for "last_updated_at" property in "ITraktWatchedMovie" by @arnaudmaichac in #91
- Add support for "updated_at" property in "ITraktCollectionMovie" by @arnaudmaichac in #90
- Improve implementation of filters by @henrikfroehling in #92
- Merge branch release/1.0.0 into branch develop by @henrikfroehling in #101
- Missing properties in ITraktMetadata by @henrikfroehling in #102
- Split up test project in multiple test projects (develop) by @henrikfroehling in #103
- Remove Facebook sharing by @henrikfroehling in #109
- Add support for "languages/{type}" GET request by @henrikfroehling in #110
- Add support for "countries/{type}" GET request by @henrikfroehling in #113
- Add support for "users/{id}/lists/reorder" POST request by @henrikfroehling in #115
- Split up TraktNET.Objects.Tests in multiple test projects (develop) by @henrikfroehling in #118
- Remove prefix "X" from property names in ITraktResponseHeaders by @henrikfroehling in #139
- Add support for new response headers "X-Applied-Sort-By" and "X-Applied-Sort-How" by @henrikfroehling in #140
- Add support for "reset_at" flag in "users/{username}/watched/shows" GET request by @henrikfroehling in #147
- Add support for "last_updated_at" property in "ITraktWatchedShow" by @henrikfroehling in #148
- Improve JSON reader implementation by @henrikfroehling in #163
- Add support for "ignore_collected" flag in "recommendations/movies" GET request and in "recommendations/shows" GET request by @henrikfroehling in #167
- Add support for "last_updated_at" property in "ITraktCollectionShow" by @henrikfroehling in #168
- Add support for "include_replies=only" flag in "users/{username}/comments" GET request by @henrikfroehling in #169
- Add support for "uuid" property in ITraktUserIds by @henrikfroehling in #170
- Remove deprecated properties due to new people method by @henrikfroehling in #171
- Add support for "date_format" property in ITraktAccountSettings by @henrikfroehling in #172
- Add support for "status" property in ITraktMovie by @henrikfroehling in #176
- Add support for "last_activity" flag in "shows/{id}/progress/collection" and "shows/{id}/progress/watched" GET request by @henrikfroehling in #177
- Optimize async / await in object json deserialization by @henrikfroehling in #178
- Add support for sorting in "sync/watchlist" GET request by @henrikfroehling in #179
- Add support for sorting in "users/{username}/watchlist/" GET request by @henrikfroehling in #180
- Add support for pagination for "sync/ratings" GET request by @henrikfroehling in #181
- Add support for pagination for "users/{username}/ratings" GET request by @henrikfroehling in #182
- Add support for "users/{id}/recommendations/{type}/{sort}" GET request by @henrikfroehling in #183
- Add support for "users/{username}/lists/{list_id}/items/reorder" POST request by @henrikfroehling in #186
- Add support for absolute episode numbers in "/checkin" POST request by @henrikfroehling in #187
- Add support for absolute episode numbers in "/scrobble" POST request by @henrikfroehling in #188
- Return same instance type for people requests in Episodes, Shows and Seasons module by @skyfrk in #190
- fix: add guest stars to ITraktShowCastAndCrew by @skyfrk in #192
- Improve post request builder by @henrikfroehling in #191
New Contributors
- @MCs88 made their first contribution in #56
- @arnaudmaichac made their first contribution in #89
- @skyfrk made their first contribution in #190
Full Changelog: v1.0.2...v1.1.0
v1.0.2
What's Changed
- Exception when $Object.Year is not valid when adding to a UserCustomList by @henrikfroehling in #174
Full Changelog: v1.0.1...v1.0.2
v1.0.1
What's Changed
- Exception is thrown, when calling API endpoint with optional authentication by @henrikfroehling in #155
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Breaking Changes:
-
New response classes
TraktNoContentResponse
replaces allTask
return types inModules
TraktResponse<TContentType>
replaces allTask<TItem>
return types inModules
TraktListResponse<TContentType>
replaces allTask<IEnumerable<TItem>>
return types inModules
TraktPagedResponse<TContentType>
replaces allTask<TraktPaginationListResult<TItem>>
return types inModules
- More information
-
.NET Standard 1.1 replaces PCL
What's Changed
- Split up test project in multiple test projects (release) by @henrikfroehling in #108
- Update source code documentation by @henrikfroehling in #106
- Split up TraktNET.Objects.Tests in multiple test projects (release) by @henrikfroehling in #119
- Improve / replace UriTemplate implementation (release) by @henrikfroehling in #122
- Length check of Year property throws in PostBuilder, if API returns unexpected Year length by @henrikfroehling in #132
- Improve test coverage - Part 4 by @henrikfroehling in #124
- Add support for new people methods by @henrikfroehling in #141
Full Changelog: v1.0.0-beta...v1.0.0
v1.0.0-beta
Breaking Changes:
-
New response classes
TraktNoContentResponse
replaces allTask
return types inModules
TraktResponse<TContentType>
replaces allTask<TItem>
return types inModules
TraktListResponse<TContentType>
replaces allTask<IEnumerable<TItem>>
return types inModules
TraktPagedResponse<TContentType>
replaces allTask<TraktPaginationListResult<TItem>>
return types inModules
- More information
-
.NET Standard 1.1 replaces PCL
What's Changed
- post builder feature: add support for posting collected episodes without ids by @henrikfroehling in #32
- Refreshing authorization not working with expired or invalid access token by @henrikfroehling in #38
- Revoking authorization not working with expired or invalid access token by @henrikfroehling in #39
- Fix post builder for sync collection post by @henrikfroehling in #40
- Implement missing json object and array reader by @henrikfroehling in #41
- Improve test coverage - Part 2 by @henrikfroehling in #57
- Wrong type assignment for lists by @henrikfroehling in #63
- Bad Request when adding items to a list by @henrikfroehling in #70
- Invalid implementation for Networks / List / Get networks by @henrikfroehling in #71
- Exception when search text query is empty by @henrikfroehling in #73
- Add missing filter support for text query search by @henrikfroehling in #75
- Redundant checks for ITraktMovie properties in TraktScrobbleModule by @henrikfroehling in #96
- Improve test coverage - Part 3 by @henrikfroehling in #60
Full Changelog: v1.0.0-alpha3...v1.0.0-beta
v1.0.0-alpha3
Breaking Changes:
-
New response classes
TraktNoContentResponse
replaces allTask
return types inModules
TraktResponse<TContentType>
replaces allTask<TItem>
return types inModules
TraktListResponse<TContentType>
replaces allTask<IEnumerable<TItem>>
return types inModules
TraktPagedResponse<TContentType>
replaces allTask<TraktPaginationListResult<TItem>>
return types inModules
- More information
-
.NET Standard 1.1 replaces PCL
Added:
- support for "networks" GET request (Issue 69)
- support for "certifications/{type}" GET request (Issue 70)
- support for "users/hidden/{section}" POST request (Issue 71)
- support for "users/hidden/{section}/remove" POST (Issue 72)
- missing "network" property in ITraktSeason (Issue 83)
- missing "last_episode" property in ITraktShowProgress (Issue 88)
- "dolby_atmos" and "dts_x" in TraktMediaAudio (Issue 89)
- support for X-Item-ID and X-Item-Type response headers (Issue 106)
- support for "comments/{id}/item" GET request (Issue 107)
- support for "comments/{id}/likes" GET request (Issue 109)
- missing "country" property in ITraktMovie (Issue 110)
- "comment_count" property in ITraktMovie, ITraktShow, ITraktSeason and ITraktEpisode (Issue 111)
- support for "people/{id}/lists/{type}/{sort}" GET request (Issue 116)
- support for "comments/trending/{comment_type}/{type}?{include_replies}" GET request (Issue 117)
- support for "comments/recent/{comment_type}/{type}?{include_replies}" GET request (Issue 118)
- support for "comments/updates/{comment_type}/{type}?{include_replies}" GET request (Issue 119)
- support for "lists/trending" GET request (Issue 120)
- support for "lists/popular" GET request (Issue 121)
- support for "include_replies" parameter in "users/id/comments" GET request (Issue 122)
- properties for "sort_by" and "sort_how" in
ITraktUserCustomListPost
(Issue 123) - "reset_at" property in ITraktShowWatchedProgress (Issue 129)
- flag for "progress_watched_reset" section in TraktHiddenItemsSection (Issue 130)
Fixed:
Improved:
- http client handling (Issue #21)
- serialization of Trakt objects to JSON (Issue #75)
- json deserialization for authorization objects (Issue #78)
- allow multiple types as filter in "users/{id}/lists/{list_id}/items/{type}" request (Issue #124)