Highlights
- Fixes for recent Microsoft bugs. Recent Windows11 updates have caused blurriness inside multi-line input controls, but only when they're inside a property page (tab). This seems to affect all historical versions of our applications. We've narrowed this down to Microsoft's ClearType technology. We've had to selectively disable this feature on these boxes.
- Internal Browser Updated! All the browsers inside the application have been updated from Internet Explorer to MS Edge. This upgrades the security and modern web support of our web browsers.
- Tooling: the application is now built with newer version of visual studio and newer platform SDKs. This should mean faster and more secure applications in general, and it also means that we can drop the need for the visual c++ 2008 redistributable package that was in the installer previously.
- Fixed: an inconsistent crash that could sometimes happen when closing a screen containing a property sheet.
Windows Fixes
This update solves several major issues introduced by Microsoft in recent updates to Windows that affect how common controls display. Namely 2 issues:
- Large edit boxes get blurry on tabs. (Technical info: a windows update to ClearType Font rendering seems to have caused multi-line edits in property pages to stop redrawing correctly)
- Editable fields look read-only on tabs after recent windows update:
UI Improvements
The following improvements have been made to the look and feel of the ITrack controls as well to match the Windows 11 control themes:
- Editable dropdowns now show the themed blue border when the user has clicked 'in'
- Editable text in list controls now show the themed blue border when the user has clicked in
- Editable dropdowns in list controls now show the themed blue border when the user has clicked in
- Multi-line text fields in list controls now do much better about 'growing' correctly to fit the text to display to the user.
Browser changes
The embedded browser in ITrack has been switched from one based on Internet Explorer to one based on MS Edge. This improves speed, security, and the ability to render modern web technology. However, this drops support for some older computers. Users on these older machines should still be able to use ITrack but may see a warning box on the home screen instead of the usual browser area.
Other fixes
- Web browser pages should no longer leave MSEdgeWebView2.exe processes running on the system after the application closes in some circumstances.
- The embedded edge browser now writes its data into the windows temp directory instead of the ITrack installation directory. This helps for situations where the user doesn't have write privileges to Program Files (x86).
Screens
Account List
- Added: (AX-51) Mobile Phone column on AX Account List, replacing default-visible Fax Number (#46)
Reports
- Added: (AX-32) backup bidder information to AppraisedBuyersGuide, with parameters to control whether it displays (none, one, or multiple) and whether time to sell displays. Includes matching adderscript.
- Added: (AX-22) loadout disclaimer to Invoice, InvoiceGroup, and InvoiceLoadoutPackets.
- Added: (AX-21) host name to BidderLoadout, BidderLoadoutAll, Invoice, InvoiceGroup, and InvoiceLoadoutPackets.
- Removed: (AX-20) Berryhill fax number from AuctionInvoices, BASellerContract, BidderLoadout, BidderLoadoutAll, BidderProxyBids, BidderPurchasedList, Invoice, Invoice9000Group, InvoiceGroup, InvoiceLoadoutPackets, SellerInventory, SellerInventoryAppraised, SellerInventoryReport, SellerSoldInventory, and SellerStatement.
- Removed: (AX-31) Venmo information, including QR code, from Invoice, InvoiceGroup, and InvoiceLoadoutPackets.
Master / About
- Updated: Software change link in help dropdown.
- Added: Changelog button to About Dialog.
- Changed: the application is now explicitly not High-DPI aware. On some systems this helps to ensure that ITrack looks correct when windows scaling is above 100%.
Report Viewer / Crystal Reports
- Added: (EE-164) "Delayed until" column in the print queue history tab, plus filters for job status and delay-until date.
- Added: print jobs now have a title set from the user-friendly report name plus a file extension, which also improves default filenames when printing to PDF.
- Fixed: (PA-562) the edit->reports page file upload dialog now shows an error box if it failed to read the file on Windows.
- Changed: (Shared/ITSQLBlob, fixes PA-565) load file from blob now uses non-blocking reads, so it no longer silently fails to retrieve a report file locked for write (e.g. open in Crystal Reports).
Data Management / Import
- Fixed: (EE-1291) an issue where blank cells in an import spreadsheet could throw errors when mapped to "ID" columns. Now, for numeric fields, the system will decide automatically whether a blank cell will become "0" or "NULL" depending on what the database column prefers. This will better handle both numeric fields like YEAR as well as "ID" columns like "Vendor #".
- Added: (EE-1116) import no warn on not set: whether validation is applied is now based only on whether a field source is mapped at all, avoiding false positives.
- Removed unneeded check, combined others; fixed accidental change on tabbing; only warn if the field is actually mapped.
- Added: helper function to track input mapping.
- Added: the auto-map process on import CSV load/refresh now also considers sub-field sources' names, with a two-pass exact-then-starts-with match. Previously mapped fields are excluded.
- Changed: when an import is performed, an unmapped or invalid field token is now replaced with NULL instead of deleted, so queries complete instead of erroring.
- Added: support for InvalidTokenReplacement string on ITEDocumentRequest, letting callers replace invalid tokens with a fixed value (e.g. NULL) instead of leaving/removing them. Defaults to blank for backwards compatibility.
- Added: ITAttributeMap can now be constructed from a std::string-to-string map, and ITDataSource can be constructed from an ITAttributeMap.
- Migrating global edocuments functions to the global namespace area, since they are not EE specific.
- The name of the backup database now defaults to blank (primary database) instead of
backup_importer, which is better for multi-tenant/cloud-hosted systems.
VIN Decoding
- Notice: the VIN Decoding library has changed from VIN Power to the online NHTSA VIN Decoder, which generally returns more information and avoids yearly VIN Power licensing rollout issues. VIN Power support in Pro/Enterprise continues through end of 2025.
- Added: VIN Decoding displays more information per decode; the dialog is taller and info is broken into more categories.
- Added: libVINDecoding now links via curl to the online decoding micro-service; ITVinPowerHandler was rewritten around it.
- Changed: VIN Lookup dialog no longer shows a year of 0; blank is shown instead.
- Added: VINLookupDialog now resizes to use all available horizontal space.
- Added: final, live URI for the VIN decoding service, plus an updated user agent string.
- Future versions of ITrack will not use VINPower, so it's being removed from the installer.
UI Framework: Property Pages, Controls & Tools (shared)
- Fixed: some popups weren't tied to the application correctly, allowing alt+tab to reach the app underneath, and auto-refresh timers weren't pausing while they were up.
- Fixed: a deep property-page/dialog/edit theming issue causing edits to draw with transparent (gray, non-editable-looking) backgrounds inside property pages.
- Fixed: a corner case where a property sheet's brush bitmap could render all black inside a property page.
- Added: property pages (tabs) now automatically change the font any multi-line edit controls when it initializes, overwriting the operating system preference for ClearType and turning it off. This is because a recent windows update now causes weird blurring to occur in multi-line edit boxes inside of property pages. Its still unclear why Microsoft did this.
- Fixed: an issue where the background of a property page would not be the correct style if it did not contain a static text area or a button.
- Added: the advanced message boxes now respect the user's light/dark mode title bar setting.
- Added: ITAdvancedComboBox's internal 'flat render' flag is now user-controllable (defaults on); fixed a double-border render bug.
- Changed: edits in ITListCtrl now display with the Windows 11 themed border, and line up correctly on their margins.
- Fixed: OnEditDrawAreaRequest now accounts for the difference between window size and client size, fixing edit positioning under Windows 11 themes.
- Fixed: text height computation didn't account for a trailing newline.
- Fixed: a label would incorrectly show the tooltip of the next control if the label was also a button.
- Fixed: a crash passing NULL to ITIconButton::SetIcon.
- Added: if sorting is turned off at runtime on libITListCtrl, sort clicks on column headers are now suppressed.
- Fixed: an issue where adding to an ITControlList wouldn't apply the current default group if default styles were skipped; added ModifyGroupSetStyle.
- Fixed: an issue where an ITControlList assignment
= bug should have been a comparison ==.
- Many shared dialogs, including ITDialog itself, now respect OS dark/light mode in the title bar; ITDialog now also respects subclass MINMAXINFO handlers.
- Fixed: a crash on close/cleanup in views containing property sheets, caused by internal image lists being cleaned up twice.
- Added: a string-based ToDecimalOrNull, allowing blank (instead of 0) to represent NULL.
- Added: ITFileSystemTools::ReplaceInvalidFilenameCharacters as a proper helper (previously done ad hoc in a couple places).
- Added: MAPI error message support, so failed-email popups show an error message and code.
- Added: StoreSettingsCache, which loads store-level settings just-in-time for screens that need to check per-line-item store settings (e.g. inventory store) without a query per lookup.
- Added: ITSQLMaster now comments queries run on reconnect for easier diagnosis.
- Fixed: an issue where looping across reports to update had a bug in release mode, causing a query error.
- Fixed: audited every file for dialog font settings and standardized on MS Shell Dlg, which seems to be an alias for the operating system's dialog font, which seems to resolve to Microsoft Sans Serif(8). This was previously mixed with MS Sans Serif, which resolved correctly on some machines but not others, resulting in missing fonts, leading to some inconsistent looks on some windows 11 machines.
- Fixed: minor improvements to the choose folder dialog and some error reporting messages.
WebView2 / Embedded Browser
- Updated: how the path to WebView2 is handled in the vcxproj/config for Graphing, ITrackOnline, and libITWebBrowser.
- Added: WebView2Loader.dll now ships with all installers for the Edge browser embed; changed .NET 3.5 -> .NET 4 to match the webview/POSLink requirement.
- Updated: (case EE-222) Graphing and ITrack Online to use the new embedded web browser (IE no longer supported).
Installers
- Added: (EE-1039, Shared) ODBC packaged in the installer updated to 8.0.27 (newest version supporting both TLS 1.3 and older TLS 1.0/1.1); uninstaller now removes ODBC entries; fixed an ODBC registry path bug; removed the now-unused 2013 VC++ redistributable.
- Added: (General) blat.exe (command-line emailer, used for password recovery) is now part of the base installer, since some AV tools block its auto-update download.
- Added: (General) attachment managers modernized to use the same MySQL dependencies as the ITrack installers, supporting MySQL 8 with SSL.
- Fixed: attachment manager installers no longer put the wrong path in the desktop shortcut.
- Reintroduced the VC++ 2008 redistributable for a year, since some users run the modern installer to downgrade to older versions that still need it.
- Refactored the shared installer scripts: split ITrack.nsi into ITrackCore.nsi and a more general DesktopShared.nsi; added top-level installers for all ITrack products; fixed a broken wiki link and a TSC_Latest.exe download issue (https); cleaned up duplicate DLL reference lines and old/deprecated installer pieces.
- AX no longer installs .NET 3.5, since it can be slow to install.
- Renamed the Registration installer's output file to Registration.exe (from "ITrack Registration.exe") to match what the installers expect.
Database / Connectivity
- Added: support for more specific SSL configuration errors when a configured SSL path is incorrect, prompting the user to fix it in connection settings; added SSL checkbox and cert/key directory/prefix configuration to the connection popup.
- Fixed: a source of errors caused by MySQL version mismatches when compression was enabled.
- Fixed: an STL template collection issue causing release-mode-only build failures after a platform library upgrade.
Build & Third-Party Libraries
- Rebuilt/updated crypto++ (fixed a multi-week memory leak, switched to shared-DLL MFC linkage, added release/64-bit builds).
- Got DevIL 1.8.0 compiling in modern Visual Studio (reverse-engineered their broken build scripts); rolled back temporarily to 1.7.8 after 1.8.0 broke rendering of common images, then landed 1.8.0 successfully.
- Standardized dialog fonts on MS Shell Dlg across projects, including AX's own resources (previously inconsistent with MS Sans Serif, which doesn't exist on some Win11 home machines and caused display issues); moved versioning from .rc to .rc2 across many projects so it doesn't reset on every update; bumped minimum OS version to Win7.
- Moved AdditionalSettings.manifest into ITExecutableProperties.props so all executables build DPI-aware/binary-identity settings automatically.