Skip to content

Latest commit

Β 

History

History
363 lines (311 loc) Β· 45.9 KB

CHANGELOG.md

File metadata and controls

363 lines (311 loc) Β· 45.9 KB

Changelog

All notable changes to this project will be documented in this file.

1.0.0-alpha.6 β€” 2025-03-24

🚨 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

  • 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 to map_array (#1045) (51dc620)
  • view: use is_self_closing_tag where relevant (#1035) (4d534fe)
  • view: is_void_tag (#1037) (f5e38d0)

1.0.0-alpha.5 β€” 2025-02-24

πŸš€ 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)
  • 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)
  • change order of scripts in composer.json (#786) (f948184)

🚜 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)
  • move http router to separate package (b7f99a8)
  • partial update to property hooks (#848) (5abb74b)
  • general codebase upgrade to latest practices (#883) (f880072)

1.0.0-alpha.4 β€” 2024-11-25

πŸš€ 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

  • routing: replace recursion in favor of iteration (#705) (32aaff4)

1.0.0-alpha.3 β€” 2024-10-31

🚨 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

  • #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 in TypeReflector (7ffe2d7)
  • support: move LanguageHelper#join to ArrayHelper and StringHelper (#612) (75d902b)
  • validation: improve readability of validateValue (#586) (fef15c0)

Build

1.0.0-alpha.2 β€” 2024-10-04

πŸš€ 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)

πŸ§ͺ Tests

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

Maintenance

  • phpunit fixes (#436) (759134f)
  • tag console highlighter (#437) (b7c5332)
  • update console readme (#444) (7c6f1b0)