Keyboard Shortcuts
Likes
Search
When to update ibgateway
What policy do you use for when to update the ibgateway? It seems like every 4-8 months, my ibgateway fails to login after a daily restart and updating to the newest version fixes it.
?
I haven't found any logging, errors, or other notifications that the old version is no longer being supported. Today, my version 10.30.1g stopped working, and was still failing after I restarted it again, so I updated to 10.34.1c. It is possible the old version does still work, but for some reason upgrading consistently fixes it. It seems odd that they would make the change mid-week and there were no errors in the ibc logs, it just never logged "IBC: Login has completed". I wanted to get it running, so didn't debug it too long.
?
Is there a way to get notifications when IB increases a version, or should I just set a monthly or quarterly upgrade reminder? |
I notice that you mention two pieces of software in your message. Both IB Gateway, and IBC (IB Controller). Which of these is causing the problem for you?
I am running IB Gateway 10.31.1j together with IBC version 3.20.0 and have not experienced any issue with this combination. I log on on Sunday evening and then let it run until the next Saturday morning. |
开云体育[The following is my understanding of how IBKR deals with Gateway and TWS version updates. This is based on my 22 years of using TWS (and somewhat less for Gateway, which is younger). However it may well not be completely correct, since IBKR has never explained all this in detail to my knowledge.] ? The are two versions of Gateway, ‘Stable’ and ‘Latest’ (possibly ‘beta’ as well but I’m not sure about that). For some reason, the IBKR website doesn’t seem to contain a published link to the stable version, only the Latest (in the Login menu at top right). However, the stable version can be found at https://www.interactivebrokers.com/en/trading/ibgateway-stable.php. ? The ‘Stable’ version does not have any new features added, but it may still have bugs. These bugs are fixed by IBKR, and a new version is published with just the last part of the version number (the letter) updated. So the version you were using (10.30.1g) is rather old and has been superseded by several later 10.30.1? versions: the current one is 10.30.1u. I’d be willing to bet that version would work well for you. ? The ‘Latest’ version is under active development, and is more likely to have faults, though I think that by the time IBKR release a new ‘Latest’, they’re pretty happy with it. If a significant new feature is introduced, this will be released as a new ‘Latest’ version, so the ‘Latest’ version number might go from 10.34.1c to 10.35.1a (fictional example). ? Periodically IBKR decide that what was once the ‘Latest’ version has proven to be nice and reliable, and they promote it to be the ‘Stable’ version (it’s not normally the actual latest ’Latest’ that gets promoted – so the next ‘Stable’ version from 10.30.1u could be say 10.33.nn, rather than 10.34.nn or later)). ? Rather less frequently, IBKR decide that an old version is no longer safe to use, and they retire it completely: this usually involves plenty of notice to users via various mechanisms, but invariably there are some users who fail to notice the warnings (or ignore them) until that version actually stops working. It’s generally advisable to take careful note of what IBKR says. ? Once a ‘Latest’ version has been superseded by a new ‘Latest’, development of the first one ceases – no bug fixes, no new features (unless it has been promoted to ‘Stable’). So if you’re using a version like 10.31.1j, which was once a ‘Latest’ but is now neither a ‘Stable’ nor a ‘Latest’, it may contain bugs that have been fixed in a later version. Therefore it’s always safer to use either the current ‘Stable’ or the current ‘Latest’ (with the latter being somewhat more vulnerable than the former). ? As you’ve noticed, IBKR does nothing to actively notify users of routine new versions, so it’s entirely up to you to monitor the status of the various downloads. I’m not very disciplined about this myself… ? Richard ? ? ? From: [email protected] <[email protected]> On Behalf Of Scott Kister
Sent: 20 March 2025 13:31 To: [email protected] Subject: [TWS API] When to update ibgateway ? What policy do you use for when to update the ibgateway? It seems like every 4-8 months, my ibgateway fails to login after a daily restart and updating to the newest version fixes it. ? I haven't found any logging, errors, or other notifications that the old version is no longer being supported. Today, my version 10.30.1g stopped working, and was still failing after I restarted it again, so I updated to 10.34.1c. It is possible the old version does still work, but for some reason upgrading consistently fixes it. It seems odd that they would make the change mid-week and there were no errors in the ibc logs, it just never logged "IBC: Login has completed". I wanted to get it running, so didn't debug it too long. ? Is there a way to get notifications when IB increases a version, or should I just set a monthly or quarterly upgrade reminder? |
Not much to add to Richard's detailed reply except mentioning that I subscribe to the idea that the "stable" channel is likely the most reliable and light on maintenance, so I only use TWS and GW versions therefrom. If IB announced that a "stable" version is no longer supported, I guess it must have been really old enough to warrant an upgrade. I will typically check and upgrade myself about once in a quarter on ad hoc basis, so I'm now using TWS 10.30.1t on my home-office development computer and GW 10.30.1u on my unattended trading virtual private server which is a cheap 24/7 machine where I rely on auto-restart and weekly manual logons through RDP, without IBC.
--
Best, DS |
On Thu, Mar 20, 2025 at 02:31 PM, Scott Kister wrote:
I haven't found any logging, errors I am monitoring error callbacks. In my case up till this week I was running 1019.2 gateway yet the "stable" branch is 1030.1 (1030+ has major bugs with real time data delivery for my scenarios so I tried to delay "upgrading" as long as possible). In my experience several month before retiring a version IB would call the error callback with a descriptive message giving plenty of time to upgrade. For example for past several months I was getting this error:
?
The version of the application you are running, 1019.2, needs to be upgraded, as it will be desupported on 20250320. The minimum supported version at that time will be 1030.1.??
?
Just FYI, the error Id is 2172. But I wouldn't count on that :). I just log all the errors and analyze offline. I know you say you didn't see the error. But maybe worth double checking the code for error monitoring (that specific error comes with reqId = -1, i.e. general application wide error). At least I was getting above message up until I upgraded to 1030 (and was getting similar messages before with other builds in the past if I was running older builds and they were about to be retired by IB)
?
AJ |
While in general the stable version is indeed more stable (as in "less buggy", at the expense of fewer new features) compared to the latest version, in some specific cases the stable version may actually be more buggy. For example, the current stable version (10.30) has a known issue for users of old API engines, causing a Fatal 505 error after order placement. This was reportedly fixed in 10.31 onward, and the latest version (10.34) does not exhibit this problem. In other words, users of old API engines CANNOT use the stable version and MUST use the latest version instead, especially since using a pre-10.30 version is no longer possible as of yesterday. Unfortunately, it takes a bit of digging in the IBKR website to find the latest version, since the stable version is offered by default. I have no clue as to why IBKR continues to use the 10.30 branch as the promoted "stable" version rather than 10.31 or newer, although they know about the 505 problem for at least the past 6 months. |
That is not entirely correct. While TWS/IBGW 10.30 does seem to send an extraneous empty string at the end of openOrder messages, TWS API is designed such that older TWS API version simply ignore the extra data. There is no error if you use IBKR provided TWS API implementations or if you use custom API implementations that properly decode messages. See for Richard's detailed description. My client applications use TWS API version 173 (10.17.02) with stable TWS and IBGW 10.30 and everything works just fine, including openOrder callbacks. 闯ü谤驳别苍 ? On Fri, Mar 21, 2025 at 10:07 AM, Yair Altman wrote:
|