| @@ -2,9 +2,9 @@ | ||
| 2 | 2 | Contributors: thimpress, tungnx89, nhamdv, nguyenlammanh, tunnhn, phonglq.foobla, thongta, kendy73, leehld |
| 3 | 3 | Donate link: |
| 4 | 4 | Tags: elearning, education, course, lms, learning management system |
| 5 | 5 | Tested up to: 7.1 |
| 6 | -Stable tag: 4.4.5 | |
| 6 | +Stable tag: 4.4.8 | |
| 7 | 7 | License: GPLv3 |
| 8 | 8 | License URI: https://www.gnu.org/licenses/gpl-3.0.html |
| 9 | 9 | |
| 10 | 10 | A WordPress LMS Plugin to create WordPress Learning Management System. Turn your WordPress to LMS WordPress Website with Courses, Lessons, Quizzes & more. |
| @@ -300,320 +300,354 @@ | ||
| 300 | 300 | 13. Add-ons: Unlock endless possibilities with our add-ons from additional payment gateways to more managing course options. Tailor to your needs and easily scale as your site grow |
| 301 | 301 | |
| 302 | 302 | == Changelog == |
| 303 | 303 | |
| 304 | += 4.4.8 (2026-09-18) = | |
| 305 | +* Fixed: security (Props @Yuto Hyakumoto, @Wordfence). | |
| 306 | +* Refactor: tables custom post type, lesson, order, question, quiz. | |
| 307 | +* Refactor: query list courses, lessons, questions, quizzes on WP Backend list posts. | |
| 308 | +* Fixed: PayPal token invalid when switch mode live or sandbox. | |
| 309 | +* Fixed: case use captCha plugin, case register, login direct when register user success instead of use wp_signon(). | |
| 310 | +* Fixed: Edit description Lesson, Quiz, Question on CourseBuilder must get ->post_content instead ->get_the_content() (get_the_content() only use on the Frontend). | |
| 311 | +* Style: synchronize table styles checkout, order receiver, orders profile, and my courses profile. | |
| 312 | +* Style: btn loading. | |
| 313 | +* Style: lp table. | |
| 314 | + | |
| 315 | += 4.4.7 (2026-09-11) = | |
| 316 | +* Fixed: security (Props @Karthik Ramakrishnan, @vuxvinh, @Nicat Sultanov, @Sai Praneeth Koti, @Artus KG). | |
| 317 | +* Fixed minor bugs. | |
| 318 | +* Update: manager themes screen. | |
| 319 | +* Update: setup wizard screen. | |
| 320 | + | |
| 321 | += 4.4.6 (2026-09-02) = | |
| 322 | +* Fixed: security (Props @Yll Berisha). | |
| 323 | +* Fixed: selected items from content bank "Edit curriculum". | |
| 324 | +* Fixed: LP profile avatar save wrong path image. | |
| 325 | +* Fixed: button AI. | |
| 326 | +* Fixed: style lp-menu-divider & button AI height. | |
| 327 | +* Fixed: lp-is-mobile. | |
| 328 | +* Fixed: missing old hook declare type Class Submenu. | |
| 329 | +* Fixed: error divider is link 404, set link is #. | |
| 330 | +* Tweak: style table. | |
| 331 | +* Tweak: remove files deprecated use Vue. | |
| 332 | +* Tweak: refactor reset item progress. | |
| 333 | +* Tweak: remove old Reset User Progress function. | |
| 334 | +* Tweak: refactor tool reset progress course. | |
| 335 | +* Tweak: remove old prefix css. | |
| 336 | +* Tweak: plugin_links. | |
| 337 | + | |
| 304 | 338 | = 4.4.5 (2026-08-22) = |
| 305 | -~ Added: LearnPress Help Center in the admin menu. | |
| 306 | -~ Improved admin menu structure and how submenus are registered. | |
| 307 | -~ Improved reusable UI components: form filter, fullscreen, toggle enable. | |
| 308 | -~ Improved Students Enrolled screen and course builder persistence. | |
| 309 | -~ Improved sample course data creation and deletion. | |
| 310 | -~ Added payment settings explore addons promo box. | |
| 311 | -~ Fixed: security (Props @Wordfence PRISM, @Moshe Levi, @Badr Azeez). | |
| 312 | -~ Fixed: checkout emails not sending when login/register on checkout page. | |
| 313 | -~ Fixed: blank value when adding items from Content Bank. | |
| 314 | -~ Fixed: incorrect exception handling (Props @sungbyeongchan). | |
| 339 | +* Added: LearnPress Help Center in the admin menu. | |
| 340 | +* Improved admin menu structure and how submenus are registered. | |
| 341 | +* Improved reusable UI components: form filter, fullscreen, toggle enable. | |
| 342 | +* Improved Students Enrolled screen and course builder persistence. | |
| 343 | +* Improved sample course data creation and deletion. | |
| 344 | +* Added payment settings explore addons promo box. | |
| 345 | +* Fixed: security (Props @Wordfence PRISM, @Moshe Levi, @Badr Azeez). | |
| 346 | +* Fixed: checkout emails not sending when login/register on checkout page. | |
| 347 | +* Fixed: blank value when adding items from Content Bank. | |
| 348 | +* Fixed: incorrect exception handling (Props @sungbyeongchan). | |
| 315 | 349 | |
| 316 | 350 | = 4.4.4 (2026-08-03) = |
| 317 | -~ Fixed: security. | |
| 318 | -~ Fixed: minor bugs. | |
| 319 | -~ Update some library to latest. | |
| 351 | +* Fixed: security. | |
| 352 | +* Fixed: minor bugs. | |
| 353 | +* Update some library to latest. | |
| 320 | 354 | |
| 321 | 355 | = 4.4.3 (2026-07-26) = |
| 322 | -~ Fixed: security. | |
| 323 | -~ Fixed: minor bugs. | |
| 324 | -~ Tweak: UI/UX statistic. | |
| 356 | +* Fixed: security. | |
| 357 | +* Fixed: minor bugs. | |
| 358 | +* Tweak: UI/UX statistic. | |
| 325 | 359 | |
| 326 | 360 | = 4.4.2 (2026-07-11) = |
| 327 | -~ Fixed: security. | |
| 328 | -~ Fixed: display Date time on Order. | |
| 329 | -~ Fixed: selected method payment on the checkout page. | |
| 330 | -~ Fixed: minor bug on Course Builder. | |
| 331 | -~ Unregister select2 library. | |
| 332 | -~ Added: feature Webhook. | |
| 333 | -~ MCP: added function create course/lesson/quiz/question. | |
| 334 | -~ Change label Will End to Expiry date. | |
| 361 | +* Fixed: security. | |
| 362 | +* Fixed: display Date time on Order. | |
| 363 | +* Fixed: selected method payment on the checkout page. | |
| 364 | +* Fixed: minor bug on Course Builder. | |
| 365 | +* Unregister select2 library. | |
| 366 | +* Added: feature Webhook. | |
| 367 | +* MCP: added function create course/lesson/quiz/question. | |
| 368 | +* Change label Will End to Expiry date. | |
| 335 | 369 | |
| 336 | 370 | = 4.4.1 (2026-06-26) = |
| 337 | -~ Fixed: security. | |
| 338 | -~ Fixed: minor bugs. | |
| 371 | +* Fixed: security. | |
| 372 | +* Fixed: minor bugs. | |
| 339 | 373 | |
| 340 | 374 | = 4.4.0 (2026-06-16) = |
| 341 | -~ Fixed: security. | |
| 342 | -~ Fixed: check permission create/edit course/lesson/quiz/question on Course Builder. | |
| 343 | -~ Fixed: editor edit question Fill In Blank. | |
| 344 | -~ Feature: refund order, support PayPal, option auto refund, refund request, refund time limit. | |
| 375 | +* Fixed: security. | |
| 376 | +* Fixed: check permission create/edit course/lesson/quiz/question on Course Builder. | |
| 377 | +* Fixed: editor edit question Fill In Blank. | |
| 378 | +* Feature: refund order, support PayPal, option auto refund, refund request, refund time limit. | |
| 345 | 379 | |
| 346 | 380 | = 4.3.9.1 (2026-06-10) = |
| 347 | -~ Fixed: MCP AI assistant. | |
| 381 | +* Fixed: MCP AI assistant. | |
| 348 | 382 | |
| 349 | 383 | = 4.3.9 (2026-06-08) = |
| 350 | -~ Feature: AI assistant to help students learn better - ask questions about lessons and create questions to check understanding. | |
| 351 | -~ Fixed: minor bugs. | |
| 384 | +* Feature: AI assistant to help students learn better - ask questions about lessons and create questions to check understanding. | |
| 385 | +* Fixed: minor bugs. | |
| 352 | 386 | |
| 353 | 387 | = 4.3.8 (2026-06-01) = |
| 354 | -~ Feature: add PayPal subscription support to facilitate payments for the upcoming LP Membership add-on. | |
| 355 | -~ Fixed: minor bugs Course Builder. | |
| 388 | +* Feature: add PayPal subscription support to facilitate payments for the upcoming LP Membership add-on. | |
| 389 | +* Fixed: minor bugs Course Builder. | |
| 356 | 390 | |
| 357 | 391 | = 4.3.7 (2026-05-24) = |
| 358 | -~ Fixed security. | |
| 359 | -~ Fixed minor bugs. | |
| 360 | -~ Compatible with WP 7.0. | |
| 392 | +* Fixed security. | |
| 393 | +* Fixed minor bugs. | |
| 394 | +* Compatible with WP 7.0. | |
| 361 | 395 | |
| 362 | 396 | = 4.3.6 (2026-05-03) = |
| 363 | -~ Feature: course builder. For teacher, admin manager course without access WP Admin screen. | |
| 364 | -~ Fixed: link profile. | |
| 365 | -~ Fixed: save lesson change data course assigned. | |
| 366 | -~ Fixed: save author via quick edit. | |
| 367 | -~ Fixed: security. | |
| 397 | +* Feature: course builder. For teacher, admin manager course without access WP Admin screen. | |
| 398 | +* Fixed: link profile. | |
| 399 | +* Fixed: save lesson change data course assigned. | |
| 400 | +* Fixed: save author via quick edit. | |
| 401 | +* Fixed: security. | |
| 368 | 402 | |
| 369 | 403 | = 4.3.5 (2026-04-10) = |
| 370 | -~ Added: MCP (Model Context Protocol) support for get information courses, curriculum, lessons, users enroll... with AI. | |
| 371 | -~ Fixed: minor bugs. | |
| 404 | +* Added: MCP (Model Context Protocol) support for get information courses, curriculum, lessons, users enroll... with AI. | |
| 405 | +* Fixed: minor bugs. | |
| 372 | 406 | |
| 373 | 407 | = 4.3.4 (2026-03-30) = |
| 374 | -~ Fixed: security. | |
| 375 | -~ Fixed: style button AI display on Gutenberg edit course screen. | |
| 376 | -~ Fixed: error display content of lesson, question with Elementor. | |
| 377 | -~ Tweak: count statistics on Profile Page, exclude courses with status auto-draft. | |
| 378 | -~ Added: a feature to generate pretty user slugs instead of usernames (login name), improving user privacy and security. | |
| 408 | +* Fixed: security. | |
| 409 | +* Fixed: style button AI display on Gutenberg edit course screen. | |
| 410 | +* Fixed: error display content of lesson, question with Elementor. | |
| 411 | +* Tweak: count statistics on Profile Page, exclude courses with status auto-draft. | |
| 412 | +* Added: a feature to generate pretty user slugs instead of usernames (login name), improving user privacy and security. | |
| 379 | 413 | 1. Go to LearnPress > Settings > Permalinks > Users Pretty Slug and click "Generate User Slugs" to generate slugs for all users. |
| 380 | 414 | 2. Edit each user, find "LearnPress User Slug" enter pretty slug new for that user. |
| 381 | -~ Tweak: improved the "Read more" button text. | |
| 382 | -~ Tweak: style student list. | |
| 415 | +* Tweak: improved the "Read more" button text. | |
| 416 | +* Tweak: style student list. | |
| 383 | 417 | |
| 384 | 418 | = 4.3.3 (2026-03-11) = |
| 385 | -~ Added: a feature display list students enrolled, on the tab LearnPress, Profile Page. | |
| 386 | -~ Fixed: security. | |
| 387 | -~ Fixed: save lesson preview, but the curriculum not change. | |
| 419 | +* Added: a feature display list students enrolled, on the tab LearnPress, Profile Page. | |
| 420 | +* Fixed: security. | |
| 421 | +* Fixed: save lesson preview, but the curriculum not change. | |
| 388 | 422 | |
| 389 | 423 | = 4.3.2.8 (2026-02-25) = |
| 390 | -~ Added: feature export Orders to CSV file. | |
| 391 | -~ Tweak: logo on menu admin. | |
| 392 | -~ Remove support chatgpt-4o-latest. | |
| 424 | +* Added: feature export Orders to CSV file. | |
| 425 | +* Tweak: logo on menu admin. | |
| 426 | +* Remove support chatgpt-4o-latest. | |
| 393 | 427 | |
| 394 | 428 | = 4.3.2.7 (2026-01-22) = |
| 395 | -~ Fixed: minor bugs. | |
| 429 | +* Fixed: minor bugs. | |
| 396 | 430 | |
| 397 | 431 | = 4.3.2.6 (2026-01-22) = |
| 398 | -~ Tweak: profile social labels. | |
| 399 | -~ Tweak: breadcrumb, remove single title course. | |
| 400 | -~ Tweak: show label for pages assign to pages of LearnPress. | |
| 401 | -~ Fixed: query list orders backend with Pagination config by Admin. | |
| 402 | -~ Fixed: styling of the meta area on the single classic course page. | |
| 403 | -~ Fixed: styling single classic course page with Astra theme. | |
| 404 | -~ Fixed: error link item on order details profile page. | |
| 405 | -~ Clean code. | |
| 432 | +* Tweak: profile social labels. | |
| 433 | +* Tweak: breadcrumb, remove single title course. | |
| 434 | +* Tweak: show label for pages assign to pages of LearnPress. | |
| 435 | +* Fixed: query list orders backend with Pagination config by Admin. | |
| 436 | +* Fixed: styling of the meta area on the single classic course page. | |
| 437 | +* Fixed: styling single classic course page with Astra theme. | |
| 438 | +* Fixed: error link item on order details profile page. | |
| 439 | +* Clean code. | |
| 406 | 440 | |
| 407 | 441 | = 4.3.2.5 (2026-01-09) = |
| 408 | -~ Fixed: error enroll course. | |
| 442 | +* Fixed: error enroll course. | |
| 409 | 443 | |
| 410 | 444 | = 4.3.2.4 (2026-01-07) = |
| 411 | -~ Deprecated: methods learn_press_add_course_buttons, learn_press_remove_course_buttons, | |
| 445 | +* Deprecated: methods learn_press_add_course_buttons, learn_press_remove_course_buttons, | |
| 412 | 446 | button_retry, course_purchase_button, course_enroll_button, course_continue_button, course_finish_button, course_external_button. |
| 413 | -~ Tweak class LP_User_Factory. | |
| 447 | +* Tweak class LP_User_Factory. | |
| 414 | 448 | |
| 415 | 449 | = 4.3.2.3 (2025-12-25) = |
| 416 | -~ Fixed security. | |
| 417 | -~ Fix statistics count: top courses sold, top categories sold. | |
| 418 | -~ Fixed: function of "required_review" option. | |
| 419 | -~ Fixed: show password for template Gutenberg if set. | |
| 420 | -~ Edit curriculum: fix error edit link item when add from content bank. | |
| 421 | -~ Edit curriculum: fix add item lesson is set Preview via content bank. | |
| 422 | -~ Fixed: curriculum edit error with WordPress playground. | |
| 423 | -~ Added: shortcode [learn_press_courses]. | |
| 450 | +* Fixed security. | |
| 451 | +* Fix statistics count: top courses sold, top categories sold. | |
| 452 | +* Fixed: function of "required_review" option. | |
| 453 | +* Fixed: show password for template Gutenberg if set. | |
| 454 | +* Edit curriculum: fix error edit link item when add from content bank. | |
| 455 | +* Edit curriculum: fix add item lesson is set Preview via content bank. | |
| 456 | +* Fixed: curriculum edit error with WordPress playground. | |
| 457 | +* Added: shortcode [learn_press_courses]. | |
| 424 | 458 | |
| 425 | 459 | = 4.3.2.2 (2025-12-16) = |
| 426 | -~ Fixed: error with addons Assignment, Course Review. | |
| 427 | -~ Fixed: error cache when start Quiz. | |
| 460 | +* Fixed: error with addons Assignment, Course Review. | |
| 461 | +* Fixed: error cache when start Quiz. | |
| 428 | 462 | |
| 429 | 463 | = 4.3.2.1 (2025-12-13) = |
| 430 | -~ Fixed: error Class "LP_REST_Orders_Controller" not found, deleted file but missing delete declare REST route. | |
| 464 | +* Fixed: error Class "LP_REST_Orders_Controller" not found, deleted file but missing delete declare REST route. | |
| 431 | 465 | |
| 432 | 466 | = 4.3.2 (2025-12-12) = |
| 433 | -~ Fixed: security. | |
| 434 | -~ Fixed: break style TomSelect for case choose courses on product of Woo. | |
| 435 | -~ Tweak: edit course with openAI, added more models: gpt-5.2, gpt-5-mini, gpt-5-nano. | |
| 436 | -~ Tweak: query list orders. | |
| 437 | -~ Tweak: question tinymce editor sometime error save. | |
| 438 | -~ Tweak: display list items of order by pagination. | |
| 439 | -~ Tweak: material. | |
| 440 | -~ Tweak: adjust lesson completion logic, redirect to the next incomplete item, | |
| 467 | +* Fixed: security. | |
| 468 | +* Fixed: break style TomSelect for case choose courses on product of Woo. | |
| 469 | +* Tweak: edit course with openAI, added more models: gpt-5.2, gpt-5-mini, gpt-5-nano. | |
| 470 | +* Tweak: query list orders. | |
| 471 | +* Tweak: question tinymce editor sometime error save. | |
| 472 | +* Tweak: display list items of order by pagination. | |
| 473 | +* Tweak: material. | |
| 474 | +* Tweak: adjust lesson completion logic, redirect to the next incomplete item, | |
| 441 | 475 | if all items after the current one are already completed, |
| 442 | 476 | search previous lessons to redirect to, if all items completed will not redirect. |
| 443 | 477 | |
| 444 | 478 | = 4.3.1 (2025-11-21) = |
| 445 | -~ Fixed: condition check enable AI. | |
| 446 | -~ Fixed: apply image created by AI for feature image course. | |
| 447 | -~ Added: buttons generate with AI on edit course Gutenberg screen. | |
| 479 | +* Fixed: condition check enable AI. | |
| 480 | +* Fixed: apply image created by AI for feature image course. | |
| 481 | +* Added: buttons generate with AI on edit course Gutenberg screen. | |
| 448 | 482 | |
| 449 | 483 | = 4.3.0 (2025-11-20) = |
| 450 | -~ Fixed: security. | |
| 451 | -~ Fixed: error 404 link when add media to editor of Question config. | |
| 452 | -~ Fixed: export social use on the "Export Personal Data" tool. | |
| 453 | -~ Fixed: display time spend when doing quiz with time not limit. | |
| 454 | -~ Beta: apply openAI for generate data course. | |
| 455 | -~ Update library sweetalert2 to 11.26.3. | |
| 456 | -~ Update library chartjs to 4.5.1. | |
| 484 | +* Fixed: security. | |
| 485 | +* Fixed: error 404 link when add media to editor of Question config. | |
| 486 | +* Fixed: export social use on the "Export Personal Data" tool. | |
| 487 | +* Fixed: display time spend when doing quiz with time not limit. | |
| 488 | +* Beta: apply openAI for generate data course. | |
| 489 | +* Update library sweetalert2 to 11.26.3. | |
| 490 | +* Update library chartjs to 4.5.1. | |
| 457 | 491 | |
| 458 | 492 | = 4.2.9.4 (2025-10-08) = |
| 459 | -~ Fixed: security. | |
| 460 | -~ Fixed: error save config answer option (Question) with LaTeX. | |
| 461 | -~ Added: feature export LP user data for GDPR when use tool "Export Personal Data". | |
| 493 | +* Fixed: security. | |
| 494 | +* Fixed: error save config answer option (Question) with LaTeX. | |
| 495 | +* Added: feature export LP user data for GDPR when use tool "Export Personal Data". | |
| 462 | 496 | |
| 463 | 497 | = 4.2.9.3 (2025-09-23) = |
| 464 | -~ Fixed: show price's course with case buy with Guest. | |
| 465 | -~ Fixed: error don't show popup allow repurchase with theme Gutenberg. | |
| 466 | -~ Added: feature eraser LP user data when use tool "Erase Personal Data". | |
| 498 | +* Fixed: show price's course with case buy with Guest. | |
| 499 | +* Fixed: error don't show popup allow repurchase with theme Gutenberg. | |
| 500 | +* Added: feature eraser LP user data when use tool "Erase Personal Data". | |
| 467 | 501 | |
| 468 | 502 | = 4.2.9.2 (2025-09-15) = |
| 469 | -~ Fixed: error some hooks emails. | |
| 470 | -~ Require PHP 7.4+. | |
| 503 | +* Fixed: error some hooks emails. | |
| 504 | +* Require PHP 7.4+. | |
| 471 | 505 | |
| 472 | 506 | = 4.2.9.1 (2025-09-10) = |
| 473 | -~ Fixed: various deprecated functions for compatibility with PHP 8.4. | |
| 474 | -~ Fixed: Addon Sorting Choice case. | |
| 475 | -~ Fixed: empty title message when adding an answer to a single-choice question. | |
| 476 | -~ Tweak: Gutenberg 'Course Listing' block. | |
| 477 | -~ Tweak: can_enroll handling for external links and unauthenticated users. | |
| 478 | -~ Tweak: LP_Email_Hooks class updated to use new hook declaration method. | |
| 479 | -~ Replace the old Emogrifier class with the CssToInlineStyles library from Composer. | |
| 480 | -~ Added: SendEmailAjax class. | |
| 481 | -~ Added: LPBackgroundAjax class for background processing. | |
| 507 | +* Fixed: various deprecated functions for compatibility with PHP 8.4. | |
| 508 | +* Fixed: Addon Sorting Choice case. | |
| 509 | +* Fixed: empty title message when adding an answer to a single-choice question. | |
| 510 | +* Tweak: Gutenberg 'Course Listing' block. | |
| 511 | +* Tweak: can_enroll handling for external links and unauthenticated users. | |
| 512 | +* Tweak: LP_Email_Hooks class updated to use new hook declaration method. | |
| 513 | +* Replace the old Emogrifier class with the CssToInlineStyles library from Composer. | |
| 514 | +* Added: SendEmailAjax class. | |
| 515 | +* Added: LPBackgroundAjax class for background processing. | |
| 482 | 516 | |
| 483 | 517 | = 4.2.9 (2025-08-27) = |
| 484 | -~ Refactor UI/UX for edit quiz. | |
| 485 | -~ Refactor UI/UX for edit question. | |
| 486 | -~ Allow assign a question to many quizzes. | |
| 487 | -~ Update: set image course offline is full size. | |
| 488 | -~ Fixed: enqueue style for Archive, Single course block legacy. | |
| 489 | -~ Fixed: conflict with Thrive Architect Editor. | |
| 518 | +* Refactor UI/UX for edit quiz. | |
| 519 | +* Refactor UI/UX for edit question. | |
| 520 | +* Allow assign a question to many quizzes. | |
| 521 | +* Update: set image course offline is full size. | |
| 522 | +* Fixed: enqueue style for Archive, Single course block legacy. | |
| 523 | +* Fixed: conflict with Thrive Architect Editor. | |
| 490 | 524 | |
| 491 | 525 | = 4.2.8.7.5 (2025-07-29) = |
| 492 | -~ Fixed: error crop image course by size not check if image exists. | |
| 493 | -~ Fixed: translate fields author on Course Filter Widget. | |
| 494 | -~ Fixed: error case show info learning with user Guest. | |
| 495 | -~ Fixed: error save post_author when enable edit course with Gutenberg. | |
| 496 | -~ Load Material files of course via AJAX. | |
| 497 | -~ Tweak learn_press_get_course_tabs: change how to set default tab. | |
| 526 | +* Fixed: error crop image course by size not check if image exists. | |
| 527 | +* Fixed: translate fields author on Course Filter Widget. | |
| 528 | +* Fixed: error case show info learning with user Guest. | |
| 529 | +* Fixed: error save post_author when enable edit course with Gutenberg. | |
| 530 | +* Load Material files of course via AJAX. | |
| 531 | +* Tweak learn_press_get_course_tabs: change how to set default tab. | |
| 498 | 532 | |
| 499 | 533 | = 4.2.8.7.4 (2025-07-14) = |
| 500 | -~ Use package sweetalert2-neutral instead of sweetalert2. | |
| 501 | -~ Fixed: max index post_name column of table learnpress_courses, error with old MYSQL version. | |
| 502 | -~ Fix conflict with light box of elementor in single lesson | |
| 503 | -~ Gutenberg: tweak list courses block. | |
| 504 | -~ Gutenberg: tweak filter course block. | |
| 505 | -~ Gutenberg: add course results block. | |
| 506 | -~ Gutenberg: add option size for course image block. | |
| 507 | -~ Handle cache for course image url. | |
| 534 | +* Use package sweetalert2-neutral instead of sweetalert2. | |
| 535 | +* Fixed: max index post_name column of table learnpress_courses, error with old MYSQL version. | |
| 536 | +* Fix conflict with light box of elementor in single lesson | |
| 537 | +* Gutenberg: tweak list courses block. | |
| 538 | +* Gutenberg: tweak filter course block. | |
| 539 | +* Gutenberg: add course results block. | |
| 540 | +* Gutenberg: add option size for course image block. | |
| 541 | +* Handle cache for course image url. | |
| 508 | 542 | |
| 509 | 543 | = 4.2.8.7.3 (2025-06-30) = |
| 510 | -~ Tweak: tab material. | |
| 511 | -~ Edit curriculum: fix error remove section not unassign item from that section. | |
| 544 | +* Tweak: tab material. | |
| 545 | +* Edit curriculum: fix error remove section not unassign item from that section. | |
| 512 | 546 | |
| 513 | 547 | = 4.2.8.7.1 (2025-06-25) = |
| 514 | -~ Fixed: get courses assign to co-instructor on the single instructor page. | |
| 515 | -~ Fixed: unset value of some key auto increment when insert data to tables lp_section_items, lp_sections. | |
| 516 | -~ Fixed: error sort by on list courses has a mask. | |
| 517 | -~ Fixed: permission for instructor when edit curriculum's course. | |
| 518 | -~ Update: show 'featured' label on Single Course, List Courses page. | |
| 519 | -~ Tweak: image course block Gutenberg. | |
| 548 | +* Fixed: get courses assign to co-instructor on the single instructor page. | |
| 549 | +* Fixed: unset value of some key auto increment when insert data to tables lp_section_items, lp_sections. | |
| 550 | +* Fixed: error sort by on list courses has a mask. | |
| 551 | +* Fixed: permission for instructor when edit curriculum's course. | |
| 552 | +* Update: show 'featured' label on Single Course, List Courses page. | |
| 553 | +* Tweak: image course block Gutenberg. | |
| 520 | 554 | |
| 521 | 555 | = 4.2.8.7 (2025-06-17) = |
| 522 | -~ Fixed: error 404 with link profile tab, link lesson with Polylang v3.7 and higher. | |
| 523 | -~ Fixed: error enroll many courses can make server hang by send mail on background. | |
| 524 | -~ Fixed: translate on format_human_time_diff method. | |
| 525 | -~ Update: UI/UX for edit curriculum course. | |
| 556 | +* Fixed: error 404 with link profile tab, link lesson with Polylang v3.7 and higher. | |
| 557 | +* Fixed: error enroll many courses can make server hang by send mail on background. | |
| 558 | +* Fixed: translate on format_human_time_diff method. | |
| 559 | +* Update: UI/UX for edit curriculum course. | |
| 526 | 560 | |
| 527 | 561 | = 4.2.8.6.1 (2025-06-09) = |
| 528 | -~ Fixed: error widget courses can't interact. | |
| 562 | +* Fixed: error widget courses can't interact. | |
| 529 | 563 | |
| 530 | 564 | = 4.2.8.6 (2025-06-09) = |
| 531 | -~ Refactor: edit curriculum. | |
| 532 | -~ Update: UI/UX for edit curriculum. | |
| 533 | -~ Allow: drag/drop item to another section. | |
| 534 | -~ Fixed error Deprecated crypt(), when update password on profile. | |
| 535 | -~ Fixed: get_instructor_info method. | |
| 565 | +* Refactor: edit curriculum. | |
| 566 | +* Update: UI/UX for edit curriculum. | |
| 567 | +* Allow: drag/drop item to another section. | |
| 568 | +* Fixed error Deprecated crypt(), when update password on profile. | |
| 569 | +* Fixed: get_instructor_info method. | |
| 536 | 570 | |
| 537 | 571 | = 4.2.8.5 (2025-05-21) = |
| 538 | -~ Fixed: missing user email in order summary table. | |
| 539 | -~ Fixed: get related courses, set distinct, random list. | |
| 540 | -~ Fixed: error avatar author for App API. | |
| 541 | -~ Fixed: minor bug Block Gutenberg. | |
| 572 | +* Fixed: missing user email in order summary table. | |
| 573 | +* Fixed: get related courses, set distinct, random list. | |
| 574 | +* Fixed: error avatar author for App API. | |
| 575 | +* Fixed: minor bug Block Gutenberg. | |
| 542 | 576 | |
| 543 | 577 | = 4.2.8.4 (2025-05-08) = |
| 544 | -~ Fixed: security. | |
| 545 | -~ Fixed: error Add Media not working on the edit lesson screen. | |
| 546 | -~ Move setting quiz to tab course. | |
| 547 | -~ Tweak: list course block Gutenberg. | |
| 548 | -~ Tweak: condition check blocks load on template. | |
| 549 | -~ Tweak: styles. | |
| 578 | +* Fixed: security. | |
| 579 | +* Fixed: error Add Media not working on the edit lesson screen. | |
| 580 | +* Move setting quiz to tab course. | |
| 581 | +* Tweak: list course block Gutenberg. | |
| 582 | +* Tweak: condition check blocks load on template. | |
| 583 | +* Tweak: styles. | |
| 550 | 584 | |
| 551 | 585 | = 4.2.8.3 (2025-04-26) = |
| 552 | -~ Provide: blocks for Gutenberg, build page Single Course, Archive Course, List Course. | |
| 553 | -~ Compatible: with WP 6.8. | |
| 586 | +* Provide: blocks for Gutenberg, build page Single Course, Archive Course, List Course. | |
| 587 | +* Compatible: with WP 6.8. | |
| 554 | 588 | |
| 555 | 589 | = 4.2.8.2 (2025-04-03) = |
| 556 | -~ Feature: add filter course by type online/offline. | |
| 557 | -~ Tweak: add pagination list quizzes on Profile Page, instead of only default display 5 quizzes. | |
| 558 | -~ Tweak: avatar Profile function, new UI/UX. | |
| 559 | -~ Tweak page checkout: set link to profile page of User when logged, instead of user link default of WordPress. | |
| 560 | -~ Tweak: set priority of hook "pre_get_document_title" to 10, for case plugin SEO can override. | |
| 561 | -~ Tweak: layout review order. | |
| 562 | -~ Fixed: error get courses status draft on widget list courses for Elementor. | |
| 590 | +* Feature: add filter course by type online/offline. | |
| 591 | +* Tweak: add pagination list quizzes on Profile Page, instead of only default display 5 quizzes. | |
| 592 | +* Tweak: avatar Profile function, new UI/UX. | |
| 593 | +* Tweak page checkout: set link to profile page of User when logged, instead of user link default of WordPress. | |
| 594 | +* Tweak: set priority of hook "pre_get_document_title" to 10, for case plugin SEO can override. | |
| 595 | +* Tweak: layout review order. | |
| 596 | +* Fixed: error get courses status draft on widget list courses for Elementor. | |
| 563 | 597 | |
| 564 | 598 | = 4.2.8.1 (2025-03-12) = |
| 565 | -~ Hot fix: error Curriculum with old data. | |
| 566 | -~ Update: currencies list. | |
| 599 | +* Hot fix: error Curriculum with old data. | |
| 600 | +* Update: currencies list. | |
| 567 | 601 | |
| 568 | 602 | = 4.2.8 (2025-03-06) = |
| 569 | -~ Apply the new curriculum layout for a single course, screen item learning, and apply it to the premium themes. | |
| 570 | -~ Optimize: some duplicate query. | |
| 571 | -~ Fixed: course protected on single course layout Modern. | |
| 572 | -~ Fixed: continue button has character "?" when redirect to item. | |
| 573 | -~ Fixed: error get option "evaluate final quiz". | |
| 574 | -~ Tweak: logic search item content for the course on screen item learning. | |
| 575 | -~ Tweak: sort the newest item learning first on the screen tab "My courses" - Profile. | |
| 576 | -~ Tweak: crop image course by "Thumbnail dimensions". | |
| 603 | +* Apply the new curriculum layout for a single course, screen item learning, and apply it to the premium themes. | |
| 604 | +* Optimize: some duplicate query. | |
| 605 | +* Fixed: course protected on single course layout Modern. | |
| 606 | +* Fixed: continue button has character "?" when redirect to item. | |
| 607 | +* Fixed: error get option "evaluate final quiz". | |
| 608 | +* Tweak: logic search item content for the course on screen item learning. | |
| 609 | +* Tweak: sort the newest item learning first on the screen tab "My courses" - Profile. | |
| 610 | +* Tweak: crop image course by "Thumbnail dimensions". | |
| 577 | 611 | |
| 578 | 612 | = 4.2.7.9 (2025-02-24) = |
| 579 | -~ Fixed: error 404 single course with struct permalink is "%course_category%". | |
| 580 | -~ Show error message response from PayPal if exists. | |
| 581 | -~ Tweak: UserModel class, get_display_name method, with case translate. | |
| 582 | -~ Added: hook "learn-press/user-lesson/completed" when completed lesson. | |
| 583 | -~ Added: option Store IP Guest to handle checkout with case can't read $_COOKIE from server. | |
| 584 | -~ LP_Gateways: tweak init method, allow load gateway instanceof LP_Gateway_Abstract. | |
| 585 | -~ Update some text missing text domain. | |
| 586 | -~ Tweak: isRestApiLP method REST prefix. | |
| 613 | +* Fixed: error 404 single course with struct permalink is "%course_category%". | |
| 614 | +* Show error message response from PayPal if exists. | |
| 615 | +* Tweak: UserModel class, get_display_name method, with case translate. | |
| 616 | +* Added: hook "learn-press/user-lesson/completed" when completed lesson. | |
| 617 | +* Added: option Store IP Guest to handle checkout with case can't read $_COOKIE from server. | |
| 618 | +* LP_Gateways: tweak init method, allow load gateway instanceof LP_Gateway_Abstract. | |
| 619 | +* Update some text missing text domain. | |
| 620 | +* Tweak: isRestApiLP method REST prefix. | |
| 587 | 621 | |
| 588 | 622 | = 4.2.7.8 (2025-02-17) = |
| 589 | -~ Fixed: send email when user finished course. | |
| 590 | -~ Fixed: error PayPal payment can't verify transaction. | |
| 591 | -~ Fixed: error change author when edit course. | |
| 592 | -~ Tweak: Guest buy/enroll course, login via checkout. | |
| 593 | -~ Tweak: course section, question CURD. | |
| 623 | +* Fixed: send email when user finished course. | |
| 624 | +* Fixed: error PayPal payment can't verify transaction. | |
| 625 | +* Fixed: error change author when edit course. | |
| 626 | +* Tweak: Guest buy/enroll course, login via checkout. | |
| 627 | +* Tweak: course section, question CURD. | |
| 594 | 628 | |
| 595 | 629 | = 4.2.7.7 (2025-02-08) = |
| 596 | -~ Fixed: some hosting error 403 when load list courses, complete lesson request. | |
| 597 | -~ Fixed: sitemap 404 with items course. | |
| 630 | +* Fixed: some hosting error 403 when load list courses, complete lesson request. | |
| 631 | +* Fixed: sitemap 404 with items course. | |
| 598 | 632 | |
| 599 | 633 | = 4.2.7.6 (2025-02-05) = |
| 600 | -~ Fixed: security. | |
| 601 | -~ Fixed: error 404-Page Order received after checkout. | |
| 602 | -~ Fixed: error 404-Page Profile sub-page. | |
| 603 | -~ Optimize: speed load list courses. | |
| 604 | -~ Added: option choose "Layout single course (Modern/Classic)". | |
| 605 | -~ Added: option "Curriculum display" (currently apply for layout Modern). | |
| 606 | -~ Added: new Modern layout for Single Course. | |
| 607 | -~ Added: exclude from search via ?s= for lesson, quiz, order. | |
| 608 | -~ Refactor code handle Quiz. | |
| 609 | -~ Tweak: layout Single Instructor (change struct layout, display cover image, link edit if exists). | |
| 610 | -~ Tweak: courses filter for mobile. | |
| 611 | -~ Tweak: layout course offline for mobile. | |
| 612 | -~ Allow: display html content on Offline Payment. | |
| 613 | -~ Allow: change multiple instructors via Bulk Edit. | |
| 634 | +* Fixed: security. | |
| 635 | +* Fixed: error 404-Page Order received after checkout. | |
| 636 | +* Fixed: error 404-Page Profile sub-page. | |
| 637 | +* Optimize: speed load list courses. | |
| 638 | +* Added: option choose "Layout single course (Modern/Classic)". | |
| 639 | +* Added: option "Curriculum display" (currently apply for layout Modern). | |
| 640 | +* Added: new Modern layout for Single Course. | |
| 641 | +* Added: exclude from search via ?s= for lesson, quiz, order. | |
| 642 | +* Refactor code handle Quiz. | |
| 643 | +* Tweak: layout Single Instructor (change struct layout, display cover image, link edit if exists). | |
| 644 | +* Tweak: courses filter for mobile. | |
| 645 | +* Tweak: layout course offline for mobile. | |
| 646 | +* Allow: display html content on Offline Payment. | |
| 647 | +* Allow: change multiple instructors via Bulk Edit. | |
| 614 | 648 | |
| 615 | 649 | = 4.2.7.5.1 (2025-01-22) = |
| 616 | -~ Fixed: security. | |
| 617 | -~ Fixed: minor bugs. | |
| 650 | +* Fixed: security. | |
| 651 | +* Fixed: minor bugs. | |
| 618 | 652 | |
| 619 | 653 | <a href="https://raw.githubusercontent.com/LearnPress/learnpress/develop/changelog.txt">See changelog for all versions.</a> |