This release is composed of many small enhancements, but also of many regular bug fixes.
Added
- Support for Japanese with MeCab on Mac! This was added thanks to quopquai on #135.
- New globals (#163):
- On
inc/kernel_utility.php
:LWT_APP_VERSION
andLWT_RELEASE_DATE
. - On
api.php
:LWT_API_VERSION
andLWT_API_RELEASE_DATE
. src/js/jq_pgm.js
:LWT_DATA
.unloadformcheck.js
now declares a new objectlwtFormCheck
that contains all the functions needed.
- On
- Important additions to Text-To-Speech (TTS):
- Word can be read on hover or on click. Pull request #147 by @ProgramComputer.
- You can add a custom text reader with the new voice API feature! A courtesy of @ProgramComputer on pull request #153. A feature first requested on #143. Discussion in open on #174.
- New JS functions:
readTextWithExternal
to read a text with an external application andspeechDispatcher
that can choose a text reader (browser or third party).
- Starts a cleaner database management. Database schema is defined in
db/schema/baseline.sql
and no longer in PHP code. - You can choose to add romanization for languages that don't need it in the language settings (#119).
- Docker images are now built for multiple platforms, see PR #169, closing discussion
#141. Many thanks to @ProgramComputer! - On word review:
- The "Read words aloud" setting is now saved, PR #185.
- UX change: You can click on "Read words aloud" text to check the checkbox.
Changed
- Adds missing documentation in the Docker image:
- Multi-word creation was reviewed to use a simpler JS code.
- Word review:
- Status + 1 can be set only after word display. Before, you could press key up at any time to increase term status, but keydown was effective only after solution display (#159).
- When testing sentences, sentences are always displayed, even when less than 70% of words in the sentence are known. See #194.
- New files:
inc/feeds.php
andinc/tags.php
, stemmed frominc/session_utility.php
. It should not lead to any code or behaviour change.src/js/overlib_interface.js
, stemmed fromsrc/js/pgm.js
. It contains all the overlib interactions.src/js/src/js/text_events.js
, stemmed fromsrc/js/jq_pgm.js
. It defines interactions with a text on reading.
- For audio URI, raises the characters length limit from 200 to 2048
(#144). - Database:
- For Linux users, the official database RDBMS recommended is now MariaDB as a drop-in replacement of MySQL.
- Database creation and migration is now handled directly in SQL, for a safer behavior.
- You do no longer need to give to LWT SYSTEM_VARIABLES_ADMIN for text reparsing. (new function
checkExpressions
) (#167). It is still necessary for words import.
- Docker changes:
- By default, the images now runs at localhot/lwt and no longer in the
root folder (installer #4
and #169). - Image updated from
apache-buster
toapache-bullseye
.
- By default, the images now runs at localhot/lwt and no longer in the
- Composer dependencies up to date 2024-03-24.
Fixed
- The database wizard was broken since 2.9.0.
- Word status:
- It was impossible to change a word status on hover since 2.9.1.
- Having wrong dictionary link and error reporting enabled prevented word status from being changed.
- Avoids JavaScript error on editing a language when the dictionary field is empty.
- For some feeds, feed wizard session was not working due to ill-configured session. Solves #129, thanks to the help of PR #168.
- Text reading position was not working consistently when adding several known words.
- Multi-words:
- Tooltip was not properly saved (#170).
- Translation may be escaped two times (#170).
- Fixes #170: on creation, multi-word was always displayed before the text it encompasses, without removing this text.
- Tootltip title was not properly saved, normally without incidence on user display.
- Fixes #69: having the same multi-word on multiple texts was displaying it at many positions on creation.
- Japanese:
- On word review (test):
- An explicit dependency to php-dom was missing in
INSTALL.sh
(andcomposer.json
), as stated in #178. - API: the REST API was not accessible for users running LWT in a root folder.
- On audio, the replay button is fixed: issue #138 and PR #191.
- The field
SeFirstPos
was missing in tablesentences
of demo database, resulting in failed installation the first time. - Editing test annotation would not display since 2.9.1 #193.
Deprecated
- Using any function from
unloadformcheck.js
without usinglwtFormCheck
is deprecated. get_database_prefixes
is deprecated, superseded bygetDatabasePrefix
which is much cleaner.- Globals defined in
jq_pgm.js
are going into a single globalLWT_DATA
. - New text creation workflow simplified in
inc/database_connect.php
:update_default_values
replaced by
registerSentencesTextItems
andcheck_text
bydisplayTextStatistics
.