Releases: smokin-salmon/smoked-salmon
0.9.7.4
What's Changed
- Add support for Python 3.12+ and use dependabot for dependency updates by @KyokoMiki in #172
- Fix ruTorrent connection URL parsing and add connection test by @KyokoMiki in #173
- Fix multiple issues that cause program crashes by @KyokoMiki in #174
- Fix spectral folder rename crash and arrow keys in docker by @KyokoMiki in #176
- Bump ruff from 0.13.0 to 0.13.1 by @dependabot[bot] in #179
- Bump click from 8.2.1 to 8.3.0 by @dependabot[bot] in #178
- Bump pyperclip from 1.9.0 to 1.10.0 by @dependabot[bot] in #177
- Decode username and password when parsing torrent client credentials by @KyokoMiki in #181
New Contributors
- @dependabot[bot] made their first contribution in #179
Full Changelog: 0.9.7.3...0.9.7.4
0.9.7.3
⚙ New Options
Default Editor Configuration
New configuration option for setting your preferred text editor:
[upload]
default_editor = "nano" # Can be set to "vim", "emacs", or any editor in PATHEnhanced Seedbox Configuration
New seedbox configuration options for better torrent client control:
[[seedbox]]
directory = "/downloads" # Now overrides the directory provided to torrent client
add_paused = true # Add torrents in paused stateadd_paused: Control whether torrents are added in paused or active state- Enhanced
directory: Now overrides the download path provided to the torrent client, useful when the torrent client has its own path mapping configuration
Integrity check is now performed by default (like log check and MQA check)
- Use
--skip-integrity-checkflag to skip the integrity verification of audio files
📝 Notes for Windows Users
SoX on Windows currently has issues with UTF-8 file paths. If you need UTF-8 path support, you can fix this using the following PowerShell commands. This fix is provided by DevYukine - many thanks to him!
$soxDir = $((Get-Command sox).Source | Split-Path)
$zipPath = Join-Path -Path $soxDir -ChildPath "sox_windows_fix.zip"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/DevYukine/red_oxide/master/.github/dependency-fixes/sox_windows_fix.zip" -OutFile $zipPath
Expand-Archive -Path $zipPath -DestinationPath $soxDir -Force
regedit "$soxDir\PreferExternalManifest.reg"
Remove-Item $zipPathEnjoy SoX working with UTF-8 paths! 🎉
🔍 Metadata Sources and Connection Testing
Added metadata sources and seedbox connection testing:
- Use
checkconf -mto test metadata source connections (Discogs, Tidal, Qobuz) - Use
checkconf -sto test seedbox connections
🐛 Various Fixes and Improvements
- Transcoding Path Names: Fixed bug where MP3 transcoding output folders would add [320] or [V0] separately - now the output folder name follows the FOLDER_TEMPLATE configuration
- Range Rip CRC Calculation: Added CRC calculation for range rip logs - automatically detects range rip type log files and calculates CRC by concatenating individual track files
- Upload Fix: Fixed site_page_upload failure when uploading to existing group when only
sessionis specified withoutapi_key
What's Changed
- Updates the transcoding path name generation logic to follow the FOLDER_TEMPLATE by @KyokoMiki in #162
- Allow direct selection from recent upload results by @KyokoMiki in #163
- Add an option in the configuration file for a default editor by @KyokoMiki in #164
- Improve path handling logic in LocalUploader by @KyokoMiki in #165
- Add metadata sources and seedbox connection testing by @KyokoMiki in #166
- Add CRC calculation for range rip logs and various fixes by @KyokoMiki in #169
Full Changelog: 0.9.7.2...0.9.7.3
0.9.7.2
What's Changed
- Add illegal folder detection and various fixes by @KyokoMiki in #161
Full Changelog: 0.9.7.1...0.9.7.2
0.9.7.1
What's Changed
- Multiple bug fixes and improvements by @KyokoMiki in #155
- Resolve Linux input issues by @KyokoMiki in #157
- Skip transcoding when target folder already exists by @KyokoMiki in #159
- Update Docker documentation and default config paths by @KyokoMiki in #160
Full Changelog: 0.9.7...0.9.7.1
0.9.7
⚠️ Breaking Change: Torrent Client Injection
This release introduces breaking changes to the torrent client integration system.
🔄 New Seedbox Upload System
The legacy qBittorrent and ruTorrent injection modules have been replaced with a unified seedbox upload system that supports:
- Multiple torrent clients: qBittorrent, Transmission, Deluge, ruTorrent
- Multi-device deployment: Upload files and torrents to multiple seedboxes simultaneously
✅ Migration Guide
Previous local injection is now considered a "local" seedbox. You need to update your configuration:
-
Remove old settings (these are no longer supported):
- Any qBittorrent or ruTorrent specific injection settings
-
Add new seedbox configuration to your
config.toml:# Example: Local seedbox (replaces old injection) [[seedbox]] name = "local" enabled = true type = "local" directory = "/path/to/your/download/folder" torrent_client = "transmission+http://username:password@localhost:9091" label = "smoked-salmon" # Example: Remote seedbox via rclone [[seedbox]] name = "remote-seedbox" enabled = true type = "rclone" url = "nas" # Name of remote in rclone directory = "/downloads" torrent_client = "qbittorrent+http://username:password@192.168.1.2:8080" flac_only = false extra_args = ["--checksum", "-P"] label = "smoked-salmon"
-
Enable seedbox uploading:
[upload] upload_to_seedbox = true
🎵 New Automatic Transcoding Feature
This release introduces automatic transcoding and upload functionality:
- Automatically detects all possible transcode formats after upload
- Uploads all transcoded versions automatically
- Lossy master report: If source is lossy master, all transcoded torrents are automatically reported as lossy master
- No configuration required: Works through interactive prompts during upload
🎯 New Tracker Support
Added support for DICMusic tracker. To configure:
[tracker.dic]
session = 'get-from-site-cookie'🖼️ Automatic Cover Compression
New feature to automatically compress embedded cover images in FLAC files:
[image]
auto_compress_cover = true # Set to true to enable⚠️ Important Notes
- No automatic migration from old injection settings - manual configuration required
- The Wiki is currently outdated and will be updated in a future release
- Please report if you encounter crashes or strange behavior with these new features
What's Changed
- Merge seedbox uploading module from smoked-salmon-oasis by @KyokoMiki in #118
- Merge automatic transcoding and uploading module from smoked-salmon-oasis by @KyokoMiki in #151
Full Changelog: 0.9.6.1...0.9.7
0.9.6.1
This version fixes the issue on Windows platform where sometimes input would not be confirmed immediately and required multiple confirmations.
Oxipng and cambia no longer need to be installed as dependencies. All external dependencies required by the current program can now be installed directly using the system package manager.
What's Changed
- Format code with ruff by @KyokoMiki in #146
- Replace external oxipng with pyoxipng by @KyokoMiki in #147
- Replace external cambia with pycambia library by @KyokoMiki in #149
- Update README.md for docker usage by @maksii in #106
- Resolve async input handling issues on Windows by @KyokoMiki in #150
New Contributors
Full Changelog: 0.9.6...0.9.6.1
0.9.6
As of this version, smoked-salmon should now be able to run natively on Windows. This release features a refactored transcoding and downconverting module based on m3ercat, and other parts that were incompatible with Windows have also been refactored.
What's Changed
- Add overwrite=True arg to torf write to avoid WriteError when file exists by @resu-detcader in #119
- Fix hardlink option parity being wacked up by @resu-detcader in #124
- Merge transcoding and downconverting module from smoked-salmon-oasis by @KyokoMiki in #105
- Add health command to show state of dependencies by @resu-detcader in #125
- Two fixes in foldername.py by @resu-detcader in #130
- Make default tracker field not required by @resu-detcader in #133
- Update README.md by @bznein in #135
- Renamed host and port in config by @btTeddy in #136
New Contributors
- @KyokoMiki made their first contribution in #105
- @bznein made their first contribution in #135
- @btTeddy made their first contribution in #136
Full Changelog: 0.9.5.1...0.9.6
0.9.5.1
Fixed the error that occurred during torrent creation.
What's Changed
- Bugfixes from toml pull request by @resu-detcader in #113
- Fix 'beautifulsoup4' dependency by @ambroisie in #112
- Add database location migration message by @resu-detcader in #116
New Contributors
- @ambroisie made their first contribution in #112
Full Changelog: 0.9.5...0.9.5.1
0.9.5
⚠️ Breaking Change: Configuration File Format
This release introduces a major breaking change: we are transitioning away from the legacy config.py configuration file.
🔁 New Configuration System
Settings are now stored in a TOML file located at: ~/.config/smoked-salmon/config.toml
There is no automatic migration from the old config.py, so you will need to manually migrate your settings.
✅ Recommended Migration Path
Start from the default configuration file.
This ensures you're aligned with the latest structure and includes all newly introduced options.
📖 Documentation
- The README has been updated to reflect this change.
- The Wiki is currently outdated and will be updated in a future release.
We understand this requires extra effort and appreciate your patience as we make configuration cleaner and more maintainable moving forward.
What's Changed
- Fix rare case of lost cover when uploading on multiple trackers by @redusys in #102
- Move to toml configuration by @resu-detcader in #95
New Contributors
- @resu-detcader made their first contribution in #95
Full Changelog: 0.9.4.9...0.9.5