- adding htmx support by @techmahedy in #262
- Improve CacheStore correctness, add cache() helper by @techmahedy in #263
- split the bootstrap scaffold into language-specific stubs by @techmahedy in #261
- Always scaffold frontend welcome pages through layouts/app.odo.php by @techmahedy in #259
- Add first-class Vite frontend scaffolding for React, Vue, Svelte, and Tailwind by @techmahedy in #258
- Improve thin-coverage test areas by @techmahedy in #253
- Fix multi-connection ORM state handling and prevent non-column attribute leaks by @techmahedy in #254
- fix: relation loading forces related models onto the parent/builder connection by @techmahedy in #255
- Fix eager-loaded relations across multiple database connections by @techmahedy in #256
- Fix temporal migrations for models on non-default database connections by @techmahedy in #257
- fix: remove all deprecations and php notices and warnings from unit test by @techmahedy in #247
- Entity model namespace remove and \ added for some classes: by @techmahedy in #248
- Readme.md updated by @techmahedy in #249
- Add comprehensive Temporal ORM test coverage by @techmahedy in #250
- remove User model dependencey from framework core code by @techmahedy in #251
- change config() method return type to mixed: by @techmahedy in #252
- Adding some missing unit test by @techmahedy in #242
- adding missing unit test for or* query by @techmahedy in #243
- Deprecate CastToDate in favor of attribute cast system by @techmahedy in #244
- feat: Add #[Computed] attribute for virtual model properties by @techmahedy in #245
- Fix redundant instantiations and uncached reflection in model internals by @techmahedy in #246
- (feat) Attribute-driven model casting by @techmahedy in #240
- feat: Observable Model Properties (#[Watches] attribute system) by @techmahedy in #241
- fix: resolve Builder::create() crash when chaining after withoutHook() by @techmahedy in #239
- (feat) Temporal Time Travel ORM using #[Temporal] Attribute by @techmahedy in #238
- adding some new validation rules by @techmahedy in #236
- feat(validation): introduce custom Bind rule system by @techmahedy in #237
- fix: error message not showing in browser issue for some cases: by @techmahedy in #235
- performance bottlenecks by @techmahedy in #233
- delete pull-request.md by @techmahedy in #234
- Error Message Exception Improvement for json response by @techmahedy in #232
- reduce glob and disk reads for config initialization by @techmahedy in #230
- feat: add #blank, #solo, #inject, and #slot directives to Odo templat… by @techmahedy in #231
- feat: actor-based multi-session authentication by @techmahedy in #228
- fix: load .env before config cache to prevent null env values on startup by @techmahedy in #229
- Add Comprehensive Relationship Test Suite by @techmahedy in #226
- UUID Primary Key Support for Entity ORM Model by @techmahedy in #227
- feat: add cursor pagination with direction support by @techmahedy in #224
- test: add regression tests for ORM bug fixes by @techmahedy in #225
- feat: saveMany() now injects timestamps by @techmahedy in #217
- Add proper error message if creatable attribute not defined in model by @techmahedy in #218
- Refactored entity builder class by @techmahedy in #219
- Improved get dirty attr value get method: by @techmahedy in #220
- remove gc_collect_cycles() from get() in both builders by @techmahedy in #221
- fix: loadManyToManyRelation() runs constraint callback only once by @techmahedy in #222
- remove implicit empty string to null conversion in sanitize() by @techmahedy in #223
- feat: custom Odo template directives via Odo::stamp() by @techmahedy in #212
- fix: preventing hook suppression from leaking into subsequent calls by @techmahedy in #213
- fix: orWhere() null handling delegates to whereNull() with correct boolean by @techmahedy in #214
- fix: distinct() uses buildWhereClause() instead of legacy condition loop by @techmahedy in #215
- fix: updateColumn() / increment() / decrement() use buildWhereClause() by @techmahedy in #216
- fix: cross-platform path handling, cache reliability, and error handler robustness by @techmahedy in #211
- Remove cache from can() method by @techmahedy in #210
- fix: make:controller --c commande by @rrr63 in #208
- fix: duplicate multiple path on windows for error page by @rrr63 in #207
- feat(orm): #[Hook] attribute system for declarative model lifecycle hooks by @techmahedy in #209
- Controller Registration Improvement by @techmahedy in #205
- Fix: copy as mark down and url in error page by @techmahedy in #204
- Unit test new month count issue: by @techmahedy in #202
- Boot-time Frozen Services via #[Immutable] by @techmahedy in #203
- InputBag doc comment updated by @techmahedy in #199
- Domain Restriction Route Test by @techmahedy in #200
- Enhanced UrlGenerator with Multi-tenancy Support by @techmahedy in #201
- fix: mergeIfMissing function: by @techmahedy in #198
- route parameter issue resolved for tenant based routing: by @techmahedy in #197
- Improved CLI Error Output by @techmahedy in #196
- Some comments updated by @techmahedy in #192
- Paginator class doc updated by @techmahedy in #193
- Domain-Restricted Route Matching by @techmahedy in #194
- Error Page Improved by @techmahedy in #195
- Add Support for #[Bind] Attribute in Console Command Handle Methods by @techmahedy in #191
- Adding noContent() and redirect() method in ResponseFactory by @techmahedy in #190
- Add PHP 8.5 to CI Test Matrix and Fix PHP 8.5 null as an array offset is deprecated issue by @techmahedy in #189
- web error handler supports method updated by @techmahedy in #186
- load only CLiErrorHandler for cli request: by @techmahedy in #187
- Fix: PHP 8.5 Compatibility – Null Array Offset Deprecation by @techmahedy in #188
- Prevent fatal errors in app() helper on PHP 8.5 by @techmahedy in #185
- Unit test count isssue resolved for Last month by @techmahedy in #183
- Fix: PHP 8.5 PDO MySQL Constant Deprecations (Backward Compatible) by @techmahedy in #184
- console command handle() method dependency injection by @techmahedy in #182
- Entity Model: some comments updated: by @techmahedy in #180
- github action tests.yml updated by @techmahedy in #181
- Handle dynamic method calls into the model by @techmahedy in #179
- New sortBy() collection method added by @techmahedy in #173
- Added new chunk() collection method by @techmahedy in #174
- New partition() collection method by @techmahedy in #175
- tap() intersect() and diff() collection method by @techmahedy in #176
- Some collection method added by @techmahedy in #177
- cron daemon second based issue resolved by @techmahedy in #178
- remove array return and add collection return for groupByCallback by @techmahedy in #170
- New pipeline() entity orm method by @techmahedy in #171
- Add 5 new Entity ORM methods for improved query ergonomics by @techmahedy in #172
- Application installer file updated, remove system requirements check by @techmahedy in #169
- Unit test issue resolve for new year date: by @techmahedy in #163
- Update Doc Comments to Maintain Doppar Comment Convention by @techmahedy in #164
- update doc for maintaining doppar convention by @techmahedy in #165
- New Entity ORM repair() method by @techmahedy in #166
- New Entity ORM Method groupByCallback by @techmahedy in #167
- New Entity ORM partition method by @techmahedy in #168
Full Changelog: https://github.com/doppar/framework/compare/v3.1.1...v3.2.0
- Fix file path in CLI output by @techmahedy in #162
- database connection reset and reconnect method added by @techmahedy in #159
- new database class function added in DB facades by @techmahedy in #160
- [unit:test] command added with details and fliter options by @techmahedy in #161
- Improve container resolution error message for unbound interfaces by @techmahedy in #158
- refactored query builder query binding for condition by @techmahedy in #157
- login and register page design improved and showing error message by @techmahedy in #156
- updated ErrorHandler class triggerBeforeException method: by @techmahedy in #155
- config update position change to top from bottom in vendor publish co… by @techmahedy in #148
- remove config code from vendor publish command by @techmahedy in #149
- Fix Symfony Console deprecation: Replace add() with addCommand() by @xentixar in #150
- bump symfony 7.4 by @rrr63 in #151
Full Changelog: https://github.com/doppar/framework/compare/v3.0.0-beta.23...v3.0.0-beta.24
- [Error] Handle errors by @rrr63 in #146
- error page path calling way change to directory separator by @techmahedy in #147
- refactored controller and view class code by @techmahedy in #144
- Introducing cron:daemon command to handle pure daemon by @techmahedy in #145
- remove # from cdn from skeleton app layout by @techmahedy in #142
- searchViewInPath method remove from controller and adding search inline by @techmahedy in #143
- update the redesign dashboard starter by @techmahedy in #140
- fix: redesign starter template by @AR-Shahin in #138
- Introducing [odo] template engine for doppar by @techmahedy in #141
- Updated Secure Two-Factor Authentication (2FA) Flow by @techmahedy in #139
- verify 2fa token page to increase security by @techmahedy in #137
- New global [throttle()] helper method to ratelimit request by @techmahedy in #136
- Default dashboard skeleton design improvement by @techmahedy in #134
- default admin dashboard layout skeleton design improvement by @techmahedy in #135
- cron:finish command remove executing with timing block by @techmahedy in #132
- dark mode supported for default skeleton app layout by @techmahedy in #133
- daemon mode for second based schedule by @techmahedy in #131
- [Unit Test] Request class and its all trait method by @techmahedy in #129
- vendor:publish command updated with cache config by @techmahedy in #130
- make:job deleted and move to doppar queue by @techmahedy in #128
- Merged with master by @techmahedy in #125
- Merged with master (#125) by @techmahedy in #126
- make:job command to handle job as queue or as sync by @techmahedy in #127
- [Unite Test] All possible test case unit test for DI container by @techmahedy in #122
- json null error message issue resolve for 404 by @techmahedy in #123
- api user() call optimized by @techmahedy in #124
- remove var_Extract from prepare method and uncomment header option for error-exception by @techmahedy in #121
- Request parser trait unit test by @techmahedy in #118
- global helper function wrapped by function_exists by @techmahedy in #119
- var_export append issue resolved for @include by @techmahedy in #120
- Improved auth user() method to handle auth-api by @techmahedy in #117
- presenter and presenter bundle relationship unit test by @techmahedy in #111
- Update some namespace for unit test class by @techmahedy in #112
- EntityModelQueryTest for all the entity builder model query by @techmahedy in #113
- Improve route model binding override model key code by @techmahedy in #114
- Improve exception page by @CharrafiMed in #102
- Added proper PHP doc for error page related class by @techmahedy in #115
- Remove background from code block in exception page by @techmahedy in #116
- Nested relationship deep unit test by @techmahedy in #108
- Unit test for abort() method by @techmahedy in #109
- #[Transaction] New transanction attribute to reduces boilerplate by @techmahedy in #110
- auth stub updated by @techmahedy in #106
- default true to false set for BindPayload attr by @techmahedy in #107
- Support for Dynamic Route Model Binding Column Override by @techmahedy in #105
- URI Prefix and Class Middleware Support for Attribute-Based Routing by @techmahedy in #103
- New #[Model] Attribute for Route Model Binding by @techmahedy in #104
- [Router Class] Unit test by @techmahedy in #96
- [Sanitizer Class] Unit test by @techmahedy in #97
- Blade condition unit test by @techmahedy in #98
- collection take() and takeLast() method by @techmahedy in #99
- ValidationRule trait exists query replace with entity builder query by @techmahedy in #100
- Feature: added exists_in input validation rule by @techmahedy in #101
- translation comment doc update and application version unit test issue resolved by @techmahedy in #95
- [New Command] Get model creatable properties for quick setup by @techmahedy in #88
- [Unit Test] Config and Translator Unit Test by @techmahedy in #89
- syntax error, unexpected token -> PHP8.3 by @techmahedy in #90
- unit test file namespace update for builder by @techmahedy in #91
- Application class unit test initialized by @techmahedy in #92
- [Tests] Harmonize the url for windows tests by @rrr63 in #93
- [Entity Builder] relationship specific column selection enhancement by @techmahedy in #94
- [fix] Multilevel relationship search for entity builder by @techmahedy in #86
- [Entity ORM] Relationship Unit Test with SQLite by @techmahedy in #87
- [Entity Builder] nested relationship support for relationship exists method by @techmahedy in #85
- Entity builder count quote method updated by @techmahedy in #82
- [Entity Builder] Nested relation count support by @techmahedy in #83
- [Entity Builder] comment updated by @techmahedy in #84
- whereLinked() driver based support by @techmahedy in #80
- remove case-sensitive search support from whereLike by @techmahedy in #81
- [Readme] Remove badges by @rrr63 in #76
- README.md updated by @techmahedy in #77
- Fix: N+1 query issues for nested relation by @techmahedy in #78
- [Entity ORM] new method embedCount() to count relational model: by @techmahedy in #79
- [Entity Builder] aggregate trait namespace update by @techmahedy in #74
- [CacheStore] Fix model serialize by @rrr63 in #75
- [Entity Builder] aggregate function query support by @techmahedy in #73
- [Tests] Add some builder tests by @rrr63 in #68
- Optimized pagination query by @techmahedy in #69
- Introduce Entity Builder (Fluent Query Builder Interface) by @techmahedy in #70
- Copied all the necessary function from ORM builder to Query Builder by @techmahedy in #71
- [Entity Builder] Uni test: by @techmahedy in #72
- Prevent Double Eager Loading During Count & Pagination by @techmahedy in #67
- many to many relationship non primary key table handling by @techmahedy in #66
- [Console] Refactor AddColumnMigrationCommand by @rrr63 in #59
- Enhance Blueprint with additional commonly used column types by @tareqsifat in #56
- [Console] Add "uri:" to --complete make:controller by @rrr63 in #60
- [Database] Driver-Agnostic WHERE LIKE Implementation for Like operation by @Sajid-al-islam in #61
- [Builder] orPresent() and orAbsent() query builder methods for relationship existence conditions by @techmahedy in #62
- Add Support for Passing where() and orWhere() Callbacks as Parameters by @techmahedy in #63
- Builder with search() Method and Fix whereLike / orWhereLike Issues by @techmahedy in #64
- Refactor ORM Namespace: Replace “Eloquent” with “Entity” for Doppar’s Official ORM Layer by @techmahedy in #65
- Fix: Resolved issues with previous request session input and peek message clearance. by @techmahedy in #58
- Refactored code of query grammar class by @techmahedy in #54
- Remove duplicate object creation to maintain singleton object by @techmahedy in #55
- remove messagebag clear code after validation passed: by @techmahedy in #57
- [enhancement] old form input remove way improved by @techmahedy in #49
- [Routing] rate limit option to attribute based routing: by @techmahedy in #51
- [Support] Added before, after, between function in Str Service by @Sajid-al-islam in #50
- [Support] Added isJson function in Str Service by @Sajid-al-islam in #53
- [Database] Implemented PostgreSQL support by @techmahedy in #52
- [enhancement] Set proper exception message to response body by @techmahedy in #47
- route:list command to display registerd route by @techmahedy in #48
- [SQLite] fix unique constraint + tests by @rrr63 in #43
- Unit testing a nested DTO object with BindPayload and Router attributes, and making the class final by @techmahedy in #44
- [feat] Exclude sensitive input fields from being stored in the session by @techmahedy in #45
- [feat] before-exception hook for improved exception logging by @techmahedy in #46
- [feat] update BindPayload code and add new Bind() attr: by @techmahedy in #42
- composer.json "minimum-stability": "stable", to "minimum-stability": "dev" by @techmahedy in #41
- doppar installer class system requirements by @techmahedy in #40
Full Changelog: https://github.com/doppar/framework/compare/2.9.5-beta...2.9.6-beta
- New command to install a package dynamically by user prompts by @techmahedy in #36
- [fix] whereDateTimeBetween() function and console progress and table generation by @techmahedy in #37
- [BindPayload] Introduce to bind payload attribute by @rrr63 in #38
- [fix] Upsert issue resolved for SQLite and pgsql driver by @techmahedy in #39
Full Changelog: https://github.com/doppar/framework/compare/v2.9.5.6...2.9.5-beta
- Heartbeat remove from atomic lock: by @techmahedy in #26
- [Console] Fix server:stop on Mac by @rrr63 in #27
- error page design improved for dark mode and set error information in… by @techmahedy in #29
- [Authenticate] Fix multiple user version verification by @rrr63 in #28
- version check variable non-static to static by @techmahedy in #30
- [ErrorHandler] Refactor with Factory & Strategy patterns by @techmahedy in #31
- [Database] Add SQLite support by @rrr63 in #12
- [Database] Unit test for missing method by @rrr63 in #33
- [Database] Fix SQLite sqrt() error : use PHP instead of SQL by @rrr63 in #34
- unit test of some model method like original attr dirty attr savemany etc by @techmahedy in #35
- [Atomic Lock] Concurrent-Safe Atomic Locks by @techmahedy in #24
- [name:hello:foo] Normalize cache key format to include colon separator by @techmahedy in #25
- console command make:schedule to make:command by @techmahedy in #23
- database migration fresh and migrate command improved: by @techmahedy in #22
- [Console] Improve server:stop command by @rrr63 in #20
- attr route params path to uri and comment improved in string class: by @techmahedy in #21
- date timezone issue resolve for error page by @techmahedy in #19
- [Console] Add a --complete parameter to create a working controller by @rrr63 in #17
- [Console] Add suffix Controller to each controllers by @rrr63 in #15
- [Package] package update by @rrr63 in #16
- Improve error page UI and functionality by @techmahedy in #18
- fix: routing issue resolve for same origin endpoint without attr base… by @techmahedy in #14
Full Changelog: https://github.com/doppar/framework/compare/v2.9.4.6...v2.9.4.7
Full Changelog: https://github.com/doppar/framework/compare/v2.9.4.2...v2.9.4.3
Full Changelog: https://github.com/doppar/framework/compare/v2.9.4.1...v2.9.4.2
Full Changelog: https://github.com/doppar/framework/compare/v2.9.4.0...v2.9.4.1
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.9...v2.9.4.0
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.8...v2.9.3.9
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.7...v2.9.3.8
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.6...v2.9.3.7
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.5...v2.9.3.6
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.4...v2.9.3.5
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.3...v2.9.3.4
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.2...v2.9.3.3
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.1...v2.9.3.2
Full Changelog: https://github.com/doppar/framework/compare/v2.9.3.0...v2.9.3.1
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.9...v2.9.3.0
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.8...v2.9.2.9
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.7...v2.9.2.8
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.6...v2.9.2.7
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.5...v2.9.2.6
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.4...v2.9.2.5
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.3...v2.9.2.4
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.2...v2.9.2.3
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.1...v2.9.2.2
Full Changelog: https://github.com/doppar/framework/compare/v2.9.2.0...v2.9.2.1
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.9...v2.9.2.0
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.8...v2.9.1.9
Full Changelog: https://github.com/doppar/framework/compare/v2.1.9.7...v2.9.1.8
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.5...v2.9.1.6
- LoginController user query updated. by @NazmusShakib in #10
- @NazmusShakib made their first contribution in #10
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.4...v2.9.1.5
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.3...v2.9.1.4
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.2...v2.9.1.3
Full Changelog: https://github.com/doppar/framework/compare/v2.9.1.1...v2.9.1.2
Full Changelog: https://github.com/doppar/framework/compare/v2.9.0.0...v2.9.1.0
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.9...v2.9.0.0
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.8...v2.8.9.9
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.6...v2.8.9.8
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.6...v2.8.9.7
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.5...v2.8.9.6
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.4...v2.8.9.5
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.3...v2.8.9.4
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.2...v2.8.9.3
- fix: output the error message when PDOException by @rrr63 in #9
- fix/feat: Refactor commands by @rrr63 in #7
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.1...v2.8.9.2
Full Changelog: https://github.com/doppar/framework/compare/v2.8.9.0...v2.8.9.1
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.9...v2.8.9.0
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.8...v2.8.8.9
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.7...v2.8.8.8
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.6...v2.8.8.7
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.5...v2.8.8.6
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.2...v2.8.8.3
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.1...v2.8.8.2
Full Changelog: https://github.com/doppar/framework/compare/v2.8.8.0...v2.8.8.1
Full Changelog: https://github.com/doppar/framework/compare/v2.8.7.9...v2.8.8.0
Full Changelog: https://github.com/doppar/framework/compare/v2.8.7.8...v2.8.7.9