- Make socket communication work in blocking and non-blocking mode
- Make initial and follow-up reads work for long messages greater than buffer size in loop of "socket_reader.c"
- Let file "socket_sensor.c" rely upon function "read_device" using "ioctl" internally, since MSG_PEEK with socket read did not work
- Implement device access using function "ioctl" for device-dependent request code (command)
- Refactor gui action handling reading out event details (event_name, x, y)
- Handle window close and resize event
- Avoid flickering of display by considering only the last in a row of multiple expose events in "xcb_deserialiser.c"
- Add all possible event types to "x_window_system_starter.c" and "xcb_deserialiser.c"
- Add gui_event language constant
- Detect mouse clicks properly by adding parent element's origo
- Assure proper nesting of gui elements
- Use default font if none is given
- Store stdin/stdout file stream instead of file descriptor in input/output memory, since stream is a more complex structure containing the descriptor
- Adapt terminal shudown files in order to restore original terminal modes properly
- Merge common startup/shutdown functionality for unix terminal and win32 console
- Hold two separate terminal file descriptors for input- and output
- Unify handling of channel startup and shutdown using new input/output entry structure
- Apply new input/output entry structure to terminal, display, socket
- Sense client requests on socket and other channels using new "executor/acceptor"
- Delete outdated directories and files related to sensing threads, which are not used anymore
- Add new cybol operations "activate/enable" and "activate/disable"
- Filter out non-existing parts in "part_knowledge_deserialiser.c"
- Use type argument instead of hard-coded wide character for comparison in "detector.c"
- Use binary mode always for opening files, no matter if reading or writing, in files "file_reader.c" and "stream_file_writer.c"
- Fix unpredictable errors caused by mixed pointer- and integer calculation in io entry setter and getter
- Make logger work properly (in debug mode causing log files of a size > 100 MB for cybol application "user_interface/gui/")
- Use destination type as source type by default in function "apply_modify", so that cybol operations like "modify/empty" lacking a source part work fine
- Refactor cybol applications "internet/www_server_static/" and "internet/www_server_dynamic/", now being able to handle requests from multiple clients
- Test image transfer and handling of multiple clients in cybol applications "internet/socket_server" and "internet/socket_client"
- Delete binary mode cybol property, since it is used by default now
- Add cybol application "file/copy/"
- Merge all "Hello World!" cybol applications into "examples/hello_world/"
- Introduce new cybol base library "examples/cybol/", in order to provide standard functionality such as "print-newline" or "exit"
- Improve cybol application "user_interface/ui/" with buttons for handling input in tui, gui, wui
- Make cybol application "user_interface/gui/" work again with coloured rectangles on window expose event and printed message on mouse release event
- Reorganise cybol application directory using sub categories
- Replace outdated property name "part" with "destination" in all cybol applications using cybol operation "modify/empty"
- Adapt all cybol applications to use operation "activate/enable" instead of old "live/sense"
- Add step-by-step development instructions for how to add a new communication channel
- Add documentation "src/maintenance_properties.ods" comparing cybol startup/shutdown for various channels
- Add documentation "src/communication_properties.ods" comparing cybol send/receive for various channels
- Extend CMake test "test/terminal_sensor_test" and make it work
- Clean up some CMake tests