Due to major changes, this version might break some things, both intentionally and not. Reasoning for the changes I'll include after the changelog.
Added:
- PySide2 is now supported alongside PyQt5 via the QtPy abstraction layer. PyQt5 is still the default, at least until PySide2 becomes fully stable
- Presets for levels, with behavior similar to header presets
- Time field formatting (can be configured in the appearance settings)
- Saving and loading records into files, encoded/decoded with JSON
- Support for non-Python clients:
- Extra fields mode
- Multiple serialization formats (can set the default in the server settings)
- Internal commands to manage certain options
Removed:
- Level numbers
- Ability to change the level name in level editor
Changed:
- Rearranged the menu bar and the settings a bit
- Many other small things
Right after releasing this program I stopped using Python as much as I used to and started writing a lot of Go. I began to miss this program while working on Go projects. So I had to make some changes to allow for more generic logging without the need for clients to imitate Python's logging module 1-to-1.
The result of this effort is that now it's possible to use cutelog as output for log records from any language. Information on how to do that can be found here.
Also I created gocutelog, a small Go package that acts as a bridge between existing Go logging libraries and cutelog.