From Kovid Goyal
A one stop solution to all your e-book needs. It is free, open source and cross-platform in design and works well on Linux, OS X and Windows. calibre is meant to be a complete e-library solution and thus includes library management, format conversion, news feeds to ebook conversion, as well as e-book reader sync features and an integrated e-book viewer.
I come from the Unix world, which means calibre is architected in little pieces each with its own command line interface which means that each piece of functionality is reusable not just in python programs but in any software. In fact adding complete support for converting any new ebook format to calibre requires the writing of only two converters format->html and html->format as well as a metadata reading/writing tool. All the other features of calibre will work automatically with these three converters in place. Similarly, writing a device driver requires very little work. You basically have to implement a well-defined interface (interface.py). Once you do that, your device will have full support in calibre.
Adding support for new Input/Output formats
Calibre is written primarily in Python with a few C extension modules. So you have to contribute plugins in either Python or C/C++.
* News download: More flexible news downlaod scheduling. You can now schedule by days of the week, days of the month and an interval, which can be as small as an hour for news sources that change rapidly
* Improved support for dragging and dropping cover images directly from web browsers into calibre.
"You can drop the images onto the cover in calibre and it will be replaced. Tested on a number of OS/browser combinations, but I am sure there a still a few for which it wont work."
* Add shortcuts of Alt+Left and Alt+Right for the next and previous buttons in the edit metadata dialog.
Closes tickets: 9360 [External link]
* When adding a GUI plugin, prompt the user for where the plugin should be displayed
* Conversion: When using the Level x Table of Contents options, support the case when the level 1,2,3 items are spread over multiple HTML files.
* Support for the Optimus V
* FB2 Input: Support for tables
Closes tickets: 9302 [External link]
* Display a checkmark/cross next to 'true' and 'false' items in custom columns. Controlled via Preferences->Add a custom column
* Catalog generation: Reuse cover from existing catalog, allows the use of a custom cover for catalogs
* When setting covers in calibre, resize to fit within a maximum size of (1200, 1600), to prevent slowdowns due to extra large covers. This size can be controlled via Preferences->Tweaks.
Closes tickets: 9277 [External link]
* Fix long standing bug that caused errors when saving books to disk if the book metadata has certain chinese/russian characters on windows. The fix required some changes to how unicode paths are handled in calibre, so it might have broken something else. If so, please open a ticket.
Closes tickets: 7250 [External link]
* Custom recipes: Store custom recipes in the calibre config directory instead of the library database. This allows scheduling of custom recipes to work with multiple libraries. Note that you may have to re-schedule any existing custom recipes.
* Restore the ability to do search and replace on ISBN. Use the 'identifiers' field with type isbn to do this
* Fix amazon metadata download plugin not working with ISBN-13 and social metadata not downloading if the supplied ISBN 10 is not for an edition available on Amazon
* Workaround for openlibrary blocking the user agent used by calibre, preventing cover downloads from that site
* FB2 Output: Add sequence to metadata. Fix bugs with author names. Fix bug where elements were put inside
* Conversion pipeline: If the input HTML document uses uppercase tag and attribute names, convert them to lowercase
* RTF Input: Fix space after unicode quote character being incorrectly removed
Closes tickets: 9343 [External link]
* Fix regression that broke the ebook-device command line program in the previous release
* Fix custom columns with numbers not allowing entry of positive numbers of 64-bit machines
Closes tickets: 9283 [External link]
* Fix regression that caused focus to be lost when editing metadata in the device view
Closes tickets: 9323 [External link]
* CHM Input: If an input encoding is specified, use it rather than trying to detect the encoding of the text in the CHM file.
Closes tickets: 9173 [External link]
* Fix regression that caused the viewer to forget its window size and other attributes when launched from within calibre, after calibre is restarted.
Closes tickets: 9326 [External link]
* News download: Fix regression that caused the delay parameter in recipes to not actually delay downloads.
Closes tickets: 9332 [External link]
* Conversion pipeline: When converting the :first-letter pseudo CSS selector to a follow W3C rules for handling leading punctuation characters.
Closes tickets: 9319 [External link]
* Fix regression that caused clicking saved searches in the Tag Browser to not work
* Comic Input: Fix conversion failing when output profile is set to Tablet Output
* Replace leading periods in all path components generated by calibre with underscores
* Search and replace preferences: Prevent very long strings from causing the wizard button to get pushed off the screen
* Content server: Fix regression that caused various metadata to be missing in the book details view.
* Apple driver: Ignore invalid EPUBs when sending to iTunes
New news sources
* Various Romanian news sources by Silviu Cotoara
* Salt Lake City Tribune by Charles Holbert
* Bay Citizen and Oakland North by noah
* Nikkei Business and JB Press by Ado Nishimura
* El Pais Babelia by oneillpt
* Komchadluek by ballsai
Improved news sources
* La Nacion
* Ming Pao
* NRC Handelsblad (EPUB)
* The Leduc - Wetaskiwin Pipestone Flyer