Releases: IbcAlpha/IBC
3.8.6
[Release updated 27 May 2021 to fix additional bug reported in #117. The only changes are to the Stop.bat
file in the resources
folder and the SendStopCommand.vbs
file in the resources/scripts
folder in the Windows zip.]
You are advised to upgrade to this release if:
-
you are a macOS user
-
OR you make use of the IBKR Mobile app for second factor authentication (any platform)
-
OR you use the STOP command (any platform)
Other users are encouraged to upgrade, but this is not necessary if your current installation is working without problems.
Bug fixes:
-
#114 missing double quotes in macOS file paths.
-
#117 STOP command caused problems if invoked too early during TWS/Gateway initialisation.
-
Some Linux distributions don't directly return exit status codes greater than 255, but only modulo 256, which caused the scripts to operate incorrectly in some circumstances.
Enhancements:
-
Enables the Second Factor Authentication prompt on the IBKR Mobile app to be ignored for longer periods than before, while repeatedly offering the user another opportunity at intervals of a few minutes.
-
Adds two new config.ini settings to better control diagnostic logging. See the revised section at the end of config.ini for details of these.
-
The organisation, readability and accuracy of config.ini has been improved. Note that this has resulted in some settings now being in a different position in the file, so care is needed if using this new format to carry over existing settings correctly.
3.8.5
[Release updated 22 Feb 2021 to fix #114. The only change is the ibcstart.sh
file in the resources/scripts
folder and in the Linux and macOS zips.]
If you run on macOS and want to use TWS or Gateway 981.2r or later, you need to install this version
Other users only need to install it if they encounter other situations outlined below. If your current IBC installation is working well, there is no reason to update.
Changes:
-
fix issue #112: handles the new location of the
tws.vmoptions
andibgateway.vmoptions
in the macOS installers for TWS/Gateway 981.2r. -
include pull request #96: only handle Second Factor Authentication dialog if
ReadOnlyLogin
setting inconfig.ini
isfalse
. -
fix bug: if TWS/Gateway don't display the login dialog within the specified timeout period, IBC would exit. This has now been changed so that IBC will be restarted.
-
the login dialog display timeout can now be set via the
LoginDialogDisplayTimeout
setting inconfig.ini
. The value is in seconds, and the default is 60. -
fix bug: ensure that the global configuration dialog is newly created on each use, as its menu structure is removed when the Ok button is clicked and any subsequent use fails.
-
various minor code improvements.
3.8.4-beta.2
This version fixes Issue #95
3.8.4-beta.1
This beta release handles the changed login dialog in Gateway 980.
Note that the TWS login dialog title has not changed, so previous versions of IBC will continue to work with TWS 980.
IBC now writes the names and values of all settings defined in the config.ini file to its logfile. Setting values for login ids and passwords are sanitised for security.
3.8.3
This release enables users of Second Factor Authentication using the IBKR Mobile app to successfully login after failing to react to the 2FA alert before it times out, without needing manual intervention at the computer. It detects the timeout, and if so configured will exit and then automatically restart, thus initiating a new login and 2FA sequence.
To control this there are two new settings in config.ini
:
ExitAfterSecondFactorAuthenticationTimeout
SecondFactorAuthenticationExitInterval
Also the start scripts have a new variable:
TWOFA_TIMEOUT_ACTION
See the new section Second Factor Authentication in the User Guide, and the relevant comments in config.ini
and the start scripts for details.
Windows and Linux users who do not use second factor authentication via the IBKR Mobile app do not need to update their installations.
macOS users are advised to update because the scripts have been improved.
3.8.2
If none of the new features and bug fixes described below are relevant to you, you do not need to upgrade your installation.
Bug fixes
-
Setting MinimizeMainWindow=yes was still not always working correctly.
-
In some circumstances the program would crash while rewriting jts.ini
-
macOS scripts have been corrected - see #59
New features
The program now enables a user whose account has two-factor authentication (2FA) enabled, and has the IBKR Mobile app installed on their Android or IOS device, to autologin without needing to be present at the computer. A notification is sent to the user's Android/IOS device, and the user simply needs to acknowledge this notification on the device.
NB: for this to work, the ExistingSessionDetectedAction
setting in config.ini
MUST be set to Primary
.
3.8.1
If none of the new features and bug fixes described below are relevant to you, you do not need to upgrade your installation.
Bug Fixes
-
The
StoreSettingsOnServer
setting inconfig.ini
was not always correctly actioned. -
Setting
MinimizeMainWindow=yes
did not always work correctly.
New features:
New value for ExistingSessionDetectedAction
setting
This release enhances the ExistingSessionDetectedAction
setting in config.ini
, with the introduction of a new value for the setting: primaryoverride
.
When a user logs on to an IBKR account for trading purposes by any means, the IBKR account server checks to see whether the account is already logged in elsewhere. If so, a dialog is displayed to both the users that enables them to determine what happens next. The ExistingSessionDetectedAction
setting instructs TWS how to proceed when it displays one of these dialogs:
-
If the existing TWS session is set to 'primary', the existing session continues and the new session is not permitted to proceed.
-
If the existing TWS session is set to 'primaryoverride', the existing session terminates and the new session is permitted to proceed.
-
If the new session is via TWS with `ExistingSessionDetectedAction=secondary', the new TWS exits so that the existing session is unaffected.
-
If the existing TWS session is set to 'manual', the user must handle the dialog.
Notes:
a. ExistingSessionDetectedAction=primaryoverride
is useful if you use the IBKR Mobile app or use the Client Portal on IBKR's Account Management website: using either of these can cause your TWS/Gateway session on your computer to be shut down. If your TWS/Gateway session has ExistingSessionDetectedAction=primary
, IBC will prevent this and you won't be able to use the IBKR Mobile app or the Client Portal with live market data. But if your TWS/Gateway session has ExistingSessionDetectedAction=primaryoverride
, then the session will be shut down and use of the IBKR Mobile app or the Client Portal can proceed. If you also arrange for TWS/Gateway to be automatically restarted periodically, then TWS/Gateway will be automatically restarted and the IBKR Mobile app/Client Portal session will be prevented from using further live market data: with care, this can enable you to access IBKR Mobile/Client Portal without permanently losing your TWS/Gateway session on your computer.
b. The difference between primary
and primaryoverride
is that a primaryoverride
session can be taken over by a new primary
or primaryoverride
session, but a primary
session cannot be taken over by any other session.
c. When set to 'primary', if another TWS session is started and manually told to end the primary
session, the primary
session is automatically reconnected (provided the other session is in a TWS version higher than 949).
d. See the User Guide for information about periodically restarting TWS/Gateway using Task Scheduler on Windows or crontab on Linux.
New setting in config.ini: ReadOnlyApi
When TWS and Gateway are run for the very first time, the API settings are configured with the Read-Only API
checkbox set on. Where a user is present, this is not a problem because they can manually clear the checkbox: it only needs to be done once, even if TWS/Gateway is subsequently re-installed.
In situations where TWS or Gateway instances are being automatically installed afresh and started without user intervention and without configuration of the user's TWS/Gateway settings for previous sessions (eg some Docker container scenarios) this is less than ideal, and the ReadOnlyApi
setting in 'config.ini' caters for this case.
If ReadOnlyApi is set to 'yes', API programs cannot submit, modify or cancel orders. If set to 'no', API programs can do these things.
If not set, the existing TWS/Gateway configuration is unchanged.
3.7.5
This release fixes some bugs in the permission checking when responding to incoming connections to the IBC command server.
Part of this was addressed in issue #44 and PR #43 (thanks to @nickles). But there was also a bug in the procedure for checking whether the connecting address is in the list of permitted addresses.
Some trivial changes have been made to the 'Overview of IBC' section in the User Guide's introduction.
You only need to update your IBC installation if you make use of IBC's command server. If you have already installed IBC 3.7.0 thru 3.7.4, you can just extract the IBC.jar file from the zip to your IBC folder, replacing the existing file. You should also do the same with the version file, to ensure that IBC log files contain the correct information.
3.7.4
This release makes a number of improvements, and fixes a bug (Issue #37) which has caused grief for some new users.
I encourage existing users to update their IBC installation to avoid potentially being hit by Issue #37 in future. If you have already installed IBC 3.7.0 thru 3.7.3, you only need to extract the IBC.jar file from the zip to your IBC folder, replacing the existing file. You should also do the same with the version file, to ensure that IBC log files contain the correct information. You may also want to extract the updated User Guide if you make use of it.
Please also note the important information regarding TWS 974 described at the start of the updated User Guide and also in Issue #38.
Changes in this release:
-
Issue #37 has been fixed, and the correct trading mode (live or paper) is now always observed
-
The User Guide has been brought up-to-date, particularly with respect to Issue #38. Also its appearance has been improved
-
The sample Windows Task Scheduler definition file has been updated
-
The IBCLoader sample project has been included in response to Issue #33. Note that this is an advanced topic that very few IBC users will have any interest in, but it is included to demonstrate the possibilities
3.7.3
This Release fixes a bug in Version 3.7.2 where the trading mode was not always set correctly.
Also the STOP command now works correctly. The failure to work before was due to an incorrect build.
If you have already installed IBC 3.7.0, 3.7.1 or 3.7.2, you just need to extract the IBC.jar file from the zip to your IBC folder, replacing the existing file. You should also do the same with the version file, to ensure that IBC log files contain the correct information.