github tempestphp/tempest-framework v3.0.0

latest release: v3.0.1
8 hours ago

🚨 Breaking changes

  • core: [breaking] make Environment its own source of truth (#1838) (ad32ffe)
  • core: [breaking] overhaul exception handling (#1819) (314fb05)
  • http: [breaking] improve session management and CSRF protection (#1829) (bd4be5e)
  • log: [breaking] support multiple loggers (#1788) (cfccb39)
  • mapper: [breaking] move map function in Tempest\Mapper (#1789) (b4b49ec)
  • support: [breaking] rename Arr\map_iterable to Arr\map (#1884) (f97b0cf)
  • testing: [breaking] remove deprecated testing utilities (#1849) (ce478bf)
  • testing: [breaking] migrate view and route helpers to dedicated testers (#1870) (e26572b)
  • validation: [breaking] add ability to specify translation keys for specific properties (#1618) (2537d2a)
  • view: [breaking] use internal_storage_path to build view cache (8bb394d)
  • view: [breaking] move Tempest\view to the Tempest\View namespace (#1860) (360af87)
  • [breaking] use consistent namespaces for functions (#1880) (9621695)

🚀 Features

  • auth: implement Twitch OAuth provider wrapper (#1919) (0ad6cc7)
  • console: add native command completion for zsh and bash (#1851) (1dd4946)
  • console: allow overriding internal storage in boot (#1904) (64fc6c4)
  • console: add ability to prevent built-in console commands from loading (#1906) (4ef5a77)
  • console: throw clear exception when sending unexpected input during console interactions (#1916) (743e8d8)
  • core: support php 8.5 (#1733) (a1b0bcf)
  • core: support validating environment variables (#1836) (f36b43b)
  • core: enable partial discovery by default during development (#1848) (7f40a4e)
  • database: support uuids as primary columns (#1807) (4456541)
  • database: add pdo options to database configs (#1840) (d75d54c)
  • database: add configurable migration naming strategy (#1928) (e957640)
  • event-bus: allow assertions without preventing event execution (#1841) (ea48a8a)
  • event-bus: support enum events in EventBus::listen() (#1878) (22f6cac)
  • mapper: support contextual serializers and casters (#1791) (3c0d1f3)
  • mapper: read CastWith/SerializeWith from interface definitions (#1883) (d644091)
  • reflection: add union and intersection utils (#1798) (378e0c0)
  • router: infer constraints from route parameters (#1816) (8d82c8c)
  • support: add Filesystem\create_temporary_directory() (#1901) (1d09649)
  • support: add Filesystem\copy_directory and Filesystem\copy (#1909) (9595a83)
  • testing: support passing raw body to route test utils (#1876) (a75fce7)
  • validation: add closure-based validation (#1828) (b6d4668)
  • view: support expression attribute fallthrough (#1811) (5d8bbad)

⚡ Performance

  • database: only use serializer factory when needed (#1898) (ad7825b)
  • mapper: pre-resolve mapper classes (#1852) (49fc4e2)
  • orm: memoize mapper data to improve ORM performance (#1855) (5ec931a)

🐛 Bug fixes

  • auth: properly run migrations when installing auth (#1927) (5bb84c1)
  • cache: ensure unique lock acquisition (#1757) (0f08031)
  • command-bus: prevent crash when accessing deleted pending commands (#1926) (40b73e4)
  • console: add zsh cache cleanup instructions after uninstall (#1862) (6f27ade)
  • core: correctly load symlinked config files (#1875) (c823d63)
  • cryptography: add key:generate hint to invalid key exceptions (#1925) (965f2ee)
  • database: update generics on query builder (#1833) (92908e3)
  • database: improve raw sql serialization consistency (#1861) (36113b7)
  • database: wrap enums in quotes during raw sql serialization (#1871) (f3d67f0)
  • database: use singleton serializer factory instead of creating a new one (#1877) (7f9a2ec)
  • debug: prevent infinite recursion when debugging in ItemsDebugged events (#1956) (1425014)
  • discovery: handle the discovery test case corectlly (#1839) (c89a15c)
  • http: gracefully recover from invalid file sessions (#1872) (db834ab)
  • http: prevent rendering development exception on validation errors (#1887) (56ba5ea)
  • http: broken import in header session id resolver (#1893) (afe65d3)
  • http-client: support unknown status codes (#1885) (bd65ba8)
  • http-client: remove unused dependency on tempest/router (#1902) (df69277)
  • intl: throw explicit exception when encountering unsupported translation file formats (#1864) (0350d98)
  • intl: add missing dependency to ext-intl (#1866) (516a0ac)
  • kv-store: allow Predis connection errors to be caught (#1930) (6c1a725)
  • reflection: correctly detect nullable types in TypeReflector (#1924) (8947072)
  • router: add missing ui composable imports (#1853) (38128aa)
  • router: support rendering development exceptions with html entities (#1854) (0e8edb4)
  • router: prevent memory exhaustion when serializing exception arguments (#1859) (7e8ec28)
  • router: truncate exception page symbols when they are too long (#1957) (2221da7)
  • support: prevent Path\normalize from removing 0 from paths (#1817) (1af376a)
  • support: support deleting symlinks using Filesystem\delete (#1847) (25d69dd)
  • view: handle egde case with falsy nodes (#1825) (37e908d)
  • view: fallthrough attributes with empty values (#1858) (4332740)
  • view: keep whitespaces during render (#1881) (07c5aaf)
  • view: do not cache views in local environments by default (#1891) (cfef0cc)

Don't miss a new tempest-framework release

NewReleases is sending notifications on new releases.