- Fixed a missing import alias which causes a problem in the loader
- Organize uses and fixed coding styles
- Add option to specify global middlewares
- Updated composer dependencies
- Graph traverser handle also objects which implement JsonSerializable, ArrayObject or Traversable
- JsonSchema parser set default id if not available
- Improve dispatcher dont send the response for nested calls
- Fixed comperator record comparsion and add test case
- Add logger configuration settings and factory
- Add json patch and pointer implementation. The accessor uses now also the json pointer syntax
- Add record serializer and add transformer which builds a record graph from arbitrary data
- Add option to attach a validator to the importer inside a controller
- Make ImporterManager immutable so that it is not possible to globally change a importer object
- Improved validator
- Renamed some classes for PHP7 compatibility
- Removed class PSX\Data\Object and added static factory method fromArray to PSX\Data\Record
- Adjust visitor exception messages
- Curve array nest method handle indexed arrays
- JSON Schema add title property to complex types
- Documentation controller returns also the API endpoint url
- XML generator validate element names
- Documentation controller returns now the complete json schema which can be used by the API client to generate a documentation
- Improved swagger and json schema generator
- Extended api resource methods
- Improved condition class
- Schema html generator fix traversing nested schema properties
- Fix schema parse read description of array and scalar types
- Add any schema property type
- Messages of StatusCodeException are now shown to the user when in production mode
- Add title and required parameter to accessor
- Set controllerClass variable for template writers
- Fix issue with content negotiation #10
- Make api resource and schema classes serializable
- Switched to PSR-2 coding style and using absolute class paths in phpdocs
- Improve controller test cases
- Add RecordInterface access to Accessor
- Add JsonSerializable interface to record abstract
- For incoming requests an exception is now throw if the data structure contains keys which are not available in the schema
- Add development status for an API resource
- Added new ChoiceType property which allows different kinds of objects as value
- Use same logic for traversing incoming and outgoing data
- Moved schema property methods assimilate and validate into seperate class
- Improved record factory factory class which uses now the object build to get arbitrary dependencies
- Implemented factory to convert requests into PSR-7 objects and vice versa
- Improved many test cases
- Fixed bug that the wrong base path was used when an json schema was included in an RAML file
- Added raml file parameter for api generation command
- Improved raml parser and tests
- Add format key to swagger parameter record
- Add iterator and countable interface to complex type
- Improved raml and swagger generation
- Add return $this to MethodAbstract::setDescription
- Add debug commands to print an raml and jsonschema resource definition
- Add console commands to generate different schema representations of the api
- Removed unused methods in documentation controller
- Added property type factory class
- Gain php7 compatibility
- Json schema parser add schema version check
- Improved schema data, validation and api controller test cases
- Fixed datetime wrong behaviour without constructor args
- Fixed correct handling with date and time formats
- Improved several value objects
- Improved controller schema api tests
- Pass controller context when forwarding an request to another controller
- The name of the exception record is now "error"
- Add a new context value so that all controllers share the same supported writer value
- Moved body trait methods into the controller abstract class
- Added controller set stdClass body test
- Improved XSD generator and allow setting min max array length
- Updated documentation
- Improved controller tests
- Container test case preserve config values between unit tests
- Moved test bootstrap code into seperate class
- Added getConnection method to table manager to enable easy transaction handling
- Moved cache logic from table manager into seperate reader class
- Added exception converter service which converts an exception into an record which gets used to display error messages. This makes it easy to change the global error response format
- Send correct content type on exception or send 415 status code
- Handle Accept headers with +json or +xml media types correctly
- Added jsonx format to default api controller
- Added http StreamInterface and remove psr http dependency
- Updated bootstrap cache generator file list
- Resource listing controller documentation create context in seperate method which can be overloaded
- Handle different successful status codes in schema api
- Updated manual
- Removed html presentations from tool controllers
- Fixed xml writer nested array definitions
- Removed rest client controller since it contains no logic
- Improved raml parser
- Improved json schema parse resolve external resources. Supports file:// and http:// protocol
- Added raml and json schema parser
- Improved html output added psx- prefix for css classes
- Renamed Api\View to Api\Resource and redesigned classes containing the schema. It is now possible to set an response schema for each status code
- Add possibility to cache resource listing results
- Improved tool controllers
- Renamed RestController to RestClientController
- Fixed bug in request factory where sub paths are not handeled correctly
- Added record graph traverser class and various visitor implementations which are used to produce data from an object graph
- Improved internal data representation for incoming and outgoing data
- Added content type aware fallback template generator and move fallback generation to the html writer
- Improved request factory added automatic protocol detection if "psx_url" is i.e. //foo.com and use buffered reader for request body
- Table abstract returns now record classes instead of associative arrays
- Log request and response body if in debug mode
- Added jsonx support
- Improved streams and added buffered stream implementation
- Added logcaster monolog listener
- Updated PSR http-message to the current version of the spec
- Changed license from GPLv3 to Apache 2.0
- Improved documentation
- Added raml generator
- Added table api abstract controller
- Improved and unified api view generators
- Added Swagger generator and improved related data models
- Added resource listing class and improved the api documentation, swagger and wsdl controller
- Move generation of the fallback template into a seperate class
- Improved activitystreams test and implementation
- Removed location and added context class which holds parameters gathered around the controller/command
- Added HTTP request/response interfaces and added an factory to convert PSX HTTP request/responses into PSR-7 request/responses
- Added HTTP stream handler which uses the native HTTP stream wrapper
- Added missing HTTP status codes
- Add support for array and object sql table column types
- Added primary key filter which checks whether an id exists in an table
- Used dbal query builder in various places for better db vendor support
- Added plain text writer
- Sql table query methods return now an array instead of RecordInterface
- Added media type class and improved content negotiation
- Improved JWT implementation
- Removed unused methods from Base class which now contains only the getVersion method
- Added rfc3986 compatbile URI resolver class
- Improved URI/URL/URN classes. Changed URL parameter getter/setter methods from getParam to getParameter etc.
- Removed output method from xml writer and improved atom writer/entry
- Added http cookie parser class
- Added http stream util class to simplify working with streams
- Added application stack interface
- Updated dbal to version 2.5
- Added various middleware filter implementations
- Improved tests
- Add CurveArray class to nest or flatten an array
- Updated api doc controller template
- Added commands to generate boilerplate source code for controller, commands and schema
- When the default writer gets determined it respects now the list of supported writers
- Implemented priority queue to give reader and write a priority in which order they get used
- Changed default html template file extension from .tpl to .html
- Added abstract template writer which can be used to generate an output with an template engine
- Added svg writer which uses the abstract template writer
- Add possibility to set an content negotiation rule for an specific writer
- Restricted the TableInterface::TYPE_* constants to the subset of supported types from the doctrine dbal and use the dbal for type conversion
- Added command to generate an bootstrap cache which can be included at startup to increase performance
- Integrated JMS serializer
- Removed payment and handler classes
- Added symfony console component and added several commands
- Http client removed parameters from the http request object which not directly
belong to the request into an http option object which can be passed to the
request method - Moved creation of the DI container into its own file so it can be used in different environments and the user can easily change the container
- Dispatch events at key locations
- Added tool controller to generate an Swagger or WSDL definition from an API
- Added SOAP support and WSDL generator
- Improved OpenSSL classes
- Add common http exceptions which can be used to directly deliver an specific status code
- Added version handling for API
- Added getAccessor() method to controller which offers a way to easily get an value from the request body
- Remove psx sql library and using doctrine dbal instead
- Improved data system seperating reader functionality into an reader and transformer class
- Added data schema component with that it is possible to describe json or xml data formats. The schema can be exported into XSD or JsonSchema
- Make cache system psr-6 compatible
- Added @Inject annotation to use a service from the DI container inside and command or controller
- Extended validate library
- Implemented the first version of the psr http-message interfaces
- Improve template interface and add missing methods in smarty and twig handler
- Split up di container services into different traits
- Add command system
- Add support for chunked transfer encoding
- Error handling was shifted in an controller which can be overwritten to provide custom error page or handling
- Doctrine handler resolves TO_ONE entity associations
- Improved request factory
- Possibility to set an wildcard in an routing file
- Added missing http event method onHead
- Possibiliy to set an alias path in an routing file
- Improved hhvm/hack compatibility (all tests pass on hhvm 3.0.1)
- Added data html writer
- Improved routing mechanism method which should be called must now be declared in the routing file
- Added an callback handler to each handler type
- Updated swagger library to current version 1.2
- Added record xml definition schema
- Default manager was removed and concrete Dom/Map manager was introduced
- Improved hhvm compatibility
- Added redirect exception
- Importer add possibility to import anonymous record classes and improved tests
- Renamed controller method getRequestFilter and getResponseFilter to getPreFilter and getPostFilter
- Improved tests
- Update http library to current psr-7
- Improved tests
- Changed getRecord of HandlerQueryInterface its only possible to get a new record containing all supported fields
- Implemented http request and response through the complete framework lifecycle
- Added callback resolver which builds an php callback from an location
- Removed output buffering for more transparent debugging
- Make http library compatible to the upcomming psr-7
- Updated activity streams according to RFC draft
- Removed docbook documentation infavor of reStructuredText files
- Improve parsing of routing file
- Fix bug that the sended headers are not correctly parsed
- Add http callback handler and add response parser class
- Fix html parser single and double quotes in attributes
- Allow urls with protocol definition i.e. //phpsx.org
- Improved filter tests and added date range filter
- Added entity annotation importer
- Improved tests
- Removed apc cache handler
- Added sql table manager wich can read table definitions from different sources
- Add annotation test and improve parsing
- Added domain package. The package helps you to create your application in a domain driven design
- Fully support symfony di container
- Introduced importer concept. An importer is a class wich can fill a record with data
- Every record has now a single method getRecordInfo() wich returns all available fields. Removed all other methods from the record interface
- Added mapper class to map an record to another class by calling the fitting setter methods
- It is possible to add reader and writer implementations to the reader or writer factory
- Improved html parser. Add an option to allow html comments wich is false by default
- Added symfony event dispatcher for event handling in an domain
- A new handler package was added wich contains all handler related classes
- Added filter definition class to validate a record based on a set of rules
- Added openid connect basic client
- Fixed routing mechanism
- Improved sql select and tests
- Update webfinger library to rfc7033
- Added hostmeta library
- Improved XRD library
- Created XRI package wich contains now the XRD and XRDS libraries
- Added jsonp data writer
- Added http fixture for skrill test
- Improved loader and dispatch test
- Fix use correct request method
- Improved oauth test
- Improve template detection
- Curl handler option to set a proxy
- Use real request method in oauth authentication filter
- Added get method to TemplateInterface
- Load template from Resource folder in ViewAbstract
- Added custom template error config
- Removed template and module folder
- Added routing location finder and remove filesystem router
- Removed constant PSX_PATH_MODULE and PSX_PATH_TEMPLATE
- Improved paypal library
- Added http mock and mock capture handler
- Improved unit tests
- Add proper clone behavior for select class
- Set openid request record attributes protected
- Fix oauth request filter content type detection
- Added static method setupEnvironment to Bootstrap
- Improve sql library
- Fixed getErrorTemplate() env vars
- DateTime added convertIntervalToSeconds method
- Response and request filter can now return also callables
- Added getStage() method to the controller to control wich methods should be called
- Improve void session to save values in memory
- Added clearError() method to validate
- Added JWT and JWS library
- Json decode throws now an exception if decoding fails
- Add void session
- Add support to call controller through cli to simplify testing
- Improve error response handling
- Improved cache class
- Added dispatch class wich routes the request to the controller. Also applies the request and response filter wich are defined by the controller
- The controller proxies unknown get* methods to the container
- Improved template and added template wrapper classes for twig and smarty
- Improved DI container interoperability it is now possible to use the symfony DI container instead of the psx DI container
- Use composer autoloader
- Added json activity stream writer
- Add simple xrds writer
- Extract xml, atom and rss writer into class for usage outside of the data writer context
- Remove logging library
- Added Sitemap an Odata libraries
- Improved activity stream classes
- Add method get, getBy and getOneBy to handler interface
- Fixed record serialize
- Fix select remove getDefaultRecordClass call from underlying table and remove getResultSet method
- Improved select and record test
- Fix Oauth2 error exception types
- Improve handler abstract and interface
- Use json encode/decode to un/serialize records
- ResultSet add getter methods and add(), clear() method
- Remove static parse methods from Condition
- Remove getDefaultRecordClass from TableAbstract since the table has not to decide wich object should be used this is part of the handler
- Improve tests and remove create table statments in tests
- Use port in base self url
- Config option to set include path
- Added autoload parameter in config to disable autoloading in case an external autoloader like composer is used
- Added payment paypal and skrill library
- Improve record added import annotation parsing and added Serializable interface
- Fixed wrong name in OpenId provider namespace
- Added namespace support
- Improved db tests
- Improved html parser library
- Added pingback library
- Validate, parameter and body objects are now loaded in an DI container
- Load dependencies in _ini() method instead of __construct()
- Fixed markdown parser and sql select
- Added classes to generate an swagger api declaration and util annotation parser
- Improved autoloader using stream_resolve_include_path before require the class so the autoload will not fail if the file doesnt exists
- Added new html5 filter collections
- Renamed PSX_Time to PSX_DateTime
- Fix http redirection header of relative urls
- Added user agent string to most http calls
- Add cache to PSX_Base getRequest method so calling the method multiple times will always return the same object
- Improved PSX_Loader class. The name of the index method must be now __index wich is called if no other method is specified in the request. This was done because of constructor conflict. Added annotation parser to loader for easier routing
- Added method getValidator(), getMethod(), getUrl(), getHeaders(), getHeader(), getParameter() and getBody() to PSX_ModuleAbstract
- Using PSX_PATH_CACHE path in file cache handler
- Fix markdown class encode emphasis
- Add method setSavePath to PSX_Session class
- Added Atom and RSS static request method
- Improved docblock comments
- Removed unused DOM package
- Changed constructor of PSX_Sql class
- Added cookie store to http package
- Improved cache classes and tests
- Moved class PSX_Get, PSX_Post, PSX_Cookie, PSX_Request, PSX_Files in input
- package and improved tests
- Updated paging class and tests
- Added calendar class
- Added improved psx html package add html5 lexer and filter library and updated
- html parser
- Added getParameters to dependency abstract
- Added view dependency and renamed module DefaultAbstract to ViewAbstract
- Renamed constant in_psx to PSX because of namespace issue
- Added data multipart/form-data reader
- Added PSX_Base class containing informations about the framework and current http request
- Moved several methods from PSX_Config into PSX_Base class
- Added data reader and writer factory
- Added Oauth2 client library
- Added payment paypal library
- Improved log library
- Removed ca-bundle.pem from library and add method to set ca path for curl handler
- Renamed static method "isFile" to "exists" in file class because the class extends now SplFileObject wich already defines an isFile method
- Fixed openid stateless mode and correct exception name
- Updated webfinger library and tests
- Removed idna (punnycode) filter
- Added uri and urn libraries
- Added opensocial and activitystreams records
- Improved tests
- Added oembed library
- Fix openid consumer and relying party library
- Update documentation
- Fixed openid provider association implementation
- Added openssl wrapper class
- Added webfinger util library
- Added util markdown parser class
- Improve error and exception handling
- Added sql selection class
- Removed data servlet interface in favor of the sql table class
- Added sql table abstract class
- Add http upload libary
- Added optional require parameter to input method
- Added and improved several tests
- Updated atom and rss item parsing
- Updated HTTP socks handler proper handling of chunked transfer encoding
- Removed NestedSet library because they where not stable enough
- Add OpenID provider implementation
- Fix HTTP classes headers are stored now interal as key => value
- Fix OpenId so that the claimed id is added on redirect if the local id doesent exist and add getIdentifiert method
- Update HTTP request class and fix curl handler follow location. Remove "Expect: 100-Continue" header and update ca-bundle.pem
- Added unit tests
- Fixed several bugs
- Rewrote manual
- Fix follow location in http curl handler
- Improve tests
- Using now standard "camelcase" coding style for interoperability
- Update data writer library for handling Atom and Rss feeds correctly
- Add http library option to automatically follow redirects
- Remove unused classes
- Fixing many bugs
- Rewrote html form / paging / grid using now the DomDocument object
- Remove task lib
- Add psx/api and psx/data package for building RESTful API services
- Moved the classes from psx/core in the package psx
- Rewroter filter system and add class psx_validate
- Updated psx_srv_[atom|rss] class wich uses now the DateTime class
- Updated dom wich extends now the DomDocument class
- Updated time class wich extends now the DateTime class and some uneccasary methods were removed
- Remove util/uri class
- Update sql library send SET NAMES UTF-8 command on creation
- Unknown
- Added form generation class
- Added and fixed tests
- Added request library
- Implemented psx_input interface
- Rewrote filter library
- Rewrote manual to version 0.3
- Fixed openid oauth and yadis library
- Complete redesing of the framework the library is now more loosly coupled because most classes using dependency injection.
- The component section was removed and all classes are now in the psx library folder
- The interface psx_module_private was created if you implement that in your module nobody can access the public methods via the browser
- The standard PHP loader was implemented wich is also used by Zend etc.
- adding sql pdo driver
- Fixing several bugs
- Add pubsubhubbub library
- Add atom library to parse atom feeds
- Add html parse library to parse malformed html
- We use XMLWriter now in the class rss/atom/opensearch to produce XML
- Fixed opensocial component bugs
- Add openid, yadis, atom/rss2 and opensearch component
- Renamed folder lib to library and ext to extension
- Perfomance improvments
- Fixing bugs
- Delete include folder
- Add phpunit tests
- Add component net/oauth
- Rewrote http lib
- Add phpunit tests
- Fixing bugs
- Redesign sample template
- Orm lib removed
- Parse lib removed