Process Lasso Development Log
Revision history
Known errata
3.61 beta [#61700]
This new beta series will, over the course of the series, make several additions and enhancements to the software.
- Addition.Core: Added the ability to automatically restart select processes if they terminate (keeps them running always)
- Addition.Core: Added new 'lowest' throttle level
- Addition.GUI: Added facilitating UI code to 'keep running' processes (dialog, context menu, rule indication)
- Addition.GUI: Added back Modules tab (removed a year ago as we streamlined the product)
- Addition.GUI: Added option to automatically restart the core engine if it is terminated for any reason
- Addition.GUI: Added new 'lowest' throttle level - now four tiers: highest, moderate, low, lowest
- Addition.GUI: Added system uptime to status bar
- Change.GUI: Affinity submenus now disabled for single-CPU systems
- Change.GUI: Some cosmetic and usability enhancements
- Change.GUI: Swapped working set and commit size default column locations
- Change.GUI: Improved message box appearance and functionality by updating to
XMessageBox 1.10 (by Hans Dietrich) and migrating our customizations to his code
- Change.GUI: Changed 'Exit GUI on close' to 'close to system tray' (its more understanble inverse)
- Change.Build: Tweaks to compiler optimization settings
- Fix.GUI: Fixed missing MessageBox icons in x64 build
- Fix.GUI: Fix for a theoretical rare crash that could have occurred during startup
3.60 [#60300]
This version represents a major product overhaul. Virtually every function of the software
has been improved. Several new features have also been added. One of the new features is the much requested CPU
throttling, where a hard limit is imposed on the amount of CPU time a process
can consume. Other new features include exclusions from foreground boosting, automatic
game mode toggle, handle and thread counts, a thread management tab, and the ability to suspend/resume processes.
ProBalance, along with the core engine in general, has also been tweaked to react more quickly. See the complete list of changes below.
This has been bumped up a few version numbers to represent the magnitude of its revisions.
- Addition.Core: Added CPU throttling (both persistent and temporary). This applies a hard limit on the CPU time a process can consume.
This is not meant to replace ProBalance and should be used only in certain, appropriate situations
- Addition.Core: Added ability to exclude specific processes from foreground boosting
- Addition.Core: Added automatic game mode entry for user specified processes
- Addition.Core: Added pathname to process launch log events
- Addition.GUI: Added to the graph CPU history of currently selected process(es)
- Addition.GUI: Added UI support for excluding processes from foreground boosting
- Addition.GUI: Added UI support for CPU throttling
- Addition.GUI: Added ability to suspend and resume processes
- Addition.GUI: The system tray icon now will change to a special icon when the governor is inactive
- Addition.GUI: Added thread count column
- Addition.GUI: Added handle count column
- Addition.GUI: Added application name column
- Addition.GUI: Added thread management tab
- Addition.GUI: Added CPU Time column
- Addition.GUI: Added 'cancel' button to 'shutdown governor too' message box, allowing to abort the close of the GUI
- Addition.GUI: Added minimum time for restraint parameter to ProBalance configuration dialog
- Addition.GUI: Added maximum time for restraint parameter to ProBalance configuration dialog
- Addition.GUI: Added UI support for automatic game mode entry for user specified processes
- Addition.GUI: Added 'Graph/Show CPU Utilization' option
- Addition.GUI: Added 'Graph/Show CPU history of selected processes' option
- Addition.GUI: Added 'Graph/Show Responsiveness' option
- Addition.GUI: Added 'Graph/Show Memory load' option
- Addition.GUI: Added 'Graph/Mark ProBalance events' option
- Addition.GUI: Added secondary warning about out of date languages, specific to unupdated languages.
- Addition.GUI: Added Process Lasso version to system tray balloon tip
- Addition.GUI: Added right-click context menu on processes listview header, to select what process info (columns) are visible.
- Addition.GUI: Added right-click context menu on running processes tab, to select what process info (columns) are visible.
- Addition.GUI: Added configuration dialog to specify game processes
- Addition.GUI: Add confirmation message box to new disallowed process (always terminate)
- Addition.InstallHelper: Give warning if user set a global configuration and/or log path that may not be accessible by other users
- Addition.Installer: On upgrades, added message box asking if user wants to skip install wizard
- Addition.Installer: Added start menu shortcut to run the test application for a continous 60 seconds
- Addition.Installer: Added build date and time to branding text
- Change.Installer: Added warning that non-English languages may not be current
- Change.Installer: Merged 'Advanced shortcuts' section into 'Create shortcuts' section
- Change.Installer: Don't create shortcuts for Vista/Windows7 utilities during XP or Win2k install
- Change.Installer: Updated to NSIS 2.42.5 unicode
- Change.InstallHelper: Rewording of rights selection (for each isntance to manage processes of all users or not)
- Change.InstallHelper: Cosmetic adjusments
- Change.GUI: Set placement of OK and CANCEL buttons to conform to Windows standards (for all dialogs).
- Change.GUI: Brightened RED used for total CPU utilization
- Change.GUI: Improved memory load dotted line
- Change.GUI: Consolidated 'reset column order' and 'reset column sizes' into a single menu item
- Change.GUI: Overhaul of status bar control for main window
- Change.GUI: Other tweaks and optimizations
- Change.GUI: Tweaks to process context submenu ordering (standardized)
- Change.GUI: The warning message when the governor isn't running will not be shown continuously, instead of intermittently
- Change.GUI: Tweaks to default column sizes
- Change.GUI: A considerable amount of other tweaks and optimizations
- Change.GUI: Increased refresh/poll speeds
- Change.GUI: Some optimizations to graph painting code
- Change.GUI: More strings and code switched to unicode (the rest will be deferred until full switch to 100% unicode)
- Change.GUI: Improved accuracy of system responsiveness calculation through algorithm changes
- Change.GUI: Expanded width of responsiveness line of graph to better disinguish it
- Change.GUI: Decreased default initial graph veritcal size and increased default lower listview size
- Change.GUI: Edited new large application icon, removing the words since they didn't highlight well
- Change.GUI: Edits to governor not running icon
- Change.GUI: Change position of 'Terminate always' process context menu item
- Change.GUI: Improved appearance of purchase dialog some
- Change.Core: Tweaks to gaming mode to mitigate potential problems
- Change.Core: Changed default so that all new processes are logged
- Change.Core: Major internal overhaul to minimize complexity and maximize efficiency
- Change.Core: Tweaked default ProBalance parameters
- Change.Core: Added milliseconds to log times
- Change.Core: A considerable amount of other tweaks and optimizations
- Change.Core: Added more hard coded exclusions for popular applications that should be excluded from ProBalance restraint
- Change.Core: Made extensive changes to the ProBalance algorithm
- Change.Core: Decreased high, normal, and low refresh intervals so that process info is updated quicker, and processes are acted on quicker
- Change.LocalizationPack: Improved clarity of translator instructions
- Change.InstallHelper: Change icon on for specific user suggestion when core
engine set to run as a service (to warning, not error)
- Removal.GUI: Removed menu items to set the GUI startup type. These are now found
in the InstallHelper.exe program, which is run during installation.
- Fix.GUI: Fixed menu item 'Options / Log settings / Log default affinity adjustments' - as it wasn't unchecking, even though config was toggled
- Fix.GUI: Fixed condition where resource consumption could grow indefinitely over
time if the user had changed the maximum log size to 'unlimited'.
- Fix.GUI: Fixed keyboard accelerators (CTRL-A=select all, F5=refresh)
- Fix.GUI: Fixed missing space in beta version number shown in update checker
- Fix.GUI: Fixed issue where core engine couldn't be restarted by the GUI in Vista+ /w UAC and running with normal rights.
- Fix.GUI: Fixed thread synchronization error that could cause log display issues (blank fields) under rare circumstances
- Fix.GUI/Core: When running the core engine as a service, ProBalance restraint events will now be highlighted on the graph
- Fix.Installer: Fixed missing PL application icon in Windows 'Programs and features' (Vista) or 'Add/remove programs' (XP)
- Fix.All: Date and time format is now localized (dependent on user locale setting)
- Fix.TestLasso: Better command line argument handlng
- Fix.TestLasso: Some adjustments to continuous mode
- Post-release updates (minor maintenance):
- [.1]Change.GUI: Minor string adjustments and menu order tweaks
- [.1]Change.GUI: Moved process context menu item 'restart' to 'other actions' menu, so it isn't confused as a way to resume suspended processes
- [.2]Fix.GUI: Fixed initial position of lower slider/resize bar on low resolution screens
- [.2]Fix.GUI: Fixed position limits of lower slider/resize bar, especially in Windows 2000
- [.3]Fix.GUI: Fixed initial creation height of lower listview (log/threads)
- [.3]Change.GUI: Further adjusted system responsiveness calculation (increased granularity and sensitivity)
- [.3]Change.GUI: Decrease default width of process creation time column
- [.3]Change.TestLasso: Slight enhancements to CPU eating algorithm
- [.3]Change.Localization: Updated Traditional Chinese translation
- [.3]Removal.Installer: Removed revision history from installer
- [.4]Fix.GUI: Fix issue where out-dated language warning 'do not show again' was not working
- [.4]Change.GUI: Allow graph to be resized smaller
- [.4]Change.Localization: Updated Portuguese/Brazilian translation
- [.5]Change.Localization: Updated and restored Russian translation
- [.5]Addition.GUI: Added single process context menu options to set default and current CPU affinity via dialog (instead of checked menu items)
- [.5]Fix.Installer: Fixed working directory of start menu shortcuts (fixes start/stop core engine via start menu)
- [.6]Fix.Installer: Fix issue where x64 build availability message, shown when
x32 build is installed on an x64 OS, was shown twice in Vista+ /w UAC
- [.6]Change.GUI: Tweaks to single-selection process context menu ordering
- [.6]Change.GUI: A couple string changes (note: translations were manually
updated in-house)
- [.7]Fix.GUI: Fix for a possible theoretical rare crash of the PL GUI during startup [fix backported from newer beta series]
3.54 [#57300]
- Fix.GUI: Fixed issue where update checks would sometimes still continue after the user disables them, until Process Lasso is restarted (config change wasn't always immediately propagating)
- Fix.Package: Fixed possible mismatch of some localized resource DLLs with installer (x32 in x64, or vice-versa). It is unknown if this ever occurred
- Fix.Installer: Fixed a few missing strings in various languages
- Addition.GUI: Added new menu group 'Options / General Process Lasso settings /
Administration options'
- Addition.GUI: Added password protection of configuration changes
- Addition.GUI: Added 'Select process columns' to allow for selection of which process information is shown in the listview
- Addition.Localization: Added Simplified Chinese translation
- Addition.Localization: Added Traditional Chinese translation
- Addition.Installer: Added support for silent installs (/S). See command line argument docs
for details
- Addition.InstallHelper: Added several new command line switches to provide
options for silent installs
- Change.All: Further optimized compiler settings
- Change.Core: Renamed log file to prolasso.log
- Change.Core: Renamed default config filename to prolasso.ini
- Change.GUI: Limited number of process icon retrieved per iteration, deferring
disk I/O in cases of heavy system load
- Change.Installer: Switched to UNICODE build of NSIS
- Change.Localization: Made the Start Menu shortcut strings localizable
- Change.Localization: Updated Serbian, Russian, and Japanese translations
- Change.Docs: Updates to many sections
- [.1]Change.Licensing: Included instance count limit feature in free build - enjoy!
- [.2]Change.Licensing: Included periodic memory trimming in free build - enjoy!
- [.2]Change.Updater: Fixed an untranslated string and switched dialog to unicode
- [.2]Addition.Core/GUI: Added 'Gaming mode' to quickly enter or leave a maximum foreground boost and maximum background restraint mode
- [.3]Addition.InstallHelper: Added important warning about running the core
engine as a service. Running it as a normal process is preferred
- [.3]Change.Localization: Updated PTBR translation
- [.4]Fix.Core: Fixed issue where log would be cleared after it grew to an excessive size, even if it was set to 'unlimited' by the user
- [.5]Change.GUI: Increased minimum height and width
- [.5]Change.GUI: No longer show graph text banner messages when they are overlapped by the graph legend
- [.6]Change.Localization: Updated Russian translation
- [.6]Fix.Core: Fix condition where log events would cease until the core engine was restarted
- [.7]Fix.GUI: Fix problems with 'reset to defaults' in ProBalance config dialog
- [.7]Change.Core: Added special ProBalance handling for certain common process(es) in certain conditions
- [.7]Change.Core: Changed default ProBalance parameters to decrease sensitivity some
- [.8]Fix.GUI: Fixed default size of average CPU utilization column (backported from new beta)
- [.9]Change.Core: Change ProBalance unrestrain time determination (backported from new beta)
- [.9]Change.GUI: Improved accuracy of system responsiveness calculation
- [.10]Fix.Installer: Fixed Windows 7 RC1 warning about possible failed install (backported from new beta)
- [.10]Fix.GUI: Fixed issue where core engine couldn't be restarted by the GUI in Vista+ /w UAC and running with normal rights (backported from new beta)
- [.11]Fix.GUI: Fixed possible rare log display corruption (backported from new beta)
- [.11]Fix.GUI: Fixed menu option 'Options / Log settings / Log default affinity adjustments' - it was not unchecking (backported from new beta)
- [.11]Removal.GUI: Removed option to set 'unlimited' log lines due to possible problems when the log gets too large. A proper fix is in the new beta series
- [.11]Removal.GUI: Removed menu item group 'Options / General Process Lasso Settings / Process Lasso GUI start type'. This feature wasn't working correctly, and the proper way to change the start-up type for the GUI is to re-run the installer (backported from new beta)
- [.11]Change.GUI: the memory load line to smaller dashes that look better (backported from new beta)
- [.11]Fix.Installer: for missing application icon in 'Add/remove programs' (XP) or 'Programs and features' (Vista) (backported from new beta)
- [.11]Addition.Core: Process path is now recorded in the log for new process log events (when 'log all executed processes' is set) (backported from new beta)
- [.12]Change.Core: Backported tweaks to gaming mode to improve performance of some games.
3.52 [#55200]
- Fix.Core: Fixed licensing error in free build - the core engine would have mysteriously quit working after 7 days in v3.50
- Fix.GUI: Fixed occasional failure to retrieve process icons for processes launched while GUI window is open
- Addition.GUI: Added option to hide process icons in the listview, reducing RAM use by the GUI considerably when hidden
- Addition.GUI: Added option to hide the graph
- Addition.GUI: Main window now accepts drag and drop of a new INI configuration file
- Addition.GUI: Added 'Search for process name online' option to process context menu, in the 'Other actions' submenu
- Change.GUI: Changed process context menu item 'open containing folder' to 'locate executable on disk', and changed the code so that explorer is launched with the executable's process auto-selected in the file view
- Change.GUI: Slightly improved performance of window painting
- Change.GUI: Many internal optimizations and tweaks
- Change.GUI: Renamed process context submenu 'Misc. advanced' to 'Other actions'
- Change.GUI: Removed graph overlay message, 'commercial users: You must purchase a license within 7 days'
- Change.Installer: Updated to NSIS 2.44
- [.1]Change.Localization: Updated Serbian translation, now with a translated graph legend
- [.1]Change.Localization: Updated Portuguese/Brazilian translation
- [.1]Change.Localization: Expanded some control widths in ProBalance settings dialog to accomodate Serbian strings
3.50 [#54800]
- Fix.GUI: Fixed a very small memory leak under specific circumstances
- Fix.Localization: Fixed InstallHelper untranslated string in Japanese
- Fix.Localization: Several fixes and updates inherited from v3.48 post-release updates
- Fix.Licensing: Fixed days installed counter
- Change.Licensing: Use type (commercial or home) is no longer asked for
- Change.Licensing: Commercial installations no longer have a forced expiration
- Change.GUI: Some minor data structure size optimizations
3.48 [#54600]
- Fix.Installer: Fixed second, redundant query for language selection in Vista+ /w UAC
- Fix.Localization: Changed much internal string handling to wide-character (unicode)
- Fix.Localization: Fixed installer component names in Japanese translation
- Fix.Localization: Fixed update checker not translated in Japanese
- Fix.InstallHelper: (XP/2k only) Fixed preservation of last selected rights assignment between installs
- Change.InstallHelper: Default rights assignment to highest when running the core engine as a service, and disable normal rights selection
- Change.AdvancedTools: Merged TweakScheduler and VistaMMSC resources into main resource module
- Change.AdvancedTools: Readied TweakScheduler for localization
- Change.AdvancedTools: Readied VistaMMSC for localization
- Addition.Localization: Added Serbian language by Оzzii, српски
- Addition.GUI: Added new 48x48 @ 24bpp application/shell icon, by Vitor Machado
- [.1]Change.Localization: Translation updates and minor fixes. Update check version number not incremented
- [.2]Addition.Installer: Added evaluation copies of TweakScheduler and VistaMMSC to free build
- [.2]Addition.Localization: Added Dutch translation by Bart Van Zoest (unfinished)
- [.3]Fix.GUI: Internal tweaks and adjustments to deal with several theoretical conditions
- [.4]Change.GUI: Data structure optimization slightly reduced memory required to track each process
- [.5]Fix.GUI: Fixed a memory optimization mechanism
- [.5]Fix.Localization: Fixed missing strings in Dutch version of the update checker
3.46 [#53800]
- Fix.GUI: Fixed issue when governor installed as a service, launching the GUI can sometimes result in redundant instance(s) of the governor launched as a normal process
- Fix.GUI: Fixed issue where Process Lasso would exit after load during system
startup when user had enabled 'Exit GUI on window close'
- Fix.GUI: Fixed sort of process creation time in listview
- Fix.GUI: Fixed sort of log entry times in actions listview
- Fix.InstallHelper: Warning message about Pro only features now shown in
localized language
- Fix.Installer: Don't create shortcut for Vista Multimedia Scheduler Config tool
when not present in free build
- Fix.Installer: Fixed is_writable utility briefly opening console window
- Addition.Localization: Japanese translation added
- Addition.Core: Added new shell icon by Vitor Machado
- Addition.GUI: Added CTRL-A keyboard short-cut to select all processes
- Addition.GUI: Added message about Real Time priority class and how Windows may
change it to High, unless the security policy is adjusted
- Addition.GUI: Added secondary warning and confirmation when user is terminating,
restarting, or closing multiple processes that include one or more system
processes
- Change.GUI: Made system tray icon type menu items more intuitive
- Change.GUI: Single click on system tray icon opens main window, instead of
double click. This was for better standards adherence in Windows 7 beta
- Change.Core: Tweaked compiler settings
- Change.InstallHelper: Enabled Process Lasso rights selection in XP, as it pertains there too for limited users who want to see 'all processes' (not recommended)
- Change.Localization: Updated Portuguese/Brazilian translation, by Vitor Machado
- Change.Localization: Updated Russian translation by Dmitry Yerokhin
- Change.Localization: Localization text files are now all saved as UTF-16-LE (Unicode)
- Change.Localization: Improved internal utilities and build environment. Resource
changes are now automatically propagated to all languages. Untranslated new and
changed strings remain in English until a translator updates the applicable
language pack
- Removal.Installer: Removed 'uninstall' shortcut from start menu folder. User
should uninstall from Add/Remove Programs, to ensure administrative run mode
- Change.Installer: Don't try to UAC self-elevate during uninstall, instead force
user to run (or re-run) uninstaller with admin rights
- [.1]Change.Localization: Updated Russian translation
- [.1]Fix.Localization: Improperly converted (by NSIS) Japanese characters in
installer section names removed pending proper fix
- [.2]Fix.Localization: Improperly converted (by NSIS) Portugeuse/Brazilian
section names fixed (Japanese fix pending)
- [.2]Fix.Localization: Fixed update checker component not localized
3.44 [#53000]
- Fix.Core: Fixed a possible failure to always exclude foreground processes from ProBalance restraint
- Fix.Core: Safety catch for rare condition where multiple instances of the governor, all managing the same set of processes, take restraint action on the same process at approximately the same time. Note that under the default configuration this scenario won't happen anyway
- Addition.GUI: Added multi-process context menu function: default priority
- Addition.GUI: Added multi-process context menu function: default affinity
- Addition.GUI: Added multi-process context menu function: excluded from ProBalance
- Addition.GUI: Added multi-process context menu function: instance count limits
- Addition.GUI: Added ProBalance option to not change priority class, only adjust CPU affinity
- Addition.Core: Added support for ProBalance option to not change priority class during restraint
- Change.GUI: Updated Portuguese/Brazilian translation and images, by Vitor Machado
- [.1]Fix.Core: Fixed issue where log subsystem would fail under some circumstances, causing no log entries to be written
3.42 [#52400]
- Addition.GUI: Added Portuguese/Brazilian translation by Vitor Machado
- Addition.TestLasso: Added new command line switch (-c) to run with a sustained CPU load for X seconds
- Fix.Core: Fixed issue where instance count limit process matching was inadvertently case sensitive under some circumstances. This would cause some name matches to fail, resulting in the Process Lasso taking no action where it was configured to act
- Fix.GUI: Fixed incorrect verb in confirmation message box of multi-process terminate and close
- Change.GUI: Changed date/time formats
- Change.Core: The username field in log events now is the user owning the target process, instead of the user context of the core engine instance that performed the action
- Change.InstallHelper: Edited second configuration dialog to improve clarity
- Change.Installer: Language selection of installer now propagates to Process Lasso application
- Removal.Installer: Removed localization pack for translators from installer, is packaged separately now
3.40.1 [#51700]
Summary: This build fixes an anomaly in v3.38, where
each configuration change would only get detected by either the core engine, or the rules column. The
configuration file load and save functionality has also been completely
rewritten, and is now much more optimal. File system accesses and CPU usage have been
reduced. Lastly, multiple process selection support has been added.
- Addition.GUI: Added ability to select multiple processes in the listview
- Change.Core: Completely rewrote configuration file load/save code. It is now much more efficient
- Fix.GUI: Fixed sporadic failure of configuration changes to propagate to the core engine, appeared in v3.38
- Fix.GUI: Fixed some other minor issues
- Fix.Governor: Fixed unnecessary accesses to the configuration file
- Fix.InstallHelper: Improved W2k auto-termination of Process Lasso for install
- [.1]Addition.GUI: Restored rules column
- [.1]Change.GUI: Updated Russian translation (continued thanks to Dmitry Yerokhin)
- [.1]Fix.Core: Minor fixes and tweaks to new settings code
3.38.2 [#51400]
- Change.Core: By default each instance of the governor now only manages processes in its own user context, unless it is running as a service. This helps clarify operation and improve efficiency in XP and non-UAC Vista multi-user environments
- Addition.Core: Added new log entry at startup to indicate which user's processes are being managed by current instance
- Addition.GUI: Added new process 'rules' column, to give a quick depiction of matching rules (default priority, default affinity, etc..)
- Addition.GUI: Added 'No default affinity' process context menu item
- Addition.INI: Added boolean key 'ManageOnlyCurrentUser'
- Fix.GUI: Fixed issue where main window wouldn't unminimize upon double click of systray icon, in cases where it had previously been minimized by the user
- Fix.InstallHelper: Fixed failure to install service as a domain user
- [.2]Fix.Russian: Fixed crash with Russian resources, and updated translation
3.36 [#50400]
- Addition.Core: Added support for matching wildcards to process pathnames for default affinities and priorities
- Addition.GUI: Added 'match wildcards to pathnames' to default priority and default affinity dialogs
- Addition.GUI: Added 'more strictly enforce affinities' to default affinity dialog
- Addition.GUI: Reinstated updated Russian translation
- Addition.GUI: Duplicate item detection added to dialogs
- Change.GUI: Some spelling and grammar corrections
- Change.GUI: Added dialog close confirmation if unsaved text is in edit box, to prevent accidental closes
- Change.GUI: Improved appearance of default affinity dialog box
- Change.Installer: Reduced size of installation for all builds
- Change.Installer: Reduced size of helper utilities is_writable and test_gdiplus_present substantially (both now less than 4KB)
- Change.Installer: Upgraded to NSIS 2.42
- Fix.InstallHelper: Improved automated termination of Process Lasso under Windows 2000
- Fix.InstallHelper: Fix issue installing core engine as service with non-local user context
- Fix.GUI: Fixed issue where 'exit GUI on window close' option would cause the system tray icon to act incorrectly when double clicked
- Fix.GUI: Fixed last character of log entries being sometimes lost in log item display
3.34 [#49900]
- Change.All: Licensing changes, some features Pro only
- Change.Core: Further reduced resource usage
- Change.GUI: Further reduced resource usage
- Installer.Change: Reduced size of free build installation
3.32 [#49800]
- Addition.GUI: Added RAM load display on graph as a dotted blue line
- Removal.GUI: Remove duplicated 'Configure ProBalance parameters...' menu option
- [.1]Change.Core: Removed use of a now redundent synchronization object for log writes, improving performance of log writes
- [.1]Change.Core: Moved a forgotten log string to the localizable resources
- [.1]Change.GUI: Minor fix to size of graph map display, resulting in clearer and more efficient rendering
3.30 [#49400]
- Fix.GUI: Now utilizes XP/Vista themed common controls (v6), an accidental omission. This improves the GUI display considerably
- Change.Core: Optimized foreground window change detection code, resulting in an even further reduction in CPU usage
- Change.GUI: Change links to processlasso.com domain
- Addition.GUI: Ask once whether home or commercial install
- [.1]Fix.GUI: About box - Hid purchase button on Pro build, and added 'Pro' to product name
- [.2]Fix.Installer: Remove is_writable helper utility's dependence on msvc runtime DLL
- [.2]Fix.Uninstaller: Fix failure to delete self program files in Vista /w UAC
3.28 [#48500]
Summary: This version represents the most major changes to Process Lasso in several months. It adds the ability to
restrain out-of-control processes by changing their CPU affinities in addition to their priority classes. There is
also a wide array of functional additions and enhancements, as well as some fixes that could improve
ProBalance performance for some users.
- Fix.Core: Fixed issue where some applications, under certain circumstances, could end up with incidentally lowered priority classes that persist throughout the process lifetime
- Fix.GUI: Fixed improper behavior of confirmation message boxes introduced in v3.26
- Fix.GUI: Various ongoing adjustments to windowing code
- Addition.Core: Added support for ProBalance restraint by changing the CPU affinity of offending processes
- Addition.Core: Emits log entry when an instance of the governor starts, also indicating the config file in use
- Addition.GUI: Added support for ProBalance restraint by changing the CPU affinity of offending processes
- Addition.GUI: Added option to exit the GUI on window close, instead of minimizing to system tray
- Addition.GUI: Created a new log/action column for process ID
- Addition.GUI: Added build date to about box
- Addition.InstallHelper: Added extended error codes from MakeService to help track down service install problems
- Addition.InstallHelper: Created new switches '/terminate' and '/uninstall', which were formerly combined in '/remove'
- Addition.InstallHelper: Added explicit '/checksettings' switch, to check for default setting changes the user should be prompted about
- Addition.Installer: Now detects if Process Lasso instance(s) are still running after attempted termination, and prompts user to terminate them
- Change.GUI: Instance limits dialog now populates process name field when process removed from list, for easier changes to limits
- Change.GUI: Don't open another instance of the update check dialog if one is already open
- Change.GUI: Edits to log entry descriptions
- Change.GUI: Minor optimizations
- Change.GUI: Reduced stack memory usage throughout
- Change.Core: Excluded explorer.exe from restraint
- Change.Core: Always exclude services.exe from restraint
- Change.Core: Tweaks to ProBalance restraint algorithm
- Change.Defaults: Now clears log at each exit by default to help reduce memory use and log clutter
- Change.Defaults: Default log size decreased to 100 lines
- Change.Localization: Don't show language selection dialog since only English is available (instead of show and close)
- Change.InstallHelper: Cosmetic improvements
- Change.Installer: Several upgrade related changes
- Change.Installer: Less safety wait time for termination of running instances
- Change.Installer: Startup settings now preserved better
- Change.Installer: No longer asks Windows 2000 users to terminate Process Lasso, unless necessary
- [.1] Fix.Installer: Fixed failure to start Process Lasso with administrative rights when configured to do so
- [.1] Fix.InstallHelper: Minor fixes and adjustments for Vista /w UAC
- [.2] Fix.GUI: Fixed errant CPU selection for restraint affinity
3.26 [#46800]
Summary: This version fixes a problem some people experienced with saving of the window positions of Process Lasso. It also
adds confirmation prompts for termination, closing, and restarting of processes. Additionally, secondary confirmation is
required for operations on critical system processes.
- Fix.GUI: Fixed failure to remember window size and position in some circumstances
- Addition.GUI: Added prompts confirming process close, terminate, and restart operations initiated by the user
- Addition.GUI: Added additional prompts for operations on critical system processes
3.24 [#46400]
Summary: This version fixes a few minor bugs found after the last final release.
- Fix.GUI: Fixed failure of imported configuration (menu - File / Import configuration) to persist after application closes
- Fix.GUI/Core: Fixed issue where the core engine, when running as a service, was being inappropriately terminated by the GUI upon user logoff
- Fix.InstallHelper: Fixed failure to determine that the governor was previous installed as a service
- Addition.GUI: Added message box notice in case where GUI fails to restart governor as a service
- Addition.GUI: Added menu item 'Help / Visit Bitsum Technologies'
- [.1]Change.GUI: Allow user to 'do not show again' message box about failure to launch governor as a service in Vista with UAC enabled and Process Lasso running with limited rights
- [.1]Change.All: Minor tweaks, adjustments, and grammar fixes to non-critical code
- [.2]Addition.GUI: Added prompts confirming process close, terminate, and restart operations initiated by the user
3.22 [#45800]
Summary: This version performs minor maintenance.
- Fix.GUI: Fixed ProBalance settings dialog condition when 'Restore Defaults' button used, then 'Cancel' button pressed and changes aborted. Previous versions would show the unsaved settings when you reopened the ProBalance dialog, possibly causing user confusion
- Change.Localization: Removed some strings that need not be translated from the localization file
- Change.Core: Minor tweaks to NT native API client code
3.20 [#45600]
Summary: This version addresses issues with running the core engine as a service and improves Vista UAC support in the installer, amongst other minor maintenance.
- Addition.Installer: Process Lasso is no longer launched after install with administrative rights (showing processes of all users) unless configured to be launched that way
- Addition.InstallHelper: Now force users who choose to start the governor as a service to user global INI and log path over-rides
- Change.Installer: Removed IntallHelper from start menu shortcuts, you must now re-run the installer to make install related changes
- Change.Installer: Removed config/LOG migration from very old versions
- Change.InstallHelper: Removed 'Process Lasso must restart' message and functionality, intending for the InstallHelper to only be run during an install, when Process Lasso is already closed
- Change.InstallHelper: Allow blank passwords in service run-as user configuration
- Change.InstallHelper: Restore 'back' button on second dialog
- Change.InstallHelper: Auto-populate global log folder over-ride
- Change.InstallHelper: Other changes related to run-as-service support
- Change.InstallHelper: If error during service installation, don't allow user the option to continue without changing startup type or service config
- Fix.InstallHelper: Fixed issue where log events are not written when running the governor as a system service not in any user context, and a global log folder is not specified
- Fix.Core: Fixed issue where core engine, when running as a service, it in some cases wouldn't detect configuration changes
- Fix.GUI: Process creation time now shown in local time
- Addition.GUI: Appended PID to process name in log item display
- Change.GUI: Fixed tab ordering on several dialogs
- Change.GUI: Changed menu organization slightly
- Fix.Core: [from 3.18.2] Fixed critical Windows 2000 error in cases where a large number of processes exist
- Change.ProcessControl: [from 3.18.2] Optimized loading of dynamic imports. Reduction in CPU use
- Change.Installer: [from 3.18.2] Force Win2k users to manually close instances of Process Lasso during upgrade to avoid problematic older versions
- Change.GUI: [from 3.18.2] Improved ProBalance configuration dialog behavior
- [.1] Fix.Installer: Ask user to terminate instances of Process Lasso on uninstall. Product version NOT incremented
3.18 [#44600]
Summary: This release adds an important new feature: the ability to limit the number of instances a program can have running per user session. Of course, this feature is only for users
with a need for it, and by default no new action is taken. This release also makes important changes to ease translation by providing plain text files users can translate and submit. It further
makes some usability and efficiency improvements.
- Addition.Core: Added new functionality to limit the number of instances a process can have running per user session
- Fix.Core: Improved handling of cases where unexpected results come from the NT kernel, usually indicating a rootkit or other kernel-level hooking
- Fix.Core: Fixed improper handling of cases where syntactical errors were present in the default process priorities (they would attempt to be applied anyway, in contrast to the error shown)
- Change.Core: Some memory optimizations
- Change.Core: Some minor CPU optimizations
- Change.Core: Improved efficiency of COM components calls
- Addition.GUI: Added config dialog for new feature to limit the number of instances a process can have per-session
- Addition.GUI: Added new log toggle for terminations due to instance limit
- Change.GUI: Some reducation in memory use
- Change.GUI: Make 'buy now' button initially not visible
- Change.GUI: Config dialogs no longer ask to save changes when close button hit if no changes were made
- Change.GUI: Made default button on the process list config dialogs the 'Add' button so you don't accidentally close the dialog by hitting enter
- Change.All: Changed compiler optimization settings
- Change.Defaults: ProBalance priority restorations (end of restraint) events are now logged by default
- Installer.Change: Upgraded to NSIS 2.40
3.16 [#43400]
- Change.All: Digitally signed all modules and installer
- Change.GUI: Minor cosmetic and maintenance work
- Change.Core: Changed Product Name in version info block to match other descriptions of the core engine
3.14 [#42800]
Summary: This release represents a major overhaul/improvement of the run-as-service functionality for the core background engine (ProcessGovernor). It also, amongst many other things, changes
the default ProBalance settings so that services are not excluded.
- Fix.InstallHelper/MakeService: Removed inadvertently included user name and password from the ProcessGovernor service command line
- Fix.InstallHelper: Fixed operation of service error message, where clicking 'Yes' to try an alternate config did not represent the startup config dialog
- Fix.InstallHelper: Fix handling of user passwords containing spaces
- Fix.InstallHelper: Fixed general problems with log-on service as user functionality
- Fix.InstallHelper: Added error message describing how to change the local security policy to allow a service to run as a specific user
- Fix.InstallHelper: Fixed inability to restart service, it was getting relaunched as a normal process when restart necessary due to config change
- Fix.MakeService: Fixed handling of quote encapsulated parameters
- Addition.MakeService: Added new /start function
- Change.MakeService: Returns more detailed error information in exit code
- Change.MakeService: Cosmetic and licensing revisions (now at v2.01)
- Change.Defaults: No longer exclude services from ProBalance
- Change.InstallHelper: Now asks to change ProBalance settings if services are excluded, since this default has changed
- Change.InstallHelper: No longer inform user about Process Lasso restart events
- Change.InstallHelper: Now exits completely if user quits first dialog and responds Yes to prompt, instead of advancing to second dialog
- Change.InstallHelper: Now prompts with error if no service username or password given, and 'run as user' is checked
- Change.InstallHelper: Now auto-populates global configuration file path when 'use global over-rides' is checked by the user
- Change.Installer: Writes more product information to registry, for display in the Add/Remove Programs list
- Change.Core: A global config file or log path found in HKLM now takes precedence over any command line specified paths. This is mostly only relevant when running ProcessGovernor as a system service
- [.1]Fix.GUI: Fixes for integration with ProcessGovernor running as a service
- [.1]Fix.GUI: Reverted edit to graph legend in first build, there wasn't enough contrast for the greener text to be readable
- [.2]Addition.Installer: Added batch files to properly start and stop the governor, running as a service or not. The advanced start menu items to control the governor now use these
- [.2]Change.Core: Changed service name to ProcessGovernor, instead of ProcessLassoGovernor
- [.2]Change.Core: Changed service description to something more descriptive
- [.2]Change.InstallHelper: Removed back button on second dialog. It was more a nuissance than anything
3.12
- Fix.GUI: Fixed lost first digit of log date/time in first column of log listview. This would cause a display and sort error. Note that the backing log file was/is written correctly
3.10
- Addition.GUI: Added capability to delete a running process's executable at the next system boot. This is for malware and such that you may otherwise have a hard time getting rid of
- Change.GUI: Renamed out-of-control process restraint to 'ProBalance'
- Change.GUI: Removed 'beep when priority is restored' menu item. It is still in the ProBalance config dialog
- Change.GUI: Re-arranged process context menu items, creating a 'Misc Advanced' menu with trim, restart, and other functions
- Change.GUI: Removed 'Aggressively trim GUI RAM' menu option, as part of streamlining effort. This setting can still be manually changed in the INI file
- Change.GUI: Disabled Russian, as out of date and can't guarantee proper operation since its binary only
- Change.GUI: Disabled Polish because it is too out of date
- Change.GUI: Added the word 'Current' to 'CPU Affinity' submenu heading in the process context menu, to better differentiate between the current and default affinities
- Change.GUI: Consolidated View menu
- Change.GUI: Removed, renamed, and relocated other menu items
- Change.GUI: Cleaned up every dialog. Fixed errant titles. Fixed bad formatting. Fixed language errors
- Change.InstallHelper: Changed first config dialog title
- Addition.InstallHelper: Added a little security icon to the Vista UAC settings and path over-ride dialog
3.08
- Change.InstallHelper: Cosmetic and string changes. Reduced size of first dialog, more consolidated look now
- Change.GUI: Reduced some buffer sizes, in accordance with continuing policy to streamline the code
- Rollover.changes: Several post-release changes were made to v3.06
- Post-release minor updates:
- [.1]Change.InstallHelper: Disable static text in disabled options, so it doesn't stand out inappropriately
- [.2]Change.GUI: Cosmetic adjustments to dialogs (english only)
3.06
- Change.GUI: A more accurate per-process historical average CPU utilization calculation
- Change.Core: Changed default OOC settings a bit, lowering the per-process restraint threshold
- Addition.InstallHelper: Added capability to set the 'show all processes' option for Vista UAC at install-time
- Addition.InstallHelper: Added capability to tweak GUI startup type as well as governor startup type
- Addition.InstallHelper: Second dialog, wizard-look, to make room for more options
- Change.Installer: Added new section to launch the InstallHelper and let the user configure Process Lasso before starting it
- Change.Installer: Several misc. tweaks
- Change.Installer: Update to NSIS 2.39
- Post-release minor updates:
- [.1]Change.InstallHelper: Polished considerably
- [.2]Change.GUI: Tweaked more string handling to truncate on the event of overflow, instead of throwing an exception
- [.2]Change.Installer: Removed Vista UAC shortcuts, as InstallHelper is for this purpose now
- [.2]Change.Installer: Main window now displays when ProcessLasso.exe is launched after install, instead of going straight to system tray
- [.2]Change.GUI: Changed main window background color
- [.3]Fix.GUI: Made final fix to main window background color. It should look fine now for all Windows flavors and themes
- [.4]Change.GUI: Some minor string maintenance
- [.5]Addition.Installer: If foreground processes aren't excluded from restraint, ask user if they want to change to the new default config. This will apply to users of older versions who have an older default configuration, or to those who manually adjusted their configuration
- [.6]Change.GUI: Changed update checker string 'Download and exit' to 'Download'
- [.6]Change.GUI: Misc. minor adjustments
- [.6]Change.Installer: The product version is now stored in the registry, for update checking applications that may depend on it
- [.6]Change.InstallHelper: The first configuration dialog is now bypassed if it doesn't fit on the screen
3.04
- Fix.Core: Fixed high CPU load when Lasso update speed set to 'Pause' and the Process Governor is started/restarted
- Fix.Installer: Fixed issue where two instances of ProcessLasso.exe could end up running after initial install, depending on timing
- Update.VistaMMSC: Now properly describes network throttling index, removes percentage mark from that value, enforces new max limit (70), and supports disabling of throttling
3.02
- Addition.Installer: Added new section to reset only out-of-control process restraint settings. You'll be prompted at install to do so if that section is checked (it is by default)
- Fix.Core: Restoration of restraint process priorities when they move to the foreground has been improved. It is now more rapid in its response time and possible errant conditions have been addressed
- Fix.Core: Fixed rare case of restrained processes sometimes never being restored to their original priority of their total CPU utilization never drops below 10%, regardless of the configured value
- Change.Core: Changed out-of-control process restraint defaults so they are slightly less aggressive
- Change.Core: Improved code efficiency in some places
- Change.GUI: Reduced max depth of per-process and global CPU utilization history, there-by reducing RAM use per-process slightly (very)
3.00
- Addition.Package: Added utility to configure Vista's multimedia scheduling service. This utility still needs a little work, so keeping it in beta until its done (next week or so)
- Addition.GUI: Added menu option to launch Vista multimedia scheduling configuration tool
- Addition.GUI: Renamed 'Vista UAC' start menu folder to 'Vista Tools' and added option to launch vistammsc"
- Addition.GUI: Added a 'No default priority' menu item for the process context menu default priority menu. This seems more clear than having to uncheck the current default priority to remove it
- Change.GUI: Minor adjustments and optimizations
- Change.GUI: The default behavior is now to exclude foreground processes from OOC restraint. Users may wish
to restore the process restraint defaults (use the Process Restraint variables dialog)
- Fix.UACBatchFiles: Fixed unupdated filenames and other errata
- Change.GUI: Removed beg balloon
- [.2]Change.VistaMMSC: Added balloon tips
- [.2]Change.VistaMMSC: Added 'Backup' button and removed mandate of backup before save
- [.2]Change.VistaMMSC: Other cosmetic and function changes
- [.2]Change.GUI: Included updated Russian translation
- [.3]Change.GUI: Continued tweaks to reduce RAM usage even further
- [.3]Change.GUI: Some string management changes
- [.3]Change.VistaMMSC: Fixed scruffy and misaligned dialog
- [.4]Change.GUI: User queried if foreground processes not excluded from restraint, the new default
... older revision history removed ...
Known errata and quirks:
- Core engine run as a service: There are some caveats to running the core
engine as a service (not the default config, and not available in the free
edition). A warning about these caveats is shown during installation, if you
chose to run the core engine as a service. It is recommended that you configure the core
engine as a normal process unless you have a specific need to do otherwise.
- Service mode and foreground process detection: Foreground process detection will fail if
the Process Governor core engine is configured to run
as a service. This won't hurt anything. In a worst case scenario there would be an occasional
decrease in the effectiveness of ProBalance. Foreground boosting will also not
work, but won't cause harm if enabled. Users running the core engine as a system service should exclude commonly used applications from ProBalance restraint, to prevent
them from being lowered in priority while they are being used. There are no
immediate plans to attempt a fix for this.
- Service mode and balloon tips: System tray balloon tip notifications from Process Lasso
may not work when running the core engine as a service.
There are no plans to fix this.
- Highest rights, Vista+ UAC, and Windows Defender: When run with highest rights in Vista /w UAC, Windows Defender will block execution of Process Lasso at startup.
This issue will not be addressed, as the design of Windows Vista prevents taking
any corrective actions. After all, if we could work around this, so could
malware.
- Graph ProBalance highlight: The graph highlights are not designed to track the
full duration of ProBalance events, as some priority adjustments may continue for
indefinite
periods. Rather, they show the start of the ProBalance priority adjustment and
its immediate effect on system responsiveness.
- Date format not localized: The date format is not localized. For simplicity, we decided to stick with a standard
European date/time format - at least for the time being. We apologize for the confusion this may occur to USA (our home country) users.