All Versions
Latest Version
Avg Release Cycle
Latest Release

Changelog History
Page 1

  • v0.12 Changes

    • Provide MonadReader and MonadState instances for ActionT.
    • ➕ Add HTTP Status code as a field to ActionError, and add a sister function to raise, raiseStatus. This makes throwing a specific error code and exiting much cleaner, and avoids the strange defaulting to HTTP 500. This will make internal functions easier to implement with the right status codes 'thrown', such as jsonData.
    • Correct http statuses returned by jsonData (#228).
    • 👍 Better error message when no data is provided to jsonData (#226).
    • ➕ Add Semigroup and Monoid instances for ActionT and ScottyT
    • ScottyT: Use strict StateT instead of lazy
    • 🖐 Handle adjacent slashes in the request path as one (thanks @SkyWriter)
  • v0.11.5 Changes

    • 👍 Allow building the test suite with hspec-wai-0.10.
  • v0.11.4 Changes

    • 👍 Allow building with base-4.13 (GHC 8.8).
  • v0.11.3 Changes

    • ⬇️ Drop the test suite's dependency on hpc-coveralls, which is unmaintained and does not build with GHC 8.4 or later.
  • v0.11.2 Changes

    • 🗄 Migrate from Network to Network.Socket to avoid deprecation warnings.
  • v0.11.1 Changes

    • ➕ Add MonadThrow and MonadCatch instances for ActionT [abhinav]
    • 🛠 Fix matchAny so that all methods are matched, not just standard ones [taphu]
  • v0.11.0 Changes

    • IO exceptions are no longer automatically turned into ScottyErrors by liftIO. Use liftAndCatchIO to get that behavior.
    • 🆕 New finish function.
    • ✅ Text values are now leniently decoded from ByteStrings.
    • ➕ Added MonadFail instance for ScottyT
    • Lots of bound bumps on dependencies.
  • v0.10.2 Changes

    • ✂ Removed debug statement from routes
  • v0.10.1 Changes

    • Parsable instances for Word, Word8, Word16, Word32, Word64 [adamflott]
    • Parsable instances for Int8, Int16, Int32, Int64, and Natural
    • ✂ Removed redundant Monad constraint on middleware
  • v0.10.0 Changes

    • The monad parameters to ScottyT have been decoupled, causing the type of the ScottyT constructor to change. As a result, ScottyT is no longer a MonadTrans instance, and the type signatures ofscottyT, scottyAppT, and scottyOptsT have been simplified. [ehamberg]

    • 🗄 socketDescription no longer uses the deprecated PortNum constructor. Instead, it uses the Show instance for PortNumber. This changes the bytes from host to network order, so the output of socketDescription could change. [ehamberg]

    • Alternative, MonadPlus instances for ActionT

    • scotty now depends on transformers-compat. As a result, ActionT now uses ExceptT, regardless of which version of transformers is used. As a result, several functions in Web.Scotty.Trans no longer require a ScottyError constraint, since ExceptT does not require an Error constraint (unlike ErrorT).

    • ➕ Added support for OPTIONS routes via the options function [alvare]

    • ➕ Add scottySocket and scottySocketT, exposing Warp Unix socket support [hakujin]

    • Parsable instance for lazy ByteString [tattsun]

    • ➕ Added streaming uploads via the bodyReader function, which retrieves chunks of the request body. [edofic]

      • ActionEnv had a getBodyChunk field added (in Web.Scotty.Internal.Types)
      • RequestBodyState and BodyPartiallyStreamed added to Web.Scotty.Internal.Types
    • jsonData uses aeson's eitherDecode instead of just decode [k-bx]