|
1 | 1 | Changes |
2 | 2 | ======= |
| 3 | +v3.5.7 |
| 4 | +- global |
| 5 | + - Update deprecated boost::asio APIs |
| 6 | + - Update documentation regarding the vsomeip configurations |
| 7 | + - Addresses most shadowing variables |
| 8 | + - Fixes some old style C-casts |
| 9 | + |
| 10 | +- routing_manager_base |
| 11 | + - Always send initial event on subscription |
| 12 | + |
| 13 | +- routing_manager_impl |
| 14 | + - The rule vsomeip_sec_policy_is_client_allowed_to_access_member, was considered to be redundant, |
| 15 | + therefore it is now removed. |
| 16 | + - Consistently execute/schedule the action (sending, processing a received message), before trace |
| 17 | + the message. |
| 18 | + - Ensure to unsubscribe non selective events. |
| 19 | + - Clear multicast only for last subscriber |
| 20 | + |
| 21 | +- routing_manager_stub |
| 22 | + - Fix SIGSEGV on application register that cna happen if an application sends |
| 23 | + REGISTER_APPLICATION_ID without giving a non-zero port, when using local TCP. |
| 24 | + - Fix client registration thread names. |
| 25 | + - Enforce a client reconnect by dropping the connection client->routingd |
| 26 | + |
| 27 | +- routing_manager_client |
| 28 | + - Replace an erase from know_clients map call with the appropriate function. |
| 29 | + - Make client id show as hex value, in logs |
| 30 | + - Consistently execute/schedule the action (sending, processing a received message), before trace |
| 31 | + the message. |
| 32 | + - Close all connections on "client error". |
| 33 | + - Drop use of netlink and use IP_FREEBIND, for linux and android platforms |
| 34 | + - Ensure client process only once the registration |
| 35 | + - Update security offer rule for messages |
| 36 | + |
| 37 | +- endpoints |
| 38 | + - local communication |
| 39 | + - Added missing timeout handling on connection timeout. |
| 40 | + - Fix use of bound client |
| 41 | + - Change the order how a connection is cleaned-up. |
| 42 | + - external communication |
| 43 | + - Add predicate to condition variables. |
| 44 | + - udp_server_endpoint_impl refactoring |
| 45 | + - local and external communication |
| 46 | + - Set TCP_USER_TIMEOUT on connections, which causes a connection to timeout when data |
| 47 | + remains unacknowledged for more than a certain amount of time. |
| 48 | + - Remove the exponential timer increase from connection. |
| 49 | + - Handle not_socket error on send_cbk. |
| 50 | + - Set was_not_connected to true if not established or connected when send_cbk is called. |
| 51 | + - Close all connections on "client error". |
| 52 | + - netlink |
| 53 | + - optimize get link request by filtering the output |
| 54 | + - optimize bind parameters to the data really needed |
| 55 | + - fix IPv6 handling |
| 56 | + - improve error handling |
| 57 | + - reduce buffer size |
| 58 | + |
| 59 | +- service_discovery |
| 60 | + - Rename IPV3 to IPV4 |
| 61 | + |
| 62 | +- application |
| 63 | + - GCC 15 requires stdint.h to be explicitly imported. |
| 64 | + - Add logs to registering of subscription handlers. |
| 65 | + - Add predicate to condition variables. |
| 66 | + |
| 67 | +- configurations |
| 68 | + - Allow to set any service/instance on supress missing events. |
| 69 | + - Use application name instead of client identifier for specific debouncing configurations. |
| 70 | + |
| 71 | +- plugin |
| 72 | + - Remove unused load_plugins |
| 73 | + |
| 74 | +- tests |
| 75 | + - network_tests |
| 76 | + - Enables Valgrind (massif and memcheck) and removes Valgrind Helgrind. |
| 77 | + - Fix issues with certain Valgrind memcheck tests where Valgrind can't follow TLS memory until |
| 78 | + the thread is completely destroyed, therefore can't confirm whether the thread cleans it up |
| 79 | + after exit, hence it marks it "possibly lost". |
| 80 | + - Fix security tests false positives, in tests that have the missing check for the exit codes in |
| 81 | + the .sh starter script. |
| 82 | + - Added new test to verify if the availability handler is working correctly. |
| 83 | + - Added new test to validate local tcp client registration sequence. |
| 84 | + - Added tests for local tcp communication with fault injection |
| 85 | + - Fix offer_stop_offer_test by leaving the trigger if the (Un)Available to the end of the process |
| 86 | + - unit_tests |
| 87 | + - Fix unit tests failling on Windows |
| 88 | + |
| 89 | +- examples |
| 90 | + - Fix examples on Windows and set them as voting |
| 91 | + |
| 92 | +- documentation |
| 93 | + - Add extra documentation for routing info command |
| 94 | + |
| 95 | +v3.5.6 |
| 96 | +- routing_manager_client |
| 97 | + - Forcing the ON_AVAILABLE log and send subscription of requested services even if availability was |
| 98 | + previously known. |
| 99 | + - Remove pending subscription entry right after calling on_subscription from application impl - race |
| 100 | + condition |
| 101 | + - Add missing mutex on request_debounce_timeout_ck and reset request_debounce_timer_running_ if |
| 102 | + requests_to_debounce_ is empty - race condition (issue: missing request) |
| 103 | + - lock registration_state_mutex_ before sending subscribes and unsubscribes - race condition |
| 104 | + - re-request service availability triggers from the routing host when a client loses the connection |
| 105 | + to a service provider |
| 106 | + |
| 107 | +- routing_manager_impl |
| 108 | + - Convert pending_sd_offers_ from vector to set to avoid repeated service entries. |
| 109 | + |
| 110 | +- routing_manager_stub |
| 111 | + - Send a `config_command` to share the _client hostname with the _target application. the |
| 112 | + config_command message is only sent after the routing_info is sent, thereby guaranteeing |
| 113 | + that the routing_info is processed first. |
| 114 | + - Send ADD_CLIENT command to all the client registered, without considering if they are |
| 115 | + requesting services from this client. |
| 116 | + |
| 117 | +- routing_manager_base |
| 118 | + - Added a change to add_known_client so that the order of calling config_command and |
| 119 | + routing_info_command would not matter. This change only has impact when the clients adds itself |
| 120 | + as a known_client and was made to safeguard its hostname. |
| 121 | + |
| 122 | +- endpoints |
| 123 | + - local comunication |
| 124 | + - Force endpoint to perform port assignment when local network interface becomes unavailable. |
| 125 | + - Check on local_tcp_client and local_uds_client if socket is open before sending. |
| 126 | + - Do not call shutdown_and_close_socket if socket state is connecting - race condition |
| 127 | + - A condition variable was implemented on local-tcp_client endpoint to notify the stop process |
| 128 | + to exit the 10ms wait if an EOF is received in receive_cbk, since the queue is cleared in this case. |
| 129 | + - Ensuring the lifetime of message_buffer_ptr on uds. |
| 130 | + - external communication |
| 131 | + - A state machine was created to cascade the stop -> init + start The goal was to ensure that |
| 132 | + the udp_server endpoint waits on both unicast and multicast stop, and after they are both stopped, |
| 133 | + and the flag restarting is set, the init and start can be called. (issue: Bad File Descriptor) |
| 134 | + - Syncronize the join and leave process of udp server multicast sockets. also (issue: in some situations |
| 135 | + after STR, vsomeip will not join the multicast group used by service discovery). |
| 136 | + - leave and join multicast address only starts when network is ready. (issue: join/leave multicast was |
| 137 | + causing CPU load, because this process starts when network is not ready). |
| 138 | + - Remove use of linger-with-timeout in tse, which fixes blocking socket operations |
| 139 | + - Ensure "shutdown_and_close" is called on "stop". |
| 140 | + - local and external communication |
| 141 | + - Endpoints would start every time find_or_create_local would execute, even if endpoint already existed. |
| 142 | + - Fix is_sending_ status |
| 143 | + - Increase mutex_ scope to include was_not_connected flag on connect (issue: REMOTE_ERROR on response) |
| 144 | + - cancel_and_connect_cbk was updated to only report the connection as successfully terminated when |
| 145 | + cancel_and_connect_cbk is called without error. Previously, it was reporting the connection as successfully |
| 146 | + terminated even when there was a connection error, preventing the endpoint from being. |
| 147 | +restarted. |
| 148 | + |
| 149 | +- netlink |
| 150 | + - Removes the interface index when we get a RTM_DELLINK. |
| 151 | + - Added an option to consider the reset of sd_route_set_ when interface goes down. This is enabled by default. |
| 152 | + |
| 153 | +- security |
| 154 | + - For each received response/notification, call is_client_allowed_to_offer to check whether the sending client |
| 155 | + is allowed to offer the service. This is done only for internal TCP communication; for UDS the check is done |
| 156 | + with the bound client. |
| 157 | + |
| 158 | +- service discovery |
| 159 | + - Fix multicast threshold for initial events. |
| 160 | + - Stop find/offer debounce timers when the service discovery is stopped. |
| 161 | + - Added a mecaism on start of SD, to try rejooin the multicast address if any message was received by 1.1s |
| 162 | + (default timer) (issue: in some situations after STR, vsomeip will not join the multicast group used by |
| 163 | + service discovery). |
| 164 | + |
| 165 | +- IO threads |
| 166 | + - To mitigate IO threads exit and stalled threads, a solution in which the io_context object processing is |
| 167 | + ran for determined duration was developed. This feature is disable by default and can be enable by |
| 168 | + configurations. |
| 169 | + |
| 170 | +- configurations |
| 171 | + - Added configuration to enable io thread mitigation. |
| 172 | + - Enable configuration of client-specific debouncing. |
| 173 | + - Allow global configuration of maximum (additional) dispatchers and dispatch time. |
| 174 | + - Unspecify catch exception for boost exceptions. |
| 175 | + - Added configuration to consider the reset of sd_route_set_ when interface goes down. This is enabled by |
| 176 | + default. |
| 177 | + - Enable global configuration of request debounce time. |
| 178 | + - Support multiple IPsec activation files per connection. |
| 179 | + |
| 180 | +- application_impl |
| 181 | + - Fix host assignment with non-local routing: add SO_REUSEADDR to the non-local routing host check |
| 182 | + |
| 183 | +- runtime |
| 184 | + - Remove the get_mutex_ from runtime_impl - This mutex is not needed, as the static initialization of the |
| 185 | + shared_ptr is atomic. (issue: tombstone in application shutdown) |
| 186 | + |
3 | 187 | v3.5.5 |
4 | 188 | - Fix build issue on Ubuntu 24.04 |
5 | 189 | - Fixing change that was introduced on Fix for Find messages commit |
|
0 commit comments