From 33f2b9f0b7b92670635cac046fbb96294bbce55a Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Fri, 23 Sep 2011 12:38:14 -0700 Subject: [PATCH] removing NEWS: changelog in docs takes its place --- NEWS | 406 ----------------------------------------------------------- 1 file changed, 406 deletions(-) delete mode 100644 NEWS diff --git a/NEWS b/NEWS deleted file mode 100644 index 5b4ee48c5..000000000 --- a/NEWS +++ /dev/null @@ -1,406 +0,0 @@ -1.0b10 ------- -* A new "beet modify" command enables manual, command-line-based - modification of music metadata. Pass it a query along with - field=value that specify the changes you want to make. -* A new "beet update" command updates the database to reflect - changes in the on-disk metadata. You can now use an external - program to edit tags on files, remove files and directories, etc., - and then run "beet update" to make sure your beets library is in - sync. This will also rename files to reflect their new metadata. -* A new "beet move" command can copy or move files into your library - directory or to another specified directory. -* When importing files that are already in the library database, - the items are no longer duplicated -- instead, the library is - updated to reflect the new metadata. This way, the import command - can be transparently used as a "re-import". -* Relatedly, the -L flag to the "import" command makes it take a query - as its argument instead of a list of directories. The matched albums - (or items, depending on the -s flag) are then re-imported. -* A new flag -i to the import command runs incremental imports, keeping - track of and skipping previously-imported directories. This has the - effect of making repeated import commands pick up only newly-added - directories. The "import_incremental" config option makes this the - default. -* When pruning directories, "clutter" files such as .DS_Store and - Thumbs.db are ignored (and removed with otherwise-empty - directories). -* A new plugin, called "web", encapsulates a simple Web-based GUI for - beets. The current iteration can browse the library and play music - in browsers that support HTML5 Audio. -* When moving items that are part of an album, the album art implicitly - moves too. -* Files are no longer silently overwritten when moving and copying files. -* Handle exceptions thrown when running Mutagen. -* Fix a missing __future__ import in embedart on Python 2.5. -* Fix ID3 and MPEG-4 tag names for the album-artist field. -* Fix Unicode encoding of album artist, album type, and label. -* Fix crash when "copying" an art file that's already in place. - -1.0b9 ------ -* Queries can now contain whitespace. Spaces passed as shell - arguments are now preserved, so you can use your shell's escaping - syntax to include spaces in queries. For example, typing this: - beet ls "the knife" - or this: - beet ls the\ knife - now matches the entire phrase. To match in specified fields, use - a construction like this: - beet ls "artist:the knife" -* Queries can match items from the library by directory. A 'path:' - prefix is optional; any query containing a path separator (/ on - POSIX systems) is assumed to be a path query. Running - "beet ls path/to/music" will show all the music in your library - under the specified directory. -* Album art is now automatically discovered and copied from the - imported directories when available. -* When choosing the "as-is" import album (or doing a non-autotagged - import), every album either has an "album artist" set or is - marked as a compilation (Various Artists). The choice is made - based on the homogeneity of the tracks' artists. This prevents - compilations that are imported as-is from being scattered across - many directories after they are imported. -* The release label for albums and tracks is now fetched from - MusicBrainz, written to files, and stored in the database. -* Release year and label are now shown in the candidate selection - list to help disambiguate different releases of the same album. -* Prompts in the importer interface are now colorized for easy - reading. The default option is always highlighted. -* The "list" command now accepts a "-p" switch that causes it to show - paths instead of titles. This makes the output of "beet ls -p" - suitable for piping into another command such as xargs. -* The importer now provides the option to specify a MusicBrainz ID - manually if the built-in searching isn't working for a particular - album or track. -* $bitrate in path formats is now formatted as a human-readable kbps - value instead of a raw integer. -* The import logger has been improved for "always-on" use. First, - it is now possible to specify a log file in .beetsconfig. Also, - logs are now appended rather than overwritten and contain - timestamps. -* Album art fetching and plugin events are each now run in separate - pipeline stages during imports. This should bring additional - performance when using album art plugins like embedart or - beets-lyrics. -* Accents and other Unicode decorators on characters are now treated - more fairly by the autotagger. For example, if you're missing the - acute accent on the "e" in "cafe", that change won't be penalized. - This introduces a new dependency on the "unidecode" Python module. -* When tagging a track with no title set, the track's filename is now - shown (instead of nothing at all). -* The bitrate of lossless files is now calculated from their file size - (rather than being fixed at 0 or reflecting the uncompressed audio - bitrate). -* Fixed a problem where duplicate albums or items imported at the same - time would fail to be detected. -* BPD now uses a persistent "virtual filesystem" in order to fake a - directory structure. This means that your path format settings are - respected in BPD's browsing hierarchy. This may come at a performance - cost, however. The virtual filesystem used by BPD is available for - reuse by plugins (e.g., the FUSE plugin). -* Singleton imports ("beet import -s") can now take individual files as - arguments as well as directories. -* Fix Unicode queries given on the command line. -* Fix crasher in quiet singleton imports (import -qs). -* Fix crash when autotagging files with no metadata. -* Fix a rare deadlock when finishing the import pipeline. -* Fix an issue that was causing mpdupdate to run twice for every album. -* Fix a bug that caused release dates/years not to be fetched. -* Fix a crasher when setting MBIDs on MP3s file metadata. -* Fix a "broken pipe" error when piping beets' standard output. -* A better error message is given when the database file is unopenable. -* Suppress errors due to timeouts and bad responses from MusicBrainz. -* Fix a crash on album queries with item-only field names. - -1.0b8 ------ -* Better support for singleton (non-album) tracks. Whereas beets - previously only really supported full albums, now it can also keep - track of individual, off-album songs. The "singleton" path format - can be used to customize where these tracks are stored. To import - singleton tracks, provide the -s switch to the import command or, - while doing a normal full-album import, choose the "as Tracks" (T) - option to add singletons to your library. To list only singleton or - only album tracks, use the new "singleton:" query term: the query - "singleton:true" matches only singleton tracks; "singleton:false" - matches only album tracks. The lastid plugin has been extended to - support matching individual items as well. -* The importer/autotagger system has been heavily refactored in this - release. If anything breaks as a result, please let me know. -* Support for album art embedded in files. A new plugin, called - "embedart", implements this functionality. Enable the plugin to - automatically embed downloaded album art into your music files' - metadata. The plugin also provides the "embedart" and "extractart" - commands for moving image files in and247ca93696d3 out of metadata. See the - wiki for more details. (Thanks, daenney!) -* The "distance" number, which quantifies how different an album's - current and proposed metadata are, is now displayed as "similarity" - instead. This should be less noisy and confusing; you'll now see - 99.5% instead of 0.00489323. -* A new "timid mode" in the importer asks the user every time, even - when it makes a match with very high confidence. The "-t" flag on - the command line and the "import_timid" config option control this - mode. (Thanks to mdecker on GitHub!) -* The multithreaded importer should now abort (either by selecting - aBort or by typing ^C) much more quickly. Previously, it would try - to get a lot of work done before quitting; now it gives up as soon - as it can. -* Added a new plugin event, "album_imported", which is called every - time an album is added to the library. (Thanks, Lugoues!) -* A new plugin method, register_listener, is an imperative alternative - to the @listen decorator (Thanks again, Lugoues!) -* In path formats, $albumartist now falls back to $artist (as well as - the other way around). -* The importer now prints "(unknown album)" when no tags are present. -* When autotagging, "and" is considered equal to "&". -* Fix some crashes when deleting files that don't exist. -* Fix adding individual tracks in BPD. -* Fix crash when ~/.beetsconfig does not exist. -* Fix occasional BPD crashes with "broken pipe" errors. -* Fix memory leak in BPD (really a leak in Bluelet). - -1.0b7 ------ -* "Various artists" releases are handled much more gracefully. The - autotagger now sets the "comp" flag on albums whenever the album is - identified as a "various artists" release by MusicBrainz. Also, - there is now a distinction between the "album artist" and the "track - artist", the latter of which is never "Various Artists" or other such - bogus stand-in. (Thanks to Jonathan Buchanan for the bulk of the - implementation!) -* The directory hierarchy can now be customized based on release type. - In particular, the "path_format" setting in .beetsconfig has been - replaced with a new [paths] section, which allows you to specify - different path formats for normal releases, "compilation" releases, - and every release type (see below). The default path formats have - been changed to use $albumartist instead of $artist. More information - about this change is available on the wiki. -* A new "albumtype" field reflects the release type as specified by - MusicBrainz: http://wiki.musicbrainz.org/ReleaseType -* When deleting files, beets now appropriately "prunes" the directory - tree -- empty directories are automatically cleaned up. (Thanks to - wlof on GitHub for this!) -* When importing with the "delete" option and importing files that are - already at their destination, files could be deleted (leaving zero - copies afterward). This is fixed. -* Always show album directory in tagger output. -* "import -l" now logs duplicate albums. -* A new "import_resume" option can be used to disable the importer's - resuming feature or force it to resume without asking. This option - may be either "yes", "no", or "ask", with the obvious meanings. The - -p and -P command-line flags override this setting and correspond to - the "yes" and "no" settings. -* Resuming is automatically disabled when the importer is in quiet (-q) - mode. Progress is still saved, however, and the -p flag (above) can - be used to force resuming. -* The BEETSCONFIG environment variable can now be used to specify the - location of the config file that is at ~/.beetsconfig by default. -* A new "import_quiet_fallback" option specifies what should happen in - quiet mode when there is no strong recommendation. The options are - "skip" (the default) and "asis". -* The "version" command now lists all the loaded plugins. -* A new plugin, called "info", just prints out audio file metadata. -* Fix a bug where some files would be erroneously interpreted as MP4. -* Fix permission bits applied to album art files. -* Fix malformed MusicBrainz queries caused by null characters. -* Fix a bug with old versions of the Monkey's Audio format. -* Fix a crash on broken symbolic links. -* Retry in more cases when MusicBrainz servers are slow/overloaded. -* The old "albumify" plugin for upgrading databases was removed. - -1.0b6 ------ -* A new "-q" command line switch for the import command suppresses all - prompts for input; it pessimistically skips all albums that the - importer is not completely confident about. -* Added support for the WavPack and Musepack formats. Unfortunately, - due to a limitation in the Mutagen library (used by beets for - metadata manipulation), Musepack SV8 is not yet supported. Here's - the upstream bug in question: - http://code.google.com/p/mutagen/issues/detail?id=7 -* BPD now uses a pure-Python socket library and no longer requires - eventlet/greenlet (the latter of which is a C extension). For the - curious, the socket library in question is called Bluelet: - https://github.com/sampsyo/bluelet -* Non-autotagged imports are now resumable (just like autotagged - imports.) -* Fix a terrible and long-standing bug where track orderings were never - applied. This manifested when the tagger appeared to be applying a - reasonable ordering to the tracks but, later, the database reflects a - completely wrong association of track names to files. The order - applied was always just alphabetical by filename, which is frequently - but not always what you want. -* We now use Windows' "long filename" support. Filenames on Windows now - also never end in spaces. -* Fix crash in lastid when the artist name is not available. -* Fixed a spurious crash when LANG or a related environment variable is - set to an invalid value (such as 'UTF-8' on some installations of Mac - OS X). -* Fixed an error when trying to copy a file that is already at its - destination. -* When copying read-only files, the importer now tries to make the copy - writable. (Previously, this would just crash the import.) -* Fixed an UnboundLocalError when no matches are found during autotag. -* Fixed a Unicode encoding error when entering special characters into - the "manual search" prompt. -* New command "beet version" just shows the current version. - -1.0b5 ------ -* A new plugin, "lastid", adds Last.fm acoustic fingerprinting support - to the autotagger. Similar to the PUIDs used by MusicBrainz Picard, - this system allows beets to recognize files that don't have any - metadata at all. You'll need to install some dependencies for this - plugin to work; a guide is available on the project wiki here: - http://code.google.com/p/beets/wiki/LastID -* To support the above, there's also a new system for extending the - autotagger via plugins. Plugins can currently add components to the - track and album distance functions as well as augment the MusicBrainz - search. -* String comparisons in the autotagger have been augmented to act more - intuitively. Previously, if your album had the title "Something (EP)" - and it was officially called "Something", then beets would think this - was a fairly significant change. It now checks for and appropriately - reweights certain parts of each string. As another example, the title - "The Great Album" is considered equal to "Great Album, The". -* New event system for plugins (thanks, Jeff!). Plugins can now get - callbacks from beets when certain events occur in the core. -* The BPD plugin is now disabled by default. This greatly simplifies - installation of the beets core, which is now 100% pure Python. To use - BPD, though, you'll need to set "plugins: bpd" in your .beetsconfig. -* The "import" command can now remove original files when it copies - items into your library. (This might be useful if you're low on disk - space.) Set the "import_delete" option in your .beetsconfig to "yes". -* Importing without autotagging ("beet import -A") now prints out album - names as it imports them to indicate progress. -* There's a new "mpdupdate" plugin that will automatically update your - MPD index whenever your beets library changes. Read the plugin's - documentation on the wiki: - http://code.google.com/p/beets/wiki/MPDUpdate -* Efficiency tweak should reduce the number of MusicBrainz queries per - autotagged album. -* A new "-v" command line switch enables debugging output. -* Fixed bug that completely broke non-autotagged imports ("import -A"). -* Fixed bug that logged the wrong paths when using "import -l". -* Fixed autotagging for the creatively-named band !!!. -* Fixed normalization of relative paths. -* Fixed escaping of / characters in paths on Windows. - -1.0b4 ------ -* Parallel tagger. The autotagger has been reimplemented to use - multiple threads. This means that it can concurrently read files - from disk, talk to the user, communicate with MusicBrainz, and - write data back to disk. Not only does this make the tagger much - faster because independent work may be performed in parallel, but it - makes the tagging process much more pleasant for large imports. The - user can let albums queue up in the background while making a - decision rather than waiting for beets between each question it asks. - The parallel tagger is on by default but a sequential (single- - threaded) version is still available by setting the "threaded" - config value to "no" (because the parallel version is still quite - experimental). -* Colorized tagger output. The autotagger interface now makes it a - little easier to see what's going on at a glance by highlighting - changes with terminal colors. This feature is on by default, but you - can turn it off by setting "color" to "no" in your .beetsconfig (if, - for example, your terminal doesn't understand colors and garbles the - output). -* Pause and resume imports. The "import" command now keeps track of its - progress, so if you're interrupted (beets crashes, you abort the - process, an alien devours your motherboard, etc.), beets will try to - resume from the point where you left off. The next time you run - "import" on the same directory, it will ask if you want to resume. It - accomplishes this by "fast-forwarding" through the albums in the - directory until it encounters the last one it saw. (This means it - might fail if that album can't be found.) Also, you can now abort the - tagging process by entering "B" (for aBort) at any of the prompts. -* Overhauled methods for handling fileystem paths to allow filenames - that have badly encoded special characters. These changes are pretty - fragile, so please report any bugs involving UnicodeErrors or SQLite - ProgrammingErrors with this version. -* The destination paths (the library directory structure) now respect - album-level metadata. This means that if you have an album in which - two tracks have different album-level attributes (like year, for - instance), they will still wind up in the same directory together. - (There's currently not a very smart method for picking the "correct" - album-level metadata, but we'll fix that later.) -* Fixed a bug where the CLI would fail completely if the LANG - environment variable was not set. -* Fixed removal of albums (beet remove -a): previously, the album - record would stay around although the items were deleted. -* The setup script now makes a beet.exe startup stub on Windows; - Windows users can now just type "beet" at the prompt to run beets. -* Fixed an occasional bug where Mutagen would complain that a tag was - already present. -* Fixed a bug with reading invalid integers from ID3 tags. -* The tagger should now be a little more reluctant to reorder tracks - that already have indices. - -1.0b3 ------ -* Album art. The tagger now, by default, downloads album art from - Amazon that is referenced in the MusicBrainz database. It places the - album art alongside the audio files in a file called (for example) - "cover.jpg". The "import_art" config option controls this behavior, - as do the -r and -R options to the import command. You can set the - name (minus extension) of the album art file with the - "art_filename" config option. -* Plugin architecture. Add-on modules can now add new commands to the - beets command-line interface. The "bpd" and "dadd" commands were - removed from the beets core and turned into plugins; BPD is loaded - by default. To load the non-default plugins, use the "plugins" config - value (a space-separated list of plugin names). You can also set the - "pluginpath" config option to a colon-separated list of directories - to search for plugins. Plugins are just Python modules under the - "beetsplug" namespace package containing subclasses of - beets.plugins.BeetsPlugin. See the "beetsplug" directory for examples. -* Support for MusicBrainz ID tags. The autotagger now keeps track of the - MusicBrainz track, album, and artist IDs it matched for each file. It - also looks for album IDs in new files it's importing and uses those to - look up data in MusicBrainz. Furthermore, track IDs are used as a - component of the tagger's distance metric now. Tangentially, change - required the database code to support a lightweight form of migrations - so that new columns could be added to old databases--this is a - delicate feature, so it would be very wise to make a backup of your - database before upgrading to this version. -* As a consequence of adding album art, the database was significantly - refactored to keep track of some information at an album (rather than - item) granularity. Databases created with earlier versions of beets - should work fine, but they won't have any "albums" in them--they'll - just be a bag of items. This means that commands like "beet ls -a" - and "beet rm -a" won't match anything. To "upgrade" your database, - you can use the included "albumify" plugin. Running "beets albumify" - with the plugin activated will group all your items into albums, - making beets behave more or less as it did before. -* Fixed some bugs with encoding paths on Windows. Also, : is now - replaced with - in path names (instead of _) for readability. -* MediaFiles now have a "format" attribute, so you can use $format in - your library path format strings like "$artist - $album ($format)" - to get directories with names like "Paul Simon - Graceland (FLAC)". - -1.0b2 ------ -* Support for Ogg Vorbis and Monkey's Audio files and their tags. - (This support should be considered preliminary: I haven't tested it - heavily because I don't use either of these formats regularly.) -* An option to the "beet import" command for logging albums that - are untaggable (i.e., are skipped or taken "as-is"). Use - "beet import -l LOGFILE PATHS". The log format is very simple: it's - just a status (either "skip" or "asis") followed by the path to the - album in question. The idea is that you can tag a large collection - and automatically keep track of the albums that weren't found in - MusicBrainz so you can come back and look at them later. -* Fixed UnicodeEncodeError on terminals that don't (or don't claim to) - support UTF-8. -* Importing without autotagging ("beet import -A") is now faster and - doesn't print out a bunch of whitespace. It also lets you specify - single files on the command line (rather than just directories). -* Fixed importer crash when attempting to read a corrupt file. -* Reorganized code for CLI in preparation for adding pluggable - subcommands. Also removed dependency on the aging "cmdln" module. - -1.0b1 ------ -First public release.