Skip to content

2.6.0: a last stand

Compare
Choose a tag to compare
@HugoFara HugoFara released this 01 Jan 10:22
· 712 commits to master since this release

This is and will be probably my biggest LWT release. It fixes many different topics, so please take your time looking at it. Once again, great thanks to @jzohrab for it's incredible support toward this release!

Added

  • Frames resizing is back! The text reading and test interfaces updated in several ways. Based on several suggestions such as #60.
    • The desktop interface is now much similar to what it was before 2.2.1-fork.
    • The mobile interface for texts unchanged (2.2.1-fork to 2.5.3-fork).
    • You can resize frames on desktop.
  • Many new functions officially introduced in PHP and JS. Some of these function were already present in the code but undocumented.

Changed

  • UX: Faster testing: you do no longer need to enter "Space" first for speed testing, except for status down and change. Related to #71.
  • UI:
    • Do no longer show "[]" near words when they are no tags. getWordTagList behavior changed (inc/session_utility.php).
    • Tests have a better general aspect thanks to CSS cleanning.
  • PHP:
    • do_test.php, edit_texts.php, edit_words.php and set_test_status.php now explicitly require a running session. They were silently failing before this release.
    • save_setting_redirect.php moved to inc/save_setting_redirect.php.
    • Psalm static code analysis of all PHP files.
    • We use "EOP" for end-of-paragraph markers instead of misleading "EOS" (MeCab).
    • Slightly changed how a connection is established with SQL. It makes messages more relevant when SQL is not running.
    • Not Japanese texts now always use the PHP parser. The SQL parser is no longer used.
  • JS: Some deprecated functions escape and unescape were replaced by modern equivalents encodeURIcomponent and decodeURIcomponent. This may lead to changes in cookies, notably making them work better.
  • DB: the NO_ZERO_DATE mode is no longer required, see #78.
    • In the words table, replaced the default timestamp 0000-00-00 00:00:00 by 0000-00-00 00:00:01.
    • The demo database underwent the same change.
  • Updated composer.lock.
  • Docker: more default options, documentation updated.

Deprecated

  • do_test_test_css in do_test_test.php is deprecated since it was causing display issues. Its CSS rules were trimmed.

Removed

  • The ability to use a dictionary with a specific encoding, introduced in 1.0.2, is being removed. It was making things overwhelmingly complex and caused issues, as signaled in #58. Adapted from PR #59.

Fixed

  • Docker:
    • Docker integration repaired (#37)! Huge thanks to @hakuro-jp for the initial help and @darkone23 for the final solution. Without you two I would have long given up with Docker.
    • Docker continuous integration is back as well due to a rewrite of the workflow.
  • Texts:
    • The audio player was no longer working since 2.1.0-fork since the play button was hidden.
    • Save text position (inc/ajax_save_text_position.php) was broken for all texts. This is fixed.
    • Right frames should hide automatically but they often don't #61. Merged PR #62.
    • Japanese parsing is now better, and uses PHP only (the local_infile SQL functionality is no longer used). Related to PR #43.
    • One-word not-Japanese texts do no longer result in a crash (#80), whoever uses them.
  • Tests:
    • Header was hidden during tests on Chrome-based browsers.
    • Testing specific terms was broken (#66) and tests were sometimes not counting score. Solution inspired from PR #67 from @jzohrab.
    • Sometimes tests were loop-reloading clicking after setting new status, this is fixed.
  • JS:
    • You should no longer see annoying console messages of "cClick" crashing on "obj is null".
  • PHP:
    • Type fixes thanks to psalm:
      • get_first_value documentation updated since it was also returning float and int.
      • get_similar_terms in simterms.php officially returns int.
    • Inconsistent option in inc/ajax_save_setting.php.
      • Since 2.2.2-fork, you had to use a GET request to use it, resulting in authorization errors.
      • POST requests are now again the default way to use it.
      • PHP tries to set the allow_local_infile option during the connection with SQL (#20, #40).
  • UI
    • Audio in edit_texts.php was never shown.
    • When adding text, the user was ask to create a media folder in ..., corrected to ...
  • DB:
    • For some users it was impossible to install the default database due to the use of a ZERO date (#78).
    • Deleted wrong database instructions ADD DROP INDEX TiTextLC altering temptextitems in update_database of database_connect.php.

Full Changelog