Add album year to track SQL query (#3085)
authorDionysis Fortis <sfortis@gmail.com>
Thu, 5 Feb 2026 13:04:04 +0000 (15:04 +0200)
committerGitHub <noreply@github.com>
Thu, 5 Feb 2026 13:04:04 +0000 (14:04 +0100)
* Add album year to track SQL query

* Bump models to 1.1.96 and update snapshots

music_assistant/controllers/media/tracks.py
pyproject.toml
requirements_all.txt
tests/providers/jellyfin/__snapshots__/test_parsers.ambr
tests/providers/opensubsonic/__snapshots__/test_parsers.ambr
tests/providers/tidal/__snapshots__/test_parsers.ambr

index 5e9124994599c588308fdfd520ff70c873412017..afe629a76852741b2f7564a455f26128ec5f4b30 100644 (file)
@@ -85,6 +85,7 @@ class TracksController(MediaControllerBase[Track]):
                     'name', albums.name,
                     'sort_name', albums.sort_name,
                     'media_type', 'album',
+                    'year', albums.year,
                     'disc_number', album_tracks.disc_number,
                     'track_number', album_tracks.track_number,
                     'images', json_extract(albums.metadata, '$.images')
index f66909681f9d1bae3dad2e64b99d61c3bfba9480..b448f4ca576b51d787a02e21eb212ff6f9890b83 100644 (file)
@@ -30,7 +30,7 @@ dependencies = [
   "getmac==0.9.5",
   "mashumaro==3.18",
   "music-assistant-frontend==2.17.80",
-  "music-assistant-models==1.1.95",
+  "music-assistant-models==1.1.96",
   "mutagen==1.47.0",
   "orjson==3.11.5",
   "pillow==12.1.0",
index a0f5650fabaf4f2c9d08d0e1154b56de07b43adb..5526874c6bd0f2270dc926b61171e2e5c2bc47e0 100644 (file)
@@ -42,7 +42,7 @@ librosa==0.11.0
 lyricsgenius==3.7.5
 mashumaro==3.18
 music-assistant-frontend==2.17.80
-music-assistant-models==1.1.95
+music-assistant-models==1.1.96
 mutagen==1.47.0
 niconico.py-ma==2.1.0.post1
 orjson==3.11.5
index 981fc87f1fa5b27e47b25883849556487420a343..ebe32a7550decda643ce9c8075c7579ba04b1d8f 100644 (file)
@@ -17,6 +17,7 @@
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/e439648e08ade14e27d5de48fa97c88e',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/555b36f7d310d1b7405557a8775c6878',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
         'translation_key': None,
         'uri': 'jellyfin://artist/[unknown]',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
       'translation_key': None,
       'uri': 'xx-instance-id-xx://album/d42d74e134693184e7adc73106238e89',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/cc940aeb8a99149f159fe9794f136071',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
       'translation_key': None,
       'uri': 'xx-instance-id-xx://album/70b7288088b42d318f75dbcc41fd0091',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({
         'translation_key': None,
         'uri': 'jellyfin://artist/[unknown]',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/94875b0dd58cbf5245a135982133651a',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
       'translation_key': None,
       'uri': 'xx-instance-id-xx://album/32ed6a0091733dcff57eae67010f3d4b',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/a0c459294295710546c81c20a8d9abfc',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/1952db245ddef4e41dcd016475379190',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
index cef2240588a5f060e533e4da87b1b01b19f7dd1a..a94896c5c8e6077426fffe977eccb62411c822e3 100644 (file)
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/91c3901ac465b9efc439e4be4270c2b6',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-1',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-2',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/91c3901ac465b9efc439e4be4270c2b6',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-1',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-2',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
       'translation_key': None,
       'uri': 'xx-instance-id-xx://album/e8a0685e3f3ec6f251649af2b58b8617',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({
       'translation_key': None,
       'uri': 'xx-instance-id-xx://album/e8a0685e3f3ec6f251649af2b58b8617',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({
       'translation_key': None,
       'uri': 'xx-instance-id-xx://album/e8a0685e3f3ec6f251649af2b58b8617',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/97e0398acf63f9fb930d7d4ce209a52b',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-1',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-2',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/97e0398acf63f9fb930d7d4ce209a52b',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-1',
         'version': '',
+        'year': None,
       }),
       dict({
         'available': True,
         'translation_key': None,
         'uri': 'xx-instance-id-xx://artist/ar-2',
         'version': '',
+        'year': None,
       }),
     ]),
     'date_added': None,
index 2cc814c1c2db615bceae76df01d808dd9383dafa..d2255976bbf8ec1e60dfe498da1d4829a2a13a0d 100644 (file)
       'translation_key': None,
       'uri': 'tidal_instance://album/67890',
       'version': '',
+      'year': None,
     }),
     'artists': list([
       dict({