scotty/CHANGES.md
2025-05-25 15:54:25 +02:00

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.