generated from jellyfin/jellyfin-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.yaml
239 lines (143 loc) · 6.69 KB
/
build.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
---
name: "Spotify Import"
guid: "F03D0ADB-289F-4986-BD6F-2468025249B3"
imageUrl: "https://github.com/Viperinius/jellyfin-plugin-spotify-import/raw/master/viperinius-plugin-spotifyimport.png"
version: "1.12.1.0"
targetAbi: "10.10.3.0"
framework: "net8.0"
overview: "This plugin imports playlists from Spotify."
description: >
This plugin enables you to import playlists from Spotify to your Jellyfin server automatically.
It provides a scheduled task that queries a given list of Spotify playlists and tries to recreate them as best as possible in Jellyfin.
category: "Metadata"
owner: "Viperinius"
artifacts:
- "Viperinius.Plugin.SpotifyImport.dll"
- "SpotifyAPI.Web.dll"
- "Fastenshtein.dll"
- "Json.More.dll"
- "JsonPointer.Net.dll"
- "JsonSchema.Net.dll"
- "HtmlAgilityPack.dll"
changelog: |2-
# Changelog
## [1.12.1.0] - 2024-12-08
### Fixed
- Fix missing handling of request timeouts when using the alternative Spotify provider
## [1.12.0.0] - 2024-12-07
### Added
- Workaround regarding the recent Spotify API changes (#48)
## [1.11.0.0] - 2024-11-30
### Added
- Support for manually mapping tracks between Spotify and Jellyfin (#44)
### Fixed
- Keep iterating through artists even after a first match was found (in case multiple artists with the same name exist)
- Fix exception getting user playlists due to changes in the Spotify API (#46)
## [1.10.0.0] - 2024-09-14
### Added
- New option to set playlists as private or public to all users
### Fixed
- Exception if Spotify returns duplicate playlists for a user
## [1.9.1.0] - 2024-09-01
(Internal testing release)
## [1.9.0.0] - 2024-08-25
### Added
- New setting to enable imported "progress" to be displayed in the playlist description -> #30
- New matching type to extract an album name from the track name (like 'Track [From "An Album"]') and use that for comparison
### Changed
- Updated Jellyfin dependencies to match version 10.9.9
- Switch request handling on plugin config page to use jellyfin custom fetch mechanism
## [1.8.2.0] - 2024-08-24
(Internal testing release)
## [1.8.1.1] - 2024-06-21
### Fixed
- Include missing Fastenshtein dependency in build artifacts
## [1.8.1.0] - 2024-05-19
### Fixed
- Broken API endpoints (due to authorisation policy changes in Jellyfin introduced in 10.9)
## [1.8.0.0] - 2024-05-17
### Added
- Support for Jellyfin 10.9
- New configurable flag for each playlist whether or not to recreate it from scratch each time the task runs
- New matching type "fuzzy checking" for track and album names
### Changed
- "Ignore Parentheses" now treats [] the same as ()
- Some rework of the track matching process (again); the plugin now tries to find all potential matches first and then decides a "best fit" track name
## [1.7.2.0] - 2024-03-29
### Fixed
- Accept matches where Spotify uses a different track syntax than metadata providers (e.g. "Track Name - Super Remix" on Spotify and "Track Name (Super Remix)" on MusicBrainz) if at least match level `Ignore Case + Punctuation` is used
## [1.7.1.0] - 2024-03-18
### Changed
- Reintroduce the old track matching method as a configurable legacy alternative (not recommended to be used)
- Extend logging information / debug possibilities
## [1.7.0.3] - 2024-03-17
(Internal testing release)
## [1.7.0.2] - 2024-03-17
(Internal testing release)
## [1.7.0.1] - 2024-03-17
(Internal testing release)
## [1.7.0.0] - 2024-03-10
### Changed
- If a track / album / artist contains text in parentheses, this content will be used as another match candidate (e.g. to match tracks that have an english translation of a foreign name)
### Fixed
- Fix broken track matching if multiple artists of a track exist in Jellyfin, but the track is not located under the first existing artist
- Fix not matching tracks if their album is not a direct child of their artist and (for whatever reason) only detectable via the album artist
## [1.6.0.3] - 2024-03-05
(Internal testing release)
## [1.6.0.2] - 2024-03-03
(Internal testing release)
## [1.6.0.1] - 2024-02-27
(Internal testing release)
## [1.6.0.0] - 2024-02-23
### Changed
- Search Jellyfin server for artist instead of individual tracks and narrow track matching down from there
- Search Jellyfin server using only the first few characters of an artist name to increase chances of finding matches with slightly different names
- Use all (album) artists from Spotify to check whether a matching artist exists in Jellyfin, not just the first one
### Fixed
- Catch exceptions from Spotify API lib when retrieving users / playlists
## [1.5.0.0] - 2023-12-16
### Added
- New switch to control where missing track files are stored
- Add new matcher to ignore anything in parentheses in track/album/artist names
### Fixed
- Fix Spotify username regex not allowing special characters
## [1.4.0.0] - 2023-10-15
### Added
- Auto-migration of plugin configurations from previous plugin versions
- More verbose logging that can be enabled
### Changed
- Reworked handling of Spotify user IDs to get all their playlists (moved to its own table separate from individual playlist IDs)
### Fixed
- Fix bug in config page that reset all unsaved table row states when adding a new row
- Fix parsing of Spotify URLs that contain parameters
## [1.3.0.0] - 2023-08-13
### Added
- Extend playlist configuration by allowing user IDs as input, which leads to all of their playlists getting imported automatically
### Fixed
- Fix exception if a Spotify track contains no album artists metadata
## [1.2.0.0] - 2023-07-01
### Added
- Extend playlist configurability
- Allow own playlist names
- Set target owner / user
- Allow configuration of the track matcher
- Choose comparison strictness
- Choose what parts of the metadata get examined / compared
## [1.1.1.0] - 2023-05-06
### Fixed
- Fix exception if a Spotify playlist contains "ghost" items / null tracks
- A missing tracks file is created even though the playlist is not missing any tracks
- Fix config page not loading values when revisiting without a full page reload
## [1.1.0.0] - 2023-04-15
### Added
- New button to delete all generated missing tracks files
- New option to specify the date format used for missing tracks file names
### Fixed
- A missing tracks file is created even though the playlist is not missing any tracks
- Fix exception if a song has no artists, album name or album artists set
## [1.0.0.0] - 2023-02-26
- Initial release
### Added
- Spotify authentication via authorization code / PKCE
- Generation of missing tracks lists
- Import of Spotify playlists