Releases: IbcAlpha/IBC
3.14.0
[19 July 2022: zip files re-released to include updated User Guide.]
NOTE: you need this release to run TWS/Gateway 1016 or later with Second Factor Authentication via the IBKR Mobile app
This release has the following enhancements:
- It works correctly with TWS and Gateway version 1016: in these versions IBKR have changed the login dialog when using 2FA in such a way that earlier versions of IBC no longer recognise it.
- You can now configure the TWS/Gateway autologoff time using the new
AutoLogoffTime
setting in config.ini. This setting is provided for use in situations where there is no user to manually configure a newly installed TWS/Gateway (for example some Docker images). Where there is a user present, it is recommended to configure this setting manually using the relevant fields in the 'Lock and Exit' section of the Global Configuration dialog. - The way that IBC handles Second Factor Authentication via the IBKR Mobile app has been significantly improved to minimise unnecessary delays and IBC restarts. There is now a new setting in config.ini,
ReloginAfterSecondFactorAuthenticationTimeout
, which replaces theExitAfterSecondFactorAuthenticationTimeout
setting. See the notes in config.ini for further details.
The following bugs have been fixed:
- A 'white label' TWS customisation for a third-party broker prevented IBC from locating the main window.
- The description of the
TWS_MAJOR_VRSN
setting in the start scripts for macOS has been corrected: on macOS, the period in the version number must be included. Note that this is different from the Windows and Linux scripts because on macOS the TWS/Gateway installers include the period in the install folder name (Issue #176 ).
For further minor changes, see the commit history.
IMPORTANT You MUST deploy this release to use TWS/Gateway version 1016 and later with the IBKR Mobile app for Second Factor Authentication. If you don't use the IBKR Mobile app with TWS/Gateway 1016, and you don't need any of the other changes listed above, you can continue to use your current IBC version.
The safest way to do this upgrade is:
- Download the relevant zip file.
- Rename your existing IBC installation folder, for example to IBC.old
- Follow the installation instructions for the new version as described in the User Guide.
- Re-apply your customisations in the original installation to the start scripts and the config.ini file. To remind yourself of the settings you used in the config.ini file, look in a previous IBC logfile where all the settings are listed.
3.13.0
NOTE: you need this release to run TWS/Gateway 1015 or later
This release has the following enhancements:
- It works correctly with TWS and Gateway version 1015 (issues #163, #165).
- It handles the Cryptocurrency Order Confirmation dialog. Note that this uses a new setting in
config.ini
calledConfirmCryptoCurrencyOrders
. - The start scripts have a revised description for the
LOG_PATH
setting, which now allow log output to the terminal window rather than to a file.
The following bugs have been fixed:
- The Blind Trading Warning dialog was no longer handled correctly (issue #162).
- The start script failed when running on Google Cloud Run.
For further minor changes, see the commit history.
IMPORTANT You MUST deploy this release to use TWS/Gateway version 1015 and later. The easiest way to do this is to download the relevant zip file and extract the following changed files, overwriting the current ones. Note that some files may contain your own settings changes, and you will need to ensure these get carried forward: these files are in bold in the list below.
All platforms:
IBC.jar
version
config.ini
(new section 'Confirm Crypto Currency Orders Automatically')
Windows only
StartTWS.bat
StartGateway.bat
scripts\DisplayBannerAndLaunch.bat
Linux & macOS
gatewaystart.sh
(or gatewaystartmacos.sh
)
twsstart.sh
(or twsstartmacos.sh
)
scripts\displaybannerandlaunch.sh
scripts\ibcstart.sh
3.12.0
This release caters for the revised locations of some files installed by the IBKR TWS or Gateway version 10.12 installer for macOS.
It also contains some clarifications to the comments regarding the TWS_MAJOR_VRSN setting in the start scripts, and corresponding updates to the User Guide.
You only need to deploy this release if you are a macOS user and you wish to use TWS/Gateway version 10.12 or later: previous versions of IBC will not work with these macOS versions. Other users may deploy it if they wish to stay at the 'leading edge'
The only functional change is to the ibcstart.sh
script which you should copy into your ibc\scripts
folder (except Windows users).
Please ensure you copy the IBC.jar
and 'version` files, even though there are no Java code changes: this is to ensure that IBC logfiles generated by this version are correctly named.
3.12.0-beta.2
This release incorporates feedback from release 3.12.0-beta.1. In particular it adds two more JVM options to the start scripts, which may help the problem in issue #151: thanks to user Bill9 on the IBC User Group (see https://groups.io/g/ibcalpha).
It also includes new functionality that was previously made available to some users in an interim build but has not yet been included in a release. This caters for cases where the user has declared more than one Second Factor Authentication device. It is governed by a new SecondFactorDevice
setting in config.ini
- see the notes in that file for details, and issue #118 for the background to this.
To use this release, please do the following:
- download the relevant zip file for your platform
- extract the
IBC.jar
andversion
files and overwrite the current ones in your IBC folder - extract the
ibcstart.sh
(for Linux) or theStartIBC.bat
(for Windows) files from the scripts subfolder and replace the ones in yourIBC/scripts
folder - edit your
config.ini
, replacing the existingSecond Factor Authentication Timeout Settings
section with the newSecond Factor Authentication Settings
section fromconfig.ini
in the zip file..
3.12.0-beta.1
This release, it is hoped, will resolve the problem described in issue #151.
It changes the low-level start scripts to include the i4jruntime.jar
file on the classpath, and adds a couple of JVM options.
To use this this release, please do the following:
- download the relevant zip file for your platform
- extract the
IBC.jar
andversion
files and overwrite the current ones in your IBC folder - extract the
ibcstart.sh
(for Linux) or theStartIBC.bat
(for Windows) files from thescripts
subfolder and replace the ones in your IBC/scripts folder.
That's all you have to do.
Kudos to @imotsch in issue #150 for the insight that led to this change.
NB: I've labelled this as a beta because I've produced it in a rush, and I've no guarantee that it will actually fix the problem. Note that the IBC Java code is identical to the previous version 3.11.1, so it shouldn't cause any problems.
Note also that this change results in the auto-restart capability being exposed in the Lock and Exit
TWS/Gateway configuration settings. DO NOT attempt to use this: it will succeed in auto-restarting, but IBC will not be included and you'll lose any IBC functionality that you are depending on.
3.11.1
This release handles a recent change in the popup window that was the subject of release 3.11.0. IBKR have changed that dialog box in a way that prevents IBC from recognising it. See issue #142 for more info.
IBC will now recognise both the original version and the new version (it's not known if the original version will still appear at all, but if it does IBC will handle it).
All you need to do is replace the IBC.jar
and version
files in your current IBC setup. You can get them either from the installation zip, or directly from here: https://github.com/IbcAlpha/IBC/tree/master/resources
3.11.0
Changes in this release:
-
Enhancement: occasionally login fails with a "LOGIN ERROR" pop-up containing the message 'Login failed - Server disconnected, please try again' (see Issue #142). IBC now clicks the 'OK' button to retry if it encounters this message
-
Bug fix: Gateway failed to start properly on a macOS system if the screen was locked at the time of starting (see Issue #146)
-
Bug fix: where user credentials were supplied via arguments to IBC (for example by setting them in the start script rather than in
config.ini
) the Java System Properties listing in the IBC logfile showed them in plain text rather than obfuscated (in thesun.java.command
property)
3.10.0
TWS and Gateway 985 changed bid, ask and last sizes for US stocks to be expressed in shares, rather than in lots of 100 shares. They display a dialog immediately after login notifying the user about this and requiring user input before allowing market data to be accessed. The user can request that the dialog not be shown again. This causes problems for automated systems, as described in #134.
This Release provides two new settings in config.ini
that enable this dialog to be handled automatically:
-
AcceptBidAskLastSizeDisplayUpdateNotification
: this setting controls whether the dialog is handled automatically, and if so, whether it is shown again on subsequent logins. -
SendMarketDataInLotsForUSstocks
: this setting determines whether the API settings checkbox labelled 'Send market data in lots for US stocks for dual-mode API clients' is set or cleared.
These settings are described in detail in the notes in config.ini
.
You do not need to upgrade to this release if you are running a version of TWS/Gateway earlier than version 985. You also do not need to update if you have, or intend to, handled the dialog manually and made any necessary changes to the API configuration.
3.9.0
IBKR recently introduced a policy whereby TWS and Gateway (all versions) must use SSL for the connection to their servers. If the relevant setting in the login dialog is not selected, the user is prompted to restart using SSL or to exit the application. Needless to say, although choosing to use SSL made a permanent configuration change such that this dialog would not be seen again, this action is extremely intrusive to those running TWS and Gateway automatically (for example using IBC, perhaps on a headless remote server).
Since not using SSL is now useless, this release ensures that when IBC is started SSL will be pre-selected in the login dialog.
3.8.7
This release fixes a bug in the handling of the ExistingSessionDetected
dialog. If TWS was running with ExistingSessionDetectedAction=secondary
, and then another session was started with ExistingSessionDetectedAction=primary
(or primaryoverride
), the new session would be incorrectly shut down instead of taking over from the secondary
session.