acl
3 days ago
application
3 days ago
cipher
3 days ago
component
3 days ago
config
3 days ago
dashboard
3 days ago
database
3 days ago
date
3 days ago
editor
3 days ago
event
3 days ago
factory
3 days ago
filesystem
3 days ago
form
3 days ago
html
3 days ago
http
3 days ago
input
3 days ago
language
3 days ago
layout
3 days ago
loader
3 days ago
mail
3 days ago
menu
3 days ago
module
3 days ago
mvc
3 days ago
output
3 days ago
pagination
3 days ago
pathway
3 days ago
payment
3 days ago
plugin
3 days ago
router
3 days ago
rss
3 days ago
session
3 days ago
sms
3 days ago
toolbar
3 days ago
uri
3 days ago
user
3 days ago
usergroups
3 days ago
utilities
3 days ago
changelog.md
3 days ago
changelog.md
1146 lines
| 1 | # Framework Changelog |
| 2 | |
| 3 | ### 10.1.73 |
| 4 | |
| 5 | *Release date - 9 June 2026* |
| 6 | |
| 7 | ##### CHANGE |
| 8 | |
| 9 | * The `JDatabaseDriver` instance now immediately flushes the results obtained with the last query to free disk space. |
| 10 | |
| 11 | --- |
| 12 | |
| 13 | ### 10.1.72 |
| 14 | |
| 15 | *Release date - 14 April 2026* |
| 16 | |
| 17 | ##### ADD |
| 18 | |
| 19 | * Implemented `JUri::setPath()` method. |
| 20 | |
| 21 | ##### CHANGE |
| 22 | |
| 23 | * `JApplication::getRouter()` method cannot be called statically any longer. |
| 24 | |
| 25 | --- |
| 26 | |
| 27 | ### 10.1.71 |
| 28 | |
| 29 | *Release date - 27 February 2026* |
| 30 | |
| 31 | ##### ADD |
| 32 | |
| 33 | * Added support to custom previews for certain blocks/widgets. |
| 34 | |
| 35 | ##### CHANGE |
| 36 | |
| 37 | * The text form fields now support the placeholder attribute. |
| 38 | * The textarea form fields now support translatable placeholders. |
| 39 | |
| 40 | --- |
| 41 | |
| 42 | ### 10.1.70 |
| 43 | |
| 44 | *Release date - 9 February 2026* |
| 45 | |
| 46 | ##### CHANGE |
| 47 | |
| 48 | * In case the session is not started at `init`, the framework will try to lazy load it when requested (only if possible). |
| 49 | |
| 50 | --- |
| 51 | |
| 52 | ### 10.1.69 |
| 53 | |
| 54 | *Release date - 3 February 2026* |
| 55 | |
| 56 | ##### ADD |
| 57 | |
| 58 | * Implemented `JSmsDriver::setOrder()` method to support runtime tags injection. |
| 59 | |
| 60 | --- |
| 61 | |
| 62 | ### 10.1.68 |
| 63 | |
| 64 | *Release date - 15 January 2026* |
| 65 | |
| 66 | ##### CHANGE |
| 67 | |
| 68 | * `JObject::getProperties()` is now able to exclude all the protected and private properties. |
| 69 | |
| 70 | --- |
| 71 | |
| 72 | ### 10.1.67 |
| 73 | |
| 74 | *Release date - 15 December 2025* |
| 75 | |
| 76 | ##### BUG FIXES |
| 77 | |
| 78 | * Fixed a warning thrown by SimplePie, used to download RSS feeds. |
| 79 | |
| 80 | --- |
| 81 | |
| 82 | ### 10.1.66 |
| 83 | |
| 84 | *Release date - 17 September 2025* |
| 85 | |
| 86 | ##### CHANGE |
| 87 | |
| 88 | * `JDocument::setMetaData()` is now able to set the "robots" meta data by using the `wp_robots` filter. |
| 89 | |
| 90 | --- |
| 91 | |
| 92 | ### 10.1.65 |
| 93 | |
| 94 | *Release date - 30 July 2025* |
| 95 | |
| 96 | ##### BUG FIXES |
| 97 | |
| 98 | * Prevented the headers sent warning triggered by wp-cron. |
| 99 | |
| 100 | --- |
| 101 | |
| 102 | ### 10.1.64 |
| 103 | |
| 104 | *Release date - 15 July 2025* |
| 105 | |
| 106 | ##### BUG FIXES |
| 107 | |
| 108 | * Prevented a fatal error that could occur with the initialization of the RSS feeds though simple pie add-on. |
| 109 | |
| 110 | --- |
| 111 | |
| 112 | ### 10.1.63 |
| 113 | |
| 114 | *Release date - 9 June 2025* |
| 115 | |
| 116 | ##### ADD |
| 117 | |
| 118 | * Added support for off session charge in payment framework. |
| 119 | |
| 120 | ##### BUG FIXES |
| 121 | |
| 122 | * Improved the chosen rendering for the system dropdowns. |
| 123 | * Compatibility improvements for PHP 8.4. |
| 124 | |
| 125 | --- |
| 126 | |
| 127 | ### 10.1.62 |
| 128 | |
| 129 | *Release date - 7 May 2025* |
| 130 | |
| 131 | ##### BUG FIXES |
| 132 | |
| 133 | * Fixed an issue that was no longer setting the SMTP properties of a PHPMailer object. |
| 134 | |
| 135 | --- |
| 136 | |
| 137 | ### 10.1.61 |
| 138 | |
| 139 | *Release date - 3 April 2025* |
| 140 | |
| 141 | ##### BUG FIXES |
| 142 | |
| 143 | * Fixed an issue that was no longer updating the properties of a PHPMailer object. |
| 144 | |
| 145 | --- |
| 146 | |
| 147 | ### 10.1.60 |
| 148 | |
| 149 | *Release date - 24 February 2025* |
| 150 | |
| 151 | ##### BUG FIXES |
| 152 | |
| 153 | * Prevented the fatal error thrown because of a WP error returned by WPML. |
| 154 | |
| 155 | --- |
| 156 | |
| 157 | ### 10.1.59 |
| 158 | |
| 159 | *Release date - 4 December 2024* |
| 160 | |
| 161 | ##### BUG FIXES |
| 162 | |
| 163 | * The site widgets now always use an incremental identifier, since WordPress is no longer able to provide a unique number when publishing them as Gutenberg blocks. |
| 164 | |
| 165 | --- |
| 166 | |
| 167 | ### 10.1.58 |
| 168 | |
| 169 | *Release date - 25 July 2024* |
| 170 | |
| 171 | ##### ADD |
| 172 | |
| 173 | * Implemented the `JDatabaseDriver::getLastError()` method to fetch the last error caught. |
| 174 | * The `JTable` instance is now able to propagate the error message faced during the database insert/update execution. |
| 175 | |
| 176 | --- |
| 177 | |
| 178 | ### 10.1.57 |
| 179 | |
| 180 | *Release date - 12 July 2024* |
| 181 | |
| 182 | ##### ADD |
| 183 | |
| 184 | * Implemented framework to support remote plugins installation. |
| 185 | * Implemented Sodium cipher adapter. |
| 186 | |
| 187 | --- |
| 188 | |
| 189 | ### 10.1.56 |
| 190 | |
| 191 | *Release date - 4 June 2024* |
| 192 | |
| 193 | ##### BUG FIXES |
| 194 | |
| 195 | * Fixed an issue with the usage of custom HTTP request methods, such as DELETE, PUT and TRACE. |
| 196 | * Fixed minor PHP warnings within the `JHttp` class methods. |
| 197 | |
| 198 | --- |
| 199 | |
| 200 | ### 10.1.55 |
| 201 | |
| 202 | *Release date - 7 May 2024* |
| 203 | |
| 204 | ##### CHANGE |
| 205 | |
| 206 | * The internal router is now fully compatible with WPML. |
| 207 | * The system now loads the jQuery UI Draggable add-on from the WP resources. |
| 208 | |
| 209 | ##### BUG FIXES |
| 210 | |
| 211 | * Fixed a PHP warning that could occur while directly instantiating a `JModel` child without the usage of the `getInstance()` method. |
| 212 | * Improved the `JLanguage::getKnownLanguages()` method to prevent errors with third party plugins. |
| 213 | |
| 214 | --- |
| 215 | |
| 216 | ### 10.1.54 |
| 217 | |
| 218 | *Release date - 15 April 2024* |
| 219 | |
| 220 | ##### CHANGE |
| 221 | |
| 222 | * The `languages.site` configuration setting now uses WPML as fallback to fetch the default language of the website. |
| 223 | * The `JModel::getInstance()` method now keeps iterating the registered paths until the matching class is found. |
| 224 | |
| 225 | --- |
| 226 | |
| 227 | ### 10.1.53 |
| 228 | |
| 229 | *Release date - 28 March 2024* |
| 230 | |
| 231 | ##### CHANGE |
| 232 | |
| 233 | * The `JDatabase::getTableColumns()` method does not escape the table name anymore to support SQLite too. |
| 234 | |
| 235 | ##### BUG FIXES |
| 236 | |
| 237 | * Fixed an issue with the Input array filter, which was casting NULL values into arrays. |
| 238 | * Fixed a fatal error when using `JLayoutBase::debug()` on PHP 8 or higher. |
| 239 | * Fixed a PHP warning with `JDatabase::getTableColumns()`. |
| 240 | |
| 241 | --- |
| 242 | |
| 243 | ### 10.1.52 |
| 244 | |
| 245 | *Release date - 30 January 2024* |
| 246 | |
| 247 | ##### CHANGE |
| 248 | |
| 249 | * The `JModuleHelper::getModule()` method is now able to extract the settings also from a Gutenberg block. |
| 250 | |
| 251 | --- |
| 252 | |
| 253 | ### 10.1.51 |
| 254 | |
| 255 | *Release date - 23 January 2024* |
| 256 | |
| 257 | ##### ADD |
| 258 | |
| 259 | * Implemented `JWidget::registerBlockType()` to convert a widget into a native Gutenberg block. |
| 260 | * Implemented `JFormFieldGroupedlist` class. |
| 261 | * Added support to `JDocument::attachToHeadCustomCallback` property to override the handler used to register the assets. |
| 262 | * The system is now able to autoload the native form fields. |
| 263 | |
| 264 | ##### CHANGE |
| 265 | |
| 266 | * The `JFormFieldMenuItem` form field now internally caches the shortcodes to prevent duplicate queries. |
| 267 | * The `JModel::getInstance()` method is now able to resolve conflicts among different files that share the same name. |
| 268 | |
| 269 | --- |
| 270 | |
| 271 | ### 10.1.50 |
| 272 | |
| 273 | *Release date - 21 December 2023* |
| 274 | |
| 275 | ##### ADD |
| 276 | |
| 277 | * Implemented `JUri::setScheme()` method. |
| 278 | |
| 279 | --- |
| 280 | |
| 281 | ### 10.1.49 |
| 282 | |
| 283 | *Release date - 3 November 2023* |
| 284 | |
| 285 | ##### CHANGE |
| 286 | |
| 287 | * Improved the routing system to always remove the **lang** attribute from the query string. |
| 288 | |
| 289 | --- |
| 290 | |
| 291 | ### 10.1.48 |
| 292 | |
| 293 | *Release date - 11 October 2023* |
| 294 | |
| 295 | ##### ADD |
| 296 | |
| 297 | * Implemented `JToolbarHelper::link()` method. |
| 298 | * Implemented `JPagination::getLimitBox()` method. |
| 299 | * Implemented `JDocument::addHeadLink()` method. |
| 300 | |
| 301 | ##### CHANGE |
| 302 | |
| 303 | * The `JPath::clean()` method now throws an `InvalidArgumentException` in case the provided path is invalid. |
| 304 | * The `JHtmlBehavior::component()` method now excludes the colorpicker from being removed. |
| 305 | * It is now possible to create overrides for WordPress-only views. |
| 306 | |
| 307 | ##### BUG FIXES |
| 308 | |
| 309 | * The `JEditor::display()` method is now compatible with the interface used on Joomla (asset and author arguments). |
| 310 | * The **CodeMirror** editor is now able to properly use the `javascript` syntax. |
| 311 | |
| 312 | --- |
| 313 | |
| 314 | ### 10.1.47 |
| 315 | |
| 316 | *Release date - 4 September 2023* |
| 317 | |
| 318 | ##### CHANGE |
| 319 | |
| 320 | * It is now possible to manipulate the `PHPMailer` properties through the setter magic method declared by `JMail`. |
| 321 | |
| 322 | --- |
| 323 | |
| 324 | ### 10.1.46 |
| 325 | |
| 326 | *Release date - 26 July 2023* |
| 327 | |
| 328 | ##### ADD |
| 329 | |
| 330 | * Added support for direct charge in payment framework. |
| 331 | |
| 332 | ##### CHANGE |
| 333 | |
| 334 | * `JLanguage::attachHandler()` now accepts either file paths and `JLanguageHandler` instances. |
| 335 | |
| 336 | --- |
| 337 | |
| 338 | ### 10.1.45 |
| 339 | |
| 340 | *Release date - 22 May 2023* |
| 341 | |
| 342 | ##### BUG FIXES |
| 343 | |
| 344 | * Fixed notices and warnings with PHP 8.2. |
| 345 | |
| 346 | --- |
| 347 | |
| 348 | ### 10.1.44 |
| 349 | |
| 350 | *Release date - 4 April 2023* |
| 351 | |
| 352 | ##### CHANGE |
| 353 | |
| 354 | * The `JPagination` class constructor now accepts a prefix to differentiate different navigations within the same page. |
| 355 | |
| 356 | --- |
| 357 | |
| 358 | ### 10.1.43 |
| 359 | |
| 360 | *Release date - 23 February 2023* |
| 361 | |
| 362 | ##### CHANGE |
| 363 | |
| 364 | * The URL doesn't contain the locale key anymore in case the matching shortcode has been assigned to the same language. |
| 365 | * The `JSessionHandler::isStarted()` method now checks whether the session status is currently active. |
| 366 | |
| 367 | --- |
| 368 | |
| 369 | ### 10.1.42 |
| 370 | |
| 371 | *Release date - 30 January 2023* |
| 372 | |
| 373 | ##### BUG FIXES |
| 374 | |
| 375 | * Fixed a few PHP warnings that could occur in PHP 8 or higher. |
| 376 | |
| 377 | --- |
| 378 | |
| 379 | ### 10.1.41 |
| 380 | |
| 381 | *Release date - 15 November 2022* |
| 382 | |
| 383 | ##### ADD |
| 384 | |
| 385 | * Implemented `JLoader::registerNamespace()` method to support PSR loading. |
| 386 | * Introduced a new auto-loader to support namespaces. |
| 387 | |
| 388 | ##### CHANGE |
| 389 | |
| 390 | * Moved framework auto-loader anonymous function into `JLoader::setup()` method. |
| 391 | * Enhanced table fields caching system. |
| 392 | |
| 393 | ##### BUG FIXES |
| 394 | |
| 395 | * `JController::display()` now configures the layout with the apposite setter instead of passing it to `JView::display()`. |
| 396 | * Fixed an issue in `JView::loadTemplate()` that was not able to properly load a sub-template belonging to a specific file. |
| 397 | |
| 398 | --- |
| 399 | |
| 400 | ### 10.1.40 |
| 401 | |
| 402 | *Release date - 11 July 2022* |
| 403 | |
| 404 | ##### BUG FIXES |
| 405 | |
| 406 | * The application header functions now properly treat the HTTP status code. |
| 407 | * The `JHtmlFormbehavior::chosen` method does not use select2 anymore. |
| 408 | |
| 409 | --- |
| 410 | |
| 411 | ### 10.1.39 |
| 412 | |
| 413 | *Release date - 26 May 2022* |
| 414 | |
| 415 | ##### ADD |
| 416 | |
| 417 | * Implemented `JApplication::setClient()` method. |
| 418 | * Implemented `JUser::getAuthorisedViewLevels()` method. |
| 419 | * Introduced HTTP lookback detection to auto-terminate the PHP session. |
| 420 | |
| 421 | --- |
| 422 | |
| 423 | ### 10.1.38 |
| 424 | |
| 425 | *Release date - 24 February 2022* |
| 426 | |
| 427 | ##### CHANGE |
| 428 | |
| 429 | * The **lang** attribute is always removed from the query string while routing a link. |
| 430 | * It is now possible to specify the dependencies while registering a new style/script. |
| 431 | |
| 432 | ##### BUG FIXES |
| 433 | |
| 434 | * Fixed comparison issue between the user locale and the language assigned to a shortcode. |
| 435 | * Removed string filter from `JUri::current()`, since WP might sanitize encoded characters. |
| 436 | * Fixed errors while editing existing widgets in WordPress 5.9 or higher. |
| 437 | |
| 438 | --- |
| 439 | |
| 440 | ### 10.1.37 |
| 441 | |
| 442 | *Release date - 10 December 2021* |
| 443 | |
| 444 | ##### ADD |
| 445 | |
| 446 | * Implemented `JDatabase::getPrefix()` method. |
| 447 | * Implemented `JDatabase::loadRow()` method. |
| 448 | * Implemented `JDatabase::getTableList()` method. |
| 449 | * Implemented `JDatabase::getTableCreate()` method. |
| 450 | |
| 451 | ##### CHANGE |
| 452 | |
| 453 | * Calling an undefined method of `JDatabase` now throws an exception. |
| 454 | * Editor improvements. |
| 455 | |
| 456 | --- |
| 457 | |
| 458 | ### 10.1.36 |
| 459 | |
| 460 | *Release date - 08 November 2021* |
| 461 | |
| 462 | ##### ADD |
| 463 | |
| 464 | * Added support for `getSelection` and `replaceSelection` callbacks to TinyMCE editor. |
| 465 | * Added support for `getSelection` and `replaceSelection` callbacks to CodeMirror editor. |
| 466 | * Added support for `getSelection` and `replaceSelection` callbacks to None editor. |
| 467 | * Implemented `JFormFieldList::getOptions()` method for a better inheritance. |
| 468 | * Implemented `JToolbar::removeButton()` method to detach any registered button at runtime. |
| 469 | |
| 470 | ##### CHANGE |
| 471 | |
| 472 | * Changed the arguments received by the constructor of `JController`. |
| 473 | * The toolbar buttons now include the selected type within the `class` attribute. |
| 474 | |
| 475 | --- |
| 476 | |
| 477 | ### 10.1.35 |
| 478 | |
| 479 | *Release date - 19 October 2021* |
| 480 | |
| 481 | ##### ADD |
| 482 | |
| 483 | * Implemented `JTable::load()` method. |
| 484 | * Implemented `JTable::getKeyName()` method. |
| 485 | * Implemented `JModel::addTablePath()` method. |
| 486 | * Implemented `JModel::getTable()` method. |
| 487 | * Implemented `JModel::getName()` method. |
| 488 | * Implemented `JDate::toISO8601()` method. |
| 489 | * Implemented `JUri::setHost()` method. |
| 490 | * Implemented `JRegistry::toArray()` method. |
| 491 | * The `JRegistry` class now implements the `ArrayAccess` interface. |
| 492 | * Implemented `JUser::getTimezone()` method. |
| 493 | * Implemented an autoloader to include resources at runtime. |
| 494 | * Added support for "log_path" and "tmp_path" settings in `JConfig`. |
| 495 | |
| 496 | ##### CHANGE |
| 497 | |
| 498 | * Improved the MVC pattern for a better reusability. |
| 499 | * The `JText::plural()` method now uses a plural definition only if exists. |
| 500 | * The `JEditor::display()` and `JEditor::render()` methods now accept an additional argument with custom parameters. |
| 501 | * The "None" editor now supports "readonly" and "disabled" parameters. |
| 502 | * The "CodeMirror" editor now supports "readonly" and "syntax" parameters. |
| 503 | * The `JHtml::calendar()` method now adjusts the times to the local offset when a `JDate` instance is given as value. |
| 504 | * The `JHtml::date()` method now auto-translates the supplied format in case it is equals to an existing key. |
| 505 | * The `JRegistry` class declaration has been moved into a separate file from `JObject`. |
| 506 | * Re-added support for scripts on WP 5.8 widgets block editor. |
| 507 | * Forces a string cast into `JDatabase::quote()`, because `esc_sql()` was not able to escape objects with `__toString()` magic method. |
| 508 | * Displayed backtrace when the controller catches an exception (only with WP_DEBUG on). |
| 509 | * `JPaymentDispatcher::getSupportedDrivers()` now returns a list of names in place of full paths. |
| 510 | * Removed `JModel::getTableName()` method. |
| 511 | * Removed `JModel::getPrimaryKey()` method. |
| 512 | |
| 513 | ##### BUG FIXES |
| 514 | |
| 515 | * Fixed return value of `JLanguage::hasKey()` method. |
| 516 | * The methods of `JFile` and `JFolder` now properly clean the paths. |
| 517 | |
| 518 | --- |
| 519 | |
| 520 | ### 10.1.34 |
| 521 | |
| 522 | *Release date - 21 July 2021* |
| 523 | |
| 524 | ##### BUG FIXES |
| 525 | |
| 526 | * Fixed an issue that was displaying an empty menu item select under the widgets management. |
| 527 | |
| 528 | --- |
| 529 | |
| 530 | ### 10.1.33 |
| 531 | |
| 532 | *Release date - 11 June 2021* |
| 533 | |
| 534 | ##### ADD |
| 535 | |
| 536 | * Added list limit fallback when used in the front-end. |
| 537 | * Implemented methods for headers handling. |
| 538 | * Implemented `JSession::getFormTokenAction()` method. |
| 539 | * Implemented `JComponentHelper::filterText()` method. |
| 540 | |
| 541 | ##### CHANGE |
| 542 | |
| 543 | * The methods used to escape string attributes now use the built-in esc_attr() WP function. |
| 544 | * `JInputFilter` is now able to sanitize the strings by stripping the unsafe HTML tag/attributes. |
| 545 | * Refactored CSRF-proof token handling methods. |
| 546 | * Removed `JSession::getToken()` method. |
| 547 | * `Joomla` JS object is now initialized within the system.js file. |
| 548 | |
| 549 | ##### BUG FIXES |
| 550 | |
| 551 | * Fixed application client detection on WP multi-site instances. |
| 552 | * Fixed session fatal error raised by `JHtmlForm::token()`. |
| 553 | * Fixed escaping issue in `JDocument::setMetaData()`. |
| 554 | * Fixed translation issues that could occur with Polylang. |
| 555 | |
| 556 | --- |
| 557 | |
| 558 | ### 10.1.32 |
| 559 | |
| 560 | *Release date - 27 January 2021* |
| 561 | |
| 562 | ##### ADD |
| 563 | |
| 564 | * Added support for payment refunds. |
| 565 | * Added support for `introtext` and `fulltext` on `JTableContent`. |
| 566 | |
| 567 | ##### CHANGE |
| 568 | |
| 569 | * Implemented direct hooks within `JPayment` class. |
| 570 | * Hooks triggered with the event dispatcher are now refactored for WP standards. |
| 571 | * Added fallback to default.php layout in case the selected override of a widget doesn't exist anymore. |
| 572 | |
| 573 | --- |
| 574 | |
| 575 | ### 10.1.31 |
| 576 | |
| 577 | *Release date - 02 December 2020* |
| 578 | |
| 579 | ##### ADD |
| 580 | |
| 581 | * Implemented `JForm::getFormControl()` and `JForm::setFormControl()` methods. |
| 582 | * Implemented `JFormField::setForm()` method. |
| 583 | * Implemented `JFormField::getName()` and `JFormField::getId()` methods. |
| 584 | * The `before_display` hook now passes the instance of the view (by reference). |
| 585 | * The `after_display` hook now passes the instance of the view as argument. |
| 586 | * Implemented `JApplication::setClient()` method. |
| 587 | * Load jQuery setting is no more visible on widgets configuration. |
| 588 | * Added support for RSS framework. |
| 589 | * Added support for dashboard widgets management. |
| 590 | |
| 591 | ##### CHANGE |
| 592 | |
| 593 | * It is now possible to use control groups to wrap the form inputs. |
| 594 | * The system is now able to use the user locale. |
| 595 | |
| 596 | ##### FIX |
| 597 | |
| 598 | * HTTP requests now properly take the specified timeout. |
| 599 | * Form fields are now able to use the given client while rendering the layout. |
| 600 | * Added support for multi-site networks. |
| 601 | * Fixed issue with `JHtml::loadFile()`, which might not load the correct path in case of conflicts. |
| 602 | |
| 603 | --- |
| 604 | |
| 605 | ### 10.1.30 |
| 606 | |
| 607 | *Release date - 03 November 2020* |
| 608 | |
| 609 | ##### ADD |
| 610 | |
| 611 | * Implemented `JPayment::getOrder()` and `JPayment::getParams()` methods. |
| 612 | * Implemented `JController` redirect methods. |
| 613 | * Implemented `JController::registerTask()` method. |
| 614 | * Implemented `JTable` management methods. |
| 615 | * `JTable` now extends `JObject` to support the errors management. |
| 616 | * Implemented `JDatabaseQuery::selectRowNumber()` method. |
| 617 | * Created `JHtmlContentLanguage` class. |
| 618 | * Implemented `JeventDispatcher::register()` method. |
| 619 | * Added `isset` magic method to `JUser` class. |
| 620 | * Implemented SMS framework. |
| 621 | * Created `JHelperUsergroups` class. |
| 622 | * Implemented `JModuleHelper::getModule()` method. |
| 623 | * Added support for `$module` object while displaying a widget. |
| 624 | * Implemented `VikRequest::setCookie()` method. |
| 625 | |
| 626 | ##### CHANGE |
| 627 | |
| 628 | * `JHtmlFormbehavior::chosen` do not use anymore select2 for dropdowns rendering. |
| 629 | * `JConfig` is now able to recover the list_limit also in case of AJAX requests. |
| 630 | * `JInputCookie::set()` now supports an array of options. |
| 631 | * `JDate` doesn't force the timezone anymore. [REVERTED] |
| 632 | |
| 633 | ##### FIX |
| 634 | |
| 635 | * `JHtml::script()` is now able to load different scripts with the same base name. |
| 636 | * `JHtml::stylesheet()` is now able to load different files with the same base name. |
| 637 | * Fixed wrong class on `JHtml::date()`. |
| 638 | * Fixed ID notation for toolbar buttons. |
| 639 | * Fixed `JHtmlFormBehavior::choosen()` script declaration in case of select with no options. |
| 640 | * `JHtmlBootstrap::tooltip()` now appends by default the tooltip at the end of the body. |
| 641 | * `JDate` now uses the correct localized names of months. |
| 642 | * The input now contains a clean task without the controller after the execution. |
| 643 | * Fixed JS plugins usage after saving a widget. |
| 644 | |
| 645 | --- |
| 646 | |
| 647 | ### 10.1.29 |
| 648 | |
| 649 | *Release date - 15 September 2020* |
| 650 | |
| 651 | ##### ADD |
| 652 | |
| 653 | * Implemented further request methods on `JHttp` class. |
| 654 | * Implemented `JHtml::addIncludePath()` method. |
| 655 | * Added support for `JEvent` abstract class. |
| 656 | * `JEventDispatcher::attach()` method is now able to register the methods of a class as hooks. |
| 657 | |
| 658 | ##### FIX |
| 659 | |
| 660 | * Form fieldsets do not report the title in case it shouldn't be displayed. |
| 661 | * Fixed missing default value when rendering a form. |
| 662 | * The system now automatically generates an ID in case `JFormField` doesn't specify it. |
| 663 | * Added support for text domains that might include hyphens. |
| 664 | * Fixed headers when sending an HTTP request through `JHttp`. |
| 665 | * Scripts declarations are now properly loaded on AJAX requests. |
| 666 | * Fixed URL encoding while creating the query string. |
| 667 | |
| 668 | --- |
| 669 | |
| 670 | ### 10.1.28 |
| 671 | |
| 672 | *Release date - 14 May 2020* |
| 673 | |
| 674 | ##### ADD |
| 675 | |
| 676 | * Implemented `JDate::monthToString()` method. |
| 677 | * Implemented `JLanguage::getFirstDay()` method. |
| 678 | * Implemented `JLanguage::isRtl()` method. |
| 679 | * Added support for `vik_widget_before_dispatch_site` action. |
| 680 | * Added support for `vik_widget_after_dispatch_site` action. |
| 681 | * Added support for `vik_plugin_load_language` filter. |
| 682 | |
| 683 | ##### FIX |
| 684 | |
| 685 | * TinyMCE editor is now able to set/get contents even if not active. |
| 686 | * Popovers always use "body" as container. |
| 687 | * Widgets overrides are now supported also for **Windows** platforms. |
| 688 | * `JDate::format()` is now able to translate days and months. |
| 689 | |
| 690 | --- |
| 691 | |
| 692 | ### 10.1.27 |
| 693 | |
| 694 | *Release date - 20 November 2019* |
| 695 | |
| 696 | ##### ADD |
| 697 | |
| 698 | * Implemented `JForm::bind()` method. |
| 699 | * Added support for options and attributes in `JHtml::stylesheet()`. |
| 700 | |
| 701 | ##### FIX |
| 702 | |
| 703 | * `JRoute` now supports also query string parameters of type `array`. |
| 704 | * Fixed an issue that prevented to display HTML tags within popovers. |
| 705 | * View overrides are now supported also for **Windows** platforms. |
| 706 | * `JObject::get()` now returns the default value also for NULL properties. |
| 707 | * `JInputFilter::clean()` now properly unslashes escaped values from arrays. |
| 708 | |
| 709 | --- |
| 710 | |
| 711 | ### 10.1.26 |
| 712 | |
| 713 | *Release date - 25 October 2019* |
| 714 | |
| 715 | ##### CHANGE |
| 716 | |
| 717 | * `JVersion::getShortVersion()` now tries to extract a short version from any nightlies |
| 718 | * Added support for **joomla.version** classmap within `jimport` |
| 719 | |
| 720 | --- |
| 721 | |
| 722 | ### 10.1.25 |
| 723 | |
| 724 | *Release date - 19 September 2019* |
| 725 | |
| 726 | ##### ADD |
| 727 | |
| 728 | * Added support for `vik_before_include_script` filter |
| 729 | * Added support for `vik_before_include_style` filter |
| 730 | |
| 731 | --- |
| 732 | |
| 733 | ### 10.1.24 |
| 734 | |
| 735 | *Release date - 11 July 2019* |
| 736 | |
| 737 | ##### ADD |
| 738 | |
| 739 | * Implemented `JInput::delete()` method |
| 740 | * Added support for `allowUserRegistration` users setting |
| 741 | * Created `JModelLegacy` alias |
| 742 | * Implemented `JModel::addIncludePath()` method to search models on several directories |
| 743 | * Added support for native `UsersModelRegistration` class/model |
| 744 | * Added support for `groups` property in `JUser` class |
| 745 | |
| 746 | ##### CHANGE |
| 747 | |
| 748 | * Changed the overrides path for the layout files of the plugins |
| 749 | * `JLanguage` is now able to auto-detect the standard languages folder |
| 750 | * All the superglobals are now passed by reference while instantiating `JInput` |
| 751 | |
| 752 | --- |
| 753 | |
| 754 | ### 10.1.23 |
| 755 | |
| 756 | *Release date - 21 June 2019* |
| 757 | |
| 758 | ##### ADD |
| 759 | |
| 760 | * Created `JFilterInput` alias |
| 761 | * Added support for internal list limit (screen options) |
| 762 | * Created `JHttp` class and response adapter |
| 763 | * Implemented `JFile::exists()` method |
| 764 | |
| 765 | ##### FIX |
| 766 | |
| 767 | * Fixed `JDatabaseQuery::clear()` method, which was emptying all in case of unsupported statements |
| 768 | * Fixed `JDocument::setTitle()` method to use the correct WP hook |
| 769 | * Fixed `JEventDispatcher` class to support return values and referenced arguments (apply_filters_ref_array) |
| 770 | |
| 771 | --- |
| 772 | |
| 773 | ### 10.1.22 |
| 774 | |
| 775 | *Release date - 10 June 2019* |
| 776 | |
| 777 | ##### ADD |
| 778 | |
| 779 | * Added support for jQuery in `<head>` every time a widget is instantiated |
| 780 | |
| 781 | ##### CHANGE |
| 782 | |
| 783 | * `JHtmlBehavior::component()` now excludes styles and links from being removed |
| 784 | |
| 785 | ##### FIX |
| 786 | |
| 787 | * Fixed the way the scripts are loaded after adding a new widget |
| 788 | * `JHtml::calendar()` is now able to fetch timestamps with `string` type |
| 789 | |
| 790 | --- |
| 791 | |
| 792 | ### 10.1.21 |
| 793 | |
| 794 | *Release date - 07 June 2019* |
| 795 | |
| 796 | ##### ADD |
| 797 | |
| 798 | * Added support for `vik_date_default_timezone` filter |
| 799 | * `JController` displays a minified error in case of AJAX requests (exceptions component handling) |
| 800 | * `JSession::start()` adds a filter to close the session every time wp_remote_post() is called (Site Health issue) |
| 801 | * Added support for **spacer** form field |
| 802 | |
| 803 | ##### CHANGE |
| 804 | |
| 805 | * `JPagination` is now able to use a default layout in case it was not forced |
| 806 | * `JHtml::script()` now supports jQuery UI Slider addon |
| 807 | * Menu Item field now recovers the shortcode prefix from `modowner` property |
| 808 | * Widget language handlers can be placed also within "languages" folder |
| 809 | * Widgets now support module class suffix parameter |
| 810 | * Widgets now support a default **title** field |
| 811 | * Widgets now support Joomla JS instance |
| 812 | * Widgets now strip HTML tags from the description |
| 813 | * The `JWidget::useScript()` method now loads select2 JS plugin |
| 814 | |
| 815 | ##### FIX |
| 816 | |
| 817 | * Fixed **languages** configuration settings, which were returning an empty string for default locale |
| 818 | |
| 819 | --- |
| 820 | |
| 821 | ### 10.1.20 |
| 822 | |
| 823 | *Release date - 29 May 2019* |
| 824 | |
| 825 | ##### ADD |
| 826 | |
| 827 | * Added `JCryptCipherCrypto` and `JCryptKey` classes |
| 828 | * Added some `JDocument` methods to access HTML properties (dir, charset and lang) |
| 829 | * Implemented `JView::escape()` method |
| 830 | * Editors now support a custom id |
| 831 | |
| 832 | ##### CHANGE |
| 833 | |
| 834 | * Completed `JPathwaySite` implementation |
| 835 | * Changed control "id" attribute into "idfield" (@see `JForm`) |
| 836 | * `JHtml::script()` is now able to include tooltip add-on |
| 837 | |
| 838 | ##### FIX |
| 839 | |
| 840 | * Fixed usage of layouts, which are now compatible with widgets |
| 841 | * Fixed `JForm` to start supporting custom options |
| 842 | |
| 843 | --- |
| 844 | |
| 845 | ### 10.1.19 |
| 846 | |
| 847 | *Release date - 27 May 2019* |
| 848 | |
| 849 | ##### ADD |
| 850 | |
| 851 | * Added `JHtmlDate` helper class for relative dates |
| 852 | * Implemented `JDate::__toString()` magic method |
| 853 | * Implemented `JText::plural()` method for string pluralizations |
| 854 | * Added support for behavior.modal helper |
| 855 | * Bootstrap modals can be closed using ESC button (only if specified) |
| 856 | * Implemented `JMenu` class and its child for site client |
| 857 | * Implemented `JApplication::getMenu()` method |
| 858 | * `JView` now owns the document property |
| 859 | * Added `JTable` class and default children classes |
| 860 | * Implemented `JDatabase::getTableColumns()` method |
| 861 | * Added `JPathway` class and its child for site client |
| 862 | * Implemented `JApplication::getPathway()` method |
| 863 | * Added `JRouter` class and some native classes |
| 864 | * Implemented `JApplication::getRouter()` method |
| 865 | |
| 866 | ##### CHANGE |
| 867 | |
| 868 | * `JHtml::script()` now includes dialog add-on when jQuery UI is called |
| 869 | |
| 870 | ##### FIX |
| 871 | |
| 872 | * Fixed the way `JHtml::script()` generates ID, if not provided |
| 873 | * Fixed `JRoute` to start supporting external routers |
| 874 | * Fixed `JHtmlBehavior::component()` method to exclude `script` tags |
| 875 | |
| 876 | --- |
| 877 | |
| 878 | ### 10.1.18 |
| 879 | |
| 880 | *Release date - 23 May 2019* |
| 881 | |
| 882 | ##### ADD |
| 883 | |
| 884 | * Implemented `JFormFieldMedia` |
| 885 | * Added `JRegistry` proxy |
| 886 | * Added `JPath::find()` method |
| 887 | |
| 888 | ##### CHANGE |
| 889 | |
| 890 | * Changed usage of layouts |
| 891 | |
| 892 | ##### FIX |
| 893 | |
| 894 | * Fixed default style generated by `JHtmlBehavior::renderModal()` |
| 895 | * Fixed `JView` to consider custom layouts properly |
| 896 | |
| 897 | --- |
| 898 | |
| 899 | ### 10.1.17 |
| 900 | |
| 901 | *Release date - 21 May 2019* |
| 902 | |
| 903 | ##### ADD |
| 904 | |
| 905 | * Implemented `JHtmlNumber` class |
| 906 | * Added `JLayoutFile::escape()` method |
| 907 | * System editors are now accessible via javascript |
| 908 | |
| 909 | ##### CHANGE |
| 910 | |
| 911 | * `JHtml::script()` now supports options and attributes |
| 912 | * `JDocument::addScriptDeclaration()` doesn't check anymore if the script has been already used |
| 913 | |
| 914 | ##### FIX |
| 915 | |
| 916 | * Fixed `JHtml::script()` dependencies detection |
| 917 | * Fixed TinyMCE bug while accessing it via AJAX more than once |
| 918 | |
| 919 | --- |
| 920 | |
| 921 | ### 10.1.16 |
| 922 | |
| 923 | *Release date - 16 May 2019* |
| 924 | |
| 925 | ##### ADD |
| 926 | |
| 927 | * Implemented `JVersion` class |
| 928 | * Implemented `JHtmlFormbehavior` class |
| 929 | * Implemented `JHtmlSelect` class |
| 930 | * Implemented `JHtmlBootstrap` class |
| 931 | * Implemented `JHtmlUser` class |
| 932 | * Implemented `JHtmlAccess` class |
| 933 | * Implemented `ArrayHelper` class |
| 934 | * Added `JComponentHelper::getComponent()` method |
| 935 | * Added `JDate::dayToString()` method |
| 936 | * Added support for 2 new events |
| 937 | * `JDatabase` now converts `#__users` columns to WordPress standards |
| 938 | |
| 939 | ##### FIX |
| 940 | |
| 941 | * Fixed `JAccess::checkGroup()` method that didn't adjust caps in case of no asset key |
| 942 | * Fixed `JHtml::calendar()` method to start supporting timestamp and `JDate` arguments |
| 943 | * Fixed `JForm::load()` method to support [addincludepath] attributes based on Joomla paths |
| 944 | * Fixed `JMail::addRecipient()` notice |
| 945 | * Fixed usage of `JInputFiles` and `VikRequest` classes |
| 946 | |
| 947 | --- |
| 948 | |
| 949 | ### 10.1.15 |
| 950 | |
| 951 | *Release date - 07 May 2019* |
| 952 | |
| 953 | ##### ADD |
| 954 | |
| 955 | * Added `JApplication::getUserState()` method |
| 956 | * Added `JApplication::setUserState()` method |
| 957 | * Added `JView::getName()` method |
| 958 | |
| 959 | ##### FIX |
| 960 | |
| 961 | * Fixed how `JDatabase` handles the query limits |
| 962 | |
| 963 | --- |
| 964 | |
| 965 | ### 10.1.14 |
| 966 | |
| 967 | *Release date - 30 April 2019* |
| 968 | |
| 969 | * Added support for javascript `JText` class |
| 970 | |
| 971 | --- |
| 972 | |
| 973 | ### 10.1.13 |
| 974 | |
| 975 | *Release date - 18 April 2019* |
| 976 | |
| 977 | * Added filters to show/hide/suppress database errors |
| 978 | |
| 979 | --- |
| 980 | |
| 981 | ### 10.1.12 |
| 982 | |
| 983 | *Release date - 08 March 2019* |
| 984 | |
| 985 | * Fixed `JText::sprintf()` that was always considering strings for JS purposes |
| 986 | |
| 987 | --- |
| 988 | |
| 989 | ### 10.1.11 |
| 990 | |
| 991 | *Release date - 19 February 2019* |
| 992 | |
| 993 | * Added support for `JEventDispatcher` class |
| 994 | |
| 995 | --- |
| 996 | |
| 997 | ### 10.1.10 |
| 998 | |
| 999 | *Release date - 14 February 2019* |
| 1000 | |
| 1001 | * Fixed `JFactory::getMailer()` method |
| 1002 | |
| 1003 | --- |
| 1004 | |
| 1005 | ### 10.1.9 |
| 1006 | |
| 1007 | *Release date - 31 January 2019* |
| 1008 | |
| 1009 | * Implemented language form field |
| 1010 | |
| 1011 | --- |
| 1012 | |
| 1013 | ### 10.1.8 |
| 1014 | |
| 1015 | *Release date - 28 January 2019* |
| 1016 | |
| 1017 | ##### ADD |
| 1018 | |
| 1019 | * Added support for empty Itemid |
| 1020 | |
| 1021 | ##### FIX |
| 1022 | |
| 1023 | * Fixed router in case of no shortcodes found |
| 1024 | |
| 1025 | --- |
| 1026 | |
| 1027 | ### 10.1.7 |
| 1028 | |
| 1029 | *Release date - 14 January 2019* |
| 1030 | |
| 1031 | * Added getters to `JUri` class |
| 1032 | |
| 1033 | --- |
| 1034 | |
| 1035 | ### 10.1.6 |
| 1036 | |
| 1037 | *Release date - 29 November 2018* |
| 1038 | |
| 1039 | ##### ADD |
| 1040 | |
| 1041 | * Added `JMail::useSmtp()` method |
| 1042 | * Added setter magic method in `JMail` class |
| 1043 | |
| 1044 | --- |
| 1045 | |
| 1046 | ### 10.1.5 |
| 1047 | |
| 1048 | *Release date - 21 November 2018* |
| 1049 | |
| 1050 | ##### ADD |
| 1051 | |
| 1052 | * Added `JApplication::logout()` method |
| 1053 | * Added `JDatabase::getNullDate()` method |
| 1054 | |
| 1055 | --- |
| 1056 | |
| 1057 | ### 10.1.4 |
| 1058 | |
| 1059 | *Release date - 09 November 2018* |
| 1060 | |
| 1061 | ##### ADD |
| 1062 | |
| 1063 | * Created `JConfig` class, used to wrap the system configuration. |
| 1064 | * Implemented `JFactory::getConfig()` method to return a `JConfig` object. |
| 1065 | * Added support for sitename setting. |
| 1066 | |
| 1067 | --- |
| 1068 | |
| 1069 | ### 10.1.3 |
| 1070 | |
| 1071 | *Release date - 03 October 2018* |
| 1072 | |
| 1073 | ##### ADD |
| 1074 | |
| 1075 | * Implemented `JDate::getDefaultTimezone()` method to keep and get the framework's current timezone. |
| 1076 | |
| 1077 | --- |
| 1078 | |
| 1079 | ### 10.1.2 |
| 1080 | |
| 1081 | *Release date - 15 May 2018* |
| 1082 | |
| 1083 | ##### ADD |
| 1084 | |
| 1085 | * Implemented `JView::_getTemplateBasePath()` method to allow the customers |
| 1086 | to create their own view overrides to avoid let them being replaced |
| 1087 | by the Wordpress updates. |
| 1088 | The overrides must be built as `[WP_UPLOAD_DIR]/[PLUGIN_NAME]/[admin|site]/[VIEW_NAME]/[LAYOUT_FILE].php` |
| 1089 | |
| 1090 | ##### CHANGE |
| 1091 | |
| 1092 | * Changed `JFormFieldModuleLayout::getInput()` method to scan also the overrides directory. |
| 1093 | In this way, the users can select a specific override as layout of the widget. |
| 1094 | The overrides must be built as `[WP_UPLOAD_DIR]/[PLUGIN_NAME]/modules/[MODULE_NAME]/[LAYOUT_FILE].php`. |
| 1095 | |
| 1096 | --- |
| 1097 | |
| 1098 | ### 10.1.1 |
| 1099 | |
| 1100 | *Release date - 04 May 2018* |
| 1101 | |
| 1102 | ##### ADD |
| 1103 | |
| 1104 | * The method `JPayment::isCaller()` has been |
| 1105 | implemented to make sure the caller is the same. |
| 1106 | * Added a new filter to change the database prefix before it is used. |
| 1107 | |
| 1108 | ##### CHANGE |
| 1109 | |
| 1110 | * `do_action()` functions that required multiple arguments |
| 1111 | have been replaced with `do_action_ref_array()`. |
| 1112 | |
| 1113 | ##### FIX |
| 1114 | |
| 1115 | * Fixed `JUser::authorise()` method to extend the validation of the capabilities. |
| 1116 | |
| 1117 | --- |
| 1118 | |
| 1119 | ### 10.1.0 |
| 1120 | |
| 1121 | *Release date - 27 April 2018* |
| 1122 | |
| 1123 | ##### ADD |
| 1124 | |
| 1125 | * Extendable payment gateways framework. |
| 1126 | * A lot of hooks can be used to extend/enhance the payments. |
| 1127 | |
| 1128 | --- |
| 1129 | |
| 1130 | ### 10.0.1 |
| 1131 | |
| 1132 | *Release date - 20 April 2018* |
| 1133 | |
| 1134 | ##### CHANGE |
| 1135 | |
| 1136 | * It is no more needed to load the language file (.mo) of the widget |
| 1137 | as all the translations are contained within the main language file. |
| 1138 | |
| 1139 | --- |
| 1140 | |
| 1141 | ### 10.0.0 |
| 1142 | |
| 1143 | *Release date - 08 April 2018* |
| 1144 | |
| 1145 | * Initial framework release |
| 1146 |