Select legs by bid, ask or mid price to the backtester and bot automations
Find the strike closest to the underlying price that matches a specific price. You can fine tune the matching process by specifying closest to, higher or lower than the specified price.

Example:
If you use "$0.20 mid price or lower" it selects the strike with a mid price closest to $0.20 - either exactly $0.20 or lower.
Suppose you have these mid prices: .12, .18, .24, .30, .36:
- "$0.20 mid price or lower" will select .18
- "$0.20 mid price or higher" will select .24 (even though .18 is closer)
- "$0.20 mid price or closest" will select .18
Select long leg strike price to balance spread width of other side
When selecting legs by price or delta you may end up with an unbalanced spread with 1 side being wider than the other side. This option allows you to the match the width of one side to the other side in iron condor and iron butterfly trades.

Schwab is officially back!
Your bots are now able to place trades in your Schwab account(s). However, Schwab is the only broker that enforces a mandatory authorization expiration that must be refreshed every 7 days. What that means is in order to use Schwab you have to manually reauthorize access every 7 days. We have tried to make this as easy as possible: when your authorization is close to expiring we will send you an email with a button you can click to go directly to their site to reauthorize. You can also track the date of expiration in Settings / Trading Accounts:

New Volatility tickers
We added VIX1D, VIX9D, VIX3M, VIX6M and VVIX volatility tickers to all the VIX related recipes in bots.
Added decision recipe for comparing VIX vs other VIX symbols or another point in time

Added option to "Require 2 consecutive hits at profit target" to the backtester
This option allows you to be pessimistic about profit taking by requiring that your profit target is available for at least one full minute, making it more realistic that a closing order will be successfully filled in a live market. Checking this box means the position has to hit the defined profit target two consecutive 1 minute intervals before exiting the trade.

Custom times in decision recipes and scanner schedules

Decision to check market close time now has an option to specify the day

DIT filter in Open Positions screen
For example, this filter shows positions opened today:

Search the bot log by automation name

Position edit tracking and custom memos
We added this earlier in the month but for those that didn't see it, when editing a position it tracks the changes that were made and gives you the ability to add a custom memo note.

Improved handling of invalid broker authorizations
Instead of trades and positions hanging, it now gives a message directing you to reauthorize the broker connection.