myMPD v5.7.0 is a big maintenance release. There are only some new minor features, but many code improvements. The integration of the simple dynamic string library prevents most potential buffer truncation or buffer overflow bugs and makes the code simpler. Thanks to code linting tools (flawfinder, eslint, ...) and memory checkers like libasan and valgrind many bugs could be solved. The API follows now the JSON-RPC 2.0 specification and was tested with a simple testsuite and a fuzzer.
myMPD v5.7.0 should be the most stable and secure release.
Changelog:
- Feat: integrate simple dynamic string library
- Feat: migrate API to JSON-RPC 2.0
- Feat: readonly mode support
- Feat: split javascript in smaller files
- Feat: new config option to enable/disable bookmarks
- Feat: validate saved columns
- Feat: translations phrases are extracted from source at compile time
- Feat: add simple JSON-RPC 2.0 API fuzzer to testsuite (uses https://github.com/minimaxir/big-list-of-naughty-strings)
- Feat: add SPDX-License-Identifier
- Feat: optimize minimize and compression functions in build script
- Feat: IPv6 support for self created myMPD certificate
- Fix: add missing translations
- Fix: javascript code uses now === and !== operators
- Fix: warnings from code linting tools (cppcheck, flawfinder, shellcheck, eslint, deepscan.io, codefactor.io)
- Fix: don't use deprecated gethostbyname
- Fix: keyboard shortcuts that call the api directly