↑ TOP ↑
 
Preface Curr. Version Links Abstract Features New Features Screencasts Restrictions (Un-) License Third Party Installation How to learn How to use Q & A
 
Setup Tablets Lang. Setup Term Scores Key Bindings Export Template
 
Contribute WordPress Integration Database Changelog

Logo Learning with Texts

Help/Information

Jump to topic:

▶ Preface - [↑]

Preface by lang-learn-guy (original author)

Contributions by HugoFara (GitHub version maintainer)

I started using LWT in 2021, and continued its development almost instantly. I felt that the core idea was very good, but its implementation seemed unnadapted, and the code was quite obfuscated. While I do not have any official responsibility to LWT (I don't know lang-learn-guy), I am the the de facto maintainer of the community version. I dedicated myself to the following points (see the GitHub post):

If you spot any problem, please post any issue on GitHub, and we will look at it.

While work is not yet finished, I also aim to expand LWT:

But there is much more! The community version of LWT is no longer feat of one man, it belongs to everyone. As such, it gets well easier to implement new features, discuss and exchange code and ideas. I don't know if LWT contains your killer feature, but I can say that it can be implemented with this version. Enjoy!

▶ Current Version - [↑]

The current version is 2.6.0-fork (January 01 2023).
View the Changelog.

LWT Online Demo - try it out:

LWT Reviews and Blog Posts

LWT Forum Threads

Additional Resources

▶ Abstract - [↑]

▶ Features - [↑]


▶ New feature not available in the official LWT - [↑]

User Interface

More than LWT

Server load

▶ Screencasts/Videos - [↑]

A video from FluentCzech:



Please have a look at the other great videos of FluentCzech that contain many good ideas for language learning!
Website of FluentCzech (anthonylauder.com)

A video from Benny the Irish polyglot:



Fluent In 3 Months: Introducing LWT, with Benny's own (free) version of LWT.

▶ Restrictions - [↑]

Texts and vocabulary terms with Unicode characters outside the Basic Multilingual Plane (BMP; U+0000 to U+FFFF), i.e. with Unicode characters U+10000 and higher, are not supported. Therefore, characters for almost all modern languages, and a large number of symbols, are supported; but historic scripts, certain symbols and notations, and Emojis are not supported.

▶ License - [↑]

"Learning with Texts" (LWT) is free and unencumbered software released into the PUBLIC DOMAIN.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to [http://unlicense.org/].

▶ Third Party Licenses - [↑]

The following software packages, bundled within the LWT software, have different licenses:

The icons in the "icn" subdirectory are Copyright © Yusuke Kamiyamane. All rights reserved. Licensed under a Creative Commons Attribution 3.0 license. The wizard icon "wizard.png" is the "Free Wizard Icon", free for commercial use, from icojam.com (Author: IcoJam / Andrew Zhebrakov).

The following examples, supplied within the LWT download package, have the following licenses:

▶ LWT Installation - [↑]

Let's install the LWT server. LWT uses a client-server architecture, which means it will run in your browser as a classical website. You can use any computer as the server, here are some ways to do it.

A bird's-eye view

Whatever installation you choose, the steps will look like the following:

  1. Set-up a server with a database system.
  2. Download LWT.
  3. Create connect.inc.php file with your password.
  4. Start the server and ready to go!

There are two main ways to install LWT: on your computer or using containers. We recommend the first solution as the most straightforward. The second solution has a simpler installation method, but takes a lot of storage.

Windows 10/11

Two main softwares can be used to set up a local server on your computer: XAMPP and EasyPHP. We recommand XAMPP because it supports higher PHP version, but feel free to use any softare you like.

Possibility (a): Using XAMPP

  1. Install XAMPP

    1. Go to https://www.apachefriends.org/download.html
    2. Download "XAMPP for Windows". PHP starting from 8.0 is supported.
    3. Open your Downloads folder and run the downloaded "xampp-windows-x64-xxx-installer.exe". Please install the components Apache, MySQL, PHP and phpMyAdmin into the folder C:\xampp.
  2. Get the latest GitHub release, unzip it.

    You can also try to download the latest stable version if you want the cutting-edge updates (that may include some bugs)

  3. Now go into "C:\xampp\htdocs\lwt". Rename the file "connect_xampp.inc.php" to "connect.inc.php". Sometimes the "php" extension is hidden, so be careful! You can display file extensions via the Windows Explorer settings and check it.

  4. Start LWT server

    1. Start the "XAMPP Control Panel" ("C:\xampp\xampp-control.exe") and start the two modules Apache and MySQL. Now the two module names should have a green background color.
    2. LWT can now be started. Open a browser, and open http://localhost/lwt (please bookmark).
  5. You may now define the first language you want to learn or install the LWT demo database.

If you start up Windows, you must repeat steps 4 and 5.

If you want to start "XAMPP Control Panel" every time you start Windows and to avoid Step 4.1, put a "XAMPP Control Panel" link to "C:\xampp\xampp-control.exe" into "C:\Users(YourUID)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup". To autostart also the Apache and MySQL modules, please open "Config" within the XAMPP Control Panel and check the two checkboxes.

Hint: To fix a "XAMPP Control Panel" error "Xampp-control.ini Access is denied", please read and do the instructions in https://www.codermen.com/fix-xampp-server-error-xampp-control-ini-access-is-denied/

Now you must only do step 4.2 to start LWT.

Possibility (b): Using EasyPHP

  1. Get Visual C++

    1. Download "vcredist_x86.exe" from https://www.microsoft.com/en-us/download/details.aspx?id=30679
    2. Choose the x86 version and download.
    3. Run the installer "vcredist_x86.exe" in the Downloads folder.
  2. Get EasyPHP

    1. Go to https://www.easyphp.org/easyphp-devserver.php
    2. Download "EasyPHP DevServer 17.0".
    3. Open your Downloads folder and run the downloaded "EasyPHP-Devserver-17.0-setup.exe".
    4. Install into "C:\Program Files (x86)\EasyPHP-Devserver-17".
  3. Get the latest GitHub release, unzip it.

    You can also try to download the latest stable version if you want the cutting-edge updates (that may include some bugs)

  4. Install everything

    1. Go into "C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\lwt".
    2. Rename the file "connect_easyphp.inc.php" to "connect.inc.php". Sometimes the "php" extension is hidden, so be careful! You can display file extensions via the Windows Explorer settings and check it.
  5. Start EasyPHP

    1. Start EasyPHP via Desktop Icon (Devserver 17). In the Task Bar near the clock appears the EasyPHP app icon (it may be hidden!).
    2. LWT can now be started. Right-Click on the EasyPHP icon in the taskbar, choose "Servers->Start/Restart all Servers", open a browser, and open http://127.0.0.1/lwt (please bookmark).
  6. You may now define the first language you want to learn or install the LWT demo database.

If you start up EasyPHP, you must repeat step 5.1 and 5.2.

If you want to start EasyPHP every time you start Windows and avoid step 5.1, put an EasyPHP link into "C:\Users(YourUID)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup".

Now you must only do step 5.2 to start LWT.

macOS 10.10+

This section may be obsolete! Your help is welcome!

  1. Go to https://www.mamp.info/en/downloads/

  2. Download "MAMP & MAMP PRO" (currently version 6.6).

  3. Double-click on the downloaded installation package "MAMP_MAMP_PRO_xxx.pkg", accept the license, click on "Install for all users..." and on "Continue", on the next panel titled "Standard Install on Macintosh HD" click on "Customize", deselect "MAMP PRO", and click Install. You must enter your password. After this step MAMP is installed within a folder named "MAMP" in the Applications folder.

  4. Get the latest GitHub release, unzip it.

    You can also try to download the latest stable version if you want the cutting-edge updates (that may include some bugs)

  5. Go to /Applications/MAMP/htdocs/lwt. Rename the file connect_mamp.inc.php to connect.inc.php.

  6. Open MAMP.app in /Applications/MAMP. Accept the messages from the firewall. Apache and MySQL start automatically.

  7. LWT can now be started in your web browser, go to: http://localhost:8888/lwt.

  8. You may define the first language you want to learn or install the LWT demo database.

If you want to use LWT again, just do steps 6 and 7. The local webserver (MAMP) will be automatically stopped by quitting the MAMP application.

Linux

The following instruction were tested on Raspbian Stretch.

  1. Open a terminal, type and execute the following commands:

    1. Installation of LAMP:

      sudo apt-get update
      sudo apt-get install apache2 libapache2-mod-php php php-mbstring php-mysql mysql-server
      
    2. Enable the extensions

      1. Go to your PHP folder (/etc/php/{{desired PHP version}}/{{PHP type}}/)
      2. Run sudo nano php.ini.
      3. Delete the ";" symbols before extension=mbstring and extension=mysqli.
    3. Set MySQL root Password to "abcxyz"

      sudo mysql
      

      Then type

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abcxyz';
      FLUSH privileges;
      QUIT; 
      
    4. Check MySQL access (optionnal)

      mysql -u root -p
      abcxyz
      

      If you see the MySQL prompt mysql> after the first command, everything is OK. Quit with

      QUIT;
      
  2. Get the latest GitHub release.

    You can also try to download the latest stable version if you want the cutting-edge updates (that may include some bugs)

  3. Unzip it.

  4. Rename the file connect_xampp.inc.php in /[... Path to downloaded LWT ...]/lwt to connect.inc.php.

  5. Edit this file connect.inc.php and set the MySQL password in line $passwd = "";. Change it to $passwd = "abcxyz";. Save the edited file connect.inc.php.

  6. Open a Terminal window, type and execute the following commands:

    sudo rm /var/www/html/index.html
    sudo mv /[... Path to downloaded LWT ...]/lwt /var/www/html
    sudo chmod -R 755 /var/www/html/lwt
    sudo service apache2 restart
    sudo service mysql restart
    
  7. LWT can now be started in your web browser, go to: http://localhost/lwt.

  8. You may install the LWT demo database, or define the first language you want to learn.

If you want to use LWT again, just do step 7.

Run in a Docker container

Docker is the easiest way to install LWT, but it will use more or less 1 GB on your system.

We provide on online image, you can download it using.

docker pull ghcr.io/hugofara/lwt

If you want to build the image from source, you can use the following command. You can build the image by running

docker compose up

By default the server can be accessed on port 8010 (http://localhost:8010).

To remove the created containers run

docker compose  down

Dependency management with Composer

If you have a technical knowledge of how Composer works for dependency management, you may consider using Composer. It is required for contributors only, but advanced users may want to use it as well. The official repository is at https://packagist.org/packages/hugofara/lwt.

Upgrade LWT

  1. Backup the LWT directory. Backup your database (within LWT).

  2. Get the latest GitHub release.

    You can also try to download the latest stable version if you want the cutting-edge updates (that may include some bugs)

  3. Unzip it.

  4. Copy the following (if not already at its place and OK) from your LWT backup into the LWT directory: "connect.inc.php" and the whole "media" sub-directory (if you created one; contains your MP3 audio files).

  5. Clear the web browser cache and open LWT as usual.

Something Went Wrong

Need more help? You can contact us through GitHub and Discord!

Please note that PHP below version 8.0 is not supported.

▶ How to Learn - [↑]

▶ How to Use - [↑]

▶ Questions and Answers - [↑]

▶ Setup for Tablets - [↑]

▶ Language Setup - [↑]

Language RegExp Split Sentences RegExp Word Characters Make each character a word Remove spaces
Latin derived alphabet (English, French, German, etc.) .!?:; a-zA-ZÀ-ÖØ-öø-ȳ No No
Languages with a Cyrillic-derived alphabet (Russian, Bulgarian, Ukrainian, etc.) .!?:; a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ No No
Greek .!?:; \x{0370}-\x{03FF}\x{1F00}-\x{1FFF} No No
Hebrew (Right-To-Left = Yes) .!?:; \x{0590}-\x{05FF} No No
Thai .!?:; ก-๛ No Yes
Chinese .!?:;。!?:; 一-龥 Yes or No Yes
Japanese (Without MeCab) .!?:;。!?:; 一-龥ぁ-ヾ Yes or No Yes
Japanese (With MeCab) .!?:;。!?:; mecab Yes or No Yes
Korean .!?:;。!?:; 가-힣ᄀ-ᇂ No No or Yes

▶ Term Scores - [↑]

The score of a term is a rough measure (in percent) how well you know a term. It is displayed in "My Terms", and it is used in tests to decide which terms are tested next.

The score is calculated as follows:

Image

Terms with status 1 are tested either today (if not created today) or tomorrow (if created today, or a test failed today). Terms set to status 2 should be retested after 2 days. Terms set to status 3 should be retested after 9 days. Terms set to status 4 should be retested after 27 days. Terms set to status 5 should be retested after 72 days.

Example 1: Five terms were tested today; they are now in status 1, 2, 3, 4, and 5. The term with status 1 is still unknown (failed the test, so the score is still 0 %). The term with status 5 is well known (score: 100 %).

Image

Example 2: Five terms were not tested for some time; they are in status 1, 2, 3, 4, and 5. All of them have a score of 0, because the number of days indicate that you may have forgotten them. Therefore all should be retested today.

Image

▶ Key Bindings - [↑]

Key Bindings in the TEXT Frame

Key(s) Action(s)
RETURN The next UNKNOWN (blue) word in the text will be shown for creation
RIGHT or SPACE Mark next SAVED (non-blue) term (*)
LEFT Mark previous SAVED (non-blue) term (*)
HOME Mark first SAVED (non-blue) term (*)
END Mark last SAVED (non-blue) term (*)
1, 2, 3, 4, 5 Set status of marked term to 1, 2, 3, 4, or 5
I Set status of marked term to "Ignored"
W Set status of marked term to "Well Known"
E Edit marked term
G Edit marked term and open Google Translate
J Edit marked term and open Google Image Search
A Set audio position according to position of marked term.
T Translate sentence
P Pronounce term
ESC Reset marked term(s)

(*) Only saved terms with the status(es) defined/filtered in the settings are visited and marked!

Key Bindings in the TEST Frame

Key(s) Action(s)
SPACE Show solution
UP Set status of tested term to (old status plus 1)
DOWN Set status of tested term to (old status minus 1)
ESC Do not change status of tested term
1, 2, 3, 4, 5 Set status of tested term to 1, 2, 3, 4, or 5
I Set status of tested term to "Ignored"
W Set status of tested term to "Well Known"
E Edit tested term

▶ About LWT Export Templates for "Flexible Exports" - [↑]

An export template consists of a string of characters. Some parts of this string are placeholders (beginning with "%", "$" or "\") that are replaced by the actual term data, see the following table. For each term (word or expression), that has been selected for export, the placeholders of the export template will be replaced by the term data and the string will be written to the export file.

A template must end with either "\n" (UNIX, Mac) or "\r\n" (Windows). If you omit this, the whole export will be one single line!

If the export template is empty, no terms of this language will be exported.

Placeholders Placeholders replaced by ...
%... Raw Text
%w Term (Word/Expression) - as raw text.
%t Translation - as raw text.
%s Sentence, curly braces removed - as raw text.
%c The sentence, but the "{xxx}" parts are replaced by "[...]" (cloze test question) - as raw text.
%d The sentence, but the "{xxx}" parts are replaced by "[xxx]" (cloze test solution) - as raw text.
%r Romanization - as raw text.
%a Status (1..5, 98, 99) - as raw text.
%k Term in lowercase (key) - as raw text.
%z Tag List - as raw text.
%l Language - as raw text.
%n Word Number in LWT (key in table "words") - as raw text.
%% Just one percent sign "%".
$... HTML Text. HTML special characters are escaped:< = &lt; / > = &gt; / & = &amp; / " = &quot;
$w Term (Word/Expression) - as HTML text.
$t Translation - as HTML text.
$s Sentence, curly braces removed - as HTML text.
$c The sentence, but the "{xxx}" parts are replaced by "[...]" (cloze test question) - as HTML text.
$d The sentence, but the "{xxx}" parts are replaced by "[xxx]" (cloze test solution) - as HTML text.
$x The sentence in Anki2 cloze test notation: the "{xxx}" parts are replaced by "{{c1::xxx}}" - as HTML text.
$y The sentence in Anki2 cloze test notation, with translation: the "{xxx}" parts are replaced by "{{c1::xxx::translation}}" - as HTML text.
$r Romanization - as HTML text.
$k Term in lowercase (key) - as HTML text.
$z Tag List - as HTML text.
$l Language - as HTML text.
$$ Just one dollar sign "$".
\... Special Characters
\t TAB character (HEX 9).
\n NEWLINE character (HEX 10).
\r CARRIAGE RETURN character (HEX 13).
\\ Just one backslash "".

▶ Contributing to LWT - [↑]

This guide is mainly aimed for developers, but it can give useful insights on how LWT is structured, which could help you for debugging. The first step you need to take is to clone LWT from the official GitHub repository (HugoFara/lwt).

Get Composer

Getting Composer is required if you want to edit LWT on the server side, but it will also make be useful to edit JS and CSS code, so it is highly recommended. Composer is a light-weight dependency manager that does not need a server for running.

Once Composer is ready, go the the lwt folder (most likely lwt/), and type

composer install --dev

This will automatically dowload all the required dependencies.

Create and Edit Themes

Themes are stored at src/themes/. If you want to create a new theme, simply add it in a subfolder. You can also edit existing themes.

To apply the changes you made on a theme, run

composer minify

This command will minify all CSS and JS.

Alternatively, you can run

php -r "require 'src/php/minifier.php'; minifyAllCSS();"

It minifies CSS only.

Debug your theme

You may not want to see your code minified, so you can use

composer no-minify

It has the same effect as copying the folder scr/themes/ to themes/. WARNING: it can break your relative paths!

Add Images to your Themes

We support a smart minifying system: relative path are automatically adapted to point to the previous location while minifying only. As a consequence:

When debugging your theme, files are simply copied to the themes/ folder, which can break the path to files in css/.

My theme does not contain all the Skinning Files!

That's not a problem at all. When LWT looks for a file that should be contained in src/themes/{{The Theme}}/, it checks if the file exists. If not, it goes to css/ and tries to get the same file. With this system, your themes does not need to have the same files as src/css/.

Change JS behaviour

As with themes, LWT minifies JS code for a better user experience. Please refer to the previous section for detailed explanations, this section will only go through import points.

Edit JS code

Clear code is stored at src/js/. Once again, the actual code used by LWT should be at js/. After you have done any modification, either run composer minify or php -r "require 'src/php/minifier.php'; minifyAllJS();".

Debug JS code

To copy code in a non-obfuscated form, run composer no-minify, or replace the content of js/ by src/js/.

Edit PHP code

The PHP codebase is not yet well structured, but here is a general organisation:

Testing your Code

It is higly advised to test your code. Tests should be wrote under tests/. We use PHP Unit for testing.

To run all tests:

composer test

Alternatively:

./vendor/bin/phpunit

Security Check

We use Psalm to find code flaws and inconsistencies. Use ./vendor/bin/psalm.

Your can configure the reporting level in psalm.xml.

Advice: follow Code Style Standards

Nobody likes to debug unreadable code. A good way to avoid thinking about it is to include phpcs directly into your IDE. You can also download it and run it regularly on your code.

Improving Documentation

To regenerate all documentation, use composer doc.

General Documentation

The documentation in split across Markdown (.md) files in docs/. Then, those files are requested by info.php. The final version is info.html, that contains all files.

To regenerate info.hml, run composer info.html.

Code Documentation

Code documentation (everything under docs/html/) is automatically generated. If you see an error, the PHP code is most likely at fault. However, don't hesitate to signal the issue.

Currently, the documentation is generated through Doxygen (run doxygen Doxyfile to regenerate it), but this is likely to change.

Other ways of Contribution

Drop a star on GitHub

This is an Open-Source project. It means that anyone can contribute, but nobody gets paid for improving it. Dropping a star, leaving a comment or posting an issue is essential, because the only retributions developers get from time spent on LWT is to discuss with users.

Share the Word

LWT is a non-profitable software, so we won't have much time, and no money, to advertise LWT. If you enjoy LWT and want to see it grow, share it!

Discuss

Either go to the forum of the official LWT version, or come and discuss on the community version.

Thanks for your interest in contributiong!

▶ Wordpress Integration - [↑]

The following instructions are for users who have installed WordPress, and want to install LWT for multiple WordPress users in conjunction with WordPress authentication. Every WordPress user will have his/her own LWT table set.

  1. Download and install WordPress.
  2. Download and install LWT into a new subdirectory "lwt", located in the main directory of your WordPress installation.
  3. In subdirectory "lwt", rename the file connect_wordpress.inc.php into connect.inc.php, and enter the database parameters $server (database server), $userid (database user id), $passwd (database password), and $dbname (database name, can be the same like your wordpress database, or a different one) by editing the file with a text editor.
  4. In the WordPress General Settings, decide whether anyone can register and use LWT (Membership = "Anyone can register"), or not (an administrator must create new users). The "New User Default Role" should be "Subscriber".
  5. The link to start LWT with complete WordPress authentication is:
    http://...path-to-wp-blog.../lwt/wp_lwt_start.php
  6. The link to start LWT (without WordPress authentication, only by checking the session cookie that is valid until the browser is closed) is:
    http://...path-to-wp-blog.../lwt/
    If the session cookie does not exist, both above start methods are the same.
  7. To properly log out from both WordPress and LWT, use the link:
    http://...path-to-wp-blog.../lwt/wp_lwt_stop.php
    The LWT home page has such a link. If you only log out via the links on the WordPress pages, you will still be able to use LWT until the browser is closed. If you want to log out from both WordPress and LWT, use the above link, or click on the link on the LWT home page!
  8. If you delete a user, you must find out its user number (table "wp_users"). After deleting the user in WordPress, you can delete all LWT tables with table names beginning with the user number plus an underscore "_". You can do this in phpMyAdmin.

▶ Database Information - [↑]

▶ Changelog - [↑]

This project's changelog. Versions marked with "-fork" come from the community, other versions come from the canonical LWT ("official" branch on Git). For git tags, official releases are marked like "v1.0.0", while unofficial ones are marked like "v1.0.0-fork".

2.6.0-fork (January 01 2023)

Added

Changed

Deprecated

Removed

Fixed

Full Changelog

2.5.3-fork (November 06 2022)

Added

Changed

Fixed

Full Changelog

2.5.2-fork (September 27 2022)

Changed

Fixed

Full Changelog

2.5.1-fork (September 16 2022)

Fixed

Full Changelog

2.5.0-fork (July 08 2022)

Added

Changed

Fixed

Full Changelog

Deprecated

2.0.3 (February 15 2022)

Fixed

2.4.1-fork (June 09 2022)

Changed

Fixed

Full Changelog

2.4.0-fork (May 23 2022)

Added

Changed

Fixed

Removed

Full Changelog

2.3.0-fork (April 25 2022)

Added

Changed

Deprecated

Fixed

Full Changelog

2.2.2-fork (February 13 2022)

Added

Changed

Fixed

Deprecated

Full Changelog

2.2.1-fork (February 07 2022)

Changed

Fixed

Deprecated

Removed

Full Changelog

2.2.0-fork (February 04 2022)

Added

Changed

Fixed

Removed

Full Changelog

2.1.0-fork (January 09 2022)

Added

Changed

Fixed

Removed

Full Changelog

2.0.4-fork (December 03 2021)

This version brings a better composer compatibility, and starts revamping mobile compatibility.

Changed

Removed

Full Changelog

2.0.3-fork (November 26 2021):

Serious maintaining is back!

This version should be the stable merge between official v2.0.2 and community maintained 1.6.31-fork.

Added

Changed

Full Changelog

2.0.2 (September 07 2021)

Fixed

2.0.1 (October 07 2020)

Fixed

2.0.0 (October 04 2020)

Fixed

1.6.3 (April 06 2020)

Added

1.6.2 (March 10 2018, this page "info.php" last updated August 12 2019)

Added

Changed

Fixed

Removed

1.6.1 (February 01 2016, this page "info.php" last updated January 13 2018)

Changed

1.6.31-fork (October 03 2016)

Fixed

1.6.30-fork (July 28 2016)

Added

Fixed

1.6.29-fork (April 21 2016):

Changed

Fixed

1.6.28-fork (April 07 2016):

Added

Changed

Fixed

1.6.27-fork (February 21 2016):

Fixed

Removed

1.6.26-fork (February 11 2016):

Changed

Fixed

1.6.25-fork (January 31 2016):

Added

Changed

Fixed

1.6.0 (January 28 2016):

Changed

1.5.21 (January 14 2016):

Changed

1.6.24-fork (January 11 2016):

Added

Changed

Removed

1.6.23-fork (December 13 2015):

Added

Changed

1.6.22-fork (November 11 2015):

Added

1.6.21-fork (October 16 2015):

Added

1.6.20-fork (September 26 2015):

Changed

Fixed

1.6.19-fork (August 29 2015):

Added

Changed

1.6.18-fork (June 11 2015):

Added

Fixed

1.6.17-fork (May 09 2015):

Fixed

1.6.16-fork (May 01 2015):

Changed

1.6.15-fork (April 10 2015):

Changed

Fixed

1.6.14-fork (March 28 2015):

Changed

1.6.13-fork (March 23 2015):

Added

Fixed

1.6.12-fork (March 01 2015):

Changed

Fixed

1.6.11-fork (February 09 2015):

Fixed

1.6.10-fork (January 25 2015):

Changed

Fixed

1.6.9-fork (December 21 2014):

Fixed

1.6.8-fork (December 19 2014):

Changed

1.6.7-fork (December 18 2014):

Fixed

1.6.6-fork (December 16 2014):

Added

1.6.5-fork (December 01 2014):

Fixed

1.6.4-fork (November 29 2014):

Fixed

1.6.3-fork (October 12 2014):

Added

Changed

1.6.2-fork (October 06 2014):

Added

Changed

1.6.1-fork (September 28 2014)

Added

Changes from official LWT version 1.5.20 imported:

Changed

1.5.20 (September 22 2014):

Changed

Fixed

1.5.19 (September 15 2014):

1.5.18 (September 14 2014):

Added

Changed

Fixed

Removed

1.6.0-fork (September 12 2014):

Added

Changed

1.5.17 (June 08 2014):

Added

Changed

Fixed

1.5.17 (August 15 2014, this document updated Aug 17 2014 and Aug 24 2014):

Changed

Fixed

1.5.16 (February 19 2014):

Changed

Fixed

1.5.15 (December 17 2013):

Changed

Fixed

1.5.14 (August 05 2013, this document updated Oct 30 2013):

Changed

Fixed

1.5.13 (July 22 2013):

Changed

Fixed

1.5.12 (July 16 2013):

Added

Changed

Fixed

1.5.11 (July 12 2013):

Added

Changed

Fixed

1.5.10 (July 07 2013):

Added

Changed

Fixed

1.5.9 (July 03 2013):

Added

Change

Fixed

1.5.8 (June 27 2013):

Changed

1.5.7 (June 25 2013):

Added

Changed

Fixed

1.5.6 (June 22 2013):

Fixed

1.5.5 (June 21 2013):

Added

Changed

1.5.4 (June 19 2013):

Added

Changed

1.5.3 (June 14 2013):

Added

Changed

1.5.2 (June 09 2013):

Added

Changed

1.5.1 (June 07 2013):

Added

Changed

1.5.0 (April 22 2013):

Added

Changed

1.4.10 (February 22 2013):

Added

Changed

1.4.9 (August 29 2012):

Fixed

1.4.8 (May 11 2012, some external links updated June 19 2012):

Added

Changed

Fixed

1.4.7 (April 6 2012):

Fixed

1.4.6 (March 14 2012):

Fixed

1.4.5 (October 01 2011, documentation updated Oct 13 2011, external links updated Dec 8 2011):

Added

1.4.4 (September 23 2011):

Changed

1.4.3 (September 21 2011):

Changed

1.4.2 (September 19 2011):

Removed

1.4.1 (September 15 2011):

Changed

1.4.0 (September 09 2011):

Added

1.3.1 (September 05 2011):

Added

Changed

1.3.0 (September 03 2011):

Added

Changed

1.2.2 (August 26 2011):

Added

Changed

Fixed

1.2.1 (August 25 2011):

Added

Changed

1.2.0 (August 24 2011):

1.1.1 (August 17 2011):

Added

Changed

Fixed

1.1.0 (August 16 2011):

Added

Changed

Fixed

1.0.4 (August 11 2011):

Added

Changed

1.0.3 (August 09 2011):

Added

Changed

1.0.2 (August 05 2011):

Added

Changed

1.0.1 (August 04 2011):

Added

Changed

1.0.0 (August 01 2011):

0.9.8 (July 31 2011):

Added

Changed

0.9.7 (July 28 2011):

Changed

0.9.6 (July 26 2011):

Changed

0.9.5 (July 23 2011):

Changed

0.9.4 (July 22 2011):

Added

Changed

0.9.3 (July 21 2011):

Fixed

0.9.2 (July 19 2011):

Fixed

0.9.1 (July 18 2011):

Changed

Fixed

0.9.0 (July 14 2011):

Added

Changed

0.8.2 (July 13 2011):

Changed

Fixed

0.8.1 (July 12 2011):

Changed

0.8.0 (July 11 2011):

Added

Changed

0.7.0 (July 09 2011):

Changed

0.6.0 (July 08 2011):

Changed

Fixed

0.5.0 (June 30 2011):

Added

Changed

Fixed

0.4.0 (June 29 2011):

Added

Changed

Fixed

0.3.0 (June 27 2011):

Added

Changed

Fixed

0.2.0 (June 25 2011):

Added

Changed

Fixed

0.1.0 (June 24 2011):