Changes in version 3.20
Released december 2022
In short:
- Completely ported to Linux;
- TV's server and it's plugins can now handle Unicode characters;
- New switches let you run multiple instances of TV's server with different settings;
- TV's server now offers Log functionallity for debug purposes;
- Error in the documentation is fixed in page "Protocol data storage". The value and valuename of a Blocked Protocol in "Registry layout" where swapped in previous documentations
- Some bugs where fixed, a new function is introduced and the highest API version was set to 1.02.
Unicode
Every function from this version will always work in UTF-8 mode. Internally TV's server works with UTF-8, UTF-16 and ANSI. In previous versions TV's server could only work in ANSI mode and accepted UTF-16 communication from the plugins to some degree. This howver was documented as 'Unicode' and not as 'UTF-16', probally why nobody was using this feature. All the flags that the developer could use to switch between ASCII and Unicode are removed.
- Data retreived using GetPluginData that exists in the registry as REG_SZ, will be converted to UTF-8;
- Data saved by SavePluginData will be saved as REG_BINARY, and theirfor, every plugin can choose heir own text-encoding;
- A string that is being set using the control panel by SavePluginData will saved as UTF-8;
- Function EscapeHtmlAndSendValue now supports flag HSV_DONT_ESCAPE_ANSI;
- The HTTP plugin can now handle UTF-8 URL requests;
- EscapeAndSendValue now also escapes characters between range 0x80-0xFF.
Switches
The switches -r, -n, -d, -l and -o can now be used with TV's server.
- -r Can hold a string with the registry key on Windows or the path to a directory in Linux. This registry key or directory will be used to read and save the settings. The default register key is HKEY_LOCAL_MACHINE\SOFTWARE\TV's software\TV's server v3. The default path is /etc/tvs-server-x64 or /etc/tvs-server-x86;
- -n can hold a string with an alternative service name. This can be used in combination with the start/stop/install/uninstall switch. TV's server v3 (x64) OR TV's server v3 (x86) are the default names;
- -d can hold a string with an alternative service description that is used when the service is being installed;
- -l can hold a string with the path to a log file that will be used to log. Without this switch TV's server will not produce a log file. On Linux, instead of a file path, you can simply enter 1 to write all the log to the console;
- -o can hold a string with the log options. By default, if switch -l is used, TV's server will log every message. This switch can be used to choose or combine status, warning and error messages. This can be one or a combination of the following options (for example: "me" will log normal status message and error message, but not warning message):
- m normal status messages will be logged;
- w warning messages will be logged;
- e error messages will be logged.
Log functionality
It is now possible to
log the status, error(s) and warning(s) in one combined
log. If the user uses the switch -l, these message will be saved in an output file.
HTTP protocol
- Function EscapeValue introduced
- Fixed: Date in HTTP header did not adjust to the summer/winter time
HTTP plugin
- Now allows index pages for directories.