summaryrefslogtreecommitdiff
path: root/CHANGES
blob: 712308b0f42467aab2c612b70f2b778bed2aade6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
Changes
=======

v1.1.0
- Local communication in multiprocessor environments was fixed
- Runtime access was changed from raw to shared pointer
- vsomeip logger is used whereever possible (replacing std::cerr calls)
- Ensure the logger is not deleted before issueing tha last log message when
  shutting down
- Fixed shutdown crash by checking the existence of endpoint host before
  accessing it
- Routing info processing in case of multiple instances of the same service
  was fixed
- Support for local communication on Windows was added

v1.2.0
- Added (optional) thread pool for distribution of messages to the application
- Made configuration of service groups optional (as it is unneeded in pure 
  client applications)
- Support specification of transportation mode (reliable (TCP) / unreliable
  (UDP)) when creating messages
- Fixed internal distribution of notication events
- Block messages that are received on the wrong port
- Fixed deregistration of local clients
- Fixed startup of applications that were started earlier than the routing
  manager
- Resetting all events of a service if it becomes unavailable (to ensure initial
  events are sent when it becomes available again)
- Ensure consistency of version information
- Fixed Service Discovery state machine

v1.3.0
- Fixed SD library loading on Windows
- Changed cmake directory name (CMake --> cmake)
- Corrected check for multicast address in Service Discovery
- Added default setting for Service Discovery timings
- Ensure only local services are reported by the Service Discovery
- Fixed a crash in case of a wrong unicast address definition
- Protected forwarding of availability information
- Improved handling of notification events
- Added initial support for selective broadcasts (CommonAPI)
- Avoid deadlock when offering services
- Correct handling of events
- Added initial support for managed interfaces (CommonAPI)

v2.0.0
- Buffer sizes were adapted to the transport protocols
- Added support for IPv6 multicast
- Improved handling of endpoints
- Report service state changes instead of service state to the application
- Set and process TTL field in Service Discovery to support detection of "lost"
  services
- Support automatic configuration of local communication
- Added compile time variable DIAGNOSIS_ADDRESS (which maps to the high byte of
  the SOME/IP client identifier)
- Configuration of events was moved from configuration file to API.
- Fixed routing of notication events.
- Increased robustness of configuration loader
- Changed default watchdog cycle from 1s to 5s
- Removed TTL arguments from public interface
- Allow Service Discovery to report non-SOME/IP services by setting the
  configuration variable "protocol"
- Fixed serialization of major version in Eventgroup entries
- Magic Cookies are no longer forwarded to the routing manager but handled in
  the receiving endpoint
- vsomeip daemon was added

v2.0.1
- Ensure Unicast flag is set in all Service Discovery messages
- Allow "local" as alias for unicast address in Magic Cookie configuration
- Correctly set layer 4 protocol in multicast options
- Increased robustness of deserialization of configuration options
- Fixed handling of unknown Service Discovery options

v2.0.2
- Fixed endpoint flushing
- Improved handling of Selective Broadcasts (CommonAPI)
- Trace connector was added
- Added reboot detection
- Reworked handling of TCP connections
- Support multiple multicast eventgroups per service
- Improved handling of multicasts
- Extended Service Discovery to send FindMessage messages for unknown services
- Support multiple SOME/IP messages in a single UDP datagram

v2.0.3
- Fixed shutdown and application re-registering

v2.0.4
- Service Discovery now used configured Client ID prefixes (=DIAGNOSIS_ADDRESS)
- Reworked reboot detection (now based on the destination address)
- Aligned default TTL setting (was 5 in vsomeip and 0xFFFFFF in vsomeip-sd, now
  its constently 0xFFFFFF)

v2.0.5
- Fixed reboot detection behavior

v2.0.6
- Diagnosis address can be configured at runtime

v2.1.0
- Avoid duplicate notifications if a selective event is in more than one
  eventgroup
- Ensure SD messages are sent from the SD port
- Ignore SD messages with wrong message identifier
- Accept unreliable subscription for eventgroups without configured multicast
  address
- Reject subscriptions that contain invalid IP address or port
- Reject subscriptions for TCP if the connection is not established
- Exclude vsomeip_ctrl from default installation
- Only accept SD messages from SD port
- Acknowledge multiple subscriptions sent within the same message with a single
  message
- Allow to specify an application specific DLT application
- Ensure correct ordering of availability notifications
- Automatically expire subscription based on the given TTL
- Do not include internal services in SD offer messages
- Consider all fields of SD subscribe messages
- Made the watchdog configurable
- Support destination address resolution on Windows (for reboot detection)
- Support auto-configuration (client identifiers, routing manager) on Windows

v2.1.1
- Ensure SD FindService-messages are sent after client re-registration
- Corrected configuration of MagicCookies
- Make client ports configurable
- Implemented FindService message optimization
- Extended configuration consistency checks

v2.1.2
- Ensure correct message order

v2.2.0
- Implemented Peer-to-Peer data exchange for notifications
- Fixed handling of minor version during service discovery
- Made initialization of application objects reentrant
- Routing manager proxies now reconnect to the routing manager if the
  connection got lost
- Auto-configuration supports multiple (different) configuration files
- The opening of TCP connections is no longer done without an explicit request
- Request No Respose messages are no longer answered in case of errors
- Notifications over IP were fixed

v2.2.1
- Backward compatibility fixes 

v2.2.2
- Ensure multicast messages are sent by the network adapter that is configured
  to be used for unicasts instead of relying on the configured routes
  
v2.2.3
- Ensure service discovery messages to not exceed maximum packet size

v2.2.4
- Set default log level to DEBUG
- Improved segmentation of service discovery messages
- Fixed a race condition during subscriptions

v2.3.0
- Extend the API to force field notifications
- Implemented cyclic updated for events/fields
- Implemented epsilon updates (the used can provide a function to decide
  whether or not a value update shall be considered as a change)
- Fixed lifecycle: Wait acknowledge of de/register application
- Periodically log version information
- Avoid (shadow) event registrations for services only offered locally
- Fixed determination of routing manager host in case auto-configuration
  fails
- Removed initial flag from internal message format
- Fixed calling of registered message handlers for cases where wildcards
  were used during registration.
- Fixed availability reporting of reliable (TCP) remote services offered
  on the same port

v2.3.1
- Fix shutdown crashes (logger & application shutdown)
- Fix race condition in client identifier configuration
- Fix vsomeipd crash
- Fixed handling of notifications (compliance)

v2.3.2
- Fix client deregistration during the client registration
- Fix handling of pending commands during registration

v2.3.3
- Added -q/--quiet switch to the daemon to allow it to be started without
  DLT logging
- Fix event caching in routing manager

v2.3.4
- Exhaust client id range before reuse
- Provide public interface to ask for available instances

v2.3.5
- Fix TTL in Subscribe Eventgroup Entries

v2.4.0
- Disabled tracing SOME/IP-SD messages by default. Set "tracing/sd_enable"
  switch to "true" to enable it.
- Trace notification events once instead of per target.

v2.4.1
- Extended number of endpoints that can be referenced from entries array in
  service discovery messages
- Remove DLT contexts on application shutdown
- Avoid initialization of vsomeip-applications if the maximum number of
  applications (client identifiers) has been reached
- Prevent sending of OfferService entry as a reply to FindService message for
  internal services
- Fixed deregistration of vsomeip-applications that became unresponsive
- Fixed loop in endpoints causing high load during shutdown of vsomeip
  applications
- Fixed loop in endpoints causing temporary high load if other devices become
  unavailable without deregistering

v2.4.2
- TCP connections for services no longer requested aren't reestablished anymore
- The minor version of a service instance is no longer considered when reporting
  the service instance's availability
- Introduce new internal_services json file parameter to define the internal
  service instances. This parameter can be used to control the sending behaviour
  for find service entries
- Fixed event processing if service and client shared the same application
- Incoming find service entries with unicast flag set to 0 are now replied with
  a unicast offer service message instead of a multicast offer service message.
- application::stop() now blocks until the shutdown has finished completely

v2.4.3
- Fix receiving of UDP frames containing multiple SOME/IP messages via UDP from
  external service instances

v2.5.0
- Added notify-/notify_one-methods to enable flush control for notifications.
- Restructured configuration to be a separate module (preparation to enable
  the usage of compiled configurations to speed-up startup)
- Added vSomeIP-Security: Socket authentication based on Linux-credentials
  together with further security checks using configurable policies.
- Fixed pending subscriptions had not sent out if subscribing application
  hosts the routing manager.
- Fixed crash in vsomeipd due to concurrent access when closing/shutdown socket.
- The service discovery now debounces newly offered service instances to avoid
  sending out the offers of the same service instance with a too high frequency.
  The default debounce time is set to 500ms. It can be changed via the new json
  file parameter service-discovery/offer_debounce_time.

v2.5.1
- Removed payload size limit. By default messages with an arbitrary length can
  now be sent locally and via TCP. The payload-sizes configuration file array is
  now used to limit the payload size for the specified endpoints instead of
  increasing it. There are two new configuration file parameters:
  - max-payload-size-local: limit maximum allowed payload size for node internal
    communication.
  - buffer-shrink-threshold: variable to control buffer memory deallocation
    after big messages have been processed. For more information see the
    vsomeipUserGuide.
- Fixed cleanup of endpoints for subscriptions using an exclusive proxy
  (selective) which unnecessarily increased the number of open file descriptors.
- Fixed assignment of predefined application IDs via autoconfiguration.
- Decouple start of routing manager from network availability.
- Made number of internal threads per application configurable.
- Postpone notify_one events sent from subscription handler to ensure correct
  message order on receiver side.

v2.5.2
- Fixed deadlock and crashes
- Prevent race of initial attributes
- Allow incomplete application configurations
- Unit test timeouts increased to avoid failures on (slow) build servers

v2.5.3
- Fixed races and crashes
- The minor version of a service instance is considered again when reporting the
  service instance's availability (this was removed with v2.4.2). If the minor
  version should not be considered use ANY_MINOR or DEFAULT_MINOR when
  registering availability handlers.
- Fixed initial events on unsubscription
- Improved dispatcher handling for blocking calls
- Crashed applications are now automatically unsubscribed

v2.6.0
- Fixed races and crashes
- Fixed repetition phase timings for find service messages
- Reworked internal event/field distribution to reduce CPU load
- Reworked internal routing info distribution leading to fewer and smaller
  messages and lower CPU load
- Extend public application interface with second unsubscribe method with
  additional event parameter

v2.6.1
- Fixed clearing of subscribers on stop offer service

v2.6.2
- Service-Disovery performance improvements
- Made Routing Manager restartable
- Fixed file handle leak caused by remote ECU reboot
- Activate TCP-Keep-Alive for TCP endpoints
- Debouncing of request-service messages (routing info performance)
- Fixed false session-id handling of identification request