v0.10.0 (2021-05-17)
Implemented enhancements:
- Add checks and warnings for (known) cdparanoia's upstream bugs #495 [Design]
- Allow configuring whether to auto close the drive's tray #488
- Better error handling for unconfigured drive offset #478 [Design]
- WARNING:whipper.command.main:set_hostname() takes 1 positional argument but 2 were given #464 [Design]
- Display release country in matching releases #451
- Ability to group multi-disc releases in a single folder #448
- Provide option to not use disambiguation in title #440
- test_result_logger.py: truly test all four cases of whipper version scheme #427
- more template options for filenames #401
- Always print output directory #393 [Design]
- Provide better error message when there's no CD in the drive #385 [Design]
- Change documentation from epydoc to reStructuredText #383
- Allow customization of maximum rip retries attempts value #349
- Save ISRCs from CD TOC #320
- PathFilter questions #313
- Let
debug musicbrainzngs
look up based on MusicBrainz Release ID in addition to Disc ID #251 - Ability to skip unrippable track #128
- add manpage #73
- Grab cover art #50
- cdda2wav from cdrtools instead of cdparanoia #38
Fixed bugs:
- Unable to find offset with a single-track cd #532
- Rip of CD fails to set "Various Artists" flac tag #518
- AccurateRipResponse test failures #515
- path_filter_whitespace not working #513
- got exception IndexError('list index out of range') #512
- no CD detected, please insert one and retry #511 [Regression]
- whipper not finding the drive (whipper docker install) #499
- Missing .toc files when ripping a CD multiple times due to whipper ToC caching #486
- Change the docker alias in the readme to use {HOME} rather than ~ #482
- Musicbrainz lookup fails for multiple CD rip #477
- whipper drive analyze appears to be stuck #469 [Upstream Bug]
- Whipper configuration file:
cover_art
option does nothing #465 [Design] - Improve Docker instructions in README #452
- Whipper gives up even if 5th rip attempt is successful #449
- Don't include full file path in log files #445 [Regression]
- Whipper example config file:
%
character in inline comment causesInterpolationSyntaxError
#443 - output directory isn't read #441 [Regression]
- Requests to accuraterip.com are missing a user agent which identifies whipper #439
- Bug: MusicBrainz lookup URL is hardcoded to always use https #437
whipper drive analyze
is broken on Python 3 #431 [Regression]- Make it possible to build from tarball again #428 [Regression]
- TypeError: float argument required, not NoneType #402
- Drop whipper caching #335
- musicbrainz calculation fails on cd with data tracks that are not positioned at the end #289
- AttributeError: 'Namespace' object has no attribute 'offset' #230 [Regression]
'NoneType' object has no attribute '__getitem__'
after rip with current master (a3e9260) #196- Use the track title instead the recoding title (MusicBrainz related) #192
- pygobject_register_sinkfunc is deprecated #45
Merged pull requests:
- Fixed error when ripping using
--keep-going
without specifying `--o… #537 (blueblots) - Add requested template variables #536 (JoeLametta)
- Added --keep-going option to cd rip command #524 (blueblots)
- Parameterise the UID of the worker user in the docker build file. #517 (unclealex72)
- Fix capitalization of "Health status" in rip log #510 (MasterOdin)
- Tag audio tracks with ISRCs (if available) #509 (JoeLametta)
- Provide better error message when there's no CD in the drive #507 (JoeLametta)
- Add checks and warnings for (known) cdparanoia's upstream bugs #506 (JoeLametta)
- Allow configuring whether to auto close the drive's tray #505 (JoeLametta)
- Travis CI: Add Python 3.9 release candidate 1 #504 (cclauss)
- Define libcdio version as environment variables in docker #498 (MasterOdin)
- Add man pages. #490 (baldurmen)
- Restore the ability to use inline comments in config files #461 (neilmayhew)
- Fix cd rip --max-retries option handling #460 (kevinoid)
- Fix crash fetching cover art for unknown album #459 (kevinoid)
- Fix cover file saving with /tmp on different FS #458 (kevinoid)
- Test all four cases of whipper version scheme #456 (ABCbum)
- Allow customization of maximum rip attempts value #455 (ABCbum)
- Update docker instructions to use --bind instead of -v. #454 (MartinPaulEve)
- Use https and http appropriately when connecting to MusicBrainz #450 (ABCbum)
- Add PERFORMER & COMPOSER metadata tags to audio tracks (if available) #444 (ABCbum)
- Grab cover art from MusicBrainz/Cover Art Archive and add it to the resulting whipper rips #436 (ABCbum)
- Fix whipper's MusicBrainz Disc ID calculation for CDs with data tracks that are not positioned at the end of the disc #435 (ABCbum)
- Fix failed() task of AnalyzeTask (program/cdparanoia) #434 (Freso)
- Test against Python versions 3.6, 3.7, and 3.8 #433 (Freso)
- Allow whipper's mblookup command to look up information based on Release MBID #432 (ABCbum)
- Enable whipper to use track title #430 (ABCbum)
- Improve docstrings #389 (JoeLametta)
- Drop whipper caching #336 (JoeLametta)
- Rewrite PathFilter #324 (JoeLametta)
v0.9.0 (2019-12-04)
Fixed bugs:
- Fix regression introduced due to Python 3 port #424 [Regression]
- Test failure when building a release #420
- Dockerfile is missing ruamel.yaml #419
- exception while reading CD #413
- Unable to find offset using specific CD. #252
- cdparanoia toc does not agree with cdrdao-toc, cd-paranoia also reports different (but better) lengths #175 [Upstream Bug]
- Port to Python 3 #78
Merged pull requests:
v0.8.0 (2019-10-27)
Implemented enhancements:
- Separate out Release in log into two value map #416
- Include MusicBrainz Release ID in the log file #381
- Note in the whipper output/log if development version was used #337 [Design]
- read-toc progress information #299 [Design]
- Look into adding more MusicBrainz identifiers to ripped files #200
- Specify supported version(s) of Python in setup.py #378 (Freso)
Fixed bugs:
- whipper bails out if MusicBrainz release group doesn’t have a type #396
- object has no attribute 'working_directory' when running cd info #375 [Regression]
- Failure to rip CD: "ValueError: could not convert string to float: " #374 [Regression]
- "AttributeError: Program instance has no attribute '_presult'" when ripping #369 [Regression]
- Drive analysis fails #361
- Eliminate warning "eject: CD-ROM tray close command failed" #354 [Design]
- Flac file permissions #284
Closed issues:
Merged pull requests:
- Fix ripping discs with less than ten tracks #418 (mtdcr)
- Make getFastToc() fast again #417 (mtdcr)
- Use ruamel.yaml for formatting and outputting rip .log file #415 (itismadness)
- Handle missing self.options for whipper cd info #410 (JoeLametta)
- Fix erroneous result message for whipper drive analyze #409 (JoeLametta)
- Report eject's failures as logger warnings #408 (JoeLametta)
- Set FLAC files permissions to 0644 #407 (JoeLametta)
- Fix offset find command #406 (vmx)
- Make whipper not break on missing release type #398 (Freso)
- Set default for eject to: success #392 (gorgobacka)
- Use eject value of the class again #391 (gorgobacka)
- Convert documentation from epydoc to reStructuredText #387 (JoeLametta)
- Include MusicBrainz Release URL in log output #382 (Freso)
- Fix critical regressions introduced in 3e79032 and 16b0d8d #371 (JoeLametta)
- Use git to get whipper's version #370 (Freso)
- Handle artist MBIDs as multivalue tags #367 (Freso)
- Add Track, Release Group, and Work MBIDs to ripped files #366 (Freso)
- Refresh MusicBrainz JSON responses used for testing #365 (Freso)
- Clean up MusicBrainz nomenclature #364 (Freso)
- Fix misaligned output in command.mblookup #363 (Freso)
- Update accuraterip-checksum #362 (Freso)
- Require Developer Certificate of Origin sign-off #358 (JoeLametta)
- Address warnings/errors from various static analysis tools #357 (JoeLametta)
- Clarify format option for disc template #353 (rekh127)
- Refactor cdrdao toc/table functions into Task and provide progress output #345 (jtl999)
- accuraterip-checksum: convert to python C extension #274 (mtdcr)
v0.7.3 (2018-12-14)
Implemented enhancements:
- Write musicbrainz_discid tag when disc is unknown #280
- Write .toc files in addition to .cue files to support cdrdao and non-compliant .cue sheets #214
Fixed bugs:
- Error when parsing log file due to left pad track number #340
- Failing AccurateRipResponse tests #333 [Regression]
- CRITICAL:whipper.command.cd:output directory is a finished rip output directory #287
- Possible HTOA error #281 [Upstream Bug]
- Disc template KeyError #279
- Enhanced CD causes computer to freeze. #256 [Upstream Bug]
- Unicode issues #215
- whipper offset find exception #208
- ZeroDivisionError: float division by zero #202
- Allow plugins from system directories #135 [Regression]
Closed issues:
Merged pull requests:
- Discover plugins in system directories too #348 (JoeLametta)
- Avoid zero padding in logger track numbers #341 (itismadness)
- Update failing AccurateRipResponse tests #334 (JoeLametta)
- Replace sys.std{out,err} statements with logger/print calls #331 (JoeLametta)
- Add Probot apps to improve workflow #329 (JoeLametta)
- Raise exception when cdparanoia can't read any frames #328 (JoeLametta)
- Prevent exception in offset find #327 (JoeLametta)
- Fix template validation error #325 (JoeLametta)
- Fix UnicodeEncodeError with non ASCII MusicBrainz's catalog numbers #323 (JoeLametta)
- Raise exception if template has invalid variables #322 (JoeLametta)
- Preserve ToC file generated by cdrdao #321 (JoeLametta)
v0.7.2 (2018-10-31)
Implemented enhancements:
- automatically build Docker images #301
Fixed bugs:
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 17-18: ordinal not in range(128) #315
Merged pull requests:
- Explicitly encode path as UTF-8 in truncate_filename() #319 (Freso)
- Add AppStream metainfo.xml file #318 (Freso)
v0.7.1 (2018-10-23)
Implemented enhancements:
- Disable eject button when ripping #308
- Add cdparanoia version to log file #267
- Add a requirements.txt file #221
Fixed bugs:
- TypeError on whipper offset find #263
- Remove whipper's retag feature #262
- ImportError: libcdio.so.16: cannot open shared object file: No such file or directory #229
- Catch DNS error #206
- Limit length of filenames #197
- Loggers #117
Merged pull requests:
- Limit length of filenames #311 (JoeLametta)
- Add a requirements.txt file #310 (JoeLametta)
- Reorder Dockerfile for performance #305 (anarcat)
- Handle FreeDB server errors gracefully #304 (anarcat)
- Fix Docker invocation #300 (anarcat)
- Document Docker usage in the README #297 (thomas-mc-work)
- switch CDDB implementation to freedb.py from python-audio-tools #276 (mtdcr)
- task: implement logging #272 (mtdcr)
- Switch to PyGObject by default #271 (mtdcr)
- Remove whipper's image retag feature #269 (JoeLametta)
- Incremental code modernization for (future) Python 3 port #268 (JoeLametta)
- Remove dead code from program.getFastToc #264 (mtdcr)
- Add Dockerfile #237 (thomas-mc-work)
v0.7.0 (2018-04-09)
Implemented enhancements:
- Simple message while reading TOC #257
Fixed bugs:
- cd rip is not able to rip the last track #203 [Upstream Bug]
- CD-ROM powers off during rip command. #189 [Upstream Bug]
- Various ripping issues #179
- whipper not picking up all settings in whipper.conf #99
Merged pull requests:
- Small readme cleanups #250 (RecursiveForest)
- Remove debug commands, add mblookup command #249 (RecursiveForest)
- Remove reference to Copr repository #248 (mruszczyk)
- Revert "Convert docstrings to reStructuredText" #246 (RecursiveForest)
- remove -T/--toc-pickle #245 (RecursiveForest)
- credit four major developers by line count #243 (RecursiveForest)
- remove radon reports #242 (RecursiveForest)
- read command parameters from config sections #240 (RecursiveForest)
- fix CI build error with latest pycdio #233 (thomas-mc-work)
- Removed reference to unused "profile = flac" config option (issue #99) #231 (calumchisholm)
v0.6.0 (2018-02-02)
Implemented enhancements:
- using your own MusicBrainz server #172
- Use 'Artist as credited' in filename instead of 'Artist in MusicBrainz' (e.g. to solve [unknown]) #155
- Declare supported Python version #152
- Identify media type in log file (ie CD vs CD-R) #137
- Rename the Python module #100
- libcdio-paranoia instead of cdparanoia #87
- Support both AccurateRip V1 and AccurateRip V2 at the same time #18
Fixed bugs:
- Error: NotFoundException message displayed while ripping an unknown disc #198
- whipper doesn't name files .flac, which leads to it not being able to find ripped files #194
- Issues with finding offset #182 [Upstream Bug]
- failing unittests in systemd-nspawn container #157
- Update doc/release or remove it #149
- Test HTOA peak value against 0 (integer equality) #143
- Regression: Unable to resume a failed rip #136
- "Catalog Number" incorrectly appended to "artist" instead of the Album name. #127
- Track "can't be ripped" but EAC can :) #116
- ERROR: stopping task which is already stopped #59
- can't find accuraterip-checksum binary in morituri-uninstalled mode #47
Merged pull requests:
- Test HTOA peak value against 0 (integer comparison) #224 (JoeLametta)
- Fix appearance of template description text. #223 (calumchisholm)
- Run whipper without installation #222 (vmx)
- Remove doc/release #218 (MerlijnWajer)
- Fix resuming previous rips #217 (MerlijnWajer)
- Switch to libcdio-cdparanoia (from cdparanoia) #213 (MerlijnWajer)
- Convert docstrings to reStructuredText #211 (JoeLametta)
- Enable connecting to a custom MusicBrainz server #210 (ghost)
- Fix recently introduced Python 3 incompatibility #199 (LingMan)
- restore .flac extension #195 (RecursiveForest)
- Misc fixes #188 (ubitux)
- AccurateRip V2 support #187 (RecursiveForest)
- Solve all flake8 warnings #163 (JoeLametta)
- Minor touchups #161 (Freso)
- Stop allowing flake8 to fail in Travis CI #160 (Freso)
- Fix division by zero #159 (sqozz)
- Fix artist name #156 (gorgobacka)
- Detect and handle CD-R discs #154 (gorgobacka)
- Disambiguate on release #153 (Freso)
- Add flake8 testing to CI #151 (Freso)
- Clean up files in misc/ #150 (Freso)
- Update .gitignore #148 (Freso)
- Fix references to morituri. #109 (Freso)
v0.5.1 (2017-04-24)
Fixed bugs:
- 0.5.0 Release init.py version number not updated #147
v0.5.0 (2017-04-24)
Implemented enhancements:
- Remove gstreamer dependency #29
Fixed bugs:
- Final track rip failure due to file size mismatch #146 [Upstream Bug]
- Fails to rip if MB Release doesn't have a release date/year #133
- overly verbose warning logging #131 [Design]
- fb271f08cdee877795091065c344dcc902d1dcbf breaks HEAD #129
- 'whipper drive list' returns a suggestion to run 'rip offset find' #112
- EmptyError('not a single buffer gotten',) #101
- Julie Roberts bug #74 [Upstream Bug]
Merged pull requests:
- Remove notes related to GStreamer flacparse #140 (Freso)
- Prevent a crash if MusicBrainz release date is missing #139 (ribbons)
- program: do not fetch 4 times musicbrainz metadata #134 (ubitux)
- Fix Travis CI build failures #132 (JoeLametta)
- Rip out all code that uses gstreamer #130 (MerlijnWajer)
- Add pre-emphasis status reporting to whipper's logfiles #124 (JoeLametta)
- Add gstreamer-less flac encoder and tagging #121 (MerlijnWajer)
- Replace rip command suggestions with 'whipper' #114 (JoeLametta)
v0.4.2 (2017-01-08)
Fixed bugs:
- 0.4.1 Release created but version number in code not bumped #105
- Whipper attempts to rip with no CD inserted #81
Merged pull requests:
- Amend previous tagged release #107 (JoeLametta)
- Update links to Arch Linux AUR packages in README. #103 (Freso)
v0.4.1 (2017-01-06)
Closed issues:
Merged pull requests:
- Small cleanups of setup.py #102 (Freso)
- Persist False value for defeats_cache correctly #98 (ribbons)
- Update suggested commands given by
drive list
#97 (ribbons) - add url and license to setup.py #96 (RecursiveForest)
- remove configure.configure, use __version__, remove getRevision() #94 (RecursiveForest)
- cdrdao no-disc ejection & --eject #93 (RecursiveForest)
- argparse & logging #92 (RecursiveForest)
- Update README.md #91 (pieqq)
- Fixed README broken links and added a better changelog #90 (JoeLametta)
- soxi: remove self._path unused variable, mark dep as 'soxi' #89 (RecursiveForest)
- Fix spelling mistake in README.md #86 (takeshibaconsuzuki)
- Error reporting enhancements (conditional-raise-instead-of-assert version) #80 (chrysn)
- Update top level informational files #71 (RecursiveForest)
- Use soxi instead of gstreamer to determine a track's length #67 (chrysn)
v0.4.0 (2016-11-08)
Fixed bugs:
Merged pull requests:
- Invoke whipper by its name + Readme rewrite #70 (JoeLametta)
- do not recalculate musicbrainz disc id for every getMusicBrainzDiscId… #69 (RecursiveForest)
- Directory #62 (RecursiveForest)
- undelete overzealously removed plugin initialisation #61 (RecursiveForest)
- README.md: drop executable flag #55 (chrysn)
- nuke-autohell #54 (RecursiveForest)
- standardise program/sox.py formatting, add test case, docstring #53 (RecursiveForest)
- replace cdrdao.py with much simpler version #52 (RecursiveForest)
- use setuptools, remove autohell, use raw make for src/ #51 (RecursiveForest)
v0.3.0 (2016-10-17)
Fixed bugs:
Merged pull requests:
- Sox #48 (RecursiveForest)
- Fast accuraterip checksum #37 (MerlijnWajer)
v0.2.4 (2016-10-09)
Implemented enhancements:
- Don't allow ripping without an explicit offset, and make pycdio a required dependency #23
- get rid of the gstreamer-0.10 dependency #2
Fixed bugs:
- whipper fails to build on bash-compgen #25
- [musicbrainz] KeyError: 'disc' #22
- NameError: global name 'musicbrainz' is not defined #16
- Fix HTOA handling #14
- rip offset find seems to fail #4
- rip cd info seems to fail #3
Merged pull requests:
- Issue24 #42 (JoeLametta)
- Update .travis.yml #39 (JoeLametta)
- Fix issue #23 #32 (JoeLametta)
- Remove thomasvs' python-deps #31 (JoeLametta)
- Include name of used logger into whipper's txt report #30 (JoeLametta)
- PRE_EMPHASIS #27 (RecursiveForest)
- Resolve case where _peakdB is None #20 (chadberg)
- Remove old musicbrainz dependency #12 (abendebury)
- Travis build fix #10 (abendebury)
- Fork #6 (abendebury)
v0.2.3 (2014-07-16)
v0.2.2 (2013-07-30)
v0.2.1 (2013-07-15)
v0.2.0 (2013-01-20)
* This Changelog was automatically generated by github_changelog_generator