Releases: tempestphp/tempest-framework
Releases Β· tempestphp/tempest-framework
v1.0.0-alpha.6
π¨ 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
andMapTo
attributes (#929) (b9a89de) - mapper:
ObjectToArrayMapper
useCaster::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
andisAscii
to string utils (#1040) (3eb8b35) - support: add
words
andsentence
methods to string utils (#1042) (b2dfd32) - support: add
groupBy
to array utils (#1047) (d696826) - support: add
mapFirstTo
andmapLastTo
to array utils (#1038) (b188609) - validation: allow
Stringable
objects inIsString
rule (#1029) (bd22988) - view: support dynamic
$slots
andx-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
- core: remove unnecessary set hook from Kernel interface (#959) (5949729)
- core: cleanup internal path helper (#960) (92321b3)
- framework: centralize internal caches (#948) (d80bfa9)
- mapper: mapper improvements (#992) (7cf0517)
- mapper: split caster and serializer into two (#1041) (798d0f4)
- router: make request mapping consistent (#997) (cb9dfc7)
- support: remove duplicate code (#912) (3f8a330)
- support: minor code cleanup (#961) (749e97d)
- support: rename
map
tomap_array
(#1045) (51dc620) - view: use
is_self_closing_tag
where relevant (#1035) (4d534fe) - view: is_void_tag (#1037) (f5e38d0)
v1.0.0-alpha.5
π 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
andunregister
(#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
toCreateTableStatement
(#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
toArrayHelper
(#813) (9d39e15) - support: add
append
andprepend
toArrayHelper
(#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
π 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
andmake: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
andPatch
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
andunwrap
toStringHelper
(#693) (a0fffe9) - support: support not specifying a value to
ArrayHelper::pop
andArrayHelper::unshift
(#692) (6a56d94) - support: add
start
toStringHelper
(#713) (f719c20) - support: add methods
reduce
,chunk
andfindKey
toArrayHelper
(#720) (c8a31db) - support: add more methods to
ArrayHelper
andStringHelper
(#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
andlast
on emptyArrayHelper
(#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
withsymfony/uid
(#724) (8e6b650)
β‘ Performance
...
v1.0.0-alpha.3
π¨ 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()
andisAssoc()
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
- #275: implement weekly log rotation (#548) (14fea7d)
- container: fix caching of autowire discovered classes (#630) (6a5a5d5)
- http: fix so referer header is resolved depending on request class in invalid response (#604) (d463258)
- phpstan: fix phpstan issues (#556) (b1495b2)
- phpstan: fix last phpstan issues (#589) (e719dfa)
- view: consume dynamic attributes (#644) (972595c)
- terminal line clearing (#576) (ce2b6c4)
- low terminal frame rate causing keystrokes to be dropped (#577) (8f414d6)
- rector config (#581) (83c103d)
- view argument casing (#585) (158b2db)
- nullable properties not seen as nullable by TypeReflector (#591) (6e7dc59)
- disable rector ci (#595) (88dfdfb)
- type reflector uses wrong definition when converting to class (#592) (94071c3)
- view components with multiple attributes (#599) (e00d0cd)
- console cache dependency (#603) (2acdf9a)
- duplicate command completion (#600) (effb684)
- publish file root namespace (#638) (2051dd4)
π Refactor
- http: resolve
HttpApplication
via the container (#606) (4680289) - reflection: replace
eval
call inTypeReflector
(7ffe2d7) - support: move
LanguageHelper#join
toArrayHelper
andStringHelper
(#612) (75d902b) - validation: improve readability of
validateValue
(#586) (fef15c0)
π οΈ Build
- add release script (e1a1107)
v1.0.0-alpha.2
π Features
- core: add
Composer
util (#519) (40c5f03) - database: implement table naming strategies (#453) (519f44f)
- discovery: add ability to hide classes from discovery (#512) (c09cdf4)
- discovery: allow exceptions on
DoNotDiscover
classes (#521) (1dcacae) - generation: add
ClassManipulator
(#531) (92ccb7d) - string-helper: add replacement and concatenation methods (#517) (6e3a63a)
- support: adds string pluralizer (32fb3e9)
- support: add
StringHelper
(ccb1e65) - refactor string helper to object (#433) (5eca329)
- add array helper (#434) (988f28d)
- request::has methods (#448) (82e6522)
- add base uri support (#449) (f243a1f)
- always log errors in production handler (#454) (0652e9c)
- cache (#474) (00fd2de)
- add str::startswith and endswith (#484) (3ac79d6)
- cache:clear command (#487) (c1f6cc4)
- use directories instead of file names to allow default server config setup (#479) (140f9eb)
- add output to schedule:run command (#489) (c57b1ac)
- allow hard-coded uris in router::touri (#490) (72e88c8)
- add autowire/autodiscovery/auto-initialization of interfaces to classes (#501) (1572122)
- array helper::map-to (#505) (e4bb059)
- authenticator (#493) (5017c5f)
- adds
enctype
within the form component (#500) (7c4f12d) - str match (#527) (ce899cd)
- str regex functions (#528) (672ea02)
- allow object to define how they are mapped to array (#532) (19d001b)
π Bug fixes
- console: support
default
parameter on textbox component (#518) (3c86f8e) - view: join generic elements with an empty string (3ad5461)
- Missing descriptions in composer files (5c28483)
- package validation reading the license from composer files (3701b64)
- view renderer bug fixes (#439) (d60d26f)
- view renderer bug fixes (#440) (6a85ef8)
- improved error handling for warnings and deprecations (#443) (1e7ad4d)
- response sender improvements for download and file responses (#447) (3132bed)
- extra check for existing file (#455) (f466b7d)
- properly detect application (#456) (ee84b94)
- view component attribute fixes (#459) (4622298)
- package dependencies (#461) (e1e8470)
- dependency loop between kernel and event-bus (#475) (53a9c86)
- rename console component interfaces (#476) (d96f98e)
- database component tests (#477) (02a85e1)
- typo in readme (#473) (df14709)
- handle invalid discovery cache (#492) (bc44eb9)
- validation referer (#511) (a3710a8)
- datetime caster with datetime object (#514) (e361f26)
- static generate error handling (#529) (02b4db8)