ChangeLog EibPC² Firmware
-------------------------
* Only install this update on an Enertex(R) EibPC²!
* Please clear the browser cache after updating.
5.408 (2025-11-26)
    * Fix:
        - open correct page when first page(es) are password protected
        - handle invalid element index for web updates
    * New:
        - increase compatibility with older devices (Chrome 78)
        - delac/after time are not affected when setting system time
        - ripple animation to indicate input before KNX status is displayed
5.407 (2025-11-11)
    * New:
        - remove visu session from shared memory on logout
    * Fix:
        - restart internal interface parse error
5.406 (2025-11-05)
    * Fix:
        - startmqttbroker: allow anonymous user according to manual
        - historybuffer: invalid signed/unsigned handling
        - visu: reload page when firmware sends "permission-denied"
5.405 (2025-10-31)
    * New:
        - rtsp: new arguments
        - historychart: new arguments
        - historybuffer: new arguments
        - restart internal interface after configurable time without telegrams
    * Fix:
        - historychart: dynamic update
        - visu: disable HLS
        - disable webserver when installing firmware
        - visu: previous/next buttons before group name
        - visu: reload page after temporary connection issues
5.404 (2025-10-10)
    * New:
        - new functions: ready, blackout, webtts
        - deleting Historybuffer or Timebuffer file also clears memory
        - use HLS instead of WebRTC, currently no option to switch
        - allow direct stream access (HLS: :8888, WebRTC: :8889)
    * Fix:
        - api calls
        - visu/historychart: set initga for group addresses
        - reset historybuffer leads to crash
5.403 (2025-10-01)
    * New:
        - HistoryChart: set hour aggregate operation depending on historybuffer type
    * Fix:
        - RTSP buffer size, allow TCP and UDP for RTSP
        - HistoryBuffer: store values after KNX read requests
5.402 (2025-09-23)
    * New:
        - picture elements use <img> instead of CSS backgrounds to increase browser compatibility
        - updated internal dependencies
    * Fix:
        - visu reconnects
5.401 (2025-09-16)
    * New:
        - changed communication between firmware and visu to SSE
5.400 (2025-09-15)
    * New:
        - do not log repeating events but count repetitions
        - limit number of events to 1000
        - new function replace
        - historybuffer, historycharts
        - changed default string convert and web output format for f32 values from scientific to .3f
        - changed default string convert and web output format for u64/s64 from scientific to decimal
        - modbusslave: generate event ERR_MODBUS_SLAVE_UNSUPPORTED_TYPE when unsupported data type is used
        - internal web message queue handling rewritten
        - internal timing of tcp, display, knx is not affected by changes of the system time
        - h265 rtsp streams for supported browsers
        - weboutput: new style
    * Fix:
        - httpapi only returns first character of value
        - httprequest: allow digest auth
        - KNX interface: timers were affected by system time changes
        - parsejson: check string check optimized
5.302 (2024-12-16)
    * New:
        - KNX tunnel:
            - send ConnectionRequest without SearchRequest/SearchResponse
            - optional NAT mode
            - optional Port
    * Fix:
        - KNX Data Secure: memory leak
        - mqtt: send binary data in Network Byte Order (big endian)
5.301 (2024-11-26)
    * Fix:
        - play alarm sounds on iOS/macOS devices
5.300 (2024-11-20)
    * New:
        - KNX Data Secure: import KNX group address keys, decode telegrams, log errors
        - copy webserver root certificate to /upload dir to easily import certificate
        - visu: link to CA certificate in settings dialog. Requires regeneration/upload of CA certificate.
    * Fix:
        - correctly set text color when changing to blue
        - blue design: minimal color adjustment
5.203 (2024-11-06)
    * New:
        - reduce size of timechart navigation icons on small devices
    * Fix:
        - httpdownload filename pattern changed
        - dynamically change text of link, plink
        - modbusmaster: even more detailed error log events
        - modbusmaster: check if connection is already closed and reconnect before sending new request
        - visu: create line elements correctly
        - visu: error when webdisplay string is too long
        - webserver stopped when time jumps
5.202 (2024-09-04)
    * New:
        - visu: show background for login form
    * Fix:
        - visu: page navigation on login pages
        - weboutput size invalid
5.201 (2024-09-03)
    * Fix:
        - webserver fails after a while
        - factory reset: deleting scenes failed
5.200 (2024-07-26)
    * New:
        - load /upload/user.css after predefined styles
        - preload /upload/alarm[1-5].mp3
        - cgi script /visu/api to change values mapped with httpapi()
        - readmodbus, writemodbus: optional slave id to change id for single requests
        - new function queuelength, modbusmastertimings, webdialog, functions doorbird, rtsp
        - generate SSL certificates with ip and eibpc2 as SAN
        - new webserver version
        - visu: upload allow mp3, svg, css
        - visu: Doorbird IP video door intercom with bidirectional audio
        - visu: RTSP forwarding via WebRTC
        - visu: responsive height of picture, weboutput optimized
        - visu: new icons
    * Fix:
        - modbusmaster: more detailed error log events
        - visu: change multibutton/multishifter selection by pdisplay
        - debugger: do not allow to read/write objects before main loop started
        - httprequest: always report event if request fails, additionally to return value
5.111 (2024-04-26)
    * New:
        - MQTT final release
        - new icons
        - cache Website JS to minimize loading time
5.110 (2024-01-16)
    * Fix:
        - allow adding b01-values to timebuffer
5.109 (2023-12-15)
    * Fix:
        - visu: invalid timechart data for timebuffer index > 64
5.108 (2023-12-08)
    * Fix:
        - visu: timecharts: add local timezone offset when selecting dates
        - visu: unable to log in with Safari (iOS, MacOS)
        - visu: responsive-visu.min.js is loaded twice
5.107 (2023-12-07)
    * New:
        - update OpenVPN hash algorithm and ciphers to enhance security (may require a new profile and client update!)
        - nconf-srv: send test mail from EibStudio
        - mqtt: increased number of max. subscriptions to 1000
        - mqtt: startmqttbroker only restarts broker if config file changed
        - visu: show login form when requested page requires (a different) login or when no page is available without login
        - visu: new icon: WINDSOCK (141u08)
    * Fix:
        - send mails via freenet failed
        - visu: error when all pages require login
        - visu: mtimechart: full ring buffer always returned values starting with index 0
        - visu: mtimechart: if start position is outside of range, reset chart to default range
5.106 (2023-10-30)
    * Fix:
        - time range selection dropdown of timechart 4x2 does not work
        - time range selection dropdown: changed last 24 hrs label
5.105 (2023-10-26)
    * Fix:
        - (p)eslider: changing from -n to 0 did not update output
5.104 (2023-10-24)
    * New:
        - webinput: tunable-white picker added
5.103 (2023-10-19)
    * Fix:
        - more than 3 nameserver cause error
5.102 (2023-10-16)
    * Fix:
        - timebuffervalue: failed when value was not found by binary search
5.101 (2023-10-13)
    * Fix:
        - timebuffervalue: failed when value was not found
5.100 (2023-10-09)
    * New:
        - new functions base64encode, basea64decode, toupper, tolower
        - new New MQTT client (mqttclient, mqttpublish, mqttsubscribe) and broker (startmqttbroker, stopmqttbroker)
        - remove DHCP leases on factory reset
        - convert(0u64, $$) returns exact value instead of scientific notation
        - visu:
            - icons in topnav and navbar can be changed
            - timechart: behavior of zoom changed to show right half, not center of time range
            - timechart: keep selected time range until navigation/zoom/reset
            - timechart: time range input debounce time increased to 3s
            - timechart: zoom out not possible if only a single value is shown.
            - buttons of any size, links: click event for whole element
    * Fix:
        - modbusmaster: sync object status
        - removed undefined s24, u24 datatypes from readmodbus/writemodbus
        - do not restart if firmware update transfer failed
        - conflict of ftp handles and telegram export (regression from version >=5.000)
        - visu:
			- mtimechart: return first and last value from time range interval
			- handle empty background URL like no background URL
			- never move first element in row into previous row
5.007 (2023-05-22)
    * Fix:
        - html header: webmanifest with credentials. Required if https with auth is enabled
        - config file parse error
5.006 (2023-05-22)
    * New:
        - visu: responsive colum adjustment can be disabled
    * Fix:
        - reboot eibpc took longer than necessary
        - visu: allow pages without group name
5.005 (2023-05-15)
    * Fix:
        - modbus master: write string uses invalid data
5.004 (2023-05-05)
    * Fix:
        - visu: failed to start webserver when pages use header or footer URL
        - modbus master: write data invalid
        - modbus slave: invalid request handling
5.003 (2023-05-02)
	* New:
        - visu: replace /visu/index with new visu. Use /visu/index4 to get old visu
    * Fix:
        - visu: chart dows larger
        - visu: (p)chart: changed height to two columns
5.002 (2023-04-25)
    * Fix:
        - mtimechartpos: show newest timebuffer values if offset is out of range
        - visu: interpolate value for stacked timecharts if chart misses timestep
        - visu: prevent long button name from hiding status text
5.001 (2023-04-20)
    * Fix:
        - timechart shows initial timebuffer on start
        - timechart navigation buttons
        - visu: interchanged PHONE (now: 65u08) and PERSON (now: 66u08) icons
        - visu: no animation for font size change of topnav
        - visu: multishifter: allow dropdown to use free space is status is empty
        - visu: no scroll bar for button text
        - visu: show current page centered when navigation is opened
        - visu: timechart did not update after changing shown timebuffer in program
        - visu: update topnav height when fontsize is changed
5.000 (2023-03-23)
    * Fix:
        - visu: invalid html code for slider with integer value
        - ping: no not update dependencies on init and only when state changed
        - stringset: set substrings in strings
        - convert: b01/b02/b04 to f32
        - thread handling rewritten
        - firmware update: show display status info while updating
        - set: reverted change from memcpy to strcpy when s2=s1.
        - httprequest: possible memory leak when allocating new request failed
        - update display info when button is pressed
    * New:
        - firmware update: max file size increased
4.116 (2023-01-26)
    * New:
        - visu: show top nav when scrolling up
        - visu: new option to always show top nav
    * Fix:
        - slider, colorpicker overflow
4.115 (2023-01-11)
    * Fix:
        - visu: hangs after too many requests
        - visu: keep empty lines
        - visu: line text does not scroll
    * New:
        - visu: new option for topnav
4.114 (2022-12-22):
    * Fix:
        - visu: navigate to visu page via js
        - correctly init webinput visu elements
        - omit None-Elements if row has no other elements to fix row break for smaller display
4.113 (2022-12-09)
    * Fix:
        - urldecode: change encoding
    * New:
        - new responsive visu
        - sendmail/sendhtmlmail rewritten. Can now send mails with 65534 bytes
        - httpreq: allow HTTP/0.9 responses (plain data without header)
4.112 (2022-03-15)
    * New:
        - Modbus: number of handles increased to 20 (was 4)
4.111 (2021-07-14)
    * New:
        - factory reset timeout reduced to 10s
    * Fix:
        - if HTTPS is enabled on update, webserver only starts after removing and resetting HTTPS.
        - index CGI: missing '&' before session in dropdown menu links
4.110 (2021-06-21)
    * New:
        - new function to generate OpenVPN TLS key
        - new function to upload CA, HTTPS and OpenVPN certificates
        - Telegrampuffer 500000 Telegrams with webserver (was 150000)
        - httpreq: option to not follow HTTP 30x redirects
        - HTTPS Visu is enabled automatically if a SSL-certificate is available, generated or uploaded
    * Fix:
        - easterday: wrong easterday on 31.12 23:00 if timezone uses DST
4.109 (2021-03-08)
    * Fix:
        - enable igmp snooping for multicast address
        - modbus: disconnect and reconnect on connection timeout
4.108 (2020-11-23)
    * Firmware:
        - new functions: difftime, localtime, localtimeconvert
        - allow firmware-update via OpenVPN connection and keep configuration
        - show active options on display
        - bugfix:
            - utcconvert: use UTC instead of localtime
            - utc, utcconvert: update dependencies
            - modbusmaster: used invalid descriptor
4.107 (2020-10-27)
    * Firmware:
        - allow ETS connections to internal knxnet/ip interface via VPN
        - NTP: disabled monitor and mode 6 query
4.106 (2020-09-25)
    * Firmware:
        - modbus-master: execution rate changed to 10 requests/s
        - bugfix:
            - modbus-master: recover after connection loss
            - modbus-slave: update modbus resource when object changes
            - webserver: changed label width
4.105 (2020-07-14)
    * Firmware:
        - Power LED hearbeat instead on constantly on
        - Support for group addresses with main group > 15
        - hash: optional size parameter
        - size: optional encoding parameter, useful to get the length of an encoded string
        - bugfix:
            - httprequest:
                - limit maximum number of pending requests to 1000
                - execution rate changed to 10 per second
        - bugfix: skip storing scene when readrequest is not answered
4.104 (2020-07-03)
    * Firmware:
        - bugfix: modbus master read does not return register
4.103 (2020-06-30)
    * Firmware:
        - bugfix: c14 telegrams are not sent
        - bugfix: send c1400 from debugger
        - httprequest: always set timeout
4.102 (2020-06-26)
    * Firmware:
        - httprequest changed to return http status, header and body
        - no restart before chaning network configuration, firmware update,
          program transfer
        - bugfix: ETS tunnel failed when addr 15.15.1, 15.15.2, 15.15.3
        - bugfix: Reset program on factory reset
4.101 (2020-05-29)
    * Webserver:
        - bugfix: change pagelinks without page reload
        - bugfix: show default header/footer in single line on mobile devices
    * Firmware:
        - bugfix: No newline character at end of email subject
        - bugfix: utc() string format
        - new functions: toupper(), tolower(), modbusmaster(), modbusread(), modbuswrite(), modbusslave()
4.100 (2020-03-13)
    * Firmware:
        - new functions: httprequest(), parsexml(), parsejson(), hash()
        - bugfix: scenes are not stored
    * Webserver:
        - bugfix: Mobilezoom not page-specific
        - bugfix: Picture: auto-update all pictures
4.013 (2019-12-17)
    * Webserver:
        - bugfix: Picture: auto-update all pictures
        - bugfix: Touch for slider elements
    * Firmware:
        - bugfix: fix string convert
        - improve speed of sun data calculation
        - list device in Windows network device list (UPnP)
4.012 (2019-09-16)
    * Webserver:
        - bugfix: Picture: fix position, zoom
        - bugfix: Large visualization pages were truncated
    * Firmware:
        - bugfix: Enable/disable NTP client in projectsettings
        - bugfix: List all variables stored using writeflashvar
        - bugfix: LEDs blink when factory reset can be triggered
        - bugfix: Internal knxnet/ip interface did not answer requests from EibPC
4.011 (2019-05-28)
    * Firmware: changed display text
    * Webserver:
        - bugfix: date webinput
    * FTP upload: allow spaces in path
4.010 (2019-05-10)
    * Firmware:
        - bugfix: internal interface w/ VPN tunnel
4.009 (2019-05-06)
    * Firmware:
        - bugfix: wait for IP on startup
4.008 (2019-05-02)
    * Firmware:
        - sync hwclock
        - internal knxnet/ip interface activated
4.007 (2019-03-01)
    * Webserver:
        - allow .gif
4.006 (2019-02-27)
    * Firmware:
        - minor optimization
4.005 (2019-02-15)
    * Firmware:
        - added CPU-usage to system information
        - bugfix: read out serial number
4.004 (2019-02-05)
    * Firmware:
        - bugfix: email subject utf8-encoded
4.003 (2019-01-31)
    * Firmware:
        - Allow EibPC2 to set ft1.2 interface for "simulation"
        - bugfix: ssl webserver startup
4.002 (2019-01-08)
    * Firmware:
        - added CPU-usage to system information
        - Display: changed font, more output
4.001 (2018-12-06)
    * Firmware:
        - EibPC2 support
