Skip to content

Releases: navidrome/navidrome

v0.28.0

02 Aug 02:41
Compare
Choose a tag to compare

Highlights

  • [UI] Album lists! Now you can explore your collection by Recently Added, Recently Played, Most Played and Random
  • [Subsonic API] Save / Get PlayQueue! Allows you to continue listening to your play queue in a different device
  • [Subsonic API] Bookmarks! Now Audiobooks can be resumed where you left off, when using Subsonic clients that supports it
  • [Subsonic API] Version reported by Navidrome is now 1.12.0

Changelog

21b9f51 Rename migrations package, to match goose generated migration files
ed726c2 Better implementation of Bookmarks, using its own table
23d69d2 Add Bookmarks to Subsonic API
3d0e70e Add MediaFile to Bookmark
34e843a Add updatedAt to Bookmarks
924ada0 Add bookmark API repsonse
2d3ed85 Add bookmark in persistence layer
3d4f4b4 Fix lint errors
338cbac Return absolute paths in Subsonic API responses
0cf5741 Use Last.FM "white star" URL for artist info
3000238 Implements the get/save play queue Subsonic endpoints and bumps API version to 1.12.0
16c38eb Add PlayQueue Subsonic response
721a959 Create playqueue table and repository
3c2b14d Rename make target for creating a new migration
2b59d4b Rename 'Cover' to the more generic term 'Artwork'
cefdeee Update Danish translations
3383327 Show year range over the album art when in "artist view" mode
38b341e [Security] Bump elliptic from 6.5.2 to 6.5.3 in /ui
ef0e5b1 Add a xl breakpoint to the album grid
3092f83 Add option to select default album view
8daac43 Add list type to album list view title
d5da23a Redirect from plain /album path to a default album list
eae46d1 Fix pagination
f6c518f Add Portuguese translation for album lists
db8a48b Implement album lists
d877928 Add UpdatedAt to transcoding cache key
0403ec2 Use OS-independent path separators
8d27c77 Highlight compilations in Features
f992b56 Remove old scanner
4e4fcb2 Small refactorings, better var/function names

v0.27.0

26 Jul 15:09
Compare
Choose a tag to compare

This release is focused on fixing the new scanner and playlist import, and also some needed internal
changes to the cache system. Now caches (album art and transcodings) are initialized asynchronously,
making startup times back to lightning fast for large caches.

It also updates the React Music Player, that brings some internal changes but also a new
play queue styling

Other notable changes:

  • Config file can now be specified with env var ND_CONFIGFILE. This allows Docker installations to configure Navidrome using a config files instead of environment vars
  • Detects .m3u8 playlists
  • New translation: Danish (thanks rybber)
  • Transcoding cache can now be disabled

Changelog

ddb30ce Add a v prefix to the version in the description
67da83c Use a RWMutex instead of an AtomicBool, to reduce contention
f8f16d6 Fix Cached flag
58b816c Show cached in info log
9b1d5c1 Load cache asynchronously
a0bed9b Handle missing index.html template
9f4f2f7 Use new FileCache in cover service
433e31a Refactor FileCache, allow disabling Trasncoding cache
b795ad5 Allow SeekStart in a merged dir
72efc18 Allow translations to be overridden in the data folder
9362612 Also import .m3u8 playlists
60178c2 Keep annotations if tracks were already in DB
de6afa1 Update da.json
fd2df12 Update cs.json (POEditor.com)
37d66a7 Add Danish translation
040c7f1 Add missing call to refresh artists
d4a5508 Remove LogLevel from Dockerfile
036f9d6 Flush albums and artists after each folder added/updated/deleted
1b7f628 Add tests for paths with UTF8 chars
5a891fd Handle utf8 chars in paths
f96e2f6 Process deleted folders even if there are no changed folders
7a5285a When deleting folders, only flush artists/albums after deleting the mediaFiles
ba347bc Detect moved folders
1bee98a Increase streamer test timeout
ff623a8 Run pre-push linting in verbose more
f28e811 Strip 'v' prefix from version, to make it consistent for release and snapshot
167fca8 Fix pipeline
b828650 Reduce the availability of old pipeline binaries artifacts
e6846de Small change, to trigger the pipeline that is stuck!
6c6254a Get all git history when building the binaries
0a9ad4e Bump action/upload-artifact and action/download-artifact to v2
9f6eb41 Do not upload packaged binaries as artifacts
25cc523 Output git tag info in the pipeline
4c0000a Use Contributor Covenant v2.0
0f7193f Create CODE_OF_CONDUCT.md
7158552 Bump react-admin to 3.7.1
c322253 Upgrade react-player to 4.16.3
17cea91 Bump @testing-library versions
6caa5ee Bump react-ga from 3.0.0 to 3.1.2
d46a8cf Allows config file to be specified with env var ND_CONFIGFILE. Fixes #415

v0.26.1

20 Jul 19:11
Compare
Choose a tag to compare

NOTE: This is a hot fix for 0.26.0

Highlights from 0.26.0

  • Add rate-limit to login, to prevent brute-force attacks
  • New scanner implementation, more reliable
  • Auto-import playlists (.m3u) found in the Music Folder, and keep them in synchronized (one-way sync)

Changelog

7e81a3b Fix default background image for login

v0.26.0

20 Jul 01:58
Compare
Choose a tag to compare

Highlights

  • Add rate-limit to login, to prevent brute-force attacks
  • New scanner implementation, more reliable
  • Auto-import playlists (.m3u) found in the Music Folder, and keep them in synchronized (one-way sync)

Changelog

d268075 Change the default scanner to use new implementation
482f46f Remove unneeded context in log calls
f0160f5 Rate limit login attempts using a Sliding Window counter rate-limiter
feca030 Give warning when playlists are not imported due to not having an admin user
41138bd Only show auto-import info for auto-imported playlists
178e424 Remove invalid config options
ae04919 Bump lodash from 4.17.15 to 4.17.19 in /ui
6adba03 Renamed misleading function name
609d172 Use first admin user for all scan operations
9cf8c92 Break up processChangedDir into smaller functions
38c3013 Add auto-import fields to the UI
8f512a4 Refactored playlist auto-import support
b9b6ce0 Auto-Import playlists found in the Music Folder
35114be Add path to playlist
3239be4 Change log level of some scanner operations
a706cb4 Fix pre-push hook
3095bee Fix lint error
51c295d Add new scanner algorithm, can be enabled with DevNewScanner config option
de0cc1f Move LoadAllAudioFiles tests to the proper test file
037f6b6 Replace lefthook with shell script
e7f6ba8 Move LoadAllAudioFiles function to the right file
25f68b6 If mediafile does not have an embedded coverart, use album's
dc50f67 Fix Makefile target name
d14a603 Add test for case-sensitive DeleteByPath
8b20c26 Make "ByPath" queries case-sensitive
1ef0869 Strip debugging info from binaries. Closes #405
ca10e80 Add demo site to README.md
33d5459 Escape paths in "ByPath" queries
aae43f4 Remove unneeded \n

v0.25.0

13 Jul 14:19
Compare
Choose a tag to compare

Highlights

BREAKING CHANGE: Command line options now requires double dashes, i.e. use --musicfolder instead of -musicfolder

  • [UI] Add option CoverJpegQuality to set JPEG quality for cover arts (#371)
  • [UI] Add option UIWelcomeMessage to show a custom welcome message in the login screen
  • [UI] Add support to measure traffic to your server using Google Analytics (#377)
  • [Server] Add option Address to specify IP address to bind to
  • [Scanner] Import .DSF (DSD) files
  • [Build] Linux Binary is now static, so now it works with both MUSL and GLIBC. Also runs on old kernels (2.6.32)
  • [Build] Added Armv5 binary to the automated release (#395)

Changelog

0bd8428 go mod tidy
394d3b0 Turn off Go 1.14 async preemption as it causes issues with CIFS/SMB access. See #393
1ef17e2 Remove version command
d4347f2 Remove redundant log message
3319f78 Remove unnecessary config from docker images
ee0ae0a Fix lint errors
064da8e Add more trace logging to scanner
74cf0ee Create Data Folder if it does not exist
c2f40ea Show totals at the end of scan
f694e47 Make private types unexported
dc8368c Return counter from DeleteByPath
e55397f Bump github.com/onsi/ginkgo from 1.13.0 to 1.14.0
8260b46 Fix migration
b59c6c8 Add support for armv5. Closes #395
b96ff9c Use ci-goreleaser 1.14.4-2
c758780 Remove MUSL build
9e35534 Fix lint errors
5620c58 Started the big refactor to extract common logic from engine package (Subsonic only) to core package (more generic)
5418a6b Remove unused docker files
865bad1 Send play song event to GA
7c3fd38 Add option to change IP address to bind
9330525 Update FUNDING.yml
941e252 Update FUNDING.yml
f0a5df7 Move transcodings initialization to a migration
fdc38b5 Enable DSD (.dsf) support
2f8b010 Change log level for "path unavailable"
2a302de Set default session timeout to 24h (agan)
681849d Fix pls ignoring
17830d6 Ignore m3u files when scanning
1cc03fd Add initial support for Google Analytics
dd91f98 Add new config option to show a custom welcome message in the login screen
3a7d70c Add scan command
8181aba Clean up a bit
2d05393 Exit if specified config file is not present
f45045d Bump viper version to 1.7.0
6954e1b Fix linting error
ef9af6e Don't fail if config file isnot found
99e2692 Fix lint errors
f980e24 Add missing wire file
a65c9bb Refactor and clean up
d2e4cad Change duration config types
5021c0f Replace multiconfig with cobra+viper
fea060e Update FUNDING.yml
7a9b848 Add quality to image cache key
2d8f0a7 Add FUNDING.yml
fa107a6 Bump Beego version to v1.12.2
2371e9b Add option to set jpeg quality level. Closes #371

v0.24.0

29 Jun 20:01
Compare
Choose a tag to compare

Highlights

  • [UI] Adds support for external cover images (cover.jpg, folder.png, etc...). Thanks @deuill
  • [UI] Shows a "playing" icon on the current played song #128. Thanks @chrisnewtonrevium
  • [UI] Optimizations to reduce browser's CPU usage
  • [UI] Restore volume level after a refresh

Changelog

f0ee52a Fix album refresh query. Fixes #373
c01d818 Fix album's songCount. Fixes #373
890ca64 Fix cover.jpg discovery
bcaf330 Make sure to select cover art from media_file that has it. Fix #360
ab1c943 Force album/artist refresh when folder changes, to cater for cover art files
703875b Fallback to album art if mediaFile does not have cover art
5f40801 Add more logs to GC call
eb109eb Remove duplicated helper functions, move them to utils package
bb9a7fa Add tests for external album cover processing
ac5d99c Check MIME type for cover on refresh, display
d9c991e Return error when no matching cover is found
08cd28a Load cover art from file directory
6563897 Restore volume level after a refresh
04d5988 Update tr.json (POEditor.com)
965c044 Update it.json (POEditor.com)
416ca2c Update de.json (POEditor.com)
ab35586 Update fr.json (POEditor.com)
acb5985 Update cs.json (POEditor.com)
9b75b72 Convert function to arrow-function
e1968b0 Bump @testing-library/user-event from 11.2.0 to 12.0.6 in /ui
f36e15c Upgrade dependencies
7547c77 Bump React-Admin version to 3.6.1
ad21b5f Bump react-drag-listview from 0.1.6 to 0.1.7 in /ui
4427900 Fix formatting
0ca70b1 Add back Artist column header to Album List View. Fixes #363
0292a33 Fix mistranslation
f93e2d0 Use memoization to avoid re-renders
3a9324c Enable autoPlay in React Player
cf69214 Revert "Upgrade to React Player 4.15.1"
83b8fa1 Simplify handle
de693b8 Upgrade to React Player 4.15.1
1686e35 Simplify PlayQueue store
804d969 Clear play queue on login and logout
9d23b19 Show indicator on current playing song. Fixes #128

v0.23.1

18 Jun 20:37
Compare
Choose a tag to compare

Bug fix release

  • Fix "Could not register player" errors due to 0.23.0 upgrade #352

Changelog

eb4c0f0 go mod tidy
c507e34 Bump github.com/onsi/ginkgo from 1.12.3 to 1.13.0
a6af46d Always use lowercase username, as it is used for referential integrity. Fixes #352

v0.23.0

14 Jun 15:42
Compare
Choose a tag to compare

Highlights

  • [UI] Better UX for making playlists public/private #344
  • [UI] Show album year when grid is filtered by artist
  • [UI] Fix cover art not showing up for some Opus encoded files #318
  • [UI] Show track/artist being played in the browser's tab title #317
  • [UI] Add link to album from player's song title #324
  • [UI] Ask confirmation when deleting a user
  • [Server] When removing a user, delete all their data (preferences, playlists) #345
  • [Scanner] Skip unreadable directories #328
  • [Scanner] Remove tracks from DB that were deleted while Navidrome was not running #151
  • [Scanner] Can now handle unlimited number of files in the same folder (even though it is generally not a good practice to have too many files in one folder)

Changelog

2d1d992 Support Windows paths
653b5ea Replace map[string]bool with map[string]struct{}
e73b71a Remove tracks from DB that were deleted while Navidrome was not running. Fixes #151
0191966 Skip unreadable directories. Fixes #328
3190611 Call ffmpeg in batches
6a3dabb Optimize queries by path
238020c Handle folders with lots of albums and/or artists
72b2e75 Revert "Show indicator on current playing song. Fixes #128"
86bc8d9 Support dark themes in "Playing" indicator
003b73f Remove invalid propType
be2afb9 Show indicator on current playing song. Fixes #128
f8a18b5 Add link to album from player's song title. Fixes #324
c216b14 Add total downloads badge
4702c5a Add track/artist being played to the page title. Closes #317
c742ae0 Remove unused feature toggles
0033966 No need to delete the playlist tracks explicitly
f072ffd Add confirmation when deleting user
94d8839 Add referential integrity to player and playlist tables
c9bcb33 Add more options to Players list
84ed3eb Update README.md
8bd9787 Fix function naming
1c466d6 Fix formatting
a64b15c Fix navigation issues caused by the use of useListParams
7148741 Revert "Keep image aspect ratio when resizing"
630c711 Use fix for Opus cover art from dhowden/tag#69
50f4bd8 Keep image aspect ratio when resizing
44c74f4 Add clickToPlay functionality to playlists
29c7513 Update updated_at field when modifying the playlist
82d437f Better defaults to sort orders in List views
b54d4c7 Show year in album tile if album grid is filtered bu artist
b636565 Disable public toggle if user is not the playlist's owner
b4e06c4 Allow toggling a playlist public from the Playlist list view. Closes #344

v0.22.0

07 Jun 18:53
Compare
Choose a tag to compare

Highlights

This week's release is light on new features, as I'm working on some needed code refactoring to make room for upcoming features (better scanning, playlists import/export)

  • [UI] Allow reordering tracks in a playlist
  • Various bug fixes and UX improvements

Changelog

5e2d463 Bump @testing-library/user-event from 10.4.1 to 11.2.0 in /ui
12d5d95 Bum @testing-library dependencies
42ee8b6 [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /ui
3908ad2 Upgrade ReactAdmin to 3.6.0
e9115da Allow Writable to have multiple children
79cf332 Redirect to Playlists list after creating or editing
2adb290 Do not show a "loading" datagrid for an empty playlist
c6f2313 Handle playlist's permissions on server
4906b81 Only allows adding to a writable playlist
39afe0c Check permissions for playlists
f8a7ef1 Fix typo
4776dba Make cursor=move for the whole playlist item row
331fa1d Add ability to reorder playlist items
b597a34 Remove flickering when loading/refreshing Playlist show view
51fb1d1 Increase cover art max-age to maximum
8fd86de Bump ginkgo version to 1.12.3
5d285f9 Bump chi version to 4.1.2
8881517 Increase album art placeholder's resolution
b836dfe Do not reset the SongList query params
ddcfc54 Link is now on the album cover, leaving a gap between albums.

v0.21.0

31 May 00:53
Compare
Choose a tag to compare

Highlights

  • [UI] Dialog to add songs and albums to existing and new playlists
  • [UI] Better support for multi-disc albums (box sets)
  • [UI] Only display album info on hover (in grid view) (#262)
  • [UI] Change default session timeout to 24h
  • [Server] Fix playlists on DSub
  • Various bug fixes and UX improvements

Changelog

86a9f9e Show album info on hover
14d7a69 Fix context menu "display on hover" in playlists
35e4eec Add album to playlist
7547888 Change default session timeout to 24h
fbedbb7 Fix context menu on mobile, removed console warnings
a7640c9 Optimized call to retrieve album songs
8f8d992 Only add to playlist songs from selected discNumber (if present)
3fe8b02 Make album context menu only visible on hover
ba8c872 Refactor: move multiDisc detection logic to SongDatagrid
915b701 Add context menu to individual discs in a set
596100b Refactor: improve readability
d8699b0 Fix album sort fields
7b36096 Fix class of disc subtitle row
62290bc Remove extra ,
498e196 Allow playing one disc of a set, by clicking on its number/name
432fe10 Update tr.json (POEditor.com)
7e625d6 Update de.json (POEditor.com)
50f3a2c Upgrade Node to v14
9028d30 Change log level for playlist log messages
26dba27 Always show song context menu on tablets
7170485 Rename property
2c68ba3 only show playlist tracks' context menu on hover
201a22e Change index in playlist to start from 1
3ca295c Update it.json (POEditor.com)
be85fe3 Update de.json (POEditor.com)
7c3d96c Update fr.json (POEditor.com)
50b44c1 Update cs.json (POEditor.com)
f9dae2d Added individual AddToPlaylistDialogs to each list view
00811f8 Cancel the dialog when clicking the backdrop
9c940cd Show AutomcompleteInput even if the list of playlists is not loaded yet
1607dc8 Remove unused dependency
a42a166 Translate messages
6db63e4 Use creatable autocomplete, to select or create a new playlist
23bd5e1 First version of dialog
8973477 npm audit fix
fbd6c96 Always return public attribute in playlist response
aaa4f15 Ignore brackets in search
72e92c7 Fix nil pointer dereference
72cb385 Update React Admin to 3.5.3