diff --git a/Changelog.yaml b/Changelog.yaml
index d6204743f8..c4a8ffc2dd 100644
--- a/Changelog.yaml
+++ b/Changelog.yaml
@@ -4,6 +4,70 @@
# for important features/bug fixes.
# Also, each release can have new and improved recipes.
+- version: 0.6.54
+ date: 2010-05-21
+
+ new features:
+ - title: "EPUB Output: Add option to toggle preserving the aspect ratio of the cover."
+ type: major
+ description: >
+ "By default calibre creates an SVG based cover that scales with the screen size of the reader used to view it. Previosuly this scaling
+ was limited to preserve the aspect ratio of the image. This would often result in white borders at the sides or top and bottom of the image.
+ No, by default, calibre will setup the cover to not preserve aspect ratio, doing away with the white borders. The downside is that if the
+ aspect ratio of the cover is very different from the reader, it will look distorted. The old behavior can be restored via
+ Preferences->Conversion->EPUB Output."
+
+ - title: "Conversion pipeline: calibre will now automatically replace all ligatures in the input document."
+ type: major
+ description: >
+ "Conversion pipeline: calibre will now automatically replace all ligatures in the input document with the normal character
+ sequence they are meant to represent. This is because most readers lack the font support to display ligatures.
+ This can be turned off via an option under Look & Feel, in the Conversion settings."
+
+ - title: "Support for the iPapyrus and Newsmy readers and the Sony Ericsson XPERIA X10"
+
+ - title: "PDF Output: Set the first page to the cover."
+ tickets: [5581]
+
+ bug fixes:
+ - title: "Conversion pipeline: Handle input documents with no text. Allows conversion of MOBI files tha are only a sequence of images."
+ tickets: [5554]
+
+ - title: "Fix text justification control not working with translated version of calibre"
+ tickets: [5551]
+
+ - title: "HTML Input: Encoding detection fixed for tags that have newlines in their content attributes"
+ tickets: [5567]
+
+ - title: "EPUB Input: Handle malformed UUID in EPUB with obfuscated fonts."
+ tickets: [5552]
+
+ - title: "Don't resort when editing columns in the main GUI"
+
+ - title: "Fix regression in Kobo driver that caused it to only detect books in the root directory of the device"
+
+ new recipes:
+ - title: La Stampa and Libero
+ author: Gabriele Marini
+
+ - title: Der Tagesspiegel
+ author: ipaschke
+
+ - title: EMG and Agro Gerilla
+ author: Darko Miletic
+
+ - title: American Prospect, FactCheck and PolitiFact
+ author: Michael Heinz
+
+ improved recipes:
+ - Times Online
+ - The Atlantic
+ - Il Messagero
+ - Leggo
+ - Instapaper
+ - New York Review of Books
+ - NIN Online
+
- version: 0.6.53
date: 2010-05-15
@@ -157,7 +221,7 @@
new features:
- title: "Add merge book feature"
type: major
- desc: >
+ description: >
"You can now merge multiple books into a single book, by clicking the arrow next to the edit meta information button.
Meta information from the books will be merged as well as individual book files in different formats"
diff --git a/resources/images/news/american_thinker.png b/resources/images/news/american_thinker.png
new file mode 100644
index 0000000000..bbfdf08152
Binary files /dev/null and b/resources/images/news/american_thinker.png differ
diff --git a/resources/images/news/emg_en.png b/resources/images/news/emg_en.png
new file mode 100644
index 0000000000..74930f2b64
Binary files /dev/null and b/resources/images/news/emg_en.png differ
diff --git a/resources/images/news/emg_rs.recipe b/resources/images/news/emg_rs.recipe
new file mode 100644
index 0000000000..74930f2b64
Binary files /dev/null and b/resources/images/news/emg_rs.recipe differ
diff --git a/resources/recipes/agrogerila.recipe b/resources/recipes/agrogerila.recipe
new file mode 100644
index 0000000000..8ca13af4dd
--- /dev/null
+++ b/resources/recipes/agrogerila.recipe
@@ -0,0 +1,40 @@
+
+__license__ = 'GPL v3'
+__copyright__ = '2010, Darko Miletic '
+'''
+boljevac.blogspot.com
+'''
+
+import re
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class AgroGerila(BasicNewsRecipe):
+ title = 'Agro Gerila'
+ __author__ = 'Darko Miletic'
+ description = 'Politicki nekorektan blog.'
+ oldest_article = 45
+ max_articles_per_feed = 100
+ language = 'sr'
+ encoding = 'utf-8'
+ no_stylesheets = True
+ use_embedded_content = True
+ publication_type = 'blog'
+ extra_css = ' @font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} body{font-family: "Trebuchet MS",Trebuchet,Verdana,sans1,sans-serif} .article_description{font-family: sans1, sans-serif} img{margin-bottom: 0.8em; border: 1px solid #333333; padding: 4px } '
+
+ conversion_options = {
+ 'comment' : description
+ , 'tags' : 'film, blog, srbija'
+ , 'publisher': 'Dry-Na-Nord'
+ , 'language' : language
+ }
+
+ preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]
+
+ feeds = [(u'Posts', u'http://boljevac.blogspot.com/feeds/posts/default')]
+
+ def preprocess_html(self, soup):
+ for item in soup.findAll(style=True):
+ del item['style']
+ return self.adeify_images(soup)
+
+
diff --git a/resources/recipes/american_thinker.recipe b/resources/recipes/american_thinker.recipe
new file mode 100644
index 0000000000..b54e930774
--- /dev/null
+++ b/resources/recipes/american_thinker.recipe
@@ -0,0 +1,43 @@
+__license__ = 'GPL v3'
+__copyright__ = '2010, Walt Anthony '
+'''
+www.americanthinker.com
+'''
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class AmericanThinker(BasicNewsRecipe):
+ title = u'American Thinker'
+ description = "American Thinker is a daily internet publication devoted to the thoughtful exploration of issues of importance to Americans."
+ __author__ = 'Walt Anthony'
+ publisher = 'Thomas Lifson'
+ category = 'news, politics, USA'
+ oldest_article = 7 #days
+ max_articles_per_feed = 50
+ summary_length = 150
+ language = 'en'
+
+ remove_javascript = True
+ no_stylesheets = True
+
+
+ conversion_options = {
+ 'comment' : description
+ , 'tags' : category
+ , 'publisher' : publisher
+ , 'language' : language
+ , 'linearize_tables' : True
+ }
+
+ remove_tags = [
+ dict(name=['table', 'iframe', 'embed', 'object'])
+ ]
+
+ remove_tags_after = dict(name='div', attrs={'class':'article_body'})
+
+
+ feeds = [(u'http://feeds.feedburner.com/americanthinker'),
+ (u'http://feeds.feedburner.com/AmericanThinkerBlog')
+ ]
+
+ def print_version(self, url):
+ return 'http://www.americanthinker.com/printpage/?url=' + url
diff --git a/resources/recipes/aprospect.recipe b/resources/recipes/aprospect.recipe
new file mode 100755
index 0000000000..ce230c624a
--- /dev/null
+++ b/resources/recipes/aprospect.recipe
@@ -0,0 +1,26 @@
+import re
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class AmericanProspect(BasicNewsRecipe):
+ title = u'American Prospect'
+ __author__ = u'Michael Heinz'
+ oldest_article = 30
+ language = 'en'
+ max_articles_per_feed = 100
+ recursions = 0
+ no_stylesheets = True
+ remove_javascript = True
+
+ preprocess_regexps = [
+ (re.compile(r'', re.DOTALL|re.IGNORECASE), lambda match: ''),
+ (re.compile(r'
.*', re.DOTALL|re.IGNORECASE), lambda match: '