Skip to content

Releases: stubbles/stubbles-webapp-core

6.0.1 - Buffer between you and me

18 Nov 14:39
Compare
Choose a tag to compare
  • fixed output buffering in stubbles\webapp\response\mimetypes\Image which prevented proper image display in browser

6.0.0 - Major cleanup

18 Nov 14:39
Compare
Choose a tag to compare

BC breaks

  • changed request interface from stubbles\input\web\WebRequest to stubbles\webapp\Request
  • renamed stubbles\webapp\response\Response to stubbles\webapp\Response
  • replaced stubbles\webapp\Processor with stubbles\webapp\Target
  • renamed package stubbles\webapp\processor to stubbles\webapp\htmlpassthrough
  • both request and response are not available via injection any more
  • session instance must now be created in stubbles\webapp\Webapp::createSession() instead of passing a session creator closure to io bindings
  • moved stubbles\webapp\ioc\Auth to stubbles\webapp\auth\Auth
  • changed status code changing methods to return a stubbles\webapp\response\Error instead of itself:
    • stubbles\webapp\Response::forbidden()
    • stubbles\webapp\Response::notFound()
    • stubbles\webapp\Response::methodNotAllowed()
    • stubbles\webapp\Response::internalServerError()
  • changed status code changing methods to return nothing instead of itself:
    • stubbles\webapp\Response::redirect()
    • stubbles\webapp\Response::notAcceptable()
    • stubbles\webapp\Response::httpVersionNotSupported()
  • both stubbles\webapp\auth\User and stubbles\webapp\auth\Roles are not available via injection any more, use stubbles\webapp\Request::identity() instead
  • post interceptors of auth protected resources are now always called even when actual request is not authorized

Other changes

  • reintegrated stubbles\webapp-session, classes are in stubbles\webapp\session

5.2.0 - Scoped session

18 Nov 14:38
Compare
Choose a tag to compare
  • upgraded stubbles/core to 5.3 to ensure session scope compatibility

5.1.1 - Mark correctly

18 Nov 14:37
Compare
Choose a tag to compare
  • fixed bug that IoBindingModule was not marked as initialized when explicitly created in bindings

5.1.1 - Correction!

18 Nov 14:37
Compare
Choose a tag to compare
  • fixed bug that default formatters were not recognized correctly

5.1.0 - More stuff you'll need

18 Nov 14:36
Compare
Choose a tag to compare
  • upgraded stubbles/core to 5.1
  • implemented #72: Allow to define a default formatter for a mime type
    • added stubbles\webapp\RoutingConfigurator::setDefaultFormatter($mimeType, $formatterClass)
  • implemented #63: Add support for mime type annotations on callbacks
    • Added support for @SupportsMimeType
    • Added support for @DisableContentNegotiation
  • implemented #71: Simple way to add a Cache-Control header
    • added stubbles\webapp\response\Headers::cacheControl()
  • implemented #74: Possibility to automatically generate and log request ids
  • added stubbles\webapp\response\Headers::age()

5.0.2 - Sync please

18 Nov 14:35
Compare
Choose a tag to compare
  • fixed stubbles\webapp\RoutingConfigurator, was not in sync with stubbles\webapp\routing\Routing

5.0.1 - Correct status

18 Nov 14:34
Compare
Choose a tag to compare
  • fixed issue #69: Use status code 504 for external auth provider failures instead of 503
  • fixed issue #70: Invalid request should trigger a 400 Bad Request

5.0.0 - Auth again

18 Nov 14:34
Compare
Choose a tag to compare

BC breaks

  • completely reworked how authentication and authorization works
    • removed stubbles\webapp\auth\AuthHandler
    • removed stubbles\webapp\auth\AuthHandlerException, added stubbles\webapp\auth\InternalAuthProviderException and stubbles\webapp\auth\ExternalAuthProviderException
    • added stubbles\webapp\auth\AuthenticationProvider
    • added stubbles\webapp\auth\AuthorizationProvider
    • added stubbles\webapp\auth\Roles
    • added stubbles\webapp\auth\Token
    • added stubbles\webapp\auth\User
    • added stubbles\webapp\auth\token\TokenAuthenticator
    • added stubbles\webapp\auth\token\TokenStore
    • added stubbles\webapp\ioc\Auth to enable new auth bindings
    • added support for annotation @RolesAware which can be set on processors in case they don't need a specific role but access to the roles of a user in general
  • removed all methods deprecated with 4.0.0 (see below)
  • changed all thrown stubbles/core exceptions to those recommended with stubbles/core 5.0.0
  • globally defined formatters can not be set via io binding module any more, but directly on the routing when specifying the global mime type

Other changes

  • upgraded stubbles/core to 5.0
  • upgraded stubbles/input to 4.0
  • ensured compatibility with stubbles/webapp-session 5.0
  • io binding module is added to bindings by default if not explicitly specified

4.0.0 - No net, no double bottom

18 Nov 14:33
Compare
Choose a tag to compare

BC breaks

  • removed namespace prefix net, base namespace is now stubbles\webapp only
  • removed all classes in namespace stubbles\webapp\session, can now be found in separate package stubbles/webapp-session
  • removed stubbles\webapp\Webapp::createIoBindingModuleWithSession()
  • removed stubbles\webapp\ioc\IoBindingModule::createWithSession()
  • deprecated stubbles\webapp\Webapp::createIoBindingModuleWithoutSession(), use stubbles\webapp\Webapp::createIoBindingModule() instead, will be removed with 5.0.0
  • deprecated stubbles\webapp\ioc\IoBindingModule::createWithoutSession(), will be removed with 5.0.0
  • deprecated stubbles\webapp\ioc\IoBindingModule::setSessionCreator(), can now be passed optionally to it's constructor, will be removed with 5.0.0
  • removed net\stubbles\webapp\UriPath::getArgument(), deprecated since 3.3.0, use net\stubbles\webapp\UriPath::readArgument() instead
  • net\stubbles\webapp\UriPath::readArgument() does not accept default values, use defaultingTo() of returned stubbles\input\ValueReader instead
  • changed stubbles\webapp\response\format\Formatter::format() to receive stubbles\webapp\response\Headers as second parameter
  • api rework: replaced some constructs with better ones, all deprecated will be removed with 5.0.0
    • deprecated stubbles\webapp\UriPath::getMatched(), use stubbles\webapp\UriPath::configured() instead
    • deprecated stubbles\webapp\UriPath::getRemaining(), use stubbles\webapp\UriPath::remaining() instead
    • deprecated stubbles\webapp\UriRequest::fromString(), use new stubbles\webapp\UriRequest() instead
    • deprecated stubbles\webapp\response\Cookie::getName(), use stubbles\webapp\response\Cookie::name() instead
    • deprecated stubbles\webapp\response\Cookie::getValue(), use stubbles\webapp\response\Cookie::value() instead
    • deprecated stubbles\webapp\response\Cookie::getExpiration(), use stubbles\webapp\response\Cookie::expiration() instead
    • deprecated stubbles\webapp\response\Cookie::getPath(), use stubbles\webapp\response\Cookie::path() instead
    • deprecated stubbles\webapp\response\Cookie::getDomain(), use stubbles\webapp\response\Cookie::domain() instead
    • deprecated stubbles\webapp\response\Cookie::getDomain(), use stubbles\webapp\response\Cookie::domain() instead
  • constructor of stubbles\webapp\response\WebResponse now accepts correct http version strings only according to RFC 7230
  • stubbles\webapp\Webapp::run() does not send the response on its own any more, calling code has to send the returned response itself

Other changes

  • upgraded to stubbles/core 4.x and stubbles/input 3.x
  • added net\stubbles\webapp\response\Response::headers()
  • fixed bug with route selection when no method restriction was set on a route
  • added net\stubbles\webapp\RoutingConfigurator::onAll()
  • added stubbles\webapp\UriPath::actual()
  • fixed bug: response should not add content length header automatically when already added before
  • added stubbles\webapp\processor\HtmlFilePassThrough
  • added stubbles\webapp\processor\SessionBasedHtmlFilePassThrough
  • added stubbles\webapp\RoutingConfigurator::passThroughOnGet()