Skip to content

Releases: COVESA/vsomeip

vSomeIP-Lib 3.7.3

12 May 08:11

Choose a tag to compare

v3.7.3

  • global

    • Upgrade to C++20
    • Bump boost to 1.75
    • Log commit hash and branch
    • Minor fixes and clean-ups
    • Replace finds with contains
    • remove live-loops in dispatcher code
  • endpoints

    • Use endpoint_manager_impl for local broadcast
    • Do not erase from targets_ on send_error
    • TCP boardnet fake socket implementation
    • fix deliver_notification/register_event race
    • fix queue limit check
  • Service Discovery

    • Send StopOffer during initial wait phase
    • Send StopOffer per service instance
  • routing

    • Separate the watchdog from the routing_info_
    • Synchronize consumed event promotion with subscription
    • Sync subscriptions with provided_event updates
    • Avoid rmi->rms for availability
    • Split eventgroups_ map
    • Separate events_ map
    • Make set_routing_state fully atomic
    • Fix lock inversion in rmi
    • Synchronize pending events with available services
    • Ensure parent subscription has sent initial events
    • Fix wrap around to VSOMEIP_SEC_PORT_UNSET on UDS
    • remove static from variables
    • Update placeholder cache
  • tests

    • Fix and simplify header_factory_test_send_receive
    • Fix test_connection_restoration
    • Flush when releasing gate
    • Modify stop_service contract
    • Avoid race in npdu_test_client
    • Add someip sd control gate
    • Follow-up clean-up/fix signal handlers
    • Fix suspend_resume_test_client with debug build
    • Fix subscribe_notify_one tests
    • Add arguments to timeout log
    • Stabilize fake_socket test
    • TCP user timeout new fix
    • Fix hybrid_mode_test_with_fake_socket
    • Add suspend_resume_test_connections
    • Make reuse client id test as a sequential test
    • Fix npdu_test_udp memcheck errors
    • Adds perf+flamegraph to docker memory_test
    • Enables and fixes mem test
  • ci

    • Fix gcovr tracefile expansion removing quotes

vSomeIP-Lib 3.7.2

20 Apr 14:58

Choose a tag to compare

v3.7.2

  • global

    • Internal header w/ cmake instead of using macros in the header files
    • Minor log level changes
    • Remove trailing whitespaces
    • Introduces hybrid mode
    • Deprecate RS_DIAGNOSIS
    • Fix payload not being printed on android
  • endpoints

    • Separate the two endpoint_manager
    • Decouple endpoint_manager_base from routing_manager_base
    • Fix missing lock in udp_client_endpoint
    • Fix UDP connection availability loop
  • service-discovery

    • Fix data races in the service discovery
    • Allow subscriptions as soon as the service is offered
  • routing

    • Fix availability, host state, tcp address races in rmc
    • Trigger routing_state_handler_ in all states
    • Fix missing clean-up of pinged clients
    • Only one mutex for serviceinfo
    • Move offered services into rmc/rmi
    • Add preparation stage to serviceinfo
    • Move events out out routing_manager_base
    • Move implementation of event_dispatcher
  • tests

    • Add post tests log level tests
    • Re-enable memory_test
    • New "broken behavior" test
    • Remove flaky shutdown_tests
    • Add robustness to flaky stress test
    • Fix offer test external
    • Add test for routing state handler states
    • Cleanup offer test big sd msg
    • Fix initial event client data race

vSomeIP-Lib 3.7.1

09 Apr 13:20

Choose a tag to compare

v3.7.1

  • global

    • avoid routing info race on reconnect
    • move the client environment into local_endpoint
    • remove use of target_include_directories
    • dump message on parsing error
    • set thread priority on multicast thread
    • fix runtime endianness check
    • fix compilation with gcc15
    • fix uninitialized variable
    • fix android compilation issues
    • serialization cannot fail
  • application

    • fix detached dispatcher thread
  • runtime

    • fix logger include
  • service discovery

    • no messages while suspended
    • improve subnack logging
    • fix selective event subscription race
  • routing

    • fix subscription race
    • cleanup rmi notification hack
    • cleanup policy_manager usage
    • drop second registration phase
    • drop graceful de-registration
    • remove minor for request/release service
    • remove subscription state on disconnect
    • remove the routing_manager interface
  • endpoints

    • fix multicast read loop race
    • split routing_host into a boardnet variant
    • fix auxiliary_context restart
    • split the routing app in two
    • accept tcp incoming connections before subscriptions + test
    • reset queue size when dropping messages
    • revert flush_queue for boardnet
    • update async_accept to use the peer-endpoint overload
  • tests

    • remove assert from common
    • Interpret more data on the wire (fake_socket_tests)
    • test concurrent fixed client-id app registration
    • increase timeout for memory_test
    • remove small timeouts
    • switch client id test with fake sockets
    • use boardnet addresses for boardnet tests
    • fix race(s) in malicious_data_test
    • fix script to properly detect valgrind errors
    • fix test_vlan_toggle_registration
    • more boardnet tests
    • refactor bool in dispatch app tests
    • remove npdu test dead code
    • enable shutdown_tests
    • split the test_connection_restoration file
    • fix reuse client id test
    • bump initial phase timeout for suspend_resume_initial test
    • bump initial timeout in suspend_resume_initial test #2
    • fixes flaky boardnet tests
    • fix thread ctor race against join
    • specify ports by default
    • fix routingmanagerd deadlock
    • introduce config writer helper
    • solve dispatch_app_outlives_global failures

vSomeIP-Lib 3.7.0

07 Apr 09:44

Choose a tag to compare

v3.7.0

  • global

    • remove additions from logger.hpp
    • try to send data before stop application for Boardnet
    • introduces an helper to format hex values into 4 digit string
    • fix TC on android
    • bump duplicate offer to error
    • log first SD message kpi
    • report invalid client ids
    • macro helper to add prefix+func to vsomeip logging
    • log clean-up
    • remove RIE_ADD_CLIENT towards service usage
    • fix /proc/net/* dump header
    • drop "internal routing disabled"
  • service discovery

    • log SD request and release
    • fix event reliability nack
  • application

    • terminate on unexpected io_context exceptions
    • implement connection control
  • endpoints

    • switch to client/server arch
    • avoid syscalls directly for abstracted udp sockets
    • fix ucei end-of-read-loop on error
    • fix for a "never cleaned up" local_endpoint
    • refactor message receiving for multicast messages
    • do not wait if ep broke inbetween
    • use local_ep for subs from the router
    • fix get_connected_clients after rearch
    • avoid hanging le on operation_aborted
  • tests

    • corrects CONFIG_ID command parsing
    • capture slave coredumps
    • allow parallel execution
    • fix race + ensure_sequence_of_* tests
    • create global test helpers
    • remove magic sleeps for Boardnet
    • extend shutdown_test for Boardnet
    • add timeout and abort on failure features to test_main
    • test re-registration scenario on VLAN toggle
    • fix routingmanagerd return codes
    • make application_test nicer
    • fix subscribe_notify_one failures on memcheck
    • tcp user timeout tests
    • drop handle_early_routing_info_* test
    • enable fake_socket tests for uds
    • update lazy_load_test to use different hostnames
    • fix offer_test_local
    • add base udp testing mechanism
    • fix test flakiness
    • fix dispatch_app_stop_test race
    • fix flaky field_updates_are_resend*
    • ensure the router does not notice the broken connection
    • split the test suite into multiple binaries
    • add boardnet event handling sanity checks
    • fix iterator SIGSEGV
    • fake boardnet test w/ str
    • fixes flaky test
  • routing

    • fix hangs in restart_sender
    • add log in rcsm to log client id change
    • ping server upon client re-request
    • remove RIE_ADD_CLIENT towards service usage
    • offer/stop service operations are now fully atomic
    • ensures that proper routing info is kept

vSomeIP-Lib 3.6.4

31 Mar 16:01

Choose a tag to compare

v3.6.4

  • global

    • improve logging
    • add defaults to CMakePresets
    • scoped lock all recursive mutexes
    • remove unused definitions
    • cleanup exported symbols
    • pragma once the entire codebase
    • debouncing drop send_current_value_after
    • fix internal.hpp with ANDROID_CI_BUILD flag
  • application

    • fix plugin_manager_impl singleton free-after-use on dtor bug
  • endpoints

    • refactor local_endpoint::start
    • drop prepare_stop
    • fix data race when calling get_local_port()
    • fix delayed availability
  • routing

    • send initial event on every sub
    • fix missing find on resume
  • tests

    • general test speedups
    • remove valgrind trace-children-skip
    • stop routing app last
    • extend helpers to simulate suspend
    • enable ctest -R for fake socket tests
    • fix offer_test_local race condition
    • fix usei_fixture.no_overwrite
    • fix someip_tp_tests
    • fix block_registration_process
    • rewrite process_manager
    • new subscribe_before_register test
    • new shutdown_test for IPC

vSomeIP-Lib 3.6.3

18 Mar 11:53

Choose a tag to compare

v3.6.3

  • global

    • rework shutdown to simplify thread detach mechanism
    • avoid is-allowed call as sender
    • fix lock smells
    • remove remaining DLT uses
    • fix Android compilation issue
    • add endpoint status logs on routing manager client
    • fix broken android build when ANDROID_CI_BUILD is not set
    • reuse clientids asap
    • remove libboost_thread as a dependency
    • removing CI ANDROID ifdefs
    • decrease log level in local_server
    • fix application version logging
    • logging when registration/Assignment times out
    • add libboost_system for Android build
    • do not print network state if files are empty
    • enable udp abstraction
    • copyright header updated
    • watchdog offers
    • soft revert of rework shutdown to simplify thread detach mechanism
    • fix include of internal.hpp on android
    • adjust valgrind-memcheck instance
    • try to send data before stop application for IPC
    • update nodes for network-tests
    • drop dead code blocks
    • merge asan/lsan/ubsan jobs
    • fix stop offer watchdog
  • endpoints

    • fix presence of TCP FINs
    • make libsystemd dependency optional
    • remove redundant set_connected and set_established
    • drop message if it is over VSOMEIP_MAX_UDP_MESSAGE_SIZE
    • fix send_queued error handling
    • downgrade error log
    • trim timer logs
    • abstract uds sockets
    • remove wait_connecting_timer
    • wait for sent data on stop
    • endpoint_host -> boardnet_endpoint_host
    • introduce the boardnet_endpoint
    • check client_id when accepting a connection
  • routing

    • log event caching
    • fix routing race
    • unified log message structure
    • fix availability inconsistency
    • introduce routing_client_state_machine
    • minor serviceinfo cleanup
    • unified log message structure
    • fix double stop race condition
    • improves readability with structured binding
    • fix debounce race
    • removes deprecated config_id command
    • fix debounce_filter race
    • flush SOME/IP-SD at suspend
  • runtime

    • fix racy properties_
    • sayonara shutdown thread
  • tests

    • optimize all external_local tests
    • add reuse_client_id_tests
    • remove tags from registration check test
    • fix network_tests/someip_tp_tests
    • enable dropping and injection of vsomeip commands
    • fix reproduction_allow_reconnects_on_first test
    • make reuse_clientID_test more robust
    • fix malicious_data_tests
    • fake socket tests timeouts
    • attribute_recorder cleanup
    • fix client_id test
    • fix initial_tests signal logic
    • fake-socket-tests minor updates
    • fix deadlock on socket_manager
    • speed up magic cookie test
    • speed-up local huge_payload test
    • introduce sequence tests for fake_sockets
    • generate coredump on timeout
    • fix memory_test
    • remove sleeps
    • add routing info conflict tests
    • remove files to run network tests as bat
    • fix gcc unit tests coverage job
    • minor test speedups
    • remove "manual" execution, add setup script
    • removes DLT TSAN suppression, since DLT is not used for tests
    • updates delay message processing helper function
  • application

    • fix missing executor guard, again
    • fix availability_handlers_ race

vSomeIP-Lib 3.6.2

23 Feb 14:41

Choose a tag to compare

v3.6.2

  • global

    • Adapt wireshark plugin for newer wireshark versions
    • Improve logs for registration process
    • Trigger SIGABRT on EBADF
    • Trigger SIGABRT on unexpected IO exit
    • Bump minimum version of Boost to 1.74
    • Check for EINVAL and react supporting errno
    • Fix policy check
    • Remove initial/end tag check on wireshark dissector
    • Add missing include for unordered_map
    • Replaces std::lock_guard with std::scoped_lock
    • Fix missing headers for build
    • Change type for getsockopt variable
  • application

    • Fix missing executor guard
  • routing

    • Enable caching of unknown events by default
    • Rework "Routing Ready" message
    • Fix lazy loading of security policies
    • Minor rework in client id assignment
    • Do not send STOP OFFER when registering application
    • Unified log messages
    • Ensure stop_offer/offer completes before next command
    • Enable boardnet OFFER/STOP OFFER log
    • Ensure lazy load of client before using security
    • Fix order of on_*offer_service/on_available
  • endpoints

    • Restructure local endpoints
    • Reset sending flag for UDP server endpoints
    • Fix max-connection-attempts
    • Fix deadlock
    • Fix byte order
    • Remove the server_endpoint interface
    • Workaround to race condition with restart list
    • Fix acceptor deadlock
    • Ensure buffer is not cleaned up while asio might use it
    • Fix escalate race condition
    • Fix uninitialized sec_client
    • Avoid security failures on the daemon side
  • tests

    • Fix offer_test_external
    • Fix pending_subscription_tests
    • Fix suspend_resume_test_initial
    • Fix local_routing
    • Optimize offer_test_external
    • Optimize external_local_payload_test_client_external
    • Fix tests timing
    • Fix E2E return codes
    • Improve initial event tests logging
    • Include unit-tests in network-tests
    • Wait after killing apps
    • Add bash -x

vSomeIP-Lib 3.6.1

22 Jan 16:42

Choose a tag to compare

v3.6.1

  • global

    • support compilation with gcc15
    • enable CMAKE_EXPORT_COMPILE_COMMANDS
    • introduce a thread-safe timer utility
  • application

    • fail early, fail fast for unknown messages
    • revert "IO threads exit mitigation"
  • routing

    • create local receiver on start
    • fix remote subscription expiration
    • deliver service availability only after endpoint creation
  • tests

    • add regression test - client ignores server connections for a while
    • add another fake_socket test
    • update subscribe notify tests documentation
    • update shebang line to interpret as bash
    • new network-test for start-stop-start application
    • doc and fix second address tests
    • doc and fix offer_test
    • doc and fix routing tests
    • fix payload tests return codes
  • endpoints

    • fix race condition in connections_ map changes
    • drop unused state
    • no waiting when stopping due to error
    • set tcp quick ack

vSomeIP-Lib 3.6.0

08 Jan 09:48

Choose a tag to compare

  • global

    • drop vsomeip2 compatibility
    • keep libvsomeip for Android.bp
    • logging improvements
    • cleanup ANDROID+USE_DLT macros
    • change return type of get_sec_client
    • fix support for recent versions of cmake and boost
    • remove hardcoded CXX FLAGS for optimisation level
    • add support for forwarding to logs
    • fix logging of SIZED_CSTRING
  • endpoint

    • deserialize full name on assign_client command
    • remove pointless mutex from endpoint manager
    • cleanup is_closed+cei_state_e::CLOSED
    • reset flags on connect_cbk
  • routing

    • ensure sub ack is sent after sub insert
    • fix rmi consistency across logging
    • sync delay resume with net changes
    • restrict routing state to routing_manager_impl
    • small rework of on_message
  • tests

    • fix initial event tests
    • enable tracing for all tests
    • doc and fix memory_test
    • fix suspend_resume_test_initial test STR related issues
    • fake socket tests - clear accept handlers on io_stop
    • fix application_test_availability
    • common utilities for network tests
    • speedup huge_payload test

vSomeIP-Lib 3.5.11

14 Nov 14:13

Choose a tag to compare

CHANGES

  • global

    • Add basic watchdog to track if stop offers are sent to the
      network for externally offered services.
    • Fixed issue of cached values not being properly updated.
    • Add predicate to condition variables.
    • Minor code clean-ups.
    • Minor logging improvements.
  • endpoint

    • Stop servers during suspend to avoid dangling connections.
    • set SO_LINGER to 0 on local tcp client endpoints to avoid
      sockets in TIME_WAIT state.
    • Adapted condition variable for multicast operations.
    • Wait for unacknowledged data on all TCP endpoints.
    • Update the error handling for local communication to synchronize
      IO operations errors and state.
  • routing

    • Only check ACL and process messages if the address is specified.
    • Force client to go to "Initial Wait Phase" when TTL expires.
    • Return when receiving a message on an invalid port/instance.
    • Prevent race condition on insert_subscription.
  • tests

  • network tests

    • Fix and/or document subscribe_notify_test_one tests,
      restart_routing, subscribe_notify_test_diff_clients,
      security_test, offered_services_info, multigroup test
    • Add boardnet_initial_event test, cached_event test
    • Fix reuse address issues in tests