Skip to content

Releases: tempestphp/tempest-framework

v1.0.0-beta.1

07 May 09:41
Compare
Choose a tag to compare

πŸš€ Features

  • console: add make:migration command (#871) (e34654a)
  • console: add option to use terminal width to render key/values (#1148) (0c553d4)
  • container: support lazy dependency initialization using lazy proxies (#1090) (78273cc)
  • container: add container:show command (#1118) (80ab136)
  • container: support dynamic tags using dynamic initializers (#1120) (0980e3a)
  • core: add middleware priority and discovery (#1109) (da6665c)
  • core: display more data in default error handler (#1116) (90e8208)
  • core: improve exception handling (#1203) (9b31ecc)
  • database: allow overriding table names through model class attributes (#1060) (412c2d0)
  • database: store default sqlite database in internal storage (#1075) (d1704e8)
  • database: add migration hash checking (#1054) (90fa20c)
  • database: model validation before update, create, and save (#1131) (58f15f9)
  • database: add HasConditions to query builders (#1154) (619dd11)
  • database: add Count query builder and statement (#1174) (22dbe07)
  • datetime: add datetime component (#1158) (76d70c1)
  • event-bus: add event bus testing utilities (#1103) (9c84c68)
  • router: allow checking an action against the current route (#1059) (a8b6ea9)
  • router: support returning string and array from controllers (#1083) (5fb1045)
  • router: introduce response processors (#1084) (fb8977b)
  • router: support getting raw body from requests (#1093) (9d86d13)
  • router: add redirect back response (#1050) (8d43ce5)
  • router: detect dead links when generating static pages (#1192) (453e1cb)
  • storage: add storage component (#1149) (4baead1)
  • storage: support multiple storage configurations (#1187) (5b8be8a)
  • support: support array parameters in string manipulations (#1073) (283af0b)
  • support: rename map_array to map_iterable (#1071) (1eaf65e)
  • support: support $default on array first and last methods (#1096) (0d93283)
  • support: add removeValues to array utils (#1204) (3209379)
  • view: add view:clear command (#1069) (4137981)
  • view: improve boolean attributes (#1111) (35f85e9)
  • view: attribute precedence (#1153) (96f3149)
  • view: dynamic view components (#1169) (06be1af)
  • view: prevent invalid closing tags (#1195) (215671f)
  • vite: disable tag resolution in tests by default (#1072) (71efbae)

πŸ› Bug fixes

  • console: keep colors in key-value lines (#1068) (02aa357)
  • console: do not discover stub files (#1136) (30f012d)
  • console: do not discover stub files (#1138) (3fc2a15)
  • console: select default option in ask component (#1139) (797392e)
  • console: properly place cursor in multiline input (#1141) (b079c5e)
  • core: publish tempest binary via composer (#1207) (03cccff)
  • database: improved check on missing migrations table (#1092) (ed6f85c)
  • filesystem: add ability to delete invalid symlinks (#1206) (12e2b03)
  • mapper: properly serialize nullable properties in objects (#1107) (0b824b6)
  • support: non-dev bun dependencies installation (#1124) (da7006f)
  • support: fix psr-4 namespace path generation with dots and slashes in the composer path (#1166) (ce06b52)
  • validation: more lenient scalar validation (#1127) (dcc2401)
  • validation: enum request validation (#1130) (2181ec8)
  • view: lexing multiline attributes in windows (#1121) (33085b0)
  • view: : is replaced by - and @ is removed (#1125) (2f0b247)
  • view: hyphens in slot names (#1129) (bead5a5)
  • view: don't throw when using a <table> element (#1133) (5a05f6d)
  • view: prevent $var from being nulled after passing to component (#1160) (9aeb727)
  • view: switch to runtime icon view component (#1165) (6b84639)
  • view: improved attribute precedence (#1168) (077cc7d)
  • view: fallback attributes fix with nested slots (#1172) (5f38986)
  • view: wrong matched imports in view component slots (#1173) (6c5da00)
  • view: dynamic components with slots (#1171) (9fb3dd4)

🚜 Refactor

  • console: improve console output consistency (#1102) (e06dd63)
  • console: improve routes:list formatting (#1145) (c288d70)
  • container: rename #[Lazy] to #[Proxy] (#1180) (afcfb4d)
  • core: rename DoNotDiscover to SkipDiscovery (#1142) (781120c)
  • database: remove DatabaseModel interface (#1076) (04b5bd6)
  • database: rename TableName to Table (#1099) (c45ab5a)
  • filesystem: move from package to functions (#1150) (688b7fe)
  • router: improve static page generation console command output (#1100) (f63b8d2)
  • support: improve regular expression utilities (#1082) (6af05d5)
  • support: improve path utilities (#1080) (82efd60)
  • support: change static return type to self for better autocompletion support (#1208) (0e324bf)
  • validation: use lite version of libphonenumber-for-php (#1122) (13f48c2)
  • ...
Read more

v1.0.0-alpha.6

24 Mar 08:42
Compare
Choose a tag to compare

🚨 Breaking changes

  • support: [breaking] improve architecture of support utilities (#940) (bb75e81)
  • vite: [breaking] automatically discover entrypoints (#1051) (ebe3ef4)

πŸš€ Features

  • console: add make:command command (#1048) (13bc731)
  • console: add make:discovery command (#1057) (2bd5814)
  • console: add make:generator-command command (#1056) (6992b70)
  • core: add kernel interface (#924) (2a2c454)
  • database: refactor DatabaseConfig interface (#902) (3d3a094)
  • database: add a Virtual attribute to exclude model properties from query builder (#966) (b6252dc)
  • database: add a findBy method to models (#965) (8d479bc)
  • http: empty request values are converted to null (#976) (dc5323b)
  • http: fix http header casing on retrieval (#1024) (be2fb43)
  • mapper: add two-way casters (#920) (0748aa9)
  • mapper: add MapFrom and MapTo attributes (#929) (b9a89de)
  • mapper: ObjectToArrayMapper use Caster::serialize to serialize the property value (#947) (269bfcb)
  • mapper: map()->with()->to() (#951) (e6f04ee)
  • mapper: allow multiple fields in #[MapFrom] (#944) (381c58d)
  • support: add enums support (#878) (964d55a)
  • support: add basename to string utils (#1039) (1d4f563)
  • support: add slug, ascii and isAscii to string utils (#1040) (3eb8b35)
  • support: add words and sentence methods to string utils (#1042) (b2dfd32)
  • support: add groupBy to array utils (#1047) (d696826)
  • support: add mapFirstTo and mapLastTo to array utils (#1038) (b188609)
  • validation: allow Stringable objects in IsString rule (#1029) (bd22988)
  • view: support dynamic $slots and x-template (#911) (1ba1629)
  • view: more lenient DOM parsing (#941) (0fe0df9)
  • view: remove empty slots in production (#950) (64b1ff0)
  • view: support relative view paths (#953) (2479148)
  • view: access view component attributes (#1008) (6c7dfae)
  • view: add view processors (#1011) (573d557)
  • view: view components by file name (#1013) (12b5503)
  • view: fallthrough attributes (#1014) (e1ce286)
  • view: add icon component (#1009) (46570eb)
  • view: support merging class attributes (#1020) (80ff7be)
  • view: cache Blade and Twig templates in internal storage (#1061) (1e33722)
  • vite: add Tailwind CSS option to the installer (#926) (cfe1564)
  • vite: add <x-vite-tags /> component (#945) (888f5b1)

πŸ› Bug fixes

  • database: make AlterTableStatement produce valid SQL (#979) (fd63ec0)
  • discovery: pass real paths to discovery classes (#1053) (97bfbf2)
  • linter: exclude cache directories (#1046) (0b27762)
  • mapper: nullable datetime caster (#974) (118eeb5)
  • mapper: validate before mapping (#980) (0688c97)
  • router: content-type json support when mapping psr request to tempest request (#956) (16345b6)
  • router: use correct input stream (#1005) (768c6fb)
  • validation: prevent type errors in rules using preg_match (#1043) (4a00657)
  • view: render doctype and html tags properly (#910) (dff3884)
  • view: fix for compiling HTML documents that contain PHP (#922) (f93fb3d)
  • view: comment out empty slots (#938) (1b3433d)
  • view: hardcoded boolean attributes shouldn't be parsed (#952) (dff166b)
  • view: regex timeout (#1015) (2e24641)
  • view: support <x-component> in auto-registered components (#1018) (371d9ea)
  • view: don't allow php expressions in attributes (#1019) (6931350)
  • view: do not duplicate <br /> tag (#995) (2279402)
  • view: prevent compiling parent elements of minified void tags (#1055) (0b25975)
  • vite: generate absolute asset urls (#1023) (3551008)
  • vite: don't discover template entrypoints (#1052) (3d7cbbd)

🚜 Refactor

v1.0.0-alpha.5

24 Feb 07:40
Compare
Choose a tag to compare

πŸš€ Features

  • console: add make:initializer command (#771) (cf354b7)
  • console: add backed enum support to ask (#808) (5e3d99e)
  • console: improve rescuing enum console parameters (#809) (7c64c7c)
  • console: allow calling console commands via fqcn (#824) (a6ba3b6)
  • console: provide command suggestions when using : shorthands (#814) (107f8b8)
  • console: add installer (#837) (90b6321)
  • console: add make:middleware command (#804) (467c664)
  • console: several QOL improvements (#847) (05dac5c)
  • console: add support for printing hyperlinks (#850) (6f457af)
  • console: add make:config command (#863) (d0f3f53)
  • console: add make:view command (#864) (a4ab813)
  • console: add task component (#857) (d4dac18)
  • container: add has and unregister (#840) (09ced7a)
  • core: allow defer callbacks to receive parameters from container (#798) (42262fa)
  • core: add TEMPEST_START constant (#791) (1cabe2d)
  • core: optionally run composer up after installers (#839) (6747d2c)
  • database: improved database indexing (#851) (82f1808)
  • database: alter table with only indices (#852) (61e7abb)
  • database: chunked results (#855) (e332bbd)
  • database: bindings in query methods (#859) (49f019c)
  • database: add raw to CreateTableStatement (#868) (60dcc28)
  • database: add explicit relation attributes (#874) (5e4df24)
  • database: add closable connection wrapper for PDO connection (#875) (15f8995)
  • debug: emit ItemsDebugged on debug (#796) (c1be5e6)
  • framework: extend http testing methods (#790) (dd01ef1)
  • framework: overhaul console interactions (#754) (e966ecb)
  • log: emit MessageLogged when logs are written (#795) (50b27c8)
  • log: configure log paths through env by default (#820) (52f200a)
  • support: improve types of HasConditions (#800) (00aa6ea)
  • support: add every to ArrayHelper (#813) (9d39e15)
  • support: add append and prepend to ArrayHelper (#833) (7daf3fc)
  • support: add HtmlString class (#842) (751f0d1)
  • view: add twig support (#841) (0f47a80)
  • vite: add Vite installer (#901) (f9f4167)
  • vite: add Vite support (#829) (4099b40)

πŸ› Bug fixes

  • core: do not redefine TEMPEST_START (#806) (2739f4f)
  • database: default strong comparison check (#858) (b6064a6)
  • database: loading database relations or other objects (#884) (0214ac3)
  • generation: ClassManipulator now make replacements before simplifies classnames (#876) (fe0f3b2)
  • http: remove empty directories when running static:clean (#784) (3f0d17b)
  • http: correct HTTP 418 description and coverage (#823) (dbad109)
  • support: support keys with dots in ArrayHelper#get (#832) (8372827)
  • tests: update IPv6 test to align with PHP 8.4.3 behavior (dec5c2f)
  • view: check the existing of the $tagName property (#803) (f34c2ba)
  • view: support doc comment elements (#816) (8b95679)
  • view: self-closing view component tags (#818) (420e5d8)
  • view: use bug when compiling view (#893) (6ce796c)
  • vite: fall back to global entrypoints if supplied ones are empty (#870) (08df98c)
  • vite: support new cors rules in Vite 6 (#890) (d991bfd)

🚜 Refactor

  • console: improve visual consistency (#888) (31213bc)
  • container: mark container exceptions with ContainerException (#831) (985be66)
  • core: call invokable classes with invoke (#799) (15dd7bd)
  • discovery: extract into a standalone module (#861) (58aadc9)
  • http: refactor http route attribute (#793) (1bd7a67)
  • router: convert route attributes to plain objects (#822) (88bd85d)
  • view: use PHP 8.4 DOM (#787) (d58d028)
  • http: move http router to separate package (b7f99a8)
  • php8.4: partial update to property hooks (#848) (5abb74b)
  • php8.4: general codebase upgrade to latest practices (#883) (f880072)

v1.0.0-alpha.4

25 Nov 12:45
2483e64
Compare
Choose a tag to compare

πŸš€ Features

  • commandbus: async commands (#685) (bfa1706)
  • console: support negative arguments (#660) (1cdf158)
  • console: support "no prompt" mode (#661) (687e333)
  • console: add name parameter to #[ConsoleArgument] (#617) (2a73033)
  • console: ensure tempest serve supports routes with file extension (#704) (6300617)
  • console: support dynamic style injections (#703) (6847a79)
  • console: accept BackedEnum as command arguments (#722) (c21f24e)
  • console: add make:controller and make:model commands (#647) (0bdee91)
  • console: add make:request command (#730) (987eabf)
  • console: infer binary path for scheduler (#758) (25e5d81)
  • console: add make:response command (#760) (e76c1f8)
  • container: support injecting properties using #[Inject] (#690) (ab0eecd)
  • core: install main namespace (#751) (3f9bdde)
  • core: partial discovery cache (#763) (2049f6e)
  • database: add json data type (#709) (d599d50)
  • database: add set data type (#725) (f0db5c8)
  • filesystem: add new Filesystem component (#441) (25d4a47)
  • framework: add config:show command (#732) (2124577)
  • http: map uploaded files into the request properties (#702) (a97014c)
  • http: add Delete attribute (#733) (613b884)
  • http: add Put and Patch attributes (#742) (3621006)
  • log: allow usage of multiple same log channels (#718) (68d7e54)
  • mapper: json file to object mapper (#748) (99933ff)
  • routing: add regex chunking to route regex (#714) (3eb0c59)
  • support: add sorting methods to ArrayHelper (#659) (8f52e4a)
  • support: add wrap and unwrap to StringHelper (#693) (a0fffe9)
  • support: support not specifying a value to ArrayHelper::pop and ArrayHelper::unshift (#692) (6a56d94)
  • support: add start to StringHelper (#713) (f719c20)
  • support: add methods reduce, chunk and findKey to ArrayHelper (#720) (c8a31db)
  • support: add more methods to ArrayHelper and StringHelper (#721) (bdf5efc)
  • validation: ArrayList rule (#745) (ddda992)
  • validation: enhance enum validation (#755) (ca7a226)
  • view: add boolean attributes (#700) (04000ac)
  • view: add raw html element (#738) (df6a418)
  • optimize routing (#626) (83f1dac)
  • multiple routes per controller method (#667) (166912d)
  • route enum binding support (#668) (f055fc1)
  • exception handler improvements (#670) (0f97964)
  • middleware callables (#672) (d2e8a4e)

πŸ› Bug fixes

  • commandbus: disallow having two #[CommandHandler] for the same command (#706) (f3054f9)
  • console: handle nested style tags (#726) (779973e)
  • core: discovery location loading order (#663) (6fc2d95)
  • core: discovery errors being silenced (#688) (f5b848c)
  • core: installers not updating docblock references (#696) (7b7e2ca)
  • generation: simplify traits and method parameter attributes (#753) (3cca6bc)
  • http: collision between route and query params for uri generator (#687) (e22492a)
  • http: use document root instead of env in tempest serve (#717) (ccc1ece)
  • http: use default log config only if no config is provided (#719) (fbaf866)
  • support: support calling first and last on empty ArrayHelper (#691) (9021c6e)
  • view: several bugfixes (#662) (5034d0a)
  • view: attributes for raw elements (#734) (f89eb5d)
  • view: extra null check for node attributes (#740) (5fa27bc)
  • query param name collision in uri function (#679) (59fe4fb)
  • rector (#680) (7fdff1d)

🚜 Refactor

  • console: exit codes as enum + int (#741) (b014f40)
  • console: update make:controller command parameters to be simpler (#761) (9835d2e)
  • routing: split route construction (#666) (32bf4d0)
  • support: convert PathHelper to immutable class (#743) (0dacd10)
  • update ModelQueryBuilder generics to support static analysis (cea122e)
  • replace ramsey/uuid with symfony/uid (#724) (8e6b650)

⚑ Performance

...

Read more

v1.0.0-alpha.3

31 Oct 09:06
d363a21
Compare
Choose a tag to compare

🚨 Breaking changes

  • [breaking] add support for specifying an optional port in serve command (b8b9167)
  • [breaking] add the ability to use custom regex for route params (871dda9)

πŸš€ Features

  • console: support string keys in MultipleChoiceComponent (#567) (78f2794)
  • container: add ability to invoke arbitrary closures (#535) (c1da5f1)
  • core: add root_path helper (#607) (ccfcf94)
  • event-bus: support closure-based listeners (#540) (0fa02bc)
  • generation: add ClassGenerator (#544) (f54a0e0)
  • support: improve helpers (#538) (6d60b9b)
  • support: improve array helper with additional methods (#557) (57e6cd8)
  • support: refactor dd() method to use logger in string helper and add the dump() method (#563) (3349cf1)
  • support: add implode()/explode() methods in string helper (#564) (5718796)
  • support: add methods to array helper (#590) (b16f797)
  • support: add inline documentation on helper classes (#611) (c5fdcad)
  • validation: support validating by closure (#570) (450bc58)
  • match all method for string helper class (#536) (0f33a44)
  • enhance matchAll method to support flags and offset (9da79f4)
  • add named hasOne relation (#549) (58906b7)
  • add initializer for builtin types (#541) (bd64f5a)
  • add boolean data type (#547) (#555) (6776fff)
  • add isList() and isAssoc() methods in ArrayHelper for array type checking (#566) (f465060)
  • event bus improvements (#623) (bf7ff15)
  • add defer helper (#624) (15cd46e)
  • install command (#625) (10f3388)
  • add inline documentation on all namespaced functions (#616) (bef5af7)
  • publish imports (#643) (52ca58d)

πŸ› Bug fixes

🚜 Refactor

  • http: resolve HttpApplication via the container (#606) (4680289)
  • reflection: replace eval call in TypeReflector (7ffe2d7)
  • support: move LanguageHelper#join to ArrayHelper and StringHelper (#612) (75d902b)
  • validation: improve readability of validateValue (#586) (fef15c0)

πŸ› οΈ Build

v1.0.0-alpha.2

04 Oct 07:10
19d001b
Compare
Choose a tag to compare

πŸš€ Features

πŸ› Bug fixes

πŸ§ͺ Tests

  • console: add test for install command (#432) (d0085f7)