Changes for page Breaking Changes
Last modified by Michael Baumgardt on 2026/04/17 12:03
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki.f lorian1 +xwiki:XWiki.stefan - Content
-
... ... @@ -25,7 +25,288 @@ 25 25 )))|=((( 26 26 Summary 27 27 ))) 28 +|(% colspan="3" %)(% colspan="3" %) 29 +((( 30 +== 3.00 == 31 +))) 32 +|(% colspan="1" %)(% colspan="1" %) 33 +((( 34 +Scripts 35 +)))|(% colspan="1" %)(% colspan="1" %) 36 +((( 37 +3.0 Beta 1 38 +)))|(% colspan="1" %)(% colspan="1" %) 39 +((( 40 +Script action **<add_actor_to_room/> **attribute **'room'** renamed to **'object'** 41 +))) 42 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 43 +((( 44 +Due to engine changes, script action <add_actor_to_room/> has had the attribute 'room' changed to 'object', which is more accurate. Most likely requires a 'position' if a slot is not provided. 45 +))) 46 +|(% colspan="1" %)(% colspan="1" %) 47 +((( 48 +Scripts 49 +)))|(% colspan="1" %)(% colspan="1" %) 50 +((( 51 +3.0 Beta 1 52 +)))|(% colspan="1" %)(% colspan="1" %) 53 +((( 54 +Script action **<set_doors_locked/>** attribute **'group'** changed 55 +))) 56 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 57 +((( 58 +//The 'group' attribute of <set_doors_locked/> can no longer be a list. It must be a single tag value. Previously, a list containing one tag was accepted, which was redundant.// 59 +))) 60 +|(% colspan="1" %)(% colspan="1" %) 61 +((( 62 +Scripts 63 +)))|(% colspan="1" %)(% colspan="1" %) 64 +((( 65 +3.0 Beta 1 66 +)))|(% colspan="1" %)(% colspan="1" %) 67 +((( 68 +Script conditions **<event_hack_*/>** and **<event_controlpanel_hack_*/>** removed 69 +))) 70 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 71 +((( 72 +//These events were never triggered, with the exception of <event_hack_started/> on the player entity for instant control panel hacks. Use <event_player_hacked_object> instead.// 73 +))) 74 +|(% colspan="1" %)(% colspan="1" %) 75 +((( 76 +Scripts 77 +)))|(% colspan="1" %)(% colspan="1" %) 78 +((( 79 +3.0 Beta 1 80 +)))|(% colspan="1" %)(% colspan="1" %) 81 +((( 82 +Script actions **<set_hack_target/>** and **<abort_hack/>** removed 83 +))) 84 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 85 +((( 86 +//These actions had no effect and were removed.// 87 +))) 88 +|(% colspan="1" %)(% colspan="1" %) 89 +((( 90 +Scripts 91 +)))|(% colspan="1" %)(% colspan="1" %) 92 +((( 93 +3.0 Beta 1 94 +)))|(% colspan="1" %)(% colspan="1" %) 95 +((( 96 +**<setup_conversation_minigame/>** script action removed 97 +))) 98 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 99 +((( 100 +//The script action was a leftover from the XR era and was never supported in X4 and couldn't be used in a meaningful way. It was therefore decided to better drop it altogether as it's not expected having been used by any mods.// 101 +))) 102 +|(% colspan="1" %)(% colspan="1" %) 103 +((( 104 +Scripts 105 +)))|(% colspan="1" %)(% colspan="1" %) 106 +((( 107 +3.0 Beta 1 108 +)))|(% colspan="1" %)(% colspan="1" %) 109 +((( 110 +<add_player_choice_*> **confidence** attribute removed 111 +))) 112 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 113 +((( 114 +//The default confidence of player options is another leftover from the XR era and had no effect in X4.// 115 +))) 116 +|(% colspan="1" %)(% colspan="1" %) 117 +((( 118 +Scripts 119 +)))|(% colspan="1" %)(% colspan="1" %) 120 +((( 121 +3.0 Beta 1 122 +)))|(% colspan="1" %)(% colspan="1" %) 123 +((( 124 +**<hack_via_control_panel/>** script action removed 125 +))) 126 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 127 +((( 128 +//Unused script action <hack_via_control_panel/> was removed.// 129 +))) 130 +|(% colspan="1" %)(% colspan="1" %) 131 +((( 132 +UI core 133 +)))|(% colspan="1" %)(% colspan="1" %) 134 +((( 135 +3.0 Beta 1 136 +)))|(% colspan="1" %)(% colspan="1" %) 137 +((( 138 +**Lua: **GetMiniGameCursorPosition() removed 139 +))) 140 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 141 +((( 142 +//GetMiniGameCursorPosition() was a left over from the XR era and never supposed to be shipped with X4. The function practically always returned 0 and hence we don't expect the removal of this obsolete function causing any actual mod to break.// 143 +))) 28 28 |((( 145 +UI core 146 +)))|((( 147 +3.0 Beta 1 148 +)))|((( 149 +**FFI: **GetLocalizedInteractiveNotificationKey can return icon placeholders 150 +))) 151 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 152 +((( 153 +//In 3.0 Beta 1 we added support to display icons for keyboard bindings, if an icon is available for the specified keys. This results in GetLocalizedInteractiveNotificationKey() potentially returning a different text now if such an icon is assigned to the mapped key/button.// 154 +))) 155 +|(% colspan="1" %)(% colspan="1" %) 156 +((( 157 +Scripts 158 +)))|(% colspan="1" %)(% colspan="1" %) 159 +((( 160 +3.0 Beta 1 161 +)))|(% colspan="1" %)(% colspan="1" %) 162 +((( 163 +**$ware.illegal** updated 164 +))) 165 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 166 +((( 167 +//$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.// 168 +//It now returns true if $ware is illegal to any faction in the game.// 169 +))) 170 +|(% colspan="1" %)(% colspan="1" %) 171 +((( 172 +Scripts 173 +)))|(% colspan="1" %)(% colspan="1" %) 174 +((( 175 +3.0 Beta 1 176 +)))|(% colspan="1" %)(% colspan="1" %) 177 +((( 178 +MD script **RML_Flight_Along_Path** removed 179 +))) 180 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 181 +((( 182 +//The MD script RML_Flight_Along_Path was not referened and was removed.// 183 +))) 184 +|(% colspan="1" %)(% colspan="1" %) 185 +((( 186 +Scripts 187 +)))|(% colspan="1" %)(% colspan="1" %) 188 +((( 189 +3.0 Beta 1 190 +)))|(% colspan="1" %)(% colspan="1" %) 191 +((( 192 +parameters of **<event_venture_mission_completed/>** changed 193 +))) 194 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 195 +((( 196 +//old params: param = venture details, param2 = ships involved, param3 = duration// 197 +//new params: param = venture detail list: [mission name, mission type], param2 = list of ships involved, param3 = duration// 198 +))) 199 +|(% colspan="3" %)(% colspan="3" %) 200 +((( 201 +== 2.60 == 202 +))) 203 +|((( 204 +Scripts 205 +)))|((( 206 +2.60 Beta 1 207 +)))|((( 208 +'**checkoperational**' filter behaviour changed 209 +))) 210 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 211 +((( 212 +//Actions and conditions which use the 'checkoperational' filter now behave differently. Instead of changing how 'class' and 'exactclass' behave, checkoperational == true adds an additional filter for the components being of state operational, equivalent to state="componentstate.operational". This is implicitly enabled in action elements (e.g. <find_.../>) or condition elements (e.g. <count_...>), meaning that find_ship will only find operational ships. Using such actions/conditions with checkoperational="false" will include non-operational components such as wrecked and constructions. Existing uses may find that results now exclude non-operational components.// 213 + 214 +//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.// 215 +))) 216 +|((( 217 +Scripts 218 +)))|((( 219 +2.60 Beta 1 220 +)))|((( 221 +$container.**supplyresources** behavior changed 222 +))) 223 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 224 +((( 225 +//The script keyword $container.supplyresources now includes reserved wares.// 226 +))) 227 +|(% colspan="3" %)(% colspan="3" %) 228 +((( 229 +== 2.20 == 230 +))) 231 +|(% colspan="1" %)(% colspan="1" %) 232 +((( 233 +UI core 234 +)))|(% colspan="1" %)(% colspan="1" %) 235 +((( 236 +2.20 Beta 3/4 237 +)))|(% colspan="1" %)(% colspan="1" %) 238 +((( 239 +**Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined. 240 +))) 241 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 242 +((( 243 +//2.20 Beta 3 introduced the new direct mouse steering mode. The mode was however not integrated as a first level mode and hence GetControllerInfo() returned the "gamepad" mode while direct mouse steering was active. 244 +In 2.20 Beta 4 we improved the situation slightly so that a call to GetControllerInfo() will return either "mouseCursor" or "mouseSteering" in any of the 3 mouse modes.// 245 + 246 +//It's a pending change to ensure that the returned mode is more reasonable in an upcoming patch. So be aware that another breaking change might be introduced at some point. 247 +// 248 +))) 249 +|(% colspan="1" %)(% colspan="1" %) 250 +((( 251 +Scripts 252 +)))|(% colspan="1" %)(% colspan="1" %) 253 +((( 254 +2.20 Beta 3 255 +)))|(% colspan="1" %)(% colspan="1" %) 256 +((( 257 +Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor' 258 +))) 259 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 260 +((( 261 +//The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.// 262 +))) 263 +|(% colspan="3" %)(% colspan="3" %) 264 +((( 265 +== 2.00 == 266 +))) 267 +|(% colspan="1" %)(% colspan="1" %) 268 +((( 269 +Scripts 270 +)))|(% colspan="1" %)(% colspan="1" %) 271 +((( 272 +2.00 Beta 1 273 +)))|(% colspan="1" %)(% colspan="1" %) 274 +((( 275 +**<event_build_finished/> **param2 now returns null instead of a construction sequence 276 +))) 277 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 278 +((( 279 +//The construction sequence which was finished should now be accessed via the buildtask provided via param3.// 280 +))) 281 +|(% colspan="1" %)(% colspan="1" %) 282 +((( 283 +Scripts 284 +)))|(% colspan="1" %)(% colspan="1" %) 285 +((( 286 +2.00 Beta 1 287 +)))|(% colspan="1" %)(% colspan="1" %) 288 +((( 289 +**param.boarding.{...}** strength parameters removed 290 +))) 291 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 292 +((( 293 +//The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.// 294 +))) 295 +|(% colspan="1" %)(% colspan="1" %) 296 +((( 297 +Scripts 298 +)))|(% colspan="1" %)(% colspan="1" %) 299 +((( 300 +2.00 Beta 1 301 +)))|(% colspan="1" %)(% colspan="1" %) 302 +((( 303 +**$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed 304 +))) 305 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 306 +((( 307 +//Due to changes to boarding in X4, the boarding connections accessed by these script properties and actions became redundent and thus, removed. Any connections set by these actions in a savegame will not survive loading.// 308 +))) 309 +|((( 29 29 UI extensions 30 30 )))|((( 31 31 2.00 Beta 1 ... ... @@ -75,7 +75,7 @@ 75 75 )))|((( 76 76 2.00 Beta 1 77 77 )))|((( 78 - Attribute changes to**<shoot/>** and **<shoot_at/>**359 +**<shoot/>/<shoot_at/>** attribute changes. 79 79 ))) 80 80 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 81 81 ((( ... ... @@ -90,11 +90,11 @@ 90 90 )))|((( 91 91 2.00 Beta 1 92 92 )))|((( 93 -**FFI **:Added "**buildmoduleid**" parameter to (%style="color: rgb(0,0,0);" %)**GetBuildTasks()**and(% style="color: rgb(0, 0, 0); color:rgb(0,0,0)"%)**GetNumBuildTasks()**(%style="color: rgb(0,0,0);" %).374 +**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %) 94 94 ))) 95 95 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 96 96 ((( 97 -Added possibility to query build tasks of a certain buildmodule. 378 +//Added possibility to query build tasks of a certain buildmodule.// 98 98 ))) 99 99 |((( 100 100 UI extensions ... ... @@ -101,11 +101,11 @@ 101 101 )))|((( 102 102 2.00 Beta 1 103 103 )))|((( 104 -**Lua: **Added"**buildresources**" field to the return value of **GetLibraryEntry()**for buildmodules.385 +**Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field. 105 105 ))) 106 106 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 107 107 ((( 108 -Added list of resources a buildmodule needs to build. 389 +//Added list of resources a buildmodule needs to build.// 109 109 ))) 110 110 |((( 111 111 UI extensions ... ... @@ -112,11 +112,11 @@ 112 112 )))|((( 113 113 2.00 Beta 1 114 114 )))|((( 115 -**Lua: **Removed(% style="color: rgb(0,0,0);" %)**CalculateTotalHullFraction().**396 +(% style="color: rgb(0,0,0);" %)**Lua:**(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)** CalculateTotalHullFraction()**(% style="color: rgb(0,0,0);" %)** **(%%)was removed.(% style="color: rgb(0,0,0);" %) 116 116 ))) 117 117 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 118 118 ((( 119 -Unused, derelict function from XR - use **GetComponentData(..., "hullpercent")**instead400 +//Unused, derelict function from XR - use GetComponentData(..., "hullpercent") instead.// 120 120 ))) 121 121 |((( 122 122 UI extensions ... ... @@ -123,22 +123,26 @@ 123 123 )))|((( 124 124 2.00 Beta 1 125 125 )))|((( 126 -**FFI: **Changed return value of(% style="color: rgb(0,0,0);" %)**RequestDockAtReason()** and(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)**UndockPlayerShip()**.407 +**FFI: (% style="color: rgb(0,0,0);" %)RequestDockAtReason()/(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0); color: rgb(0, 0, 0); color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)UndockPlayerShip()(%%) **changed their return values.(% style="color: rgb(0,0,0);" class="confluenceTd" %) 127 127 ))) 128 128 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 129 129 ((( 130 -Changed return value type to **const char***to better identify failure reasons inlua script.411 +//Changed return value type to const char* to better identify failure reasons in Lua script.// 131 131 ))) 413 +|(% colspan="3" %)(% colspan="3" %) 414 +((( 415 +== 1.50 == 416 +))) 132 132 |((( 133 133 UI extensions 134 134 )))|((( 135 135 1.50 Beta 3 136 136 )))|((( 137 -**Lua: **Changed **GetComponentData() **property(%style="color: rgb(0,0,0);" %)"**docksizes**".422 +**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %) 138 138 ))) 139 139 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 140 140 ((( 141 -The " **docksizes**" property no longer includes internal ship storage docks.426 +//The "docksizes" property no longer includes internal ship storage docks.// 142 142 ))) 143 143 |((( 144 144 All ... ... @@ -145,7 +145,7 @@ 145 145 )))|((( 146 146 1.50 Beta 2 147 147 )))|((( 148 - Corrected**meaning of "Shipyard"** throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).433 +**Meaning of "Shipyard"** was corrected throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR). 149 149 ))) 150 150 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 151 151 ((( ... ... @@ -160,11 +160,11 @@ 160 160 )))|((( 161 161 1.50 Beta 2 162 162 )))|((( 163 -**FFI **:Added"**operational**" fieldto(%style="color: rgb(0,0,0);" %)**UpgradeGroupInfo**struct.448 +**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %) 164 164 ))) 165 165 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 166 166 ((( 167 -Added information about number of operational upgrades in a group , affected functions: (% style="color: rgb(0,0,0);" %)**GetUpgradeGroupInfo().**452 +//Added new "operational" field to retrieve information about number of operational upgrades in a group.// 168 168 ))) 169 169 |(% colspan="1" %)(% colspan="1" %) 170 170 ((( ... ... @@ -174,7 +174,7 @@ 174 174 1.50 Beta 1 175 175 )))|(% colspan="1" %)(% colspan="1" %) 176 176 ((( 177 -**FFI: **Removed **SetGuidance()**argumentuseinfopoint.462 +**FFI: SetGuidance()** removed useinfopoint argument. 178 178 ))) 179 179 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 180 180 ((( ... ... @@ -188,31 +188,39 @@ 188 188 )))|((( 189 189 1.50 Beta 1 190 190 )))|((( 191 -**FFI: **Changed return valuefor(%style="color: rgb(0,0,0);" %)**CancelConstruction()**.476 +**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %) 192 192 ))) 193 193 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 194 194 ((( 195 -(% style="color: rgb(0,0,0);" %) **CancelConstruction()**now returns if the cancellation was successful.480 +(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. // 196 196 ))) 482 +|(% colspan="3" %)(% colspan="3" %) 483 +((( 484 +== 1.32 == 485 +))) 197 197 |((( 198 198 UI extensions 199 199 )))|((( 200 200 1.32 201 201 )))|((( 202 -**Lua: **Removed **GetComponentData()**property"**nextdestname**".491 +**Lua: GetComponentData() **removed the "nextdestname" property. 203 203 ))) 204 204 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 205 205 ((( 206 -//Instead of "nextdestname", use the GetComponentData() properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//495 +//Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.// 207 207 ))) 497 +|(% colspan="3" %)(% colspan="3" %) 498 +((( 499 +== 1.20 == 500 +))) 208 208 |((( 209 209 UI extensions 210 210 )))|((( 211 211 1.20 212 212 )))|((( 213 -**FFI **: Added"**useconfig**" parameterto(%style="color: rgb(0,0,0);" %)**GetAAOption()**.506 +**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %) 214 214 ))) 215 215 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 216 216 ((( 217 -The AA setting was changed to check the new setting with the user. In order to restore the old setting (% style="color: rgb(0,0,0);" %) **GetAAOption()**gets the option to retrieve the config settings.510 +//The AA setting was changed to check the new setting with the user. In order to restore the old setting (% style="color: rgb(0,0,0);" %)GetAAOption() gets the option to retrieve the config settings.// 218 218 )))
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 - 785785201 +86835243 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/ 78578520/Breaking Changes1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/86835243/Breaking Changes