shithub: hugo

ref: cb39847dee488c373dd5bc2a3706385342a59355
dir: /content/en/news/0.20-relnotes/index.md/

View raw version
---
date: 2017-04-10T13:53:58-04:00
categories: ["Releases"]
description: "Hugo 0.20 introduces the powerful and long sought after feature Custom Output Formats"
link: ""
title: "Hugo 0.20"
draft: false
author: bep
aliases: [/0-20/]
---

Hugo `0.20` introduces the powerful and long sought after feature [Custom Output Formats](http://gohugo.io/extras/output-formats/); Hugo isn’t just that “static HTML with an added RSS feed” anymore. _Say hello_ to calendars, e-book formats, Google AMP, and JSON search indexes, to name a few ( [#2828](//github.com/gohugoio/hugo/issues/2828) ).

This release represents **over 180 contributions by over 30 contributors** to the main Hugo code base. Since last release Hugo has **gained 1100 stars, 20 new contributors and 5 additional themes.**

Hugo now has:

*   16300+ stars
*   495+ contributors
*   156+ themes

[@bep](//github.com/bep) still leads the Hugo development with his witty Norwegian humor, and once again contributed a significant amount of additions. Also a big shoutout to [@digitalcraftsman](//github.com/digitalcraftsman) for his relentless work on keeping the documentation and the themes site in pristine condition, and [@moorereason](//github.com/moorereason) and [@bogem](//github.com/bogem) for their ongoing contributions.

## Other Highlights

[@bogem](//github.com/bogem) has also contributed TOML as an alternative and much simpler format for language/i18n files ([#3200](//github.com/gohugoio/hugo/issues/3200)). A feature you will appreciate when you start to work on larger translations.

Also, there have been some important updates in the Emacs Org-mode handling: [@chaseadamsio](//github.com/chaseadamsio) has fixed the newline-handling ( [#3126](//github.com/gohugoio/hugo/issues/3126) ) and [@clockoon](//github.com/clockoon) has added basic footnote support.

Worth mentioning is also the ongoing work that [@rdwatters](//github.com/rdwatters) and [@budparr](//github.com/budparr) is doing to re-do the [gohugo.io](https://gohugo.io/) site, including a total restructuring and partial rewrite of the documentation. It is getting close to finished, and it looks fantastic!

## Notes

*   `RSS` description in the built-in template is changed from full `.Content` to `.Summary`. This is a somewhat breaking change, but is what most people expect from their RSS feeds. If you want full content, please provide your own RSS template.
*   The deprecated `.RSSlink` is now removed. Use `.RSSLink`.
*   `RSSUri` is deprecated and will be removed in a future Hugo version, replace it with an output format definition.
*   The deprecated `.Site.GetParam` is now removed, use `.Site.Param`.
*   Hugo does no longer append missing trailing slash to `baseURL` set as a command line parameter, making it consistent with how it behaves from site config. [#3262](//github.com/gohugoio/hugo/issues/3262)

## Enhancements

*   Hugo `0.20` is built with Go 1.8.1.
*   Add `.Site.Params.mainSections` that defaults to the section with the most pages. Plan is to get themes to use this instead of the hardcoded `blog` in `where` clauses. [#3206](//github.com/gohugoio/hugo/issues/3206)
*   File extension is now configurable. [#320](//github.com/gohugoio/hugo/issues/320)
*   Impove `markdownify` template function performance. [#3292](//github.com/gohugoio/hugo/issues/3292)
*   Add taxonomy terms’ pages to `.Data.Pages` [#2826](//github.com/gohugoio/hugo/issues/2826)
*   Change `RSS` description from full `.Content` to `.Summary`.
*   Ignore “.” dirs in `hugo --cleanDestinationDir` [#3202](//github.com/gohugoio/hugo/issues/3202)
*   Allow `jekyll import` to accept both `2006-01-02` and `2006-1-2` date format [#2738](//github.com/gohugoio/hugo/issues/2738)
*   Raise the default `rssLimit` [#3145](//github.com/gohugoio/hugo/issues/3145)
*   Unify section list vs single template lookup order [#3116](//github.com/gohugoio/hugo/issues/3116)
*   Allow `apply` to be used with the built-in Go template funcs `print`, `printf` and `println`. [#3139](//github.com/gohugoio/hugo/issues/3139)

## Fixes

*   Fix deadlock in `getJSON` [#3211](//github.com/gohugoio/hugo/issues/3211)
*   Make sure empty terms pages are created. [#2977](//github.com/gohugoio/hugo/issues/2977)
*   Fix base template lookup order for sections [#2995](//github.com/gohugoio/hugo/issues/2995)
*   `URL` fixes:
    *   Fix pagination URLs with `baseURL` with sub-root and `canonifyUrls=false` [#1252](//github.com/gohugoio/hugo/issues/1252)
    *   Fix pagination URL for resources with “.” in name [#2110](//github.com/gohugoio/hugo/issues/2110) [#2374](//github.com/gohugoio/hugo/issues/2374) [#1885](//github.com/gohugoio/hugo/issues/1885)
    *   Handle taxonomy names with period [#3169](//github.com/gohugoio/hugo/issues/3169)
    *   Handle `uglyURLs` ambiguity in `Permalink` [#3102](//github.com/gohugoio/hugo/issues/3102)
    *   Fix `Permalink` for language-roots wrong when `uglyURLs` is `true` [#3179](//github.com/gohugoio/hugo/issues/3179)
    *   Fix misc case issues for `URLs` [#1641](//github.com/gohugoio/hugo/issues/1641)
    *   Fix for taxonomies URLs when `uglyUrls=true` [#1989](//github.com/gohugoio/hugo/issues/1989)
    *   Fix empty `RSSLink` for list pages with content page. [#3131](//github.com/gohugoio/hugo/issues/3131)
*   Correctly identify regular pages on the form “my_index_page.md” [#3234](//github.com/gohugoio/hugo/issues/3234)
*   `Exit -1` on `ERROR` in global logger [#3239](//github.com/gohugoio/hugo/issues/3239)
*   Document hugo `help command` [#2349](//github.com/gohugoio/hugo/issues/2349)
*   Fix internal `Hugo` version handling for bug fix releases. [#3025](//github.com/gohugoio/hugo/issues/3025)
*   Only return `RSSLink` for pages that actually have a RSS feed. [#1302](//github.com/gohugoio/hugo/issues/1302)