yesod-core

Creation of type-safe, RESTful web applications.

http://www.yesodweb.com/

Version on this page:1.4.32
LTS Haskell 22.13:1.6.25.1@rev:1
Stackage Nightly 2024-03-14:1.6.25.1@rev:1
Latest on Hackage:1.6.25.1@rev:1

See all snapshots yesod-core appears in

MIT licensed and maintained by Michael Snoyman
This version can be pinned in stack with:yesod-core-1.4.32@sha256:175a3c7f860dd609223ca94c4fe5e1f89b2cae59765d64c6e854d4a4e7227b7f,8359

yesod-core

This is the main package for Yesod, providing all core functionality on which other packages can be built. It provides dispatch, handler functions, widgets, etc.

Yesod is well documented on its website.

Changes

1.4.32

  • Fix warnings
  • Route parsing handles CRLF line endings
  • Add ‘getPostParams’ in Yesod.Core.Handler
  • Haddock rendering improved.

1.4.31

  • Add parseCheckJsonBody and requireCheckJsonBody

1.4.30

  • Add defaultMessageWidget

1.4.29

  • Exports some internals and fix version bounds #1318

1.4.28

  • Add ToWidget instances for strict text, lazy text, and text builder #1310

1.4.27

  • Added jsAttributes #1308

1.4.26

  • Modify languages so that, if you previously called setLanguage, the newly set language will be reflected.

1.4.25

  • Add instance of MonadHandler and MonadWidget for ExceptT #1278

1.4.24

  • cached and cachedBy will not overwrite global state changes #1268

1.4.23.1

  • Don’t allow sending multiple cookies with the same name to the client, in accordance with RFC 6265. This fixes an issue where multiple CSRF tokens were sent to the client. #1258
  • Default CSRF tokens to the root path “/”, fixing an issue where multiple tokens were stored in cookies, and using the wrong one led to CSRF errors #1248

1.4.23

  • urlParamRenderOverride method for Yesod class #1257
  • Add laxSameSiteSessions and strictSameSiteSessions #1226

1.4.22

  • Proper handling of impure exceptions within HandlerError values

1.4.21

  • Add support for Encoding from aeson-0.11 #1241

1.4.20.2

  • GHC 8 support

1.4.20.1

  • Log a warning when a CSRF error occurs #1200

1.4.20

  • addMessage, addMessageI, and getMessages functions

1.4.19.1

  • Allow lines of dashes in route files #1182

1.4.19

  • Auth logout not working with defaultCsrfMiddleware #1151

1.4.18.2

  • Allow subsites within hierarchical routes #1144

1.4.18

  • Add hook to apply arbitrary function to all handlers #1122

1.4.17

  • Add getApprootText

1.4.16

  • Add guessApproot and guessApprootOr

1.4.15.1

  • bugfix neverExpires leaked threads

1.4.15

  • mkYesod avoids using reify when it isn’t necessary. This avoids needing to define the site type below the call to mkYesod.

1.4.14

  • Add CSRF protection functions and middleware based on HTTP cookies and headers #1017
  • Add mkYesodWith, which allows creating sites with polymorphic type parameters #1055
  • Do not define the site type below a call to mkYesod (or any variant), as it will be required at splicing time for reification. This was allowed before because reification was not in use. Reification was introduced to allow parametrized types to be used by mkYesod (and variants), with potentially polymorphic variables.

1.4.13

  • Add getsYesod function #1042
  • Add IsString instance for WidgetT site m () #1038

1.4.12

  • Don’t show source location for logs that don’t have that information #1027

1.4.11

  • Expose stripHandlerT and subHelper

1.4.10

  • Export log formatting #1001

1.4.9.1

  • Deal better with multiple cookie headers

1.4.9

  • Add simple authentication helpers #962

1.4.8.3

  • Use 307 redirect for cleaning paths and non-GET requests #951

1.4.8.2

  • Allow blaze-builder 0.4

1.4.8.1

  • Bump upper bound on path-pieces

1.4.8

  • Add a bunch of Semigroup instances

1.4.7.3

  • Remove defunct reference to SpecialResponse #925

1.4.7

SSL-only session security #894

1.4.6.2

monad-control 1.0

1.4.6

Added the Yesod.Core.Unsafe module.

1.4.5

  • envClientSessionBackend
  • Add MonadLoggerIO instances (conditional on monad-logger 0.3.10 being used).

1.4.4.5

Support time 1.5

1.4.4.2

neverExpires uses dates one year in the future (instead of in 2037).

1.4.4.1

Improvements to etag/if-none-match support #868 #869

1.4.4

Add the notModified and setEtag functions.

1.4.3

Switch to mwc-random for token generation.