Releases: IbcAlpha/IBC
3.23.0
[This release is republished to update the zip files with a minor correction - see commit b866a26, and to correct the associated tag.]
This release has the following fixes and improvements:
-
The bug reported in Issue #311 Some API Precautions configurations do not work has been fixed
-
The dependency on the deprecated
wmiccommand on Windows has been removed, instead using the PowerShellGet-CimInstancecommand -
There is a new setting
IncludeStackTraceForExceptionsinconfgi.iniwhich governs whether a stack trace is included in the logging for an unhandled exception occurring in the IBC or TWS/Gateway Java code -
There are some minor improvements to logging
If you already have a working IBC 3.20.0 or later installation, you only need to upgrade to 3.23.0 if you need to use any of the API precautions bypass settings in config.ini. You can do the upgrade by extracting the following files from the zip and taking the indicated action:
| File | Action |
|---|---|
IBC.jar |
Replace |
version |
Replace |
config.ini |
Update with the new section for the IncludeStackTraceForExceptions setting |
| StartIBC.bat | Replace (Windows only) |
| ibcstart.sh | Replace (Linux, macOS only) |
If your IBC installation is prior to 3.20.0 and you are happy with it, you do not need to upgrade., but if you decide to you must do a full install.
3.22.0
[This release is republished to correct the associated tag. There are no changes to the repository files]
This release adds support for TWS/Gateway 1035 and later running on Windows. For this release, IBKR have updated the installer so that, on Windows, TWS and Gateway now use the Azul Zulu Java 17 runtime environment rather than the Oracle 8 JRE used in previous releases. (Note that the equivalent updates for Linux occurred in TWS 1034 and support was provided in IBC 3.21.0.)
NB: TWS/Gateway 1035 on Windows does not work with previous releases of IBC.
If you are not running TWS/Gateway 1035 or later on Windows, you do not need to upgrade to this release. The only other change in this release, which applies to both Windows and Linux/macOS, is a minor script modification to prevent the annoying Java stack traces in the IBC logfile caused by recent TWS versions:.
To do this upgrade from IBC 3.20.0 or later it is only necessary to extract the IBC.jar and version files to your IBC installation folder, and extract the StartIBC.bat (on Windows) or ibcstart.sh (on Linux/macOS) script to your scripts subfolder.
If you are currently using an earlier IBC version than 3.20.0, do a full install.
3.21.2
This release fixes Issue #293.
To upgrade to this release from v3.21.1, just extract the IBC.jar and version files from the relevant zip and copy them into the folder where the IBC program files are stored.
You only need to install this update if you run Gateway and need to adjust the list of Trusted IP Addresses in the Gateway Configuration dialog.
3.21.1
This release fixes the issues reported since the release of version 3.21.0:
The only files that have changed are:
IBC.jar
version
scripts/ibcstart.sh
If you have previously installed version 3.21.0, all you need to do is extract these files from the relevant zip to the appropriate location.
3.21.0
!!! IMPORTANT NOTICE !!!
A significant problem has emerged in this release regarding IBC's handling of autorestart. This prevents autorestart from working with Gateway. Autorestart with TWS is ok.
If you need to use autorestart with Gateway, you will have to revert to IBC 3.20.0. If you are running on Linux or macOS, you will also need to revert to an earlier version of Gateway than 10.34.
The recommended course of action is: do not use this release until the problem is resolved.
This issue will be corrected in the next release.
This release provides support for TWS/Gateway 1034 running on Linux. For this release, IBKR have updated the installer so that, on Linux, TWS and Gateway use the Azul Zulu Java 17 runtime environment rather than the Oracle 8 JRE used in previous releases.
NB: TWS/Gateway 1034 on Linux will not work with previous releases of IBC.
This release also fixes issue #273, which prevented ColdRestartTime from working correctly on Linux and macOS.
If you are not running TWS/Gateway 1034 on Linux, and you don't need to use ColdRestartTime, you do not need to upgrade to this release. There are a couple of other minor changes in this release, but no harm should occur if you don't install this release on Windows.
To do this upgrade from IBC 3.20.0 it is only necessary to extract the 'IBC.jar' and 'version' files to your IBC installation folder, and extract the ibccstart.sh script to your scripts subfolder.
If you are currently using an earlier IBC version than 3.20.0, do a full install.
[The situation with macOS is uncertain at present. It would be helpful if someone with a macOS machine could experiment with IBC 3.20.0 and TWS/Gateway 1034, and if that doesn't work try updating to IBC 3.21.0. Feed back the results via the issues register.]
3.20.0
This Release contains the following fixes and enhancements:
- Fixes problems that occur during auto-restart if the
autorestartfile contains invalid credentials. A cold restart is performed requiring full authentication. - Automatically handles the dialog that occurs, starting in TWS 10.30.nn, when the user invokes the keyboard shortcuts to refresh market data subscriptions or reset the account connection. Ditto when the RECONNECTDATA and RECONNECTACCOUNT commands are sent to IBC.
- Uses the correct shortcut keycode, depending on platform, when processing RECONNECTDATA and RECONNECTACCOUNT commands (see #242).
- Fixes issues with cold restart after detecting
Login ErrororLogin Faileddialogs (see #264).
There are no changes to script files.
To upgrade to this Release, download the relevant zip file and extract the IBC.jar and version files, copying them over the current versions in your IBC installation folder. Then restart TWS/Gateway.
3.19.0
The main improvement in this release is the resolution of these issues:
- #142 Login failed - Server disconnected, please try again
- #251 Unknown Username.Password/Duplicate Session?
- #253 IBC unable to restart after 2.5 days of running. Happened multiple times.
Other enhancements:
- there is a revised Task Scheduler template for Windows, to ensure that IBC is automatically restarted if it is closed for any reason
- a Cold Restart mechanism has been introduced. This provides an easy way to ensure compliance with IBKR's requirement that TWS/Gateway be fully logged off at some point on Sundays. See the notes for the new
ColdRestartTimesetting inconfig.ini - the User Guide has been updated to include information about IBC's command server
- sample scripts have been provided to enable easy use of IBC's command server
The recommended procedure for installing this release is:
- Rename your existing IBC folder, for example to IBC-old, so you can easily revert to it if need be.
- Create a new IBC folder.
- Extract the contents of the zip file as described in the User Guide.
- Update the
config.iniand scripts as required. Note that the top-level start scripts have not changed, so you can copy those back from the renamed IBC folder to the new IBC folder rather than update the new copies. These are:
StartTWS.bat
StartGateway.bat
twsstart.sh
gatewaystart.sh
twsstartmacos.sh
gatewaystartmacos.sh
3.18.0
[Updated 23 September 2023: zip files re-released to include corrections to the
twsstartmacos.shandgatewaystartmacos.shscript files: these contained an incorrect default value for theTWS_MAJOR_VRSNvariable. There are also some minor changes to script file comments for all platforms, and a trivial change to the User Guide. There are no changes to IBC functionality. If your existing IBC 3.18.0 installation is working properly, you can ignore this update.]
This Release introduces the ability to configure the API-Precautions settings in TWS and Gateway via new settings in config.ini. This is in response to issue #222.
These new settings are described in the API Precautions section of config.ini, and are as follows. See the notes in config.ini for further details:
BypassOrderPrecautions
BypassBondWarning
BypassNegativeYieldToWorstConfirmation
BypassCalledBondWarning
BypassSameActionPairTradeWarning
BypassPriceBasedVolatilityRiskWarning
BypassUSStocksMarketDataInSharesWarning
BypassRedirectOrderWarning
BypassNoOverfillProtectionPrecaution
These settings are intended for use in situations where the TWS/Gateway user interface is not easily accessible or where TWS/Gateway settings are not persisted between sessions, as happens with some Docker images.
The Release also contains some minor IBC code improvements: see the commit history for details.
If you do not need to use these new settings, it is not necessary to upgrade to this Release.
To upgrade an existing installation, extract the IBC.jar and version files from the .zip file and overwrite the existing versions. Update your config.ini with the new API Precautions section from the config.ini file in the .zip.
3.17.0-update.1
This Release is a Windows-only update that fixes a couple of bugs in the start script for IBC. There are no changes to IBC's functionality.
-
Fixes a problem on Windows where installing a new update of an already-installed TWS or Gateway prevents autorestart from succeeding
-
Fixes a problem on Windows where using double backslashes in the TWS_SETTINGS_PATH prevents autorestart from succeeding. Fix #221
Windows users who have already installed IBC 3.17.0 should extract the StartIBC.bat file from the Scripts folder in the Windows .zip file to replace the existing file in the IBC\Scripts subfolder. Also extract the version file to replace the existing one in the IBC folder.
Windows users wishing to install IBC 3.17.0 for the first time should do so using the .zip file from the IBC 3.17.0 release, and then update the files from this release as described above.
Linux and macOS users should ignore this release.
3.17.0
This release provides the following enhancements:
-
Support for Gateway v10.22 and later. IBKR changed the format of the Gateway login dialog, resulting in earlier IBC versions failing to recognise it and therefore not completing login automatically. Fix #206 #217.
-
Fixes a problem where IBC no longer worked properly with the FIX/CTCI Gateway. See the notes for the new setting
TrustedTwsApiClientIPs
inconfig.ini. Fix #207 -
Enables the master client id to be set automatically at startup. See the notes for the new setting
OverrideTwsMasterClientIDinconfig.inifor details. PR #213 -
Enables the order id sequence for API orders to be reset to 1 at startup. See the notes for the new settings
ResetOrderIdsAtStartandConfirmOrderIdResetinconfig.ini -
The default for the
SecondFactorAuthenticationExitIntervalsetting inconfig.inihas been increased from 40 seconds to 60 seconds. This is because starting with recent versions of TWS/Gateway, sometimes considerably more data is downloaded at startup due to the inclusion of the JxBrowser. This extra data can cause the original timeout to be exceeded.
If your IBC installation is working well and you do not need the enhancements listed above, you do not need to upgrade to this version.
To upgrade from version 3.16.2 (or a later beta version), download the relevant zip file and extract the IBC.jar and version files, overwriting the current versions. Also update your config.ini file with the new settings mentioned above. These are the only changed files.
To upgrade from an earlier version than 3.16.2, the safest way is to first rename your existing IBC folder (eg to IBC.old) and then create a new one. Then download the relevant zip file and extract the files, as for a new installation (as described in the User Guide). Then re-apply any changes you previously made to the following files, On Linux, remember to set execute permission on the scripts.
All platforms:
config.ini
Windows only
StartTWS.bat
StartGateway.bat
Linux & macOS
gatewaystart.sh (or gatewaystartmacos.sh)
twsstart.sh (or twsstartmacos.sh)