mirror of
https://git.sr.ht/~phw/scotty
synced 2025-06-03 12:08:34 +02:00
119 lines
5 KiB
Markdown
119 lines
5 KiB
Markdown
# Scotty Changelog
|
|
|
|
## 0.7.0 - WIP
|
|
- listenbrainz-archive: new backend to load listens and loves from a
|
|
ListenBrainz export. The data can be read from the downloaded ZIP archive
|
|
or a directory where the contents of the archive have been extracted to.
|
|
- listenbrainz: faster loading of missing loves metadata using the ListenBrainz
|
|
API instead of MusicBrainz. Fallback to slower MusicBrainz query, if
|
|
ListenBrainz does not provide the data.
|
|
- listenbrainz: fixed issue were timestamp was not updated properly if
|
|
duplicate listens where detected during import.
|
|
- spotify-history: it is now possible to specify the path directly to the
|
|
`my_spotify_data_extended.zip` ZIP file as downloaded from Spotify.
|
|
- spotify-history: the parameter to the export archive path has been renamed to
|
|
`archive-path`. For backward compatibility the old `dir-path` parameter is
|
|
still read.
|
|
- deezer-history: new backend to import listens and loves from Deezer data export.
|
|
- deezer: fixed endless export loop if the user's listen history was empty.
|
|
- dump: it is now possible to specify a file to write the text output to.
|
|
- Fixed potential issues with MusicBrainz rate limiting.
|
|
- Fixed import log output duplicating.
|
|
|
|
|
|
## 0.6.0 - 2025-05-23
|
|
- Fully reworked progress report
|
|
- Cancel both export and import on error
|
|
- Show progress bars as aborted on export / import error
|
|
- The import progress is now aware of the total amount of exported items
|
|
- The import progress shows total items processed instead of time estimate
|
|
- Fix program hanging endlessly if import fails (#11)
|
|
- If import fails still store the last successfully imported timestamp
|
|
- More granular progress updates for JSPF and scrobblerlog
|
|
- JSPF: implemented export as loves and listens
|
|
- JSPF: write track duration
|
|
- JSPF: read username and recording MSID
|
|
- JSPF: add MusicBrainz playlist extension in append mode, if it does not
|
|
exist in the existing JSPF file
|
|
- scrobblerlog: fix timezone not being set from config (#6)
|
|
- scrobblerlog: fix listen export not considering latest timestamp
|
|
- Funkwhale: fix progress abort on error
|
|
|
|
|
|
## 0.5.2 - 2025-05-01
|
|
- ListenBrainz: fixed loves export not considering latest timestamp
|
|
|
|
|
|
## 0.5.1 - 2025-05-01
|
|
- scrobblerlog: fixed timezone offset calculation
|
|
- if system locale detection fails don't abort but fall back to English
|
|
|
|
|
|
## 0.5.0 - 2025-04-29
|
|
- ListenBrainz: handle missing loves metadata in case of merged recordings
|
|
- ListenBrainz: fix loves import loading all existing loves
|
|
- ListenBrainz: fixed progress for loves import
|
|
- ListenBrainz: log missing recording MBID on love import
|
|
- Subsonic: support OpenSubsonic fields for recording MBID and genres (#5)
|
|
- Subsonic: fixed progress for loves export
|
|
- scrobblerlog: add "time-zone" config option (#6)
|
|
- scrobblerlog: fixed progress for listen export
|
|
- scrobblerlog: renamed setting `include-skipped` to `ignore-skipped`
|
|
|
|
Note: 386 builds for Linux are not available with this release due to an
|
|
incompatibility with latest version of gorm.
|
|
|
|
|
|
## 0.4.1 - 2024-09-16
|
|
- Subsonic: include `subsonic_id` as additional metadata
|
|
- Deezer: fix artist and album ID URIs (#7)
|
|
- Fix installation issues due to wrong go version format in `go.mod`
|
|
|
|
|
|
## 0.4.0 - 2024-01-21
|
|
- JSPF: implement append mode
|
|
- scrobberlog: append mode is enabled by default
|
|
- Subsonic: Only set tags if genre is not empty
|
|
- ListenBrainz: Listen import can be configured to check for duplicate listens
|
|
- spotify-history: New backend for importing from Spotify extended streaming
|
|
history JSON files
|
|
- Allow date time string for `--timestamp` parameter
|
|
- Enabled output for "dump" backend again
|
|
- Fixed completed progress bar showing empty
|
|
- Fixed crash in case of importer returning an error on import start
|
|
|
|
|
|
## 0.3.1 - 2023-12-10
|
|
- Prompt user to authenticate after service requiring authentication added
|
|
- Commands service auth, edit and delete now all support `--service` flag
|
|
- Do not apply locale formatting in UI output to Unix timestamps
|
|
- Default for service delete confirmation is now "no"
|
|
- Default for Maloja "nofix" option is now "no"
|
|
- Fixed last stored timestamp for beam loves not getting loaded
|
|
- Fixed crash with invalid target config name in beam commands
|
|
|
|
|
|
## 0.3.0 - 2023-12-09
|
|
- Initialize config if it does not exist
|
|
- Set database path relative to config file location
|
|
- Implemented service configuration commands
|
|
- Use positional arguments for source and target in beam commands
|
|
- Allow specifying `--timestamp 0`
|
|
- Subsonic: fixed filtering songs based on timestamp
|
|
- JSPF: add MB playlist extension
|
|
- Spotify: fixed loves export count
|
|
- Deezer: fixed listen export count
|
|
- ListenBrainz: fetch listens in reverse listen time order
|
|
- Initial localization of user interface
|
|
- Documented general configuration and usage
|
|
|
|
|
|
## 0.2.0 - 2023-11-28
|
|
- lastfm: support for scrobble and love export/import
|
|
- jspf: consider loved track MBID
|
|
- Fixed tracking of import errors
|
|
|
|
|
|
## 0.1.0 - 2023-11-24
|
|
- Initial development release with support for ListenBrainz, Maloja, Funkwhale,
|
|
Subsonic, Spotify, Deezer, JSPF and scrobblerlog files.
|