Changelog of @hackage/Lucu 0.7.0.3

Changes from 0.7.0.2 to 0.7.0.3

  • Network.HTTP.Lucu.Utils: (reported by Ján Kľuka)

    • Bugfix: parseWWWFormURLEncoded now replaces each '+' to ' ', that were previously left unchaged.

Changes from 0.7.0.1 to 0.7.0.2

  • Lucu now uses base64-bytestring instead of dataenc.

Changes from 0.7 to 0.7.0.1

  • Fixed build failure on recent GHC and other libraries.

Changes from 0.6 to 0.7

  • Network.HTTP.Lucu.Resource: (Suggested by Voker57)

    • getQueryForm and inputForm now return [(name :: String, FormData)] instead of [FormData] to ease field lookup by name. The reason why it's not 'Map String FormData' is that there is a possibility where multiple fields have the same name.

    • Removed field fdName from FormData type as it's now redundant.

Changes from 0.5 to 0.6

  • New dependency: time-http == 0.1.*

  • Network.HTTP.Lucu.RFC1123DateTime: removed.

Changes from 0.4.2 to 0.5

  • Network.HTTP.Lucu.Config: (Suggested by Voker57)

    • New config parameters:

      • cnfServerV4Addr (default: Just "0.0.0.0")
      • cnfServerV6Addr (default: Just "::")

      These are local IP addresses to listen to both HTTP and HTTPS clients. If you set 'cnfServerV4Addr' to Nothing, Lucu will not listen to IPv4 clients. Ditto with 'cnfServerV6Addr'.

    • Type change:

      • cnfServerPort
      • sslServerPort

      The type of these params used to be Network.PortID but is now Network.Socket.ServiceName, which means Lucu no longer be able to listen to UNIX domain sockets. I believe no one wants to do that but feel free to blame PHO if you miss it.

Changes from 0.4.1 to 0.4.2

  • Fixed build failure on GHC 6.12.1. (Thanks: Voker57)

Changes from 0.4 to 0.4.1

  • Network.HTTP.Lucu.Resource: (Thanks: Voker57)

    • getPathInfo now un-escapes the resulting path info. This may break backward compatibility in very confusing way, if your code relies on the previous implementation. Sorry for any inconvenience.
  • Network.HTTP.Lucu.Resource.Tree: (Thanks: Voker57)

    • Fix: mkResTree wasn't working correctly for a resource path [""], which should be treated as same as [] the root.

    • Fix: Greedy resources on the root of resource tree wasn't really greedy.

  • Network.HTTP.Lucu.Resource.Tree:

    • New constant: emptyResource

Changes from 0.3.3 to 0.4

  • Network.HTTP.Lucu.Resource: (Thanks: Voker57)

    • Bugfix: inputForm was consuming too much memory. The memory usage is still somewhat high, but not insanely high.

    • Changed the type of FormData/fdContent from String to Lazy.ByteString. Sorry for frequent type changes.

Changes from 0.3.2 to 0.3.3

  • Network.HTTP.Lucu.Resource: (Thanks: Voker57)
    • getQueryForm and inputForm now returns [FormData] instead of [(String, String)] to possibly include a name of uploaded file.

Changes from 0.3.1 to 0.3.2

  • Network.HTTP.Lucu.Parser:
    • Reimplemented 'many', 'many1' and 'count' in tail-recursive way. This resolves a stack overflow when a large file is POSTed as a multipart/form-data.

Changes from 0.3 to 0.3.1

  • Network.HTTP.Lucu.Resource:
    • Bugfix: getRemoteAddr' didn't work on little-endian architectures. (Thanks: Voker57)
    • Bugfix: getRemoteAddr' didn't work for IPv6 network.
    • New function: getRemoteHost

Changes from 0.2.1 to 0.3

  • Added SSL support:
    • Network.HTTP.Lucu.Config.Config has a new member:

      cnfSSLConfig

    • Network.HTTP.Lucu.Resource has a new action:

      getRemoteCertificate

    • examples/SSL.hs: an example for accepting HTTPS connections.

Changes from 0.2 to 0.2.1

  • Fixed incorrect dependency declaration in Lucu.cabal. No semantical changes to the code.

Changes from 0.1 to 0.2

  • Fixed breakage on GHC 6.10.1. And now it requires 6.10.1...
  • data/mime.types:
    • Deleted application/x-wavpack
    • Deleted application/x-wavpack-correction
    • Added audio/x-wavpack
    • Added audio/x-wavpack-correction