github.com/olekukonko/tablewriter v0.0.5
        github.com/pelletier/go-toml v1.8.1
        github.com/pkg/errors v0.9.1
+       github.com/pkg/profile v1.5.0 // indirect
        github.com/rogpeppe/go-internal v1.6.2
        github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6
        github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd
        github.com/spf13/jwalterweatherman v1.1.0
        github.com/spf13/pflag v1.0.5
        github.com/spf13/viper v1.7.1
-       github.com/tdewolff/minify/v2 v2.6.2
+       github.com/tdewolff/minify/v2 v2.9.13
        github.com/yuin/goldmark v1.3.2
        github.com/yuin/goldmark-highlighting v0.0.0-20200307114337-60d527fdb691
        gocloud.dev v0.20.0
 
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/profile v1.5.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18=
 github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
 github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
 github.com/tdewolff/minify/v2 v2.6.2 h1:Jaod6aSABWmhftvnxvXogxcEoQt6yogfFeZgIQEMPOw=
 github.com/tdewolff/minify/v2 v2.6.2/go.mod h1:BkDSm8aMMT0ALGmpt7j3Ra7nLUgZL0qhyrAHXwxcy5w=
+github.com/tdewolff/minify/v2 v2.9.13 h1:RrwQhgGoYBhKN/ezStGB+crU64wPK1ZE5Jmkl63lif0=
+github.com/tdewolff/minify/v2 v2.9.13/go.mod h1:faNOp+awAoo+fhFHD+NAkBOaXBAvJI2X2SDERGKnARo=
 github.com/tdewolff/parse/v2 v2.4.2 h1:Bu2Qv6wepkc+Ou7iB/qHjAhEImlAP5vedzlQRUdj3BI=
 github.com/tdewolff/parse/v2 v2.4.2/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho=
+github.com/tdewolff/parse/v2 v2.5.10 h1:vj35n+ljq8LuYUx436s4qB18wuwP7thrLv+t1syE39M=
+github.com/tdewolff/parse/v2 v2.5.10/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho=
 github.com/tdewolff/test v1.0.6 h1:76mzYJQ83Op284kMT+63iCNCI7NEERsIN8dLM+RiKr4=
 github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 h1:OjiUf46hAmXblsZdnoSXsEUSKU8r1UEzcL5RVZ4gO9Y=
 golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 
 `)
                }, func(b *sitesBuilder) {
                        b.AssertFileContent("public/index.html", `Min CSS: h1{font-style:bold}`)
-                       b.AssertFileContent("public/index.html", `Min JS: var x;x=5;document.getElementById("demo").innerHTML=x*10;`)
+                       b.AssertFileContent("public/index.html", `Min JS: var x;x=5,document.getElementById("demo").innerHTML=x*10`)
                        b.AssertFileContent("public/index.html", `Min JSON: {"employees":[{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"}]}`)
                        b.AssertFileContent("public/index.html", `Min XML: <hello><world>Hugo Rocks!</<world></hello>`)
                        b.AssertFileContent("public/index.html", `Min SVG: <svg height="100" width="100"><path d="M1e2 1e2H3e2 2e2z"/></svg>`)
 
        "github.com/gohugoio/hugo/config"
        "github.com/gohugoio/hugo/docshelper"
        "github.com/gohugoio/hugo/parser"
+       "github.com/spf13/cast"
 
        "github.com/mitchellh/mapstructure"
        "github.com/tdewolff/minify/v2/css"
                KeepEndTags:             true,
                KeepDefaultAttrVals:     true,
                KeepWhitespace:          false,
-               // KeepQuotes:              false, >= v2.6.2
        },
        CSS: css.Minifier{
-               Decimals: -1, // will be deprecated
-               // Precision: 0,  // use Precision with >= v2.7.0
-               KeepCSS2: true,
+               Precision: 0,
+               KeepCSS2:  true,
        },
        JS:   js.Minifier{},
        JSON: json.Minifier{},
        SVG: svg.Minifier{
-               Decimals: -1, // will be deprecated
-               // Precision: 0,  // use Precision with >= v2.7.0
+               Precision: 0,
        },
        XML: xml.Minifier{
                KeepWhitespace: false,
 
        m := maps.ToStringMap(v)
 
+       // Handle upstream renames.
+       if td, found := m["tdewolff"]; found {
+               tdm := cast.ToStringMap(td)
+               for _, key := range []string{"css", "svg"} {
+                       if v, found := tdm[key]; found {
+                               vm := cast.ToStringMap(v)
+                               if vv, found := vm["decimal"]; found {
+                                       vvi := cast.ToInt(vv)
+                                       if vvi > 0 {
+                                               vm["precision"] = vvi
+                                       }
+                               }
+                       }
+               }
+       }
+
        err = mapstructure.WeakDecode(m, &conf)
 
        if err != nil {
 
        var rawJS string
        var minJS string
        rawJS = " var  foo =1 ;   foo ++  ;  "
-       minJS = "var foo=1;foo++;"
+       minJS = "var foo=1;foo++"
 
        var rawJSON string
        var minJSON string
                c.Assert(b.String(), qt.Equals, test.expectedMinString)
        }
 }
+
+// Renamed to Precision in v2.7.0. Check that we support both.
+func TestDecodeConfigDecimalIsNowPrecision(t *testing.T) {
+       c := qt.New(t)
+       v := viper.New()
+       v.Set("minify", map[string]interface{}{
+               "disablexml": true,
+               "tdewolff": map[string]interface{}{
+                       "css": map[string]interface{}{
+                               "decimal": 3,
+                       },
+                       "svg": map[string]interface{}{
+                               "decimal": 3,
+                       },
+               },
+       })
+
+       conf, err := decodeConfig(v)
+
+       c.Assert(err, qt.IsNil)
+       c.Assert(conf.Tdewolff.CSS.Precision, qt.Equals, 3)
+
+}