PicPick 歷史版本列表
PicPick 是一個全功能的屏幕捕捉應用程序的 Windows,直觀的圖像編輯器,顏色選擇器,調色板,像素尺,量角器,十字線,白板和更多。用戶友好和充滿創造您的形象的功能,適用於軟件開發商,平面設計師和家庭用戶。 PicPick 包括一切有關圖形設計,所以它將不僅節省您的磁盤空間,而且還節省時間和金錢.PicPick 功能:捕獲任何內容 截屏的整個屏幕,一個活動的窗口,滾動窗口和任何特定區域的... PicPick 軟體介紹更新時間:2024-02-23
更新細節:
What's new in this version:
- Fixed an issue where sharing image URLs was not functioning properly
更新時間:2024-02-23
更新細節:
更新時間:2024-02-13
更新細節:
What's new in this version:
Process Lasso 12.5.0.38 (64-bit)
GUI:
- Small optimizations
- When a process is in EcoQoS but has a non-idle priority class, call it "Partial Efficiency Mode"
- SessionAgent: Minor code maintenance
- Treat "Refresh Interval (*) / Pause" as toggles, going to default refresh rate when user unchecks
- Instantaneously refresh when unpausing GUI
- Expand some control widths on Config Profile Switcher config dialog
- Add a separator to Config Profile submenu
- GUI/Core: Fix an issue with commas in Config Profile Switcher rules
- ThreadRacer: Mark E-cores with 'E' appendage
- Adjust when power modes (overlays of Balanced) are shown in addition to traditional power plans
- Prepend Balanced power plan name to power modes
- Show traditional Balanced power plan on power mode systems
- Remove success message boxes when new power profile rules added by context menu
- Allow embedded commas in Performance Mode rules (RegEx not supported by this feature)
- Show message if user tries to add use RegEx on a Performance Mode rule
- Fixed sorted listbox on generic power plan selection dialog could cause unexpected initial selection
- Installer: Try to continue if there is an error result from CoInitializeEx
- Core: Performance Mode default to Max Performance Overlay on Power Mode systems where BHP is not installed
- Remove 'Restart Process Lasso?' message after BHP install or uninstall action, just restart the app
- Minor cosmetic work to CPU affinity dialogs
Process Lasso 12.4.7.20 (64-bit)
Minor fixes and enhancements:
- GUI: Fix an issue changing existing I/O and memory priority rules from the context menu
- GUI: Improvements to translation tools
- GUI: Change default sort order of Insights to descending by restraint count
- GUI: Remove 'critical' I/O priority level since it cannot be enforced
- GUI/Core: Add common game platform launchers to stock ProBalance exclusions
- GUI: Large updates to Finnish and German translations
- GUI: Fix an issue with the username display on ProBalance graph tooltips
Process Lasso 12.4.6.10 (64-bit)
- GUI: Fix suspended process state not always indicated in status column
- GUI: Add P/E core count to CPU topology string for About dialog and status bar
- GUI: Change copyright to 2024
- GUI: Fix issue where eco leaf icons weren't painted on core graphs under certain conditions
- GUI: When there is insufficient width for eco leaf icons draw circles instead
- GUI/Core: Add Epic Games to automatic game detection
- GUI: Support context menu in filtered log view
Process Lasso 12.4.5.8 (64-bit)
Revert previous change to Automatic Game Detection default value:
- GUI: Improve action confirmation flow on terminate and restart of critical system processes (e.g. explorer)
- GUI: Fix reset config action didn't clear overrides of hard-coded ProBalance exclusions
- GUI: Fix to ThreadRacer control ordering
- GUI/Core: Revert previous change to 'Automatic Game Detection' default value, now ON again. Only new installs or users who reset their config were affected by this change.
Process Lasso 12.4.4.22 (64-bit)
- GUI.AffinitiesDialog: Add 'Show Advanced' link and hide delay edit control by default
- GUI/Core: Allow wildcards in Performance Mode basename matches (previously only full paths)
- GUI: Add IdleSaver exclusion list management to its config dialog
- GUI: Disable automatic game detection for Performance Mode by default for new installs
- GUI: Change order of 'Options / Power' submenu and move Bitsum Highest Performance options from General
- Core: Fix an issue where processes with 0 threads were not being treated as suspended
- Core: Fix an issue where enforcing Efficiency Mode on a suspended process could result in a zombie process under some conditions
- GUI: Extend retries if tray icon addition fails, and exit with message if it ultimately fails
- GUI: Remove previously added 'failed to register tray icon' error message since it could unnecessarily appear if login was delayed more than 20 seconds by a Windows setup dialog. The tray icon addition is ultimately successful in those situations.
Process Lasso 12.4.3.14 (64-bit)
- GUI: Add new option 'Pause on Right-Click', defaulting to true. This pauses the list and graph when the process context menu is open.
- GUI: Show paused icon on graph when paused
Process Lasso 12.4.2.44 (64-bit)
- GUI: Add 'Stagger', 'P-Cores' and 'E-Cores' buttons to CPU Affinity selection
- GUI: Add System Timer Resolution option to apply the change globally
- GUI/Core: Support embedded commas in Disallowed Processes rules
- GUI/Core: Extend RegEx to I/O, memory priority, and disallowed process rules
- GUI/Core: Decouple SmartTrim's Standby List and File Cache purge operations
Process Lasso 12.4.1.10 (64-bit)
- Build: Remove redundant digital signature on some modules
- Core: Move IdleSaver recovery info for improper termination to registry
- Core: Adjust cleanup order when exiting with app power plan, performance mode and/or IdleSaver active
- Core: Fix an issue where Efficiency Mode OFF rules were enforcing a normal priority class, overriding any other priority rules on the process
- GUI: When turning Efficiency Mode OFF, only reset the priority class if it was previously idle
- GUI: Adjust some legacy module file versions to be consistent with product version
Process Lasso 12.4.0.44 (64-bit)
- Change log not available for this version
Process Lasso 12.3.2.20 (64-bit)
- Tie idle priority class to Efficiency Mode to match Task Manager’s behavior
- Fix an issue where cores could incorrectly show as parked on Intel 12th+
- (also impacts Task Manager and Resource Monitor)
- Minor fixes and enhancements
Process Lasso 12.3.1.20 (64-bit)
GUI:
- Add new variable to Watchdog launch action, %5 for session ID (or use %sessionid%)
- Rename process context menu item 'Application Power Profile' to 'Power Profile'
- If Governor service is disabled, reenable it automatically when user tries to start it
- Fix tray icon tooltip could show stale info under some circumstances
- Add 'Locate / Properties' process context menu item to invoke the shell file properties dialog
- Fix three strings whose translations were not being applied
- Installer: On new install, ensure config file is initialized prior to Governor start, eliminating an inconsequential load error log entry
- Insights: Fix sort preference could be lost when ProBalance event occurs while dialog open
- Insights: Improve sort of frequency of action column
- Insights: Persist sort-by and direction preference
- Install: Add localized description to Governor service
- Install: Refactored service management code to remove legacy MakeService executable (bitumms.exe)
- MMSC: Remove superfluous warning from Multimedia Scheduler Configuration Tool
- Core: Fix Instance Balancer non-regex wildcard matches weren't being tested against pathnames
Process Lasso 12.3.0.24 (64-bit)
- GUI: Process status column 'Running' state is now implicit if no other notable state
- GUI: Include Efficiency Mode in process status column
- Core/GUI: Add Efficiency Mode rules
- GUI: Improve tab ordering in ProBalance advanced options dialog
- Core/GUI: Add ProBalance option to use Efficiency Mode during restraints
- GUI: Functional improvements to ProBalance advanced options dialog regarding dynamically enabled/disabled suboptions
- GUI: Make persistance of custom System Timer Resolution a Pro feature
- GUI: Don't show 'Balanced' power plan in 'Start Process Lasso with power plan' submenu on power mode systems (only the overlays)
- GUI: Expand width of match phrase edit controls in Watchdog and Disallowed Processes dialogs
- GUI: Add double-click to remove item and populate edit box in Disallowed Processes dialog
- GUI: Add 'Access denied' messagebox if changing current priority class by context menu fails
- GUI: Change affinity set error to 'Access denied' to match priority change error
- GUI: Swap default column positions of 'Status' and 'ProBalance time'
- GUI: Change IdleSaver exclusion rule symbol from 'e' to 'f'
- GUI: Set Efficiency Mode ON and OFF rule symbols to 'E' and 'e', respectively
- InstallHelper: Make CoInitializeSecurity failure a non-critical error
Process Lasso 12.2.0.16 (64-bit)
GUI:
- Add tool to set and persist System Timer Resolution up to 0.5ms, at 'Tools / System Timer Resolution'
- When IdleSaver default timeout filled in config dialog, use minutes if evenly divisible
- When IdleSaver enabled for the first time via tray menu, inducing the config dialog, don't enable if dialog is aborted
- When IdleSaver enabled for the first time via tray menu, inducing the config dialog, set default timeout appropriately
- On 'File / Import Configuration', show distinct error if the INI file selected is the one that is currently in use
- On 'File / Import Configuration', don't set the initial browse directory to the current INI path
Process Lasso 12.1.0.26 (64-bit)
- GUI: Prohibit automated update when device is in fullscreen mode, and fallback to notification
- GUI: Fix an issue in Watchdog dialog where added rules could disappear under certain scenarios
- GUI: Make CPU Sets feature free in beta builds
- GUI.ProcessContextMenu: Change case of 'Select CPU Affinity'
- GUI.ProcessContextMenu: Reorder 'More' submenu
- GUI.ProcessContextMenu: Move 'Trim Memory' to top-level
- GUI.ProcessContextMenu: Move 'Processor Group Extender' to More submenu
- GUI.ProcessContextMenu: Add new 'Copy' (to clipboard) submenu
- GUI: Fix an issue where paint artifacts may be seen in Active Processes listview when it refreshes
Process Lasso 12.0.4.4 (64-bit)
- GUI: Fix an issue in shell32.ExtractAssociatedIcon call that could cause a crash when processes are running from remote paths
- GUI: Translation updates
- All: Renewed code signing certificate
Process Lasso 12.0.3.16 (64-bit)
- Installer: Improve EULA formatting
GUI:
- Improve German splash screen text
- Show notification when Process Lasso starts with Keep Awake Indefinite still active
- GUI/Core: Allow Keep Awake Indefinite setting to persist across reboots
- Add registry option to disable Keep Awake Indefinite from persisting across reboots, HKLMSoftwareProcessLasso:KeepAwakeResetOnReboot (dword bool)
- Cosmetic to 'Main / Keep Awake' submenu
- Allow exit from beta channel while using a beta version, occurring upon the next update to a release version
- Translation updates
- Expand caption control widths (for longer languages) in dialogs: CPU Priorities, CPU Affinities, I/O Priorities, CPU Sets
Process Lasso 12.0.2.18 (64-bit)
GUI:
- Improve control alignment in IdleSaver config dialog
- Suppress INI parsing error messageboxes from Governor when running as a service
- Show precise error message if Workstation key used on Server Edition
- Build: Minor maintenance to build scripts
- Add /activateonly command line parameter to ProcessLasso.exe to perform any deferred license activation from installer, then exit
- Standardize /no_raise_existing command line parameter to /NoRaiseExisting
- GUI/LogViewer: Replace filter edit control search and clear icons with shell stock icons
- Refresh filtered view when process rules change
- Expand width of edit controls in CPU affinity and CPU Sets dialogs
- Right-align captions on edit controls in CPU Sets rules dialog
- Change copyright years to 2023
Process Lasso 12.0.1.6 (64-bit)
GUI:
- Fix graph tooltip was vertically clipped with some system font scalings
- Fix tray icon wouldn't properly reflect CPU Utility % values exceeding 100%
- Add product version to user-agent string
Process Lasso 12.0.0.24 (64-bit)
- Support for Power Modes (overlays)
- Switch to CPU Utility %
- Support 3995WX CPU topology
- Other fixes and enhancements
Process Lasso 11.1.1.26 (64-bit)
- Installer: Enable Spanish language selection
- GUI: Improvements to product activator
- GUI: When filter edit controls have focus, TAB can escape to their respective listview
- GUI: Add dark mode to some frequently seen dialogs
- Core/GUI: Default core parking adjustment log entries to ON (when done by ProBalance, if option set)
- Core: Fix an issue where some log entry types could continue to be emitted despite logging disabled
- GUI: Add menu items to toggle logging of CPU Sets and Group Extender rules
- Core: Adapt ProBalance option 'Disable CPU Core Parking during action' to Intel 12th Gen
- Core: Change failsafe recovery core parking options from HKCU to HKLM (used after improper Governor shutdown if ProBalance option 'Disable CPU Core Parking during action' was used)
- GUI: Fix an issue where clearing the log while it is updating could deadlock
- Core: Fix an issue where a Watchdog rule that restarts a service may fail to do so
- GUI/LogViewer: Minor improvements to log monitoring thread
- GUI/LogViewer: Use filesystem change notifications on UNC paths when available
- GUI.WatchdogRulesDialog: Fix an issue where emptying the rule list completely using the Remove button would not be immediately committed to the INI on save
- LogViewer: Add CTRL+X accelerator to clear log
- GUI.PriorityClassRulesDialog: Expanded width and other cosmetic
- GUI.ProBalanceExclusionsDialog: Fix handling of match strings with embedded commas
- GUI/Core: Refactor priority class rules, now supporting Regular Expressions
- GUI.ProBalanceExclusionsDialog: Cosmetic
- GUI: Add dark mode support to activation dialog
Process Lasso 11.0.0.34 (64-bit)
- Processes tree view
- More useful graph tooltips
Process Lasso 10.4.8.8 (64-bit)
- Core/GUI: Improvements to service management code
- GUI: Fix service tracking for process associations (name appendages) could become stale
- All: Update to VS 2022 17.2.3
- GUI: Language updates
Process Lasso 10.4.7.22 (64-bit)
- Core: Change method of finding processor efficiency classes
- Core/GUI: Add support for as yet undeployed minidump upload tool
- Core/GUI: Improvements to base process enumeration and tracking code
GUI:
- Add 'Options / General / Experimental' submenu
- Add 'Options / General / Experimental / Generate Crash Dump'
- CPU core graphs: Don't treat error getting core parking status (broken performance counter) as parked
- Add 'Options / Tools / Repair [System] Performance Counters'
- If system performance counter(s) appear damaged, ask user then attempt repair with "lodctr.exe /R", et. al (beta builds only)
- Remove 'frequent updates' warning when 'Include Betas' is checked
- Enforce depth limit of ProBalance event timestamp history used by graph tooltips
- Minidump generation: A second messagebox asking if user wants to submit now; opens submission URL
- When IdleSaver enabled by menu, only open options dialog when enabled for first time
- Make log size limit edit control numeric only
Process Lasso 10.4.6.20 (64-bit)
- Support processor groups of unequal size (rare)
- Improvements to Instance Balancer, including multi-group support
- Minor fixes and enhancements
Process Lasso 10.4.5.28 (64-bit)
GUI:
- Remove some deprecated code
- Fix 'Switch to GaaP' syslink not hidden on Keep Running rules dialog when already GaaP
- Instance Balancer Dialog, improve behavior when user toggles from static to dynamic algorithm and then adds rule with artifact of a non-zero static core count
- Instance Balancer Dialog, rename algorithms to 'Dynamic core count (spread evenly)' and 'Static core count'
Core:
- Fix a memory leak when SmartTrim is enabled and a trim working sets action occurs (free RAM was less than threshold)
- General code maintenance
- Improved method of ensuring handle cache coherency, fixing a handle leak
- GUI: Fix filtered listviews weren't immediately adopting user customizations to column orders and widths
- Fix default value for SmartTrim Clear Standby List 'only when free RAM less than' on new installs
- Change new process log events to use lowercase basenames for consistency
- Fix an issue where Group Extender could consume excess compute when multiple group extensions are active simultaneously
- Core/GUI: Change Instance Balancer boolean option 'Only include instances with CPU use' to floating point 'CPU use threshold'
- Installer: Fix an issue with deferred activation code on command line using /key parameter
Process Lasso 10.4.4.20 (64-bit)
- Minor fixes and enhancements
Process Lasso 10.4.3.24 (64-bit)
- Adjustment to BHP for Alder Lake on Win10 (specifically)
- Refinement of memory priority feature
- Minor fixes and enhancements
Process Lasso 10.4.2.16 (64-bit)
- Core: Minor adjustment to Windows Error Reporting (WER) snapshot process handling
- GUI: Add CTRL+SPACE keyboard accelerator to pause GUI display updates
- GUI/Core: When no power profile rules are in effect, return to set 'Start Process Lasso with Power Profile'
- GUI: Add message when user attempts manual switch of active power profile when 'start with' (base) power profile is set
- GUI: Don't remove processes from listview while in the context menu. Fixes crash seen when process removed while taking action on it via context menu.
- GUI: Remove 'Help / Change License Code' menu item when not activated
- GUI: Fix activation code change wouldn't refresh licensee name on graph until app restart
- All: (c) 2021 to 2022
- GUI: Add menu item to toggle ProBalance option to lower to Idle instead of Below Normal
- GUI: Add submenu 'View / Reset'
- GUI: Add menu item 'View / Reset / Reset ProBalance Counters'
- GUI: Move process context menu item 'Keep Running' to 'More' submenu
- GUI: Improve consistency of process context menu items for Hard Throttling
- All: Minor code maintenance
Process Lasso 10.4.1.18 (64-bit)
GUI:
- Add up/down buttons to CPU Sets Rules List Dialog
- Fix to multi-select process context menu item 'I/O Priority / Always / None'
- Improve RAM Load display painting
- Fix incorrect physical core count in status bar on Alder Lake
- Cosmetic tweaks to some rule config dialogs
- Change all 'Remove selected' buttons to 'Remove'
- Fix handling of rare scenario when process module enumeration initially fails due to first module (the EXE) not yet loaded, previously resulting in a missing path and icon in listview (impacted GUI only)
- Minor code maintenance
- Fix 'No update available' message could be unnecessarily shown on app start after a successful manual update under some circumstances
Core:
- Refactor process pathname retrieval code
- Remove process pathnames from 'More info' field of process launched log events, since it is also included in the 'Path' field
Process Lasso 10.4.0.38 (64-bit)
- Add CPU Sets, a softer form of CPU Affinities
- Adler Lake (Intel 12th Gen) support
- Streamlined install
Process Lasso 10.3.1.10 (64-bit)
- Core: Fix an issue in prior release where Performance Mode may not be induced per rule when process path is unavailable due to anti-cheat systems
- Core/GUI: Add Instance Balancer option to reserve n system CPU cores
- Core/GUI: Add Instance Balancer option to only include process instances with CPU use
- GUI: Minor string and cosmetic adjustments
Process Lasso 10.3.0.50 (64-bit)
- New Config Profile Switcher feature
- Add special ProBalance handling for searchindexer.exe
- Other fixes and enhancements
Process Lasso 10.2.0.40 (64-bit)
- Improvement to ProBalance
- Refactored Foreground Boosting
- Add Internet Explorer Restriction feature
- Deploy Bitsum Session Agent for GaaP installs too
- Windows 11 support
- Other fixes and enhancements
Process Lasso 10.1.0.42 (64-bit)
- Dark mode for CPU core graphs, statusbar, and menubar
- Improved tab control appearance in light mode
- Minor fixes and enhancements
Process Lasso 10.0.3.6 (64-bit)
- Update several languages
- Minor fixes and enhancements
Process Lasso 10.0.2.24 (64-bit)
- Update several languages
- Minor fixes and enhancements
Process Lasso 10.0.1.16 (64-bit)
- Update several languages
- Minor fixes and enhancements
Process Lasso 10.0.0.164 (64-bit)
- Refactored log system with CSV as primary
- Ordered CPU affinity and priority rules
- Periodic process sampling (snapshots)
- GUI improvements
- CrowdIn integration for translations
- Numerous fixes and enhancements
Process Lasso 9.8.7.18 (64-bit)
- GUI: Improve performance of filters
- Install: Speed Governor service installation
- Assorted fixes and enhancements
Process Lasso 9.8.6.16 (64-bit)
- Default Governor deployment type to system service
- Further work on limited user contexts
- Performance improvements to GUI
- Other fixes and enhancements
Process Lasso 9.8.5.37 (64-bit)
- Allow Governor to be deployed as system service in the free edition
- Default deployment type to Governor-as-Service for Server Edition
- Support named config profiles with Governor-as-Service
- Add function ‘Options / Memory / Purge standby list now’
Process Lasso 9.8.4.2 (64-bit)
- Show WSL and protected processes
- Assorted fixes and enhancements
Process Lasso 9.8.2.2 (64-bit)
- Add option to switch power profile when Process Lasso starts
- Keep Running and Watchdog launch actions now always launch unelevated (HKLM override available)
- Suppress Dark Mode compatibility warning on older Windows 10/2016 builds
Process Lasso 9.8.1.16 (64-bit)
- Improve support for exotic CPU topologies
- Fix graph presentation on systems with unequal size NUMA nodes
- Fix an issue with the Processor Group Extender that could result in incomplete thread distribution
- Other fixes and enhancements
Process Lasso 9.8.0.54 (64-bit)
- Refactored CPU core graphs; split into NUMA nodes, supporting multiple processor groups [screenshot]
- Improve foreground process awareness with Governor-As-Service (GaaS)
- Make ProBalance option ‘Ignore children of foreground’ default to on
- Add ‘Always on top’ option
- Add parked core count to status bar
- Add option to hide CPU core graphs
- Other fixes and enhancements
Process Lasso 9.7.6.26 (64-bit)
- New load balance algorithm for the Group Extender feature
- Make effort to enforce CPU affinities on multi-group processes by moving existing threads
- Tune default ProBalance timing
- Fix menu-induced config profile switching
- Assorted fixes and enhancements
Process Lasso 9.7.5.44 (64-bit)
- GUI: Fix 'Main / Keep awake' submenu in 9.7.5.42 when GUI running as admin
Process Lasso 9.7.5.42 (64-bit)
- Add processor group support to CPU affinity settings
- Add ability to move a running process to a different processor group
- Add Regular Expression support to Persistent CPU Affinities
- Fixes and enhancements
Process Lasso 9.7.0.48 (64-bit)
GUI:
- Create distinct process context menu items for Suspend and Resume process
- Improve reliability of process suspension (note that it may take a few seconds for a process state to change)
- Active Processes tab: Improve sort behavior
- Active Processes tab: Use process enumeration data from primary view
- Remove an unecessary warning messagebox on process suspension
- Add option to disable listview process tooltips
- Minor text changes
- Fix listview sort issue where some rule strings were being misinterpreted as integers
- Small optimizations to listview sort compare function
- Don't pause process listview updates when in filtered view
All:
- Optimizations to thread enumeration
- Change 'hide suspended processes' value name to force reset to new default (false)
- Fix product version format in version info resource
ThreadRacer:
- Replace OK/Cancel buttons with single Exit button
LogViewer:
- Cosmetic work to About Dialog
Build:
- Adjust debug information for Server Edition
Core:
- Migrate ProBalance exclude foreground processes setting to new key name, or default to off for Server Edition
CPUEater:
- Adjust default thread count
Process Lasso 9.7.0.16 (64-bit)
Core:
- Fix issue where leaving rule-induced Performance Mode when it had been previously manually engaged could cause inappropriate reversion to prior power plan
- Add distinct log entry description when Performance Mode manually induced
- Add distinct log entry for continuing performance mode after process ends because Perf Mode had been manually induced
GUI:
- Fix manual Performance Mode not persisting when Process Lasso restarted
- Fix Active Processes tab rules column not clearing when last rule removed
- CPU Limiter configuration dialog - On listview row double-click, populate all controls with removed item
Process Lasso 9.7.0.2 (64-bit)
- Add new Processor Group Extender feature
- Fixes and enhancements
Process Lasso 9.6.0.68 (64-bit)
- Add per-session agent to facilitate some features with governor-as-service
- Numerous improvements and fixes to limited user environments, especially when combined with governor-as-service
- IdleSaver now available with governor-as-service
- Improvements to IdleSaver configuration, allowing broader range of settings
- Add back Spanish, Italian, Polish, and French languages
- Considerable other product refinement
Process Lasso 9.5.1.0 (64-bit)
- Allow hundredths precision in Watchdog (advanced rules)
- Fixes and improvements to Watchdog
- Expanded new Regular Expressions to ProBalance Exclusions
- GUI.Watchdog: Improve config dialog up/down button behavior
- Core: Populate command line field to watchdog log type action events
- CPUEater: Fix status bar overlap with 'just took action' static control
- Change copyright years to 2020
- Language updates
- GUI: Remove checkbox on 'Uninstall BHP' menu item
- Core.Watchdog: Improve handling of redundant log entries
- Core.Watchdog: Log actions even if no setting change was necessary (process already at target)
- Core.Watchdog: Other fixes and enhancements
- Core.Watchdog: Minor optimizations
- GUI: Update Slovenian
- GUI: Restore primary listview filter update on items add/removed
- Core: Support RegEx in ProBalance exclusions
- GUI: Add process match help to ProBalance exclusion dialog
- GUI.ActionsLog: Fix to context menu items and auto-select of any matching running process
- GUI: Change to 'process match' listview column headers in config dialogs
- GUI: Add tooltip to Watchdog 'Divide CPU % by total core count' option
- Uninstall: Delete desktop shortcut
- Core/GUI.Watchdog: CPU and memory thresholds now allow precision in hundredths
- GUI: Update Russian
Process Lasso 9.5.0.40 (64-bit)
- Added Regular Expression matching to multiple fields for Instance Balancer, Watchdog, and CPU Limiter rules. See documentation on process matching
- Optimizations to GUI
- Improvements to Active Processes tab
Fixes and enhancements:
- GUI: Restore average CPU utilization to active processes tab
- GUI: Watchdog dialog: Replace CPU % threshold drop-down with edit box
- GUI: Watchdog dialog: Round CPU % given in decimal to nearest integer pending Watchdog support for such
- GUI: Bring existing instance of Insights to foreground if already running
- Core: Fix issue with traditional rules when user is appended after single character process match (e.g. *:jerem)
- Insights: Added menu item for Advanced ProBalance Options dialog
- Insights: Fix some settings could revert when changed from Advanced ProBalance Options dialog
- GUI: Make Process Lasso info (e.g. config path) selectable in About Dialog for copy/paste
- GUI: Instance Balancer dialog: Show error when user tries to add static core count rule with 0 cores specified
- GUI: Assortment of small cosmetic and internal improvements
- GUI: Optimizations
- GUI: Fix a filter issue with mixed case in some fields
- GUI: Rewrote process icon management
- GUI: Some refactoring of Active Processes tab code
- Core: Add RegEx (and multi-field) support to CPU Limiter, Watchdog, and Instance Balancer
- GUI: Add 'help' buttons beside process match strings for Instance Balancer, CPULimiter, and Watchdog
- Core: Fix Instance Balancer issue when total logical cores is not evenly divisible by per-instance core count
- GUI: Add Windows 10/2019 build number to status bar
- GUI: Support Dark Mode up to Win10 build 19536
- GUI: Add 'View / Colors / Always allow Dark Mode' for user over-ride on untested new Win10 builds
- GUI: Change priority adjusted log action text to remove colon
- GUI: Fix a reported GUI crash
- GUI: Add dynamic (updating) RAM stats to SmartTrim dialog
- GUI: Remove cache size from status bar RAM part
- Core.InstanceBalancer: Allow 'childof:' prefix to be any character case
- GUI: Fix Show/hide graph button one pixel too wide in Active Processes view
- GUI: Show icons in Active Processes tab
- Language updates
Process Lasso 9.4.0.70 (64-bit)
- GUI: Active Processes: Add sensitivity adjustment slider shown above list
- GUI: Fix to ‘File / Choose alternate log folder’
- GUI: Dark Mode support for Windows 10 19025
- GUI: Several other small and cosmetic enhancements
- Log: Standardize CSV output, adding headers, quotes and removing BOM
- Log: LogViewer: Add full history CSV export in addition to current view export
- Log: Fix main GUI ‘File / Export log to CSV’ would not export full history
- Core: Improved process suspend function, now compatible with Resource Monitor
- Core: Improved legacy hard throttle function
Process Lasso 9.4.0.46 (64-bit)
- Minor fixes and enhancements
- Update Chinese and Slovenian
Process Lasso 9.4.0.28 (64-bit)
- GUI: Support Windows 10 Dark Mode and interface with OS setting
- GUI: Dark Mode improvements
- GUI: Add tooltips to CPU utilization graphs
- GUI: Show active config profile on graph, if used
- GUI: Self-restart now opens with main window visible
- GUI: Fix governor could be inappropriately stopped by GUI on session exit
- Core: Fix use of Performance Mode when Governor running as service
- Core: Fix ‘Hide Suspended Processes’ was defaulting to true
- TweakScheduler: Zero ratio bits when fixed length quanta used
- InstallHelper: Preserve character case of global config path
- InstallHelper: New modern browse dialogs for global log and config folders
- All: Many other optimizations, fixes and enhancements
Process Lasso 9.3.0.74 (64-bit)
- GUI: Fix an issue with wildcard matching for persistent I/O priority classes
- GUI: Fix formatting in status bar when system RAM GB is more than 2 digits (>99GB)
- GUI: Update Chinese, Russian, Slovenian
- Core: Default ‘also check rules for path matches’ to true
- Licensing: Allow Performance Mode process list to be edited in free edition
- Licensing: Allow use of ProBalance advanced option ‘Restrain by CPU Affinity’ in free edition
- All: Other additions, fixes and enhancements
Process Lasso 9.3.0.64 (64-bit)
- GUI: Add CPU bitmask edit control to CPU Affinity selection dialog
- GUI/Core: Add selection for power plan to use with Performance Mode, in case user desires something other than BHP (e.g. AMD Ryzen High Performance)
- GUI: Add license name graph overlay in lower-left region
- GUI: Fix crash seen after selecting process context menu items after target process had terminated
- GUI: Add warning about use of multiple configuration profiles while governor as service
- GUI: Speed process icon population
- GUI: Update PTBR
- Settings: Change default ‘hide suspended processes’ to OFF
- All: Other additions, fixes and enhancements
Process Lasso 9.3.0.44 (64-bit)
- Core: Allow duration of 0 to indicate indefinite period in CPU Limiter rules
- Core: Allow larger max integer values in CPU Limiter rules
- GUI: Expand edit control widths on CPU Limiter dialog
- Core: Remove some deprecated code from governor
- Core Exclude vmmem from ProBalance actions by default
- InstallHelper: Fix to startup type management legacy code
- Updater: Fix quickupgrade could fail to be replaced on update in last final
- All: Compiler optimization setting adjustments
- All: Update Chinese, German, Russian
- Other minor
Process Lasso 9.3.0.30 (64-bit)
- GUI: Standardize fonts for filter edit controls
- GUI: Adopt Explorer style listviews in normal theme
- GUI: For dark mode, add dark scrollbars on listviews
- GUI: Update Chinese Simplified and Traditional, Slovenian
- Other minor changes
Process Lasso 9.3.0.22 (64-bit)
- New CPU Limiter algorithm to dynamically reduce a process’s CPU use
- Per-process CPU utilization precision now in hundredths
- Refactored SmartTrim, added ability to Purge Stand-by List
- Improved and more standard update notifications
- Arranged Options menu into categories
- Retarget all projects to VS2019 platform toolset
- Large number of other enhancements
Process Lasso 9.2.0.32 (64-bit)
- GUI: UX refactoring and tuning (details below)
- GUI: Change font of controls on main window
- GUI: Change order of rotation through color schemes when clicking on graph
- GUI: Change color of graph grid, now less prominent
- GUI: Reduce main window margins by half
- GUI: Reduce RAM load graph width
- GUI: Fix core graphs display issue when odd size logical CPU cores
- GUI: Enable core graphs display for single CPU core systems
- GUI: Improve appearance of core graphs
- GUI: Sizer (divider) control apperance improvement
- GUI: Switch to shortened Uptime format
- GUI: Fix RAM load graph could get mispositioned after manual sizing
- GUI: Improve flicker of CPU utilization and RAM load graphs on sizer control
- GUI: Move Lasso versions to right-most status bar component
- GUI: Strip embedded tabs in processor name string
- GUI: Change ‘RAM Load’ caption to ‘% RAM’
- GUI: Default panel size adjustments
- GUI: Change the methodology for panel size adjustments with main window resize
- GUI: Improve graph legend ellipsis
- GUI: Rename ‘automatic updates’ to ‘update without prompt’
- GUI: Add registry option ‘nographgrid’ to hide graph grid
- GUI: Update German and Slovenian
- GUI: Other misc changes
- Core: Change module description in version block
Process Lasso 9.2.0.14 (64-bit)
- GUI: Added Dark Mode
- GUI: Expanded custom color selections
- GUI: Improved filter edit control appearance and function, add ‘X’ clear button when populated
- GUI: Window painting and sizing optimizations
- GUI: Change default graph color
- GUI: Improved display of many message boxes
- GUI: Large number of cosmetic and control enhancements
- Assortment of fixes and enhancements
Process Lasso 9.1.0.68 (64-bit)
- GUI: If system only has a single CPU group: For default process columns, hide ‘CPU group’, Set CPU utilization bars caption to ‘CPU %’ instead of ‘CPU Group 0’
- GUI: Improvements to graph components and sizing, especially for non-English languages
- GUI: Restore ‘Governor Not Running’ warning graph overlay
- GUI: Text, menu item, and dialog cleanup and consistency improvements
- GUI: Fix issue where previously used config profile couldn’t be deleted until governor restarted
- GUI: Show automatic gaming mode in rules column
- GUI: Restore color theme when GUI launched
- GUI: Invalidate target windows after theme change
- GUI: Status bar – Remove ‘cores /’ prefix on queue length per core
- GUI: Improve process tooltip formatting, especially for non-English
- GUI: Continued prep for full dark mode
- GUI: Add Slovenian
- GUI: Other code improvements
- Core: Allow auto-detected games to be children of framework (e.g. Steam) at any level, not only immediate child
- Misc other
Process Lasso 9.1.0.42 (64-bit)
- Core: Refactored the Instance Balancer: allow for wildcards, allow for childof: to balance all children, e.g. ‘childof: boinc.exe’, re-balance if any PID in set changes, rather than net instance count change
- Core: Default to disabled process creation and termination log events
- GUI: Disable listview gridlines by default
- GUI: Add ‘View / Show gridlines’ option
- GUI: Don’t show ProBalance stats on graph if ProBalance is disabled
- GUI: Change graph overlay ‘ProBalance restraints’ to ‘ProBalance events’
- GUI: Add color selections for listview background and foreground
- GUI: Invert dark/light theme selections in preparation for dark mode
- Additional fixes and enhancements
Process Lasso 9.1.0.28 (64-bit)
- GUI: Add Processor Utility % to status bar (see this page for info)
- GUI: Add CPU Queue Length and Load Ratio to status bar (queue_length / core_count)
- GUI: Add Process Lasso version to status bar
- GUI: CTRL+C copy to clipboard support of selected rows in primary listviews (including filtered views and logviewer)
- GUI: Fix a small memory leak seen under some conditions
- GUI: Minor other improvements
- LogViewer: Persist window size and position
- LogViewer: Expand right-most log column to horizontal size of window if it would otherwise be initialized to a lesser width
- LogViewer: Move log listview column persistance to HKCU
- LogViewer: CTRL+A select all support
- Expand maximum command line length in places where an older Windows constant was used
- Migrate to VS2019
Process Lasso 9.1.0.6 (64-bit)
- Add Instance Balancer feature that assigns CPU cores to multiple instances of an application based on a specified algorithm
- Refactor Keep Awake timer functionality
- Refactor persistence of Keep Awake timer and manually induced Performance Mode when Process Lasso is restarted
- Use performance counter for total CPU utilization instead of calculation
- Change CPU topology status bar format
- Maintenance to updater for server edition
- GUI Rules column now also shows ProBalance exclusions matched by path
- Improvements to session (user) name resolution
- Fix a painting issue with actions log listview header
- Add last metric (CPU use, responsiveness, memory load.) readings to graph legend
- Add background to graph legend to enhance visibility
- Add custom color selection for graph legend background
- Change order of graph color scheme rotation on click (black, white, custom)
- Make listview painting smoother during frequent updates
- Remove a deprecated registry key in server edition
- Persistent CPU affinities configuration dialog improvements
- Pre-order status bar parts to put dynamic columns first
- Defaults: Turn on process icons in Server Edition, turn on process creation/termination logging in Workstation Edition
- Misc cosmetic work and enhancements
- Update Chinese (simplified and traditional), German, Finnish, Russian languages
Process Lasso 9.0.0.582 (64-bit)
- Default to more appropriate default log path when governor configured as a service
- Fix a rare crash seen in processlasso.exe
- Allow GUI to display more complex persistent process setting rules (pathname, command line) in listview
- Allow for smaller main window sizes to be remembered
- Minor other
Process Lasso 9.0.0.574 (64-bit)
- Dynamically size status bar parts
- Improvements to watchdog configuration dialog (confirm close without save, formatting, text)
- Restore confirmation on cancel w/o save to all configuration dialogs
- Remove minimum window height and width during resize
- Always use OS default size and width for main window, first run
Process Lasso 9.0.0.568 (64-bit)
- Add CPU type to status bar
- Make CPU topology distinct status bar item
- Continued work to processor group support
- Single-selection process context menu: Move memory priority to ‘More’ submenu
- Add processor group to CPU utilization and parking graphs caption
- Import sort behavior of listviews
- Add sort direction indicators to listview headers
- Save column states on mimimize of main window (instead of only on exit)
- Improved main window resizing
- Minor fixes and enhancements
- Assorted cosmetic and string changes
- Update Russian
Process Lasso 9.0.0.558 (64-bit)
- Add processor group (‘CPU groups’) display to indicate processor group(s) a process’s threads are running on – info
- Change to CPU core graph ordering to adhere better to NUMA node grouping
- Change to default listview ordering - NOTE: These changes will cause saved listview column ordering and sizes to be reset once
- Show ‘KB’ instead of ‘K’ in I/O Delta
- Show blank instead of 0 KB in I/O Delta
- Fix installer unicode (Chinese, Russian)
- Update to NSIS 3.04
Process Lasso 9.0.0.552 (64-bit)
- Fix issue with Hyper-Threaded/SMT avoidance current CPU affinity selection
- Fix a cosmetic resource issue in process context menu on Intel platforms
- Fix an issue where some process information could be blank
- Core process enumeration and management code maintenance
- Update copyright year
- Minor other
Process Lasso 9.0.0.548 (64-bit)
- Fix exception in 546 when a secondary instance of ProcessLasso.exe is launched directly w/o using ProcessLassoLauncher.exe
- Minor cosmetic improvement to ProBalance advanced options dialog
- Update Finnish and German languages
Process Lasso 9.0.0.546 (64-bit)
- Change log not available for this version
Process Lasso 9.0.0.538 (64-bit)
- Change log not available for this version
Process Lasso 9.0.0.526 (64-bit)
- Fix to ‘Induce Performance Mode’ (formerly ‘Classify as a High Performance’) process context menu item
- Fix digital signing of some modules in 32-bit distributions
- Minor adjustment to inter-process communication queue management
Process Lasso 9.0.0.522 (64-bit)
- Add NUMA node selections to all CPU affinity selection dialogs
- Organizational changes to process context menu
- Assortment of string, message box, and dialog improvements
- Improvements to watchdog advanced rules dialog
- Change ‘Disable SMT’ to ‘Disable Hyperthreading’ for Intel CPUs
- Change first-time minimization to system tray notification text
- Include ThreadRacer in Lasso distribution and add to Tools menu
- Add CPUEater and TestLasso support for 64-bit CPU affinities
- Fix CPUeater and TestLasso support for greater than 64 threads
- Fix Del and CTRL+A keys in filter edit box
- Increase load rate of process icons
- Remove some languages not up to date
Process Lasso 9.0.0.502 (64-bit)
- UX fixes for the 2990wx and other systems with groups of >32 cores
- Additional UX fixes and string changes
- Update DE, RU, PT-BR
Process Lasso 9.0.0.498 (64-bit)
- Some UX fixes for the 2990wx and other systems with groups of 64 cores
- Fix 2x restraint total count can occur in Insights UX
- Fix post-update revision history may on system tray icon click after notification balloon disappeared
- Update RU, PTBR, FI languages
Process Lasso 9.0.0.492 (64-bit)
- Add menu item under ‘Options / Performance Mode settings’ to uninstall/reinstall Bitsum Highest Performance power plan
- Improve watchdog dialog initial appearance
- Fix Watchdog issue with CPU affinity bitmasks > 32
- Licensing: Unbind CPU core count from unique machine ID. Requires re-activation to unbind
- Improve terminate process functionality in filtered view
- Other small fixes and enhancements
Process Lasso 9.0.0.478 (64-bit)
- Change log not available for this version
Process Lasso 9.0.0.470 (64-bit)
- Fix a GUI crash seen by a small number of users
Process Lasso 9.0.0.466 (64-bit)
- Show message box on restart after ‘Reconfigure the way Process Lasso starts’
- Restore listview header right-click to select visible columns (in addition to right-click on tab)
- Add last four digits of activation code to About Box
- Show Status column by default in All Processes view
- Fill app name and desc with process base name if can’t be retrieved
- Fix filtered processes view didn’t adopt customized columns from All Processes view
- Fixes to column setting persistence
- Fix extreme date change could cause days installed to roll over
- Fix to CPU time sort
- Fix Dark / white graph theme menu item check inversion
- Change to default column ordering in all processes listview
- Enable minidumps
Process Lasso 9.0.0.464 (64-bit)
- Show message box on restart after ‘Reconfigure the way Process Lasso starts’
- Restore listview header right-click to select visible columns (in addition to right-click on tab)
- Add last four digits of activation code to About Box
- Show Status column by default in All Processes view
- Fill app name and desc with process base name if can’t be retrieved
- Fix filtered processes view didn’t adopt customized columns from All Processes view
- Fixes to column setting persistence
- Fix extreme date change could cause days installed to roll over
- Fix to CPU time sort
- Fix Dark / white graph theme menu item check inversion
- Change to default column ordering in all processes listview
Process Lasso 9.0.0.456 (64-bit)
- Change log not available for this version
Process Lasso 9.0.0.452 (64-bit)
- GUI now allows protected processes like Easy Anti-Cheat clients to be configured for Performance Mode by adding their basename to the list, instead of throwing an error when pathname resolution fails.
- Allow process basenames to be specified (w/o wildcards) in the Performance Mode list
- Add optional command line matching to Default CPU Affinities
- Fix to governor refresh rate slider in Insights dialog
Process Lasso 9.0.0.442 (64-bit)
- Divide CPU core utilization graphs into 2 vertical stacks for additional display room
- Add some special purpose debug logging related to configuration file load disposition
- Update PTBR, Russian
Process Lasso 9.0.0.426 (64-bit)
- Fix 5 second refresh interval configuration persistence
- Update German and Chinese translations
- Other minor fixes and adjustments
Process Lasso 9.0.0.420 (64-bit)
- Fix dysfunctional ‘Notify of power plan changes’ menu item
- Hide Insights ‘Since …’ if no start time-stamp is available
- Add additional retries and increase time-out for UNC backed configuration files – to prevent their reset to default for failure to load
- Fix ‘Pro – Balance’ on advanced ProBalance dialog options
- Change name of ‘default’ profile to ‘My Default Profile’ so it is not confused with program defaults
- Import newer Italian, Polish, Russian, Finnish, Chinese Traditional, and Chinese Simplified
更新時間:2024-02-13
更新細節:
What's new in this version:
Process Lasso 12.5.0.38 (32-bit)
GUI:
- Small optimizations
- When a process is in EcoQoS but has a non-idle priority class, call it "Partial Efficiency Mode"
- SessionAgent: Minor code maintenance
- Treat "Refresh Interval (*) / Pause" as toggles, going to default refresh rate when user unchecks
- Instantaneously refresh when unpausing GUI
- Expand some control widths on Config Profile Switcher config dialog
- Add a separator to Config Profile submenu
- GUI/Core: Fix an issue with commas in Config Profile Switcher rules
- ThreadRacer: Mark E-cores with 'E' appendage
- Adjust when power modes (overlays of Balanced) are shown in addition to traditional power plans
- Prepend Balanced power plan name to power modes
- Show traditional Balanced power plan on power mode systems
- Remove success message boxes when new power profile rules added by context menu
- Allow embedded commas in Performance Mode rules (RegEx not supported by this feature)
- Show message if user tries to add use RegEx on a Performance Mode rule
- Fixed sorted listbox on generic power plan selection dialog could cause unexpected initial selection
- Installer: Try to continue if there is an error result from CoInitializeEx
- Core: Performance Mode default to Max Performance Overlay on Power Mode systems where BHP is not installed
- Remove 'Restart Process Lasso?' message after BHP install or uninstall action, just restart the app
- Minor cosmetic work to CPU affinity dialogs
Process Lasso 12.4.7.20 (32-bit)
Minor fixes and enhancements:
- GUI: Fix an issue changing existing I/O and memory priority rules from the context menu
- GUI: Improvements to translation tools
- GUI: Change default sort order of Insights to descending by restraint count
- GUI: Remove 'critical' I/O priority level since it cannot be enforced
- GUI/Core: Add common game platform launchers to stock ProBalance exclusions
- GUI: Large updates to Finnish and German translations
- GUI: Fix an issue with the username display on ProBalance graph tooltips
Process Lasso 12.4.6.10 (32-bit)
- GUI: Fix suspended process state not always indicated in status column
- GUI: Add P/E core count to CPU topology string for About dialog and status bar
- GUI: Change copyright to 2024
- GUI: Fix issue where eco leaf icons weren't painted on core graphs under certain conditions
- GUI: When there is insufficient width for eco leaf icons draw circles instead
- GUI/Core: Add Epic Games to automatic game detection
- GUI: Support context menu in filtered log view
Process Lasso 12.4.5.8 (32-bit)
Revert previous change to Automatic Game Detection default value:
- GUI: Improve action confirmation flow on terminate and restart of critical system processes (e.g. explorer)
- GUI: Fix reset config action didn't clear overrides of hard-coded ProBalance exclusions
- GUI: Fix to ThreadRacer control ordering
- GUI/Core: Revert previous change to 'Automatic Game Detection' default value, now ON again. Only new installs or users who reset their config were affected by this change.
Process Lasso 12.4.4.22 (32-bit)
- GUI.AffinitiesDialog: Add 'Show Advanced' link and hide delay edit control by default
- GUI/Core: Allow wildcards in Performance Mode basename matches (previously only full paths)
- GUI: Add IdleSaver exclusion list management to its config dialog
- GUI: Disable automatic game detection for Performance Mode by default for new installs
- GUI: Change order of 'Options / Power' submenu and move Bitsum Highest Performance options from General
- Core: Fix an issue where processes with 0 threads were not being treated as suspended
- Core: Fix an issue where enforcing Efficiency Mode on a suspended process could result in a zombie process under some conditions
- GUI: Extend retries if tray icon addition fails, and exit with message if it ultimately fails
- GUI: Remove previously added 'failed to register tray icon' error message since it could unnecessarily appear if login was delayed more than 20 seconds by a Windows setup dialog. The tray icon addition is ultimately successful in those situations.
Process Lasso 12.4.3.14 (32-bit)
- GUI: Add new option 'Pause on Right-Click', defaulting to true. This pauses the list and graph when the process context menu is open.
- GUI: Show paused icon on graph when paused
Process Lasso 12.4.2.44 (32-bit)
- GUI: Add 'Stagger', 'P-Cores' and 'E-Cores' buttons to CPU Affinity selection
- GUI: Add System Timer Resolution option to apply the change globally
- GUI/Core: Support embedded commas in Disallowed Processes rules
- GUI/Core: Extend RegEx to I/O, memory priority, and disallowed process rules
- GUI/Core: Decouple SmartTrim's Standby List and File Cache purge operations
Process Lasso 12.4.1.10 (32-bit)
- Build: Remove redundant digital signature on some modules
- Core: Move IdleSaver recovery info for improper termination to registry
- Core: Adjust cleanup order when exiting with app power plan, performance mode and/or IdleSaver active
- Core: Fix an issue where Efficiency Mode OFF rules were enforcing a normal priority class, overriding any other priority rules on the process
- GUI: When turning Efficiency Mode OFF, only reset the priority class if it was previously idle
- GUI: Adjust some legacy module file versions to be consistent with product version
Process Lasso 12.4.0.44 (32-bit)
- Change log not available for this version
Process Lasso 12.3.2.20 (32-bit)
- Tie idle priority class to Efficiency Mode to match Task Manager’s behavior
- Fix an issue where cores could incorrectly show as parked on Intel 12th+
- (also impacts Task Manager and Resource Monitor)
- Minor fixes and enhancements
Process Lasso 12.3.1.20 (32-bit)
GUI:
- Add new variable to Watchdog launch action, %5 for session ID (or use %sessionid%)
- Rename process context menu item 'Application Power Profile' to 'Power Profile'
- If Governor service is disabled, reenable it automatically when user tries to start it
- Fix tray icon tooltip could show stale info under some circumstances
- Add 'Locate / Properties' process context menu item to invoke the shell file properties dialog
- Fix three strings whose translations were not being applied
- Installer: On new install, ensure config file is initialized prior to Governor start, eliminating an inconsequential load error log entry
- Insights: Fix sort preference could be lost when ProBalance event occurs while dialog open
- Insights: Improve sort of frequency of action column
- Insights: Persist sort-by and direction preference
- Install: Add localized description to Governor service
- Install: Refactored service management code to remove legacy MakeService executable (bitumms.exe)
- MMSC: Remove superfluous warning from Multimedia Scheduler Configuration Tool
- Core: Fix Instance Balancer non-regex wildcard matches weren't being tested against pathnames
Process Lasso 12.3.0.24 (32-bit)
- GUI: Process status column 'Running' state is now implicit if no other notable state
- GUI: Include Efficiency Mode in process status column
- Core/GUI: Add Efficiency Mode rules
- GUI: Improve tab ordering in ProBalance advanced options dialog
- Core/GUI: Add ProBalance option to use Efficiency Mode during restraints
- GUI: Functional improvements to ProBalance advanced options dialog regarding dynamically enabled/disabled suboptions
- GUI: Make persistance of custom System Timer Resolution a Pro feature
- GUI: Don't show 'Balanced' power plan in 'Start Process Lasso with power plan' submenu on power mode systems (only the overlays)
- GUI: Expand width of match phrase edit controls in Watchdog and Disallowed Processes dialogs
- GUI: Add double-click to remove item and populate edit box in Disallowed Processes dialog
- GUI: Add 'Access denied' messagebox if changing current priority class by context menu fails
- GUI: Change affinity set error to 'Access denied' to match priority change error
- GUI: Swap default column positions of 'Status' and 'ProBalance time'
- GUI: Change IdleSaver exclusion rule symbol from 'e' to 'f'
- GUI: Set Efficiency Mode ON and OFF rule symbols to 'E' and 'e', respectively
- InstallHelper: Make CoInitializeSecurity failure a non-critical error
Process Lasso 12.2.0.16 (32-bit)
GUI:
- Add tool to set and persist System Timer Resolution up to 0.5ms, at 'Tools / System Timer Resolution'
- When IdleSaver default timeout filled in config dialog, use minutes if evenly divisible
- When IdleSaver enabled for the first time via tray menu, inducing the config dialog, don't enable if dialog is aborted
- When IdleSaver enabled for the first time via tray menu, inducing the config dialog, set default timeout appropriately
- On 'File / Import Configuration', show distinct error if the INI file selected is the one that is currently in use
- On 'File / Import Configuration', don't set the initial browse directory to the current INI path
Process Lasso 12.1.0.26 (32-bit)
- GUI: Prohibit automated update when device is in fullscreen mode, and fallback to notification
- GUI: Fix an issue in Watchdog dialog where added rules could disappear under certain scenarios
- GUI: Make CPU Sets feature free in beta builds
- GUI.ProcessContextMenu: Change case of 'Select CPU Affinity'
- GUI.ProcessContextMenu: Reorder 'More' submenu
- GUI.ProcessContextMenu: Move 'Trim Memory' to top-level
- GUI.ProcessContextMenu: Move 'Processor Group Extender' to More submenu
- GUI.ProcessContextMenu: Add new 'Copy' (to clipboard) submenu
- GUI: Fix an issue where paint artifacts may be seen in Active Processes listview when it refreshes
Process Lasso 12.0.4.4 (32-bit)
- GUI: Fix an issue in shell32.ExtractAssociatedIcon call that could cause a crash when processes are running from remote paths
- GUI: Translation updates
- All: Renewed code signing certificate
Process Lasso 12.0.3.16 (32-bit)
- Installer: Improve EULA formatting
GUI:
- Improve German splash screen text
- Show notification when Process Lasso starts with Keep Awake Indefinite still active
- GUI/Core: Allow Keep Awake Indefinite setting to persist across reboots
- Add registry option to disable Keep Awake Indefinite from persisting across reboots, HKLMSoftwareProcessLasso:KeepAwakeResetOnReboot (dword bool)
- Cosmetic to 'Main / Keep Awake' submenu
- Allow exit from beta channel while using a beta version, occurring upon the next update to a release version
- Translation updates
- Expand caption control widths (for longer languages) in dialogs: CPU Priorities, CPU Affinities, I/O Priorities, CPU Sets
Process Lasso 12.0.2.18 (32-bit)
GUI:
- Improve control alignment in IdleSaver config dialog
- Suppress INI parsing error messageboxes from Governor when running as a service
- Show precise error message if Workstation key used on Server Edition
- Build: Minor maintenance to build scripts
- Add /activateonly command line parameter to ProcessLasso.exe to perform any deferred license activation from installer, then exit
- Standardize /no_raise_existing command line parameter to /NoRaiseExisting
- GUI/LogViewer: Replace filter edit control search and clear icons with shell stock icons
- Refresh filtered view when process rules change
- Expand width of edit controls in CPU affinity and CPU Sets dialogs
- Right-align captions on edit controls in CPU Sets rules dialog
- Change copyright years to 2023
Process Lasso 12.0.1.6 (32-bit)
GUI:
- Fix graph tooltip was vertically clipped with some system font scalings
- Fix tray icon wouldn't properly reflect CPU Utility % values exceeding 100%
- Add product version to user-agent string
Process Lasso 12.0.0.24 (32-bit)
- Support for Power Modes (overlays)
- Switch to CPU Utility %
- Support 3995WX CPU topology
- Other fixes and enhancements
Process Lasso 11.1.1.26 (32-bit)
- Installer: Enable Spanish language selection
- GUI: Improvements to product activator
- GUI: When filter edit controls have focus, TAB can escape to their respective listview
- GUI: Add dark mode to some frequently seen dialogs
- Core/GUI: Default core parking adjustment log entries to ON (when done by ProBalance, if option set)
- Core: Fix an issue where some log entry types could continue to be emitted despite logging disabled
- GUI: Add menu items to toggle logging of CPU Sets and Group Extender rules
- Core: Adapt ProBalance option 'Disable CPU Core Parking during action' to Intel 12th Gen
- Core: Change failsafe recovery core parking options from HKCU to HKLM (used after improper Governor shutdown if ProBalance option 'Disable CPU Core Parking during action' was used)
- GUI: Fix an issue where clearing the log while it is updating could deadlock
- Core: Fix an issue where a Watchdog rule that restarts a service may fail to do so
- GUI/LogViewer: Minor improvements to log monitoring thread
- GUI/LogViewer: Use filesystem change notifications on UNC paths when available
- GUI.WatchdogRulesDialog: Fix an issue where emptying the rule list completely using the Remove button would not be immediately committed to the INI on save
- LogViewer: Add CTRL+X accelerator to clear log
- GUI.PriorityClassRulesDialog: Expanded width and other cosmetic
- GUI.ProBalanceExclusionsDialog: Fix handling of match strings with embedded commas
- GUI/Core: Refactor priority class rules, now supporting Regular Expressions
- GUI.ProBalanceExclusionsDialog: Cosmetic
- GUI: Add dark mode support to activation dialog
Process Lasso 11.0.0.34 (32-bit)
- Processes tree view
- More useful graph tooltips
Process Lasso 10.4.8.8 (32-bit)
- Core/GUI: Improvements to service management code
- GUI: Fix service tracking for process associations (name appendages) could become stale
- All: Update to VS 2022 17.2.3
- GUI: Language updates
Process Lasso 10.4.7.22 (32-bit)
- Core: Change method of finding processor efficiency classes
- Core/GUI: Add support for as yet undeployed minidump upload tool
- Core/GUI: Improvements to base process enumeration and tracking code
GUI:
- Add 'Options / General / Experimental' submenu
- Add 'Options / General / Experimental / Generate Crash Dump'
- CPU core graphs: Don't treat error getting core parking status (broken performance counter) as parked
- Add 'Options / Tools / Repair [System] Performance Counters'
- If system performance counter(s) appear damaged, ask user then attempt repair with "lodctr.exe /R", et. al (beta builds only)
- Remove 'frequent updates' warning when 'Include Betas' is checked
- Enforce depth limit of ProBalance event timestamp history used by graph tooltips
- Minidump generation: A second messagebox asking if user wants to submit now; opens submission URL
- When IdleSaver enabled by menu, only open options dialog when enabled for first time
- Make log size limit edit control numeric only
Process Lasso 10.4.6.20 (32-bit)
- Support processor groups of unequal size (rare)
- Improvements to Instance Balancer, including multi-group support
- Minor fixes and enhancements
Process Lasso 10.4.5.28 (32-bit)
GUI:
- Remove some deprecated code
- Fix 'Switch to GaaP' syslink not hidden on Keep Running rules dialog when already GaaP
- Instance Balancer Dialog, improve behavior when user toggles from static to dynamic algorithm and then adds rule with artifact of a non-zero static core count
- Instance Balancer Dialog, rename algorithms to 'Dynamic core count (spread evenly)' and 'Static core count'
Core:
- Fix a memory leak when SmartTrim is enabled and a trim working sets action occurs (free RAM was less than threshold)
- General code maintenance
- Improved method of ensuring handle cache coherency, fixing a handle leak
- GUI: Fix filtered listviews weren't immediately adopting user customizations to column orders and widths
- Fix default value for SmartTrim Clear Standby List 'only when free RAM less than' on new installs
- Change new process log events to use lowercase basenames for consistency
- Fix an issue where Group Extender could consume excess compute when multiple group extensions are active simultaneously
- Core/GUI: Change Instance Balancer boolean option 'Only include instances with CPU use' to floating point 'CPU use threshold'
- Installer: Fix an issue with deferred activation code on command line using /key parameter
Process Lasso 10.4.4.20 (32-bit)
- Minor fixes and enhancements
Process Lasso 10.4.3.24 (32-bit)
- Adjustment to BHP for Alder Lake on Win10 (specifically)
- Refinement of memory priority feature
- Minor fixes and enhancements
Process Lasso 10.4.2.16 (32-bit)
- Core: Minor adjustment to Windows Error Reporting (WER) snapshot process handling
- GUI: Add CTRL+SPACE keyboard accelerator to pause GUI display updates
- GUI/Core: When no power profile rules are in effect, return to set 'Start Process Lasso with Power Profile'
- GUI: Add message when user attempts manual switch of active power profile when 'start with' (base) power profile is set
- GUI: Don't remove processes from listview while in the context menu. Fixes crash seen when process removed while taking action on it via context menu.
- GUI: Remove 'Help / Change License Code' menu item when not activated
- GUI: Fix activation code change wouldn't refresh licensee name on graph until app restart
- All: (c) 2021 to 2022
- GUI: Add menu item to toggle ProBalance option to lower to Idle instead of Below Normal
- GUI: Add submenu 'View / Reset'
- GUI: Add menu item 'View / Reset / Reset ProBalance Counters'
- GUI: Move process context menu item 'Keep Running' to 'More' submenu
- GUI: Improve consistency of process context menu items for Hard Throttling
- All: Minor code maintenance
Process Lasso 10.4.1.18 (32-bit)
GUI:
- Add up/down buttons to CPU Sets Rules List Dialog
- Fix to multi-select process context menu item 'I/O Priority / Always / None'
- Improve RAM Load display painting
- Fix incorrect physical core count in status bar on Alder Lake
- Cosmetic tweaks to some rule config dialogs
- Change all 'Remove selected' buttons to 'Remove'
- Fix handling of rare scenario when process module enumeration initially fails due to first module (the EXE) not yet loaded, previously resulting in a missing path and icon in listview (impacted GUI only)
- Minor code maintenance
- Fix 'No update available' message could be unnecessarily shown on app start after a successful manual update under some circumstances
Core:
- Refactor process pathname retrieval code
- Remove process pathnames from 'More info' field of process launched log events, since it is also included in the 'Path' field
Process Lasso 10.4.0.38 (32-bit)
- Add CPU Sets, a softer form of CPU Affinities
- Adler Lake (Intel 12th Gen) support
- Streamlined install
Process Lasso 10.3.1.10 (32-bit)
- Core: Fix an issue in prior release where Performance Mode may not be induced per rule when process path is unavailable due to anti-cheat systems
- Core/GUI: Add Instance Balancer option to reserve n system CPU cores
- Core/GUI: Add Instance Balancer option to only include process instances with CPU use
- GUI: Minor string and cosmetic adjustments
Process Lasso 10.3.0.50 (32-bit)
- New Config Profile Switcher feature
- Add special ProBalance handling for searchindexer.exe
- Other fixes and enhancements
Process Lasso 10.2.0.40 (32-bit)
- Improvement to ProBalance
- Refactored Foreground Boosting
- Add Internet Explorer Restriction feature
- Deploy Bitsum Session Agent for GaaP installs too
- Windows 11 support
- Other fixes and enhancements
Process Lasso 10.1.0.42 (32-bit)
- Dark mode for CPU core graphs, statusbar, and menubar
- Improved tab control appearance in light mode
- Minor fixes and enhancements
Process Lasso 10.0.3.6 (32-bit)
- Update several languages
- Minor fixes and enhancements
Process Lasso 10.0.2.24 (32-bit)
- Update several languages
- Minor fixes and enhancements
Process Lasso 10.0.1.16 (32-bit)
- Update several languages
- Minor fixes and enhancements
Process Lasso 10.0.0.164 (32-bit)
- Refactored log system with CSV as primary
- Ordered CPU affinity and priority rules
- Periodic process sampling (snapshots)
- GUI improvements
- CrowdIn integration for translations
- Numerous fixes and enhancements
Process Lasso 9.8.7.18 (32-bit)
- GUI: Improve performance of filters
- Install: Speed Governor service installation
- Assorted fixes and enhancements
Process Lasso 9.8.6.16 (32-bit)
- Default Governor deployment type to system service
- Further work on limited user contexts
- Performance improvements to GUI
- Other fixes and enhancements
Process Lasso 9.8.5.37 (32-bit)
- Allow Governor to be deployed as system service in the free edition
- Default deployment type to Governor-as-Service for Server Edition
- Support named config profiles with Governor-as-Service
- Add function ‘Options / Memory / Purge standby list now’
Process Lasso 9.8.4.2 (32-bit)
- Show WSL and protected processes
- Assorted fixes and enhancements
Process Lasso 9.8.2.2 (32-bit)
- Add option to switch power profile when Process Lasso starts
- Keep Running and Watchdog launch actions now always launch unelevated (HKLM override available)
- Suppress Dark Mode compatibility warning on older Windows 10/2016 builds
Process Lasso 9.8.1.16 (32-bit)
- Improve support for exotic CPU topologies
- Fix graph presentation on systems with unequal size NUMA nodes
- Fix an issue with the Processor Group Extender that could result in incomplete thread distribution
- Other fixes and enhancements
Process Lasso 9.8.0.54 (32-bit)
- Refactored CPU core graphs; split into NUMA nodes, supporting multiple processor groups [screenshot]
- Improve foreground process awareness with Governor-As-Service (GaaS)
- Make ProBalance option ‘Ignore children of foreground’ default to on
- Add ‘Always on top’ option
- Add parked core count to status bar
- Add option to hide CPU core graphs
- Other fixes and enhancements
Process Lasso 9.7.6.26 (32-bit)
- New load balance algorithm for the Group Extender feature
- Make effort to enforce CPU affinities on multi-group processes by moving existing threads
- Tune default ProBalance timing
- Fix menu-induced config profile switching
- Assorted fixes and enhancements
Process Lasso 9.7.5.44 (32-bit)
- GUI: Fix 'Main / Keep awake' submenu in 9.7.5.42 when GUI running as admin
Process Lasso 9.7.5.42 (32-bit)
- Add processor group support to CPU affinity settings
- Add ability to move a running process to a different processor group
- Add Regular Expression support to Persistent CPU Affinities
- Fixes and enhancements
Process Lasso 9.7.0.48 (32-bit)
GUI:
- Create distinct process context menu items for Suspend and Resume process
- Improve reliability of process suspension (note that it may take a few seconds for a process state to change)
- Active Processes tab: Improve sort behavior
- Active Processes tab: Use process enumeration data from primary view
- Remove an unecessary warning messagebox on process suspension
- Add option to disable listview process tooltips
- Minor text changes
- Fix listview sort issue where some rule strings were being misinterpreted as integers
- Small optimizations to listview sort compare function
- Don't pause process listview updates when in filtered view
All:
- Optimizations to thread enumeration
- Change 'hide suspended processes' value name to force reset to new default (false)
- Fix product version format in version info resource
ThreadRacer:
- Replace OK/Cancel buttons with single Exit button
LogViewer:
- Cosmetic work to About Dialog
Build:
- Adjust debug information for Server Edition
Core:
- Migrate ProBalance exclude foreground processes setting to new key name, or default to off for Server Edition
CPUEater:
- Adjust default thread count
Process Lasso 9.7.0.16 (32-bit)
Core:
- Fix issue where leaving rule-induced Performance Mode when it had been previously manually engaged could cause inappropriate reversion to prior power plan
- Add distinct log entry description when Performance Mode manually induced
- Add distinct log entry for continuing performance mode after process ends because Perf Mode had been manually induced
GUI:
- Fix manual Performance Mode not persisting when Process Lasso restarted
- Fix Active Processes tab rules column not clearing when last rule removed
- CPU Limiter configuration dialog - On listview row double-click, populate all controls with removed item
Process Lasso 9.7.0.2 (32-bit)
- Add new Processor Group Extender feature
- Fixes and enhancements
Process Lasso 9.6.0.68 (32-bit)
- Add per-session agent to facilitate some features with governor-as-service
- Numerous improvements and fixes to limited user environments, especially when combined with governor-as-service
- IdleSaver now available with governor-as-service
- Improvements to IdleSaver configuration, allowing broader range of settings
- Add back Spanish, Italian, Polish, and French languages
- Considerable other product refinement
Process Lasso 9.5.1.0 (32-bit)
- Allow hundredths precision in Watchdog (advanced rules)
- Fixes and improvements to Watchdog
- Expanded new Regular Expressions to ProBalance Exclusions
- GUI.Watchdog: Improve config dialog up/down button behavior
- Core: Populate command line field to watchdog log type action events
- CPUEater: Fix status bar overlap with 'just took action' static control
- Change copyright years to 2020
- Language updates
- GUI: Remove checkbox on 'Uninstall BHP' menu item
- Core.Watchdog: Improve handling of redundant log entries
- Core.Watchdog: Log actions even if no setting change was necessary (process already at target)
- Core.Watchdog: Other fixes and enhancements
- Core.Watchdog: Minor optimizations
- GUI: Update Slovenian
- GUI: Restore primary listview filter update on items add/removed
- Core: Support RegEx in ProBalance exclusions
- GUI: Add process match help to ProBalance exclusion dialog
- GUI.ActionsLog: Fix to context menu items and auto-select of any matching running process
- GUI: Change to 'process match' listview column headers in config dialogs
- GUI: Add tooltip to Watchdog 'Divide CPU % by total core count' option
- Uninstall: Delete desktop shortcut
- Core/GUI.Watchdog: CPU and memory thresholds now allow precision in hundredths
- GUI: Update Russian
Process Lasso 9.5.0.40 (32-bit)
- Added Regular Expression matching to multiple fields for Instance Balancer, Watchdog, and CPU Limiter rules. See documentation on process matching
- Optimizations to GUI
- Improvements to Active Processes tab
Fixes and enhancements:
- GUI: Restore average CPU utilization to active processes tab
- GUI: Watchdog dialog: Replace CPU % threshold drop-down with edit box
- GUI: Watchdog dialog: Round CPU % given in decimal to nearest integer pending Watchdog support for such
- GUI: Bring existing instance of Insights to foreground if already running
- Core: Fix issue with traditional rules when user is appended after single character process match (e.g. *:jerem)
- Insights: Added menu item for Advanced ProBalance Options dialog
- Insights: Fix some settings could revert when changed from Advanced ProBalance Options dialog
- GUI: Make Process Lasso info (e.g. config path) selectable in About Dialog for copy/paste
- GUI: Instance Balancer dialog: Show error when user tries to add static core count rule with 0 cores specified
- GUI: Assortment of small cosmetic and internal improvements
- GUI: Optimizations
- GUI: Fix a filter issue with mixed case in some fields
- GUI: Rewrote process icon management
- GUI: Some refactoring of Active Processes tab code
- Core: Add RegEx (and multi-field) support to CPU Limiter, Watchdog, and Instance Balancer
- GUI: Add 'help' buttons beside process match strings for Instance Balancer, CPULimiter, and Watchdog
- Core: Fix Instance Balancer issue when total logical cores is not evenly divisible by per-instance core count
- GUI: Add Windows 10/2019 build number to status bar
- GUI: Support Dark Mode up to Win10 build 19536
- GUI: Add 'View / Colors / Always allow Dark Mode' for user over-ride on untested new Win10 builds
- GUI: Change priority adjusted log action text to remove colon
- GUI: Fix a reported GUI crash
- GUI: Add dynamic (updating) RAM stats to SmartTrim dialog
- GUI: Remove cache size from status bar RAM part
- Core.InstanceBalancer: Allow 'childof:' prefix to be any character case
- GUI: Fix Show/hide graph button one pixel too wide in Active Processes view
- GUI: Show icons in Active Processes tab
- Language updates
Process Lasso 9.4.0.70 (32-bit)
- GUI: Active Processes: Add sensitivity adjustment slider shown above list
- GUI: Fix to ‘File / Choose alternate log folder’
- GUI: Dark Mode support for Windows 10 19025
- GUI: Several other small and cosmetic enhancements
- Log: Standardize CSV output, adding headers, quotes and removing BOM
- Log: LogViewer: Add full history CSV export in addition to current view export
- Log: Fix main GUI ‘File / Export log to CSV’ would not export full history
- Core: Improved process suspend function, now compatible with Resource Monitor
- Core: Improved legacy hard throttle function
Process Lasso 9.4.0.46 (32-bit)
- Minor fixes and enhancements
- Update Chinese and Slovenian
Process Lasso 9.4.0.28 (32-bit)
- GUI: Support Windows 10 Dark Mode and interface with OS setting
- GUI: Dark Mode improvements
- GUI: Add tooltips to CPU utilization graphs
- GUI: Show active config profile on graph, if used
- GUI: Self-restart now opens with main window visible
- GUI: Fix governor could be inappropriately stopped by GUI on session exit
- Core: Fix use of Performance Mode when Governor running as service
- Core: Fix ‘Hide Suspended Processes’ was defaulting to true
- TweakScheduler: Zero ratio bits when fixed length quanta used
- InstallHelper: Preserve character case of global config path
- InstallHelper: New modern browse dialogs for global log and config folders
- All: Many other optimizations, fixes and enhancements
Process Lasso 9.3.0.74 (32-bit)
- GUI: Fix an issue with wildcard matching for persistent I/O priority classes
- GUI: Fix formatting in status bar when system RAM GB is more than 2 digits (>99GB)
- GUI: Update Chinese, Russian, Slovenian
- Core: Default ‘also check rules for path matches’ to true
- Licensing: Allow Performance Mode process list to be edited in free edition
- Licensing: Allow use of ProBalance advanced option ‘Restrain by CPU Affinity’ in free edition
- All: Other additions, fixes and enhancements
Process Lasso 9.3.0.64 (32-bit)
- GUI: Add CPU bitmask edit control to CPU Affinity selection dialog
- GUI/Core: Add selection for power plan to use with Performance Mode, in case user desires something other than BHP (e.g. AMD Ryzen High Performance)
- GUI: Add license name graph overlay in lower-left region
- GUI: Fix crash seen after selecting process context menu items after target process had terminated
- GUI: Add warning about use of multiple configuration profiles while governor as service
- GUI: Speed process icon population
- GUI: Update PTBR
- Settings: Change default ‘hide suspended processes’ to OFF
- All: Other additions, fixes and enhancements
Process Lasso 9.3.0.44 (32-bit)
- Core: Allow duration of 0 to indicate indefinite period in CPU Limiter rules
- Core: Allow larger max integer values in CPU Limiter rules
- GUI: Expand edit control widths on CPU Limiter dialog
- Core: Remove some deprecated code from governor
- Core Exclude vmmem from ProBalance actions by default
- InstallHelper: Fix to startup type management legacy code
- Updater: Fix quickupgrade could fail to be replaced on update in last final
- All: Compiler optimization setting adjustments
- All: Update Chinese, German, Russian
- Other minor
Process Lasso 9.3.0.30 (32-bit)
- GUI: Standardize fonts for filter edit controls
- GUI: Adopt Explorer style listviews in normal theme
- GUI: For dark mode, add dark scrollbars on listviews
- GUI: Update Chinese Simplified and Traditional, Slovenian
- Other minor changes
Process Lasso 9.3.0.22 (32-bit)
- New CPU Limiter algorithm to dynamically reduce a process’s CPU use
- Per-process CPU utilization precision now in hundredths
- Refactored SmartTrim, added ability to Purge Stand-by List
- Improved and more standard update notifications
- Arranged Options menu into categories
- Retarget all projects to VS2019 platform toolset
- Large number of other enhancements
Process Lasso 9.2.0.32 (32-bit)
- GUI: UX refactoring and tuning (details below)
- GUI: Change font of controls on main window
- GUI: Change order of rotation through color schemes when clicking on graph
- GUI: Change color of graph grid, now less prominent
- GUI: Reduce main window margins by half
- GUI: Reduce RAM load graph width
- GUI: Fix core graphs display issue when odd size logical CPU cores
- GUI: Enable core graphs display for single CPU core systems
- GUI: Improve appearance of core graphs
- GUI: Sizer (divider) control apperance improvement
- GUI: Switch to shortened Uptime format
- GUI: Fix RAM load graph could get mispositioned after manual sizing
- GUI: Improve flicker of CPU utilization and RAM load graphs on sizer control
- GUI: Move Lasso versions to right-most status bar component
- GUI: Strip embedded tabs in processor name string
- GUI: Change ‘RAM Load’ caption to ‘% RAM’
- GUI: Default panel size adjustments
- GUI: Change the methodology for panel size adjustments with main window resize
- GUI: Improve graph legend ellipsis
- GUI: Rename ‘automatic updates’ to ‘update without prompt’
- GUI: Add registry option ‘nographgrid’ to hide graph grid
- GUI: Update German and Slovenian
- GUI: Other misc changes
- Core: Change module description in version block
Process Lasso 9.2.0.14 (32-bit)
- GUI: Added Dark Mode
- GUI: Expanded custom color selections
- GUI: Improved filter edit control appearance and function, add ‘X’ clear button when populated
- GUI: Window painting and sizing optimizations
- GUI: Change default graph color
- GUI: Improved display of many message boxes
- GUI: Large number of cosmetic and control enhancements
- Assortment of fixes and enhancements
Process Lasso 9.1.0.68 (32-bit)
- GUI: If system only has a single CPU group: For default process columns, hide ‘CPU group’, Set CPU utilization bars caption to ‘CPU %’ instead of ‘CPU Group 0’
- GUI: Improvements to graph components and sizing, especially for non-English languages
- GUI: Restore ‘Governor Not Running’ warning graph overlay
- GUI: Text, menu item, and dialog cleanup and consistency improvements
- GUI: Fix issue where previously used config profile couldn’t be deleted until governor restarted
- GUI: Show automatic gaming mode in rules column
- GUI: Restore color theme when GUI launched
- GUI: Invalidate target windows after theme change
- GUI: Status bar – Remove ‘cores /’ prefix on queue length per core
- GUI: Improve process tooltip formatting, especially for non-English
- GUI: Continued prep for full dark mode
- GUI: Add Slovenian
- GUI: Other code improvements
- Core: Allow auto-detected games to be children of framework (e.g. Steam) at any level, not only immediate child
- Misc other
Process Lasso 9.1.0.42 (32-bit)
- Core: Refactored the Instance Balancer: allow for wildcards, allow for childof: to balance all children, e.g. ‘childof: boinc.exe’, re-balance if any PID in set changes, rather than net instance count change
- Core: Default to disabled process creation and termination log events
- GUI: Disable listview gridlines by default
- GUI: Add ‘View / Show gridlines’ option
- GUI: Don’t show ProBalance stats on graph if ProBalance is disabled
- GUI: Change graph overlay ‘ProBalance restraints’ to ‘ProBalance events’
- GUI: Add color selections for listview background and foreground
- GUI: Invert dark/light theme selections in preparation for dark mode
- Additional fixes and enhancements
Process Lasso 9.1.0.28 (32-bit)
- GUI: Add Processor Utility % to status bar (see this page for info)
- GUI: Add CPU Queue Length and Load Ratio to status bar (queue_length / core_count)
- GUI: Add Process Lasso version to status bar
- GUI: CTRL+C copy to clipboard support of selected rows in primary listviews (including filtered views and logviewer)
- GUI: Fix a small memory leak seen under some conditions
- GUI: Minor other improvements
- LogViewer: Persist window size and position
- LogViewer: Expand right-most log column to horizontal size of window if it would otherwise be initialized to a lesser width
- LogViewer: Move log listview column persistance to HKCU
- LogViewer: CTRL+A select all support
- Expand maximum command line length in places where an older Windows constant was used
- Migrate to VS2019
Process Lasso 9.1.0.6 (32-bit)
- Add Instance Balancer feature that assigns CPU cores to multiple instances of an application based on a specified algorithm
- Refactor Keep Awake timer functionality
- Refactor persistence of Keep Awake timer and manually induced Performance Mode when Process Lasso is restarted
- Use performance counter for total CPU utilization instead of calculation
- Change CPU topology status bar format
- Maintenance to updater for server edition
- GUI Rules column now also shows ProBalance exclusions matched by path
- Improvements to session (user) name resolution
- Fix a painting issue with actions log listview header
- Add last metric (CPU use, responsiveness, memory load.) readings to graph legend
- Add background to graph legend to enhance visibility
- Add custom color selection for graph legend background
- Change order of graph color scheme rotation on click (black, white, custom)
- Make listview painting smoother during frequent updates
- Remove a deprecated registry key in server edition
- Persistent CPU affinities configuration dialog improvements
- Pre-order status bar parts to put dynamic columns first
- Defaults: Turn on process icons in Server Edition, turn on process creation/termination logging in Workstation Edition
- Misc cosmetic work and enhancements
- Update Chinese (simplified and traditional), German, Finnish, Russian languages
Process Lasso 9.0.0.582 (32-bit)
- Default to more appropriate default log path when governor configured as a service
- Fix a rare crash seen in processlasso.exe
- Allow GUI to display more complex persistent process setting rules (pathname, command line) in listview
- Allow for smaller main window sizes to be remembered
- Minor other
Process Lasso 9.0.0.574 (32-bit)
- Dynamically size status bar parts
- Improvements to watchdog configuration dialog (confirm close without save, formatting, text)
- Restore confirmation on cancel w/o save to all configuration dialogs
- Remove minimum window height and width during resize
- Always use OS default size and width for main window, first run
Process Lasso 9.0.0.568 (32-bit)
- Add CPU type to status bar
- Make CPU topology distinct status bar item
- Continued work to processor group support
- Single-selection process context menu: Move memory priority to ‘More’ submenu
- Add processor group to CPU utilization and parking graphs caption
- Import sort behavior of listviews
- Add sort direction indicators to listview headers
- Save column states on mimimize of main window (instead of only on exit)
- Improved main window resizing
- Minor fixes and enhancements
- Assorted cosmetic and string changes
- Update Russian
Process Lasso 9.0.0.558 (32-bit)
- Add processor group (‘CPU groups’) display to indicate processor group(s) a process’s threads are running on – info
- Change to CPU core graph ordering to adhere better to NUMA node grouping
- Change to default listview ordering - NOTE: These changes will cause saved listview column ordering and sizes to be reset once
- Show ‘KB’ instead of ‘K’ in I/O Delta
- Show blank instead of 0 KB in I/O Delta
- Fix installer unicode (Chinese, Russian)
- Update to NSIS 3.04
Process Lasso 9.0.0.552 (32-bit)
- Fix issue with Hyper-Threaded/SMT avoidance current CPU affinity selection
- Fix a cosmetic resource issue in process context menu on Intel platforms
- Fix an issue where some process information could be blank
- Core process enumeration and management code maintenance
- Update copyright year
- Minor other
Process Lasso 9.0.0.548 (32-bit)
- Fix exception in 546 when a secondary instance of ProcessLasso.exe is launched directly w/o using ProcessLassoLauncher.exe
- Minor cosmetic improvement to ProBalance advanced options dialog
- Update Finnish and German languages
Process Lasso 9.0.0.546 (32-bit)
- Change log not available for this version
Process Lasso 9.0.0.538 (32-bit)
- Change log not available for this version
Process Lasso 9.0.0.526 (32-bit)
- Fix to ‘Induce Performance Mode’ (formerly ‘Classify as a High Performance’) process context menu item
- Fix digital signing of some modules in 32-bit distributions
- Minor adjustment to inter-process communication queue management
Process Lasso 9.0.0.522 (32-bit)
- Add NUMA node selections to all CPU affinity selection dialogs
- Organizational changes to process context menu
- Assortment of string, message box, and dialog improvements
- Improvements to watchdog advanced rules dialog
- Change ‘Disable SMT’ to ‘Disable Hyperthreading’ for Intel CPUs
- Change first-time minimization to system tray notification text
- Include ThreadRacer in Lasso distribution and add to Tools menu
- Add CPUEater and TestLasso support for 64-bit CPU affinities
- Fix CPUeater and TestLasso support for greater than 64 threads
- Fix Del and CTRL+A keys in filter edit box
- Increase load rate of process icons
- Remove some languages not up to date
Process Lasso 9.0.0.502 (32-bit)
- UX fixes for the 2990wx and other systems with groups of >32 cores
- Additional UX fixes and string changes
- Update DE, RU, PT-BR
Process Lasso 9.0.0.498 (32-bit)
- Some UX fixes for the 2990wx and other systems with groups of 64 cores
- Fix 2x restraint total count can occur in Insights UX
- Fix post-update revision history may on system tray icon click after notification balloon disappeared
- Update RU, PTBR, FI languages
Process Lasso 9.0.0.492 (32-bit)
- Add menu item under ‘Options / Performance Mode settings’ to uninstall/reinstall Bitsum Highest Performance power plan
- Improve watchdog dialog initial appearance
- Fix Watchdog issue with CPU affinity bitmasks > 32
- Licensing: Unbind CPU core count from unique machine ID. Requires re-activation to unbind
- Improve terminate process functionality in filtered view
- Other small fixes and enhancements
Process Lasso 9.0.0.478 (32-bit)
- Change log not available for this version
Process Lasso 9.0.0.470 (32-bit)
- Fix a GUI crash seen by a small number of users
Process Lasso 9.0.0.466 (32-bit)
- Show message box on restart after ‘Reconfigure the way Process Lasso starts’
- Restore listview header right-click to select visible columns (in addition to right-click on tab)
- Add last four digits of activation code to About Box
- Show Status column by default in All Processes view
- Fill app name and desc with process base name if can’t be retrieved
- Fix filtered processes view didn’t adopt customized columns from All Processes view
- Fixes to column setting persistence
- Fix extreme date change could cause days installed to roll over
- Fix to CPU time sort
- Fix Dark / white graph theme menu item check inversion
- Change to default column ordering in all processes listview
- Enable minidumps
Process Lasso 9.0.0.464 (32-bit)
- Show message box on restart after ‘Reconfigure the way Process Lasso starts’
- Restore listview header right-click to select visible columns (in addition to right-click on tab)
- Add last four digits of activation code to About Box
- Show Status column by default in All Processes view
- Fill app name and desc with process base name if can’t be retrieved
- Fix filtered processes view didn’t adopt customized columns from All Processes view
- Fixes to column setting persistence
- Fix extreme date change could cause days installed to roll over
- Fix to CPU time sort
- Fix Dark / white graph theme menu item check inversion
- Change to default column ordering in all processes listview
Process Lasso 9.0.0.456 (32-bit)
- Change log not available for this version
Process Lasso 9.0.0.452 (32-bit)
- GUI now allows protected processes like Easy Anti-Cheat clients to be configured for Performance Mode by adding their basename to the list, instead of throwing an error when pathname resolution fails.
- Allow process basenames to be specified (w/o wildcards) in the Performance Mode list
- Add optional command line matching to Default CPU Affinities
- Fix to governor refresh rate slider in Insights dialog
Process Lasso 9.0.0.442 (32-bit)
- Divide CPU core utilization graphs into 2 vertical stacks for additional display room
- Add some special purpose debug logging related to configuration file load disposition
- Update PTBR, Russian
Process Lasso 9.0.0.426 (32-bit)
- Fix 5 second refresh interval configuration persistence
- Update German and Chinese translations
- Other minor fixes and adjustments
Process Lasso 9.0.0.420 (32-bit)
- Fix dysfunctional ‘Notify of power plan changes’ menu item
- Hide Insights ‘Since …’ if no start time-stamp is available
- Add additional retries and increase time-out for UNC backed configuration files – to prevent their reset to default for failure to load
- Fix ‘Pro – Balance’ on advanced ProBalance dialog options
- Change name of ‘default’ profile to ‘My Default Profile’ so it is not confused with program defaults
- Import newer Italian, Polish, Russian, Finnish, Chinese Traditional, and Chinese Simplified
更新時間:2024-02-13
更新細節:
What's new in this version:
Rust 1.76.0
Language:
- Document Rust ABI compatibility between various types
- Also: guarantee that char and u32 are ABI-compatible
- Warn against ambiguous wide pointer comparisons
- Add lint ambiguous_wide_pointer_comparisons that supersedes clippy::vtable_address_comparisons
Compiler:
- Lint pinned #[must_use] pointers (in particular, Box where T is #[must_use]) in unused_must_use
- Soundness fix: fix computing the offset of an unsized field in a packed struct
- Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail
- Add $message_type field to distinguish json diagnostic outputs
- Enable Rust to use the EHCont security feature of Windows
- Add tier 3 {x86_64,i686}-win7-windows-msvc targets
- Add tier 3 aarch64-apple-watchos target
- Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets
- Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries:
- Add a column number to dbg!()
- Add std::hash::{DefaultHasher, RandomState} exports
- Fix rounding issue with exponents in fmt
- Add T: ?Sized to RwLockReadGuard and RwLockWriteGuard's Debug impls
- Windows: Allow File::create to work on hidden files
Stabilized APIs:
- Arc::unwrap_or_clone
- Rc::unwrap_or_clone
- Result::inspect
- Result::inspect_err
- Option::inspect
- type_name_of_val
- std::hash::{DefaultHasher, RandomState} These were previously available only through std::collections::hash_map.
- ptr::{from_ref, from_mut}
- ptr::addr_eq
Rustdoc:
- Don't merge cfg and doc(cfg) attributes for re-exports
- rustdoc: allow resizing the sidebar / hiding the top bar
- rustdoc-search: add support for traits and associated types
- rustdoc: Add highlighting for comments in items declaration
Compatibility Notes:
- Add allow-by-default lint for unit bindings This is expected to be upgraded to a warning by default in a future Rust release. Some macros emit bindings with type () with user-provided spans, which means that this lint will warn for user code.
- Remove x86_64-sun-solaris target
- Remove asmjs-unknown-emscripten target
- Report errors in jobserver inherited through environment variables This may warn on benign problems too
- Update the minimum external LLVM to 16
- Improve print_tts This change can break some naive manual parsing of token trees in proc macro code which expect a particular structure after .to_string(), rather than just arbitrary Rust code
- Make IMPLIED_BOUNDS_ENTAILMENT into a hard error from a lint
- Vec's allocation behavior was changed when collecting some iterators Allocation behavior is currently not specified, nevertheless changes can be surprising. See impl FromIterator for Vec for more details.
- Properly reject default on free const items
Rust 1.75.0
Language:
- Stabilize async fn and return-position impl Trait in traits
- Allow function pointer signatures containing &mut T in const contexts
- Match usize/isize exhaustively with half-open ranges
- Guarantee that char has the same size and alignment as u32
- Document that the null pointer has the 0 address
- Allow partially moved values in match
- Add notes about non-compliant FP behavior on 32bit x86 targets
- Stabilize ratified RISC-V target features
Compiler:
- Rework negative coherence to properly consider impls that only partly overlap
- Bump COINDUCTIVE_OVERLAP_IN_COHERENCE to deny, and warn in dependencies
- Consider alias bounds when computing liveness in NLL
- Add the V (vector) extension to the riscv64-linux-android target spec
- Automatically enable cross-crate inlining for small functions
Add several new tier 3 targets:
- csky-unknown-linux-gnuabiv2hf
- i586-unknown-netbsd
- mipsel-unknown-netbsd
Libraries:
- Override Waker::clone_from to avoid cloning Wakers unnecessarily
- Implement BufRead for VecDeque
- Implement FusedIterator for DecodeUtf16 when the inner iterator does
- Implement Not, Bit{And,Or}{,Assign} for IP addresses
- Implement Default for ExitCode
- Guarantee representation of None in NPO
- Document when atomic loads are guaranteed read-only
- Broaden the consequences of recursive TLS initialization
- Windows: Support sub-millisecond sleep
- Fix generic bound of str::SplitInclusive's DoubleEndedIterator impl
- Fix exit status / wait status on non-Unix cfg(unix) platforms
Stabilized APIs:
- Atomic*::from_ptr
- FileTimes
- FileTimesExt
- File::set_modified
- File::set_times
- IpAddr::to_canonical
- Ipv6Addr::to_canonical
- Option::as_slice
- Option::as_mut_slice
- pointer::byte_add
- pointer::byte_offset
- pointer::byte_offset_from
- pointer::byte_sub
- pointer::wrapping_byte_add
- pointer::wrapping_byte_offset
- pointer::wrapping_byte_sub
- These APIs are now stable in const contexts:
- Ipv6Addr::to_ipv4_mapped
- MaybeUninit::assume_init_read
- MaybeUninit::zeroed
- mem::discriminant
- mem::zeroed
Cargo:
- Add new packages to [workspace.members] automatically
- Allow version-less Cargo.toml manifests
- Make browser links out of HTML file paths
Rustdoc:
- Accept less invalid Rust in rustdoc
- Document lack of object safety on affected traits
- Hide #[repr(transparent)] if it isn't part of the public ABI
- Show enum discriminant if it is a C-like variant
Compatibility Notes:
- FreeBSD targets now require at least version 12
- Formally demote tier 2 MIPS targets to tier 3
- Make misalignment a hard error in const contexts
- Fix detecting references to packed unsized fields
- Remove support for compiler plugins
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools
- Optimize librustc_driver.so with BOLT
- Enable parallel rustc front end in dev and nightly builds
- Distribute rustc-codegen-cranelift as rustup component on the nightly channel
Rust 1.73.0
Language:
- Uplift clippy::fn_null_check lint as useless_ptr_null_checks
- Make noop_method_call warn by default
- Support interpolated block for try and async in macros
- Make unconditional_recursion lint detect recursive drops
- Future compatibility warning for some impls being incorrectly considered not overlapping
- The invalid_reference_casting lint is now deny-by-default (instead of allow-by-default)
Compiler:
- Write version information in a .comment section like GCC/Clang
- Add documentation on v0 symbol mangling
- Stabilize extern "thiscall" and "thiscall-unwind" ABIs
- Only check outlives goals on impl compared to trait
- Infer type in irrefutable slice patterns with fixed length as array
- Discard default auto trait impls if explicit ones exist
Add several new tier 3 targets:
- aarch64-unknown-teeos
- csky-unknown-linux-gnuabiv2
- riscv64-linux-android
- riscv64gc-unknown-hermit
- x86_64-unikraft-linux-musl
- x86_64-unknown-linux-ohos
- Add wasm32-wasi-preview1-threads as a tier 2 target
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Add Read, Write and Seek impls for Arc
- Merge functionality of io::Sink into io::Empty
- Implement RefUnwindSafe for Backtrace
- Make ExitStatus implement Default
- impl SliceIndex for (Bound, Bound)
- Change default panic handler message format.
- Cleaner assert_eq! & assert_ne! panic messages.
- Correct the (deprecated) Android stat struct definitions.
Stabilized APIs:
- Unsigned {integer}::div_ceil
- Unsigned {integer}::next_multiple_of
- Unsigned {integer}::checked_next_multiple_of
- std::ffi::FromBytesUntilNulError
- std::os::unix::fs::chown
- std::os::unix::fs::fchown
- std::os::unix::fs::lchown
- LocalKey::::get
- LocalKey::::set
- LocalKey::::take
- LocalKey::::replace
- LocalKey::::with_borrow
- LocalKey::::with_borrow_mut
- LocalKey::::set
- LocalKey::::take
- LocalKey::::replace
- These APIs are now stable in const contexts:
- rc::Weak::new
- sync::Weak::new
- NonNull::as_ref
Cargo:
- Encode URL params correctly for SourceId in Cargo.lock
- Bail out an error when using cargo:: in custom build script
Misc:
Compatibility Notes:
- Update the minimum external LLVM to 15
- Check for non-defining uses of return position impl Trait
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools
- Remove LLVM pointee types, supporting only opaque pointers
- Port PGO/LTO/BOLT optimized build pipeline to Rust
- Replace in-tree rustc_apfloat with the new version of the crate
- Update to LLVM 17
- Add internal_features lint for internal unstable features
- Mention style for new syntax in tracking issue template
Rust 1.72.0
Language:
- Replace const eval limit by a lint and add an exponential backoff warning
- expand: Change how
- Stabilize inline asm for LoongArch64
- Uplift clippy::undropped_manually_drops lint
- Uplift clippy::invalid_utf8_in_unchecked lint
- Uplift clippy::cast_ref_to_mut lint
- Uplift clippy::cmp_nan lint
- resolve: Remove artificial import ambiguity errors
- Don't require associated types with Self: Sized bounds in dyn Trait objects
Compiler:
- Remember names of cfg-ed out items to mention them in diagnostics
- Support for native WASM exceptions
- Add support for NetBSD/aarch64-be (big-endian arm64)
- Write to stdout if - is given as output file
- Force all native libraries to be statically linked when linking a static binary
- Add Tier 3 support for loongarch64-unknown-none*
- Prevent .eh_frame from being emitted for -C panic=abort
- Support 128-bit enum variant in debuginfo codegen
- compiler: update solaris/illumos to enable tsan support
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Document memory orderings of thread::{park, unpark}
- io: soften ‘at most one write attempt’ requirement in io::Write::write
- Specify behavior of HashSet::insert
- Relax implicit T: Sized bounds on BufReader, BufWriter and LineWriter
- Update runtime guarantee for select_nth_unstable
- Return Ok on kill if process has already exited
- Implement PartialOrd for Vecs over different allocators
- Use 128 bits for TypeId hash
- Don't drain-on-drop in DrainFilter impls of various collections
- Make {Arc,Rc,Weak}::ptr_eq ignore pointer metadata
Rustdoc:
- Allow whitespace as path separator like double colon
- Add search result item types after their name
- Search for slices and arrays by type with []
- Clean up type unification and "unboxing"
Stabilized APIs:
- impl Sync for mpsc::Sender
- impl TryFrom<&OsStr> for &str
- String::leak
These APIs are now stable in const contexts:
- CStr::from_bytes_with_nul
- CStr::to_bytes
- CStr::to_bytes_with_nul
- CStr::to_str
Cargo:
- Enable -Zdoctest-in-workspace by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. docs
- Add support of the "default" keyword to reset previously set build.jobs parallelism back to the default
Compatibility Notes:
- Alter Display for Ipv6Addr for IPv4-compatible addresses
- Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry
Rust 1.71.1
Fixed:
- Cargo did not respect the umask when extracting dependencies
- Fix bash completion for users of Rustup
- Do not show suspicious_double_ref_op lint when calling borrow()
- Fix ICE: substitute types before checking inlining compatibility
- Fix ICE: don't use can_eq in derive(..) suggestion for missing method
- Fix building Rust 1.71.0 from the source tarball
Rust 1.70.0
Language:
- Relax ordering rules for asm! operands
- Properly allow macro expanded format_args invocations to uses captures
- Lint ambiguous glob re-exports
- Perform const and unsafe checking for expressions in let _ = expr position
Compiler:
- Extend -Cdebuginfo with new options and named aliases This provides a smaller version of debuginfo for cases that only need line number information (-Cdebuginfo=line-tables-only), which may eventually become the default for -Cdebuginfo=1.
- Make unused_allocation lint against Box::new too
- Detect uninhabited types early in const eval
- Switch to LLD as default linker for {arm,thumb}v4t-none-eabi
- Add tier 3 target loongarch64-unknown-linux-gnu
- Add tier 3 target for i586-pc-nto-qnx700 (QNX Neutrino RTOS, version 7.0),
- Insert alignment checks for pointer dereferences as debug assertions This catches undefined behavior at runtime, and may cause existing code to fail
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Document NonZeroXxx layout guarantees
- Windows: make Command prefer non-verbatim paths
- Implement Default for some alloc/core iterators
- Fix handling of trailing bare CR in str::lines
- allow negative numeric literals in concat!
- Add documentation about the memory layout of Cell
- Use partial_cmp to implement tuple lt/le/ge/gt
- Stabilize atomic_as_ptr
- Stabilize nonnull_slice_from_raw_parts
- Partial stabilization of once_cell
- Stabilize nonzero_min_max
- Flatten/inline format_args!() and (string and int) literal arguments into format_args!()
- Stabilize movbe target feature
- don't splice from files into pipes in io::copy
- Add a builtin unstable FnPtr trait that is implemented for all function pointers This extends Debug, Pointer, Hash, PartialEq, Eq, PartialOrd, and Ord implementations for function pointers with all ABIs.
Stabilized APIs:
- NonZero*::MIN/MAX
- BinaryHeap::retain
- Default for std::collections::binary_heap::IntoIter
- Default for std::collections::btree_map::{IntoIter, Iter, IterMut}
- Default for std::collections::btree_map::{IntoKeys, Keys}
- Default for std::collections::btree_map::{IntoValues, Values}
- Default for std::collections::btree_map::Range
- Default for std::collections::btree_set::{IntoIter, Iter}
- Default for std::collections::btree_set::Range
- Default for std::collections::linked_list::{IntoIter, Iter, IterMut}
- Default for std::vec::IntoIter
- Default for std::iter::Chain
- Default for std::iter::Cloned
- Default for std::iter::Copied
- Default for std::iter::Enumerate
- Default for std::iter::Flatten
- Default for std::iter::Fuse
- Default for std::iter::Rev
- Default for std::slice::Iter
- Default for std::slice::IterMut
- Rc::into_inner
- Arc::into_inner
- std::cell::OnceCell
- Option::is_some_and
- NonNull::slice_from_raw_parts
- Result::is_ok_and
- Result::is_err_and
- std::sync::atomic::Atomic*::as_ptr
- std::io::IsTerminal
- std::os::linux::net::SocketAddrExt
- std::os::unix::net::UnixDatagram::bind_addr
- std::os::unix::net::UnixDatagram::connect_addr
- std::os::unix::net::UnixDatagram::send_to_addr
- std::os::unix::net::UnixListener::bind_addr
- std::path::Path::as_mut_os_str
- std::sync::OnceLock
Cargo:
- Add CARGO_PKG_README
- Make sparse the default protocol for crates.io
- Accurately show status when downgrading dependencies
- Use registry.default for login/logout
- Stabilize cargo logout
Misc:
- Stabilize rustdoc --test-run-directory
Compatibility Notes:
- Prevent stable libtest from supporting -Zunstable-options
- Perform const and unsafe checking for expressions in let _ = expr position
- WebAssembly targets enable sign-ext and mutable-globals features in codegen This may cause incompatibility with older execution environments
- Insert alignment checks for pointer dereferences as debug assertions This catches undefined behavior at runtime, and may cause existing code to fail
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools
- Upgrade to LLVM 16
- Use SipHash-1-3 instead of SipHash-2-4 for StableHasher
Rust 1.69.0
Language:
- Deriving built-in traits on packed structs works with Copy fields
- Stabilize the cmpxchg16b target feature on x86 and x86_64
- Improve analysis of trait bounds for associated types
- Allow associated types to be used as union fields
- Allow Self: Autotrait bounds on dyn-safe trait methods
- Treat str as containing [u8] for auto trait purposes
Compiler:
- Upgrade *-pc-windows-gnu on CI to mingw-w64 v10 and GCC 12.2
- Rework min_choice algorithm of member constraints
- Support true and false as boolean flags in compiler arguments
- Default repr(C) enums to c_int size
Libraries:
- Implement the unstable DispatchFromDyn for cell types, allowing downstream experimentation with custom method receivers
- Document that fmt::Arguments::as_str() may return Some(_) in more cases after optimization, subject to change
- Implement AsFd and AsRawFd for Rc
Stabilized APIs:
- CStr::from_bytes_until_nul
- Core::ffi::FromBytesUntilNulError
- These APIs are now stable in const contexts:
- SocketAddr::new
- SocketAddr::ip
- SocketAddr::port
- SocketAddr::is_ipv4
- SocketAddr::is_ipv6
- SocketAddrV4::new
- SocketAddrV4::ip
- SocketAddrV4::port
- SocketAddrV6::new
- SocketAddrV6::ip
- SocketAddrV6::port
- SocketAddrV6::flowinfo
- SocketAddrV6::scope_id
Cargo:
- Cargo now suggests cargo fix or cargo clippy --fix when compilation warnings are auto-fixable
- Cargo now suggests cargo add if you try to install a library crate
- Cargo now sets the CARGO_BIN_NAME environment variable also for binary examples
Rustdoc:
- Vertically compact trait bound formatting
- Only include stable lints in rustdoc::all group
- Compute maximum Levenshtein distance based on the query
- Remove inconsistently-present sidebar tooltips
- Search by macro when query ends with !
Compatibility Notes:
- The rust-analysis component from rustup now only contains a warning placeholder. This was primarily intended for RLS, and the corresponding -Zsave-analysis flag has been removed from the compiler as well.
- Unaligned references to packed fields are now a hard error. This has been a warning since 1.53, and denied by default with a future-compatibility warning since 1.62.
- Update the minimum external LLVM to 14
- Cargo now emits errors on invalid characters in a registry token
- When default-features is set to false of a workspace dependency, and an inherited dependency of a member has default-features = true, Cargo will enable default features of that dependency.
- Cargo denies CARGO_HOME in the [env] configuration table. Cargo itself doesn't pick up this value, but recursive calls to cargo would, which was not intended.
- Debuginfo for build dependencies is now off if not explicitly set. This is expected to improve the overall build time.
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
- Move format_args!() into AST (and expand it during AST lowering)
Rust 1.68.2
- Update the GitHub RSA host key bundled within Cargo. The key was rotated by GitHub on 2023-03-24 after the old one leaked.
- Mark the old GitHub RSA host key as revoked. This will prevent Cargo from accepting the leaked key even when trusted by the system.
- Add support for @revoked and a better error message for @cert-authority in Cargo's SSH host key verification
Rust 1.68.0
Language:
- Stabilize default_alloc_error_handler This allows usage of alloc on stable without requiring the definition of a handler for allocation failure. Defining custom handlers is still unstable.
- Stabilize efiapi calling convention
- Remove implicit promotion for types with drop glue
Compiler:
- Change bindings_with_variant_name to deny-by-default
- Allow .. to be parsed as let initializer
- Add armv7-sony-vita-newlibeabihf as a tier 3 target
- Always check alignment during compile-time const evaluation
- Disable "split dwarf inlining" by default
- Add vendor to Fuchsia's target triple
- Enable sanitizers for s390x-linux
Libraries:
- Loosen the bound on the Debug implementation of Weak.
- Make std::task::Context !Send and !Sync
- PhantomData layout guarantees
- Don't derive Debug for OnceWith & RepeatWith
- Implement DerefMut for PathBuf
- Add O(1) Vec -> VecDeque conversion guarantee
- Leak amplification for peek_mut() to ensure BinaryHeap's invariant is always met
Stabilized APIs:
- {core,std}::pin::pin!
- impl From for {f32,f64}
- std::path::MAIN_SEPARATOR_STR
- impl DerefMut for PathBuf
These APIs are now stable in const contexts:
- VecDeque::new
Cargo:
- Stabilize sparse registry support for crates.io
- cargo build --verbose tells you more about why it recompiles
- Show progress of crates.io index update even net.git-fetch-with-cli option enabled
Misc:
- Compatibility Notes:
- Add SEMICOLON_IN_EXPRESSIONS_FROM_MACROS to future-incompat report
- Only specify --target by default for -Zgcc-ld=lld on wasm
- Bump IMPLIED_BOUNDS_ENTAILMENT to Deny + ReportNow
- std::task::Context no longer implements Send and Sync
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
- Encode spans relative to the enclosing item
- Don't normalize in AstConv
- Find the right lower bound region in the scenario of partial order relations
- Fix impl block in const expr
- Check ADT fields for copy implementations considering regions
- rustdoc: simplify JS search routine by not messing with lev distance
- Enable ThinLTO for rustc on x86_64-pc-windows-msvc
- Enable ThinLTO for rustc on x86_64-apple-darwin
Rust 1.66.1
- Fixes Cargo not verifying SSH host keys when cloning dependencies or registry indexes with SSH
Rust 1.66.0
Language:
- Permit specifying explicit discriminants on all repr(Int) enums
- Allow transmutes between the same type differing only in lifetimes
- Change constant evaluation errors from a deny-by-default lint to a hard error
- Trigger must_use on impl Trait for supertraits This makes impl ExactSizeIterator respect the existing #[must_use] annotation on Iterator
- Allow ..=X in patterns
- Uplift clippy::for_loops_over_fallibles lint into rustc
- Stabilize sym operands in inline assembly
- Update to Unicode 15
- Opaque types no longer imply lifetime bounds This is a soundness fix which may break code that was erroneously relying on this behavior
Compiler:
- Add armv5te-none-eabi and thumbv5te-none-eabi tier 3 targets
- Refer to Rust's platform support page for more information on Rust's tiered platform support
- Add support for linking against macOS universal libraries
Libraries:
- Fix #[derive(Default)] on a generic #[default] enum adding unnecessary Default bounds
- Update to Unicode 15
Stabilized APIs:
- proc_macro::Span::source_text
- uX::{checked_add_signed, overflowing_add_signed, saturating_add_signed, wrapping_add_signed}
- iX::{checked_add_unsigned, overflowing_add_unsigned, saturating_add_unsigned, wrapping_add_unsigned}
- iX::{checked_sub_unsigned, overflowing_sub_unsigned, saturating_sub_unsigned, wrapping_sub_unsigned}
- BTreeSet::{first, last, pop_first, pop_last}
- BTreeMap::{first_key_value, last_key_value, first_entry, last_entry, pop_first, pop_last}
- Add AsFd implementations for stdio lock types on WASI.
- impl TryFrom for Box
- core::hint::black_box
- Duration::try_from_secs_{f32,f64}
- Option::unzip
- std::os::fd
Rustdoc:
- Add Rustdoc warning for invalid HTML tags in the documentation
Cargo:
- Added cargo remove to remove dependencies from Cargo.toml
- cargo publish now waits for the new version to be downloadable before exiting
- Compatibility Notes:
- Only apply ProceduralMasquerade hack to older versions of rental
- Don't export __heap_base and __data_end on wasm32-wasi
- Don't export __wasm_init_memory on WebAssembly
- Only export __tls_* on wasm32-unknown-unknown
- Don't link to libresolv in libstd on Darwin
- Update libstd's libc to 0.2.135 (to make libstd no longer pull in libiconv.dylib on Darwin)
- Opaque types no longer imply lifetime bounds This is a soundness fix which may break code that was erroneously relying on this behavior.
- Make order_dependent_trait_objects show up in future-breakage reports
- Change std::process::Command spawning to default to inheriting the parent's signal mask
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
- Enable BOLT for LLVM compilation
- Enable LTO for rustc_driver.so
Rust 1.65.0
Language:
- Error on as casts of enums with #[non_exhaustive] variants
- Stabilize let else
- Stabilize generic associated types (GATs)
- Add lints let_underscore_drop and let_underscore_lock from Clippy
- Stabilize breaking from arbitrary labeled blocks ("label-break-value")
- Uninitialized integers, floats, and raw pointers are now considered immediate UB. Usage of MaybeUninit is the correct way to work with uninitialized memory.
- Stabilize raw-dylib for Windows x86_64, aarch64, and thumbv7a
- Do not allow Drop impl on foreign ADTs
Compiler:
- Stabilize -Csplit-debuginfo on Linux
- Use niche-filling optimization even when multiple variants have data
- Associated type projections are now verified to be well-formed prior to resolving the underlying type
- Stringify non-shorthand visibility correctly
- Normalize struct field types when unsizing
- Update to LLVM 15
- Fix aarch64 call abi to correctly zeroext when needed
- debuginfo: Generalize C++-like encoding for enums
- Add special_module_name lint
- Add support for generating unique profraw files by default when using -C instrument-coverage
- Allow dynamic linking for iOS/tvOS targets
New targets:
- Add armv4t-none-eabi as a tier 3 target
- Add powerpc64-unknown-openbsd and riscv64-unknown-openbsd as tier 3 targets
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Don't generate PartialEq::ne in derive(PartialEq)
- Windows RNG: Use BCRYPT_RNG_ALG_HANDLE by default
- Forbid mixing System with direct system allocator calls
- Document no support for writing to non-blocking stdio/stderr
- std::layout::Layout size must not overflow isize::MAX when rounded up to align This also changes the safety conditions on Layout::from_size_align_unchecked.
Stabilized APIs:
- std::backtrace::Backtrace
- Bound::as_ref
- std::io::read_to_string
- ::cast_mut
- ::cast_const
These APIs are now stable in const contexts:
- ::offset_from
- ::offset_from
Cargo:
- Apply GitHub fast path even for partial hashes
- Do not add home bin path to PATH if it's already there
- Take priority into account within the pending queue. This slightly optimizes job scheduling by Cargo, with typically small improvements on larger crate graph builds.
Compatibility Notes:
- std::layout::Layout size must not overflow isize::MAX when rounded up to align. This also changes the safety conditions on Layout::from_size_align_unchecked.
- PollFn now only implements Unpin if the closure is Unpin. This is a possible breaking change if users were relying on the blanket unpin implementation. See discussion on the PR for details of why this change was made.
- Drop ExactSizeIterator impl from std::char::EscapeAscii This is a backwards-incompatible change to the standard library's surface area, but is unlikely to affect real world usage.
- Do not consider a single repeated lifetime eligible for elision in the return type This behavior was unintentionally changed in 1.64.0, and this release reverts that change by making this an error again.
- Reenable disabled early syntax gates as future-incompatibility lints
- Update the minimum external LLVM to 13
- Don't duplicate file descriptors into stdio fds
- Sunset RLS
- Deny usage of #![cfg_attr(..., crate_type = ...)] to set the crate type This strengthens the forward compatibility lint deprecated_cfg_attr_crate_type_name to deny.
- llvm-has-rust-patches allows setting the build system to treat the LLVM as having Rust-specific patches This option may need to be set for distributions that are building Rust with a patched LLVM via llvm-config, not the built-in LLVM.
- Combining three or more languages (e.g. Objective C, C++ and Rust) into one binary may hit linker limitations when using lld. For more information, see issue 102754.
Internal Changes:
- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
- Add x.sh and x.ps1 shell scripts
- compiletest: use target cfg instead of hard-coded tables
- Use object instead of LLVM for reading bitcode from rlibs
- Enable MIR inlining for optimized compilations This provides a 3-10% improvement in compiletimes for real world crates. See perf results.
Rust 1.63.0
Language:
- Remove migrate borrowck mode for pre-NLL errors
- Modify MIR building to drop repeat expressions with length zero
- Remove label/lifetime shadowing warnings
- Allow explicit generic arguments in the presence of impl Trait args
- Make cenum_impl_drop_cast warnings deny-by-default
- Prevent unwinding when -C panic=abort is used regardless of declared ABI
- Lub: don't bail out due to empty binders
Compiler:
- Stabilize the bundle native library modifier, also removing the deprecated static-nobundle linking kind
- Add Apple WatchOS compile targets*
- Add a Windows application manifest to rustc-main
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Implement Copy, Clone, PartialEq and Eq for core::fmt::Alignment
- Extend ptr::null and null_mut to all thin (including extern) types
- Impl Read and Write for VecDeque
- STD support for the Nintendo 3DS
- Make write/print macros eagerly drop temporaries
- Implement internal traits that enable [OsStr]::join
- Implement Hash for core::alloc::Layout
- Add capacity documentation for OsString
- Put a bound on collection misbehavior
- Make std::mem::needs_drop accept ?Sized
- Impl Termination for Infallible and then make the Result impls of Termination more generic
- Document Rust's stance on /proc/self/mem
Stabilized APIs:
- Array::from_fn
- Box::into_pin
- BinaryHeap::try_reserve
- BinaryHeap::try_reserve_exact
- OsString::try_reserve
- OsString::try_reserve_exact
- PathBuf::try_reserve
- PathBuf::try_reserve_exact
- Path::try_exists
- Ref::filter_map
- RefMut::filter_map
- NonNull::<[T]>::len
- ToOwned::clone_into
- Ipv6Addr::to_ipv4_mapped
- Unix::io::AsFd
- Unix::io::BorrowedFd<'fd>
- Unix::io::OwnedFd
- Windows::io::AsHandle
- Windows::io::BorrowedHandle<'handle>
- Windows::io::OwnedHandle
- Windows::io::HandleOrInvalid
- Windows::io::HandleOrNull
- Windows::io::InvalidHandleError
- Windows::io::NullHandleError
- Windows::io::AsSocket
- Windows::io::BorrowedSocket<'handle>
- Windows::io::OwnedSocket
- Thread::scope
- Thread::Scope
- Thread::ScopedJoinHandle
These APIs are now usable in const contexts:
- Array::from_ref
- Slice::from_ref
- Intrinsics::copy
- Intrinsics::copy_nonoverlapping
- <*const T>::copy_to
- <*const T>::copy_to_nonoverlapping
- <*mut T>::copy_to
- <*mut T>::copy_to_nonoverlapping
- <*mut T>::copy_from
- <*mut T>::copy_from_nonoverlapping
- Str::from_utf8
- Utf8Error::error_len
- Utf8Error::valid_up_to
- Condvar::new
- Mutex::new
- RwLock::new
Cargo:
- Stabilize the --config path command-line argument
- Expose rust-version in the environment as CARGO_PKG_RUST_VERSION
Rust 1.62.0
Language:
- Stabilize #[derive(Default)] on enums with a #[default] variant
- Stop validating some checks in dead code after functions with uninhabited return types
- Fix constants not getting dropped if part of a diverging expression
- Support unit struct/enum variant in destructuring assignment
- Remove mutable_borrow_reservation_conflict lint and allow the code pattern
Compiler:
- linker: Stop using whole-archive on dependencies of dylibs
- Make unaligned_references lint deny-by-default This lint is also a future compatibility lint, and is expected to eventually become a hard error.
- Only add codegen backend to dep info if -Zbinary-dep-depinfo is used
- Reject #[thread_local] attribute on non-static items
- Add tier 3 aarch64-pc-windows-gnullvm and x86_64-pc-windows-gnullvm targets*
- Implement a lint to warn about unused macro rules
- Promote x86_64-unknown-none target to Tier 2*
Libraries:
- Windows: Use a pipe relay for chaining pipes
- Replace Linux Mutex and Condvar with futex based ones
- Replace RwLock by a futex based one on Linux
- std: directly use pthread in UNIX parker implementation
Stabilized APIs:
- bool::then_some
- f32::total_cmp
- f64::total_cmp
- Stdin::lines
- windows::CommandExt::raw_arg
- impl Default for AssertUnwindSafe
- From for Rc<[u8]>
- From for Arc<[u8]>
- FusedIterator for EncodeWide
- RDM intrinsics on aarch64
Clippy:
- Create clippy lint against unexpectedly late drop for temporaries in match scrutinee expressions
Cargo:
- Added the cargo add command for adding dependencies to Cargo.toml from the command-line. docs
- Package ID specs now support name@version syntax in addition to the previous name:version to align with the behavior in cargo add and other tools. cargo install and cargo yank also now support this syntax so the version does not need to passed as a separate flag.
- The git and registry directories in Cargo's home directory (usually ~/.cargo) are now marked as cache directories so that they are not included in backups or content indexing (on Windows).
- Added automatic @ argfile support, which will use "response files" if the command-line to rustc exceeds the operating system's limit.
Compatibility Notes:
- cargo test now passes --target to rustdoc if the specified target is the same as the host target
- rustdoc: Remove .woff font files
- Enforce Copy bounds for repeat elements while considering lifetimes
Internal Changes:
- Unify ReentrantMutex implementations across all platforms
Rust 1.61.0
- Custom exit codes from main
- More capabilities for const fn
- Static handles for locked stdio
- Stabilized APIs
- Other changes
Rust 1.58.1
- The non_send_fields_in_send_ty Clippy lint was discovered to have too many false positives and has been moved to the experimental lints group (called "nursery")
- The useless_format Clippy lint has been updated to handle captured identifiers in format strings, introduced in Rust 1.58.0
- A regression in Rustfmt preventing generated files from being formatted when passed through the standard input has been fixed
- An incorrect error message displayed by rustc in some cases has been fixed
Rust 1.58.0
Language:
- Format strings can now capture arguments simply by writing {ident} in the string. This works in all macros accepting format strings. Support for this in panic! (panic!("{ident}")) requires the 2021 edition; panic invocations in previous editions that appear to be trying to use this will result in a warning lint about not having the intended effect.
- const T pointers can now be dereferenced in const contexts
- The rules for when a generic struct implements Unsize have been relaxed
Compiler:
- Add LLVM CFI support to the Rust compiler
- Stabilize -Z strip as -C strip. Note that while release builds already don't add debug symbols for the code you compile, the compiled standard library that ships with Rust includes debug symbols, so you may want to use the strip option to remove these symbols to produce smaller release binaries. Note that this release only includes support in rustc, not directly in cargo.
- Add support for LLVM coverage mapping format versions 5 and 6
- Emit LLVM optimization remarks when enabled with -Cremark
- Update the minimum external LLVM to 12
- Add x86_64-unknown-none at Tier 3*
- Build musl dist artifacts with debuginfo enabled. When building release binaries using musl, you may want to use the newly stabilized strip option to remove these debug symbols, reducing the size of your binaries.
- Don't abort compilation after giving a lint error
- Error messages point at the source of trait bound obligations in more places
- Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries:
- All remaining functions in the standard library have #[must_use] annotations where appropriate, producing a warning when ignoring their return value. This helps catch mistakes such as expecting a function to mutate a value in place rather than return a new value.
- Paths are automatically canonicalized on Windows for operations that support it
- Re-enable debug checks for copy and copy_nonoverlapping
- Implement RefUnwindSafe for Rc
- Make RSplit<T, P>: Clone not require T: Clone
- Implement Termination for Result<Infallible, E>. This allows writing fn main() -> Result<Infallible, ErrorType>, for a program whose successful exits never involve returning from main (for instance, a program that calls exit, or that uses exec to run another program).
Stabilized APIs:
- Metadata::is_symlink
- Path::is_symlink
- {integer}::saturating_div
- Option::unwrap_unchecked
- Result::unwrap_unchecked
- Result::unwrap_err_unchecked
- NonZero{unsigned}::is_power_of_two
- File::options
- These APIs are now usable in const contexts:
- Duration::new
- Duration::checked_add
- Duration::saturating_add
- Duration::checked_sub
- Duration::saturating_sub
- Duration::checked_mul
- Duration::saturating_mul
- Duration::checked_div
- MaybeUninit::as_ptr
- MaybeUninit::as_mut_ptr
- MaybeUninit::assume_init
- MaybeUninit::assume_init_ref
Cargo:
- Add --message-format for install command
- Warn when alias shadows external subcommand
Rustdoc:
- Show all Deref implementations recursively in rustdoc
- Use computed visibility in rustdoc
Compatibility Notes:
- Try all stable method candidates first before trying unstable ones. This change ensures that adding new nightly-only methods to the Rust standard library will not break code invoking methods of the same name from traits outside the standard library.
- Windows: std::process::Command will no longer search the current directory for executables.
- All proc-macro backward-compatibility lints are now deny-by-default.
- proc_macro: Append .0 to unsuffixed float if it would otherwise become int token
- Refactor weak symbols in std::sys::unix. This optimizes accesses to glibc functions, by avoiding the use of dlopen. This does not increase the minimum expected version of glibc. However, software distributions that use symbol versions to detect library dependencies, and which take weak symbols into account in that analysis, may detect rust binaries as requiring newer versions of glibc.
- rustdoc now rejects some unexpected semicolons in doctests
Internal Changes:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.
- Implement coherence checks for negative trait impls
- Add rustc lint, warning when iterating over hashmaps
- Optimize live point computation
- Enable verification for 1/32nd of queries loaded from disk
- Implement version of normalize_erasing_regions that allows for normalization failure
Rust 1.57.0
Language:
- Macro attributes may follow #[derive] and will see the original (pre-cfg) input
- Accept curly-brace macros in expressions, like m!{ .. }.method() and m!{ .. }?
- Allow panicking in constant evaluation
Compiler:
- Create more accurate debuginfo for vtables
- Add armv6k-nintendo-3ds at Tier 3*
- Add armv7-unknown-linux-uclibceabihf at Tier 3*
- Add m68k-unknown-linux-gnu at Tier 3*
- Add SOLID targets at Tier 3*: aarch64-kmc-solid_asp3, armv7a-kmc-solid_asp3-eabi, armv7a-kmc-solid_asp3-eabihf
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Avoid allocations and copying in Vec::leak
- Add #[repr(i8)] to Ordering
- Optimize File::read_to_end and read_to_string
- Update to Unicode 14.0
- Many more functions are marked #[must_use], producing a warning when ignoring their return value. This helps catch mistakes such as expecting a function to mutate a value in place rather than return a new value.
Stabilised APIs:
- [T; N]::as_mut_slice
- [T; N]::as_slice
- collections::TryReserveError
- HashMap::try_reserve
- HashSet::try_reserve
- String::try_reserve
- String::try_reserve_exact
- Vec::try_reserve
- Vec::try_reserve_exact
- VecDeque::try_reserve
- VecDeque::try_reserve_exact
- Iterator::map_while
- iter::MapWhile
- proc_macro::is_available
- Command::get_program
- Command::get_args
- Command::get_envs
- Command::get_current_dir
- CommandArgs
- CommandEnvs
- These APIs are now usable in const contexts:
- hint::unreachable_unchecked
Cargo:
- Stabilize custom profiles
- Compatibility notes
Internal changes:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- Added an experimental backend for codegen with libgccjit
Rust 1.55.0
Language:
- You can now write open "from" range patterns (X..), which will start at X and will end at the maximum value of the integer
- You can now explicitly import the prelude of different editions through std::prelude (e.g. use std::prelude::rust_2021::*;).
Compiler:
- Added tier 3* support for powerpc64le-unknown-freebsd
- * Refer to Rust's platform support page for more information on Rust's tiered platform support
- Libraries
- Updated std's float parsing to use the Eisel-Lemire algorithm. These improvements should in general provide faster string parsing of floats, no longer reject certain valid floating point values, and reduce the produced code size for non-stripped artifacts.
- string::Drain now implements AsRef and AsRef<[u8]>.
Stabilised APIs:
- Bound::cloned
- Drain::as_str
- IntoInnerError::into_error
- IntoInnerError::into_parts
- MaybeUninit::assume_init_mut
- MaybeUninit::assume_init_ref
- MaybeUninit::write
- array::map
- ops::ControlFlow
- x86::_bittest
- x86::_bittestandcomplement
- x86::_bittestandreset
- x86::_bittestandset
- x86_64::_bittest64
- x86_64::_bittestandcomplement64
- x86_64::_bittestandreset64
- x86_64::_bittestandset64
Cargo:
- Cargo will now deduplicate compiler diagnostics to the terminal when invoking rustc in parallel such as when using cargo test
- The package definition in cargo metadata now includes the "default_run" field from the manifest
- Added cargo d as an alias for cargo doc
- Added {lib} as formatting option for cargo tree to print the "lib_name" of packages
Rustdoc:
- Added "Go to item on exact match" search option
- The "Implementors" section on traits no longer shows redundant method definitions
- Trait implementations are toggled open by default. This should make the implementations more searchable by tools like CTRL+F in your browser.
- Intra-doc links should now correctly resolve associated items (e.g. methods) through type aliases
- Traits which are marked with #[doc(hidden)] will no longer appear in the "Trait Implementations" section
Rust 1.54.0
Language:
- You can now use macros for values in built-in attribute macros. While a seemingly minor addition on its own, this enables a lot of powerful functionality when combined correctly. Most notably you can now include external documentation in your crate by writing the following.
- #![doc = include_str!("README.md")]
You can also use this to include auto-generated modules:
- #[path = concat!(env!("OUT_DIR"), "/generated.rs")] mod generated
- You can now cast between unsized slice types (and types which contain unsized slices) in const fn
- You can now use multiple generic lifetimes with impl Trait where the lifetimes don't explicitly outlive another. In code this means that you can now have impl Trait<'a, 'b> where as before you could only have impl Trait<'a, 'b> where 'b: 'a.
Compiler:
- Rustc will now search for custom JSON targets in /lib/rustlib//target.json where / is the "sysroot" directory. You can find your sysroot directory by running rustc --print sysroot.
- Added wasm as a target_family for WebAssembly platforms
- You can now use #[target_feature] on safe functions when targeting WebAssembly platforms
- Improved debugger output for enums on Windows MSVC platforms
- Added tier 3* support for bpfel-unknown-none and bpfeb-unknown-none
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Panic::panic_any will now #[track_caller]
- Added OutOfMemory as a variant of io::ErrorKind
- Proc_macro::Literal now implements FromStr
- The implementations of vendor intrinsics in core::arch have been significantly refactored. The main user-visible changes are a 50% reduction in the size of libcore.rlib and stricter validation of constant operands passed to intrinsics. The latter is technically a breaking change, but allows Rust to more closely match the C vendor intrinsics API.
- Stabilized APIs:
- BTreeMap::into_keys
- BTreeMap::into_values
- HashMap::into_keys
- HashMap::into_values
- Arch::wasm32
- VecDeque::binary_search
- VecDeque::binary_search_by
- VecDeque::binary_search_by_key
- VecDeque::partition_point
Cargo:
- Added the --prune option to cargo-tree to remove a package from the dependency graph
- Added the --depth option to cargo-tree to print only to a certain depth in the tree
- Added the no-proc-macro value to cargo-tree --edges to hide procedural macro dependencies
- A new environment variable named CARGO_TARGET_TMPDIR is available. This variable points to a directory that integration tests and benches can use as a "scratchpad" for testing filesystem operations.
Compatibility Notes:
- Mixing Option and Result via ? is no longer permitted in closures for inferred types
- Previously unsound code is no longer permitted where different constructors in branches could require different lifetimes
- As previously mentioned the std::arch instrinsics now uses stricter const checking than before and may reject some previously accepted code
- I128 multiplication on Cortex M0+ platforms currently unconditionally causes overflow when compiled with codegen-units = 1
Rust 1.53.0
Language:
- You can now use unicode for identifiers. This allows multilingual identifiers but still doesn't allow glyphs that are not considered characters such as ◆ or ????. More specifically you can now use any identifier that matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This is the same standard as languages like Python, however Rust uses NFC normalization which may be different from other languages.
- You can now specify "or patterns" inside pattern matches. Previously you could only use | (OR) on complete patterns. E.g.
- Added the :pat_param macro_rules! matcher. This matcher has the same semantics as the :pat matcher. This is to allow :pat to change semantics to being a pattern fragment in a future edition.
Compiler:
- Updated the minimum external LLVM version to LLVM 10
- Added Tier 3* support for the wasm64-unknown-unknown target
- Improved debuginfo for closures and async functions on Windows MSVC
Libraries:
- Abort messages will now forward to android_set_abort_message on Android platforms when available
- slice::IterMut<'_, T> now implements AsRef<[T]>
- Arrays of any length now implement IntoIterator. Currently calling .into_iter() as a method on an array will return impl Iterator<Item=&T>, but this may change in a future edition to change Item to T. Calling IntoIterator::into_iter directly on arrays will provide impl Iterator<Item=T> as expected.
- leading_zeros, and trailing_zeros are now available on all NonZero integer types.
- {f32, f64}::from_str now parse and print special values (NaN, -0) according to IEEE RFC 754.
- You can now index into slices using (Bound, Bound)
- Add the BITS associated constant to all numeric types
Rust 1.52.1
- Change log not available for this version
Rust 1.52.0
Language:
- Added the unsafe_op_in_unsafe_fn lint, which checks whether the unsafe code in an unsafe fn is wrapped in a unsafe block. This lint is allowed by default, and may become a warning or hard error in a future edition.
- You can now cast mutable references to arrays to a pointer of the same type as the element
Compiler:
- Upgraded the default LLVM to LLVM 12
Added tier 3* support for the following targets:
- s390x-unknown-linux-musl
- riscv32gc-unknown-linux-musl & riscv64gc-unknown-linux-musl
- powerpc-unknown-openbsd
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- OsString now implements Extend and FromIterator
- cmp::Reverse now has #[repr(transparent)] representation
- Arc now implements error::Error
- All integer division and remainder operations are now const
Stabilised APIs:
- Arguments::as_str
- char::MAX
- char::REPLACEMENT_CHARACTER
- char::UNICODE_VERSION
- char::decode_utf16
- char::from_digit
- char::from_u32_unchecked
- char::from_u32
- slice::partition_point
- str::rsplit_once
- str::split_once
- The following previously stable APIs are now const.:
- char::len_utf8
- char::len_utf16
- char::to_ascii_uppercase
- char::to_ascii_lowercase
- char::eq_ignore_ascii_case
- u8::to_ascii_uppercase
- u8::to_ascii_lowercase
- u8::eq_ignore_ascii_case
Rustdoc:
- Rustdoc lints are now treated as a tool lint, meaning that lints are now prefixed with rustdoc:: (e.g. #[warn(rustdoc::non_autolinks)]). Using the old style is still allowed, and will become a warning in a future release.
- Rustdoc now supports argument files
- Rustdoc now generates smart punctuation for documentation
- You can now use "task lists" in Rustdoc Markdown
Misc:
- You can now pass multiple filters to tests. E.g. cargo test -- foo bar will run all tests that match foo and bar
- Rustup now distributes PDB symbols for the std library on Windows, allowing you to see std symbols when debugging
Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- Check the result cache before the DepGraph when ensuring queries
- Try fast_reject::simplify_type in coherence before doing full check
- Only store a LocalDefId in some HIR nodes
- Store HIR attributes in a side table
Compatibility Notes:
- Cargo build scripts are now forbidden from setting RUSTC_BOOTSTRAP
- Removed support for the x86_64-rumprun-netbsd target
- Deprecated the x86_64-sun-solaris target in favor of x86_64-pc-solaris
- Rustdoc now only accepts ,, , and t as delimiters for specifying languages in code blocks
- Rustc now catches more cases of pub_use_of_private_extern_crate
- Changes in how proc macros handle whitespace may lead to panics when used with older proc-macro-hack versions. A cargo update should be sufficient to fix this in all cases.
Rust 1.51.0
Language:
- You can now parameterize items such as functions, traits, and structs by constant values in addition to by types and lifetimes. Also known as "const generics" E.g. you can now write the following. Note: Only values of primitive integers, bool, or char types are currently permitted.
Compiler:
- Added the -Csplit-debuginfo codegen option for macOS platforms. This option controls whether debug information is split across multiple files or packed into a single file. Note This option is unstable on other platforms.
- Added tier 3* support for aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32, and aarch64_be-unknown-linux-gnu_ilp32 targets
- Added tier 3 support for i386-unknown-linux-gnu and i486-unknown-linux-gnu targets
- The target-cpu=native option will now detect individual features of CPUs
- Refer to Rust's platform support page for more information on Rust's tiered platform support
Libraries:
- Box::downcast is now also implemented for any dyn Any + Send + Sync object
- str now implements AsMut
- u64 and u128 now implement From
- Error is now implemented for &T where T implements Error
- Poll::{map_ok, map_err} are now implemented for Poll
- unsigned_abs is now implemented for all signed integer types
- io::Empty now implements io::Seek
- rc::Weak and sync::Weak's methods such as as_ptr are now implemented for T: ?Sized types
- Stabilized APIs:
- Arc::decrement_strong_count
- Arc::increment_strong_count
- Once::call_once_force
- Peekable::next_if_eq
- Peekable::next_if
- Seek::stream_position
- array::IntoIter
- panic::panic_any
- ptr::addr_of!
- ptr::addr_of_mut!
- slice::fill_with
- slice::split_inclusive_mut
- slice::split_inclusive
- slice::strip_prefix
- slice::strip_suffix
- str::split_inclusive
- sync::OnceState
- task::Wake
Cargo:
- Added the split-debuginfo profile option to control the -Csplit-debuginfo codegen option
- Added the resolver field to Cargo.toml to enable the new feature resolver and CLI option behavior. Version 2 of the feature resolver will try to avoid unifying features of dependencies where that unification could be unwanted. Such as using the same dependency with a std feature in a build scripts and proc-macros, while using the no-std feature in the final binary. See the Cargo book documentation for more information on the feature.
Rustdoc:
- Rustdoc will now include documentation for methods available from nested Deref traits
- You can now provide a --default-theme flag which sets the default theme to use for documentation
Various improvements to intra-doc links:
- You can link to non-path primitives such as slice
- You can link to associated items
- You can now include generic parameters when linking to items, like Vec
Misc:
- You can now pass --include-ignored to tests (e.g. with cargo test -- --include-ignored) to include testing tests marked #[ignore]
Compatibility Notes:
- WASI platforms no longer use the wasm-bindgen ABI, and instead use the wasm32 ABI
- rustc no longer promotes division, modulo and indexing operations to const that could fail
- The minimum version of glibc for the following platforms has been bumped to version 2.31 for the distributed artifacts
- armv5te-unknown-linux-gnueabi
- sparc64-unknown-linux-gnu
- thumbv7neon-unknown-linux-gnueabihf
- armv7-unknown-linux-gnueabi
- x86_64-unknown-linux-gnux32
Internal Only:
- Consistently avoid cons
更新時間:2024-02-13
更新細節:
更新時間:2024-02-13
更新細節:
更新時間:2024-02-13
更新細節:
更新時間:2024-02-13
更新細節:
What's new in this version:
GSA Content Generator 5.84
- Fixed: improved import of URLs for project data
GSA Content Generator 5.83
Fixed:
- export to zip file was not encoding the file names correctly
- improved export and paragraph handling
- GrammarBot API changed and fixed
GSA Content Generator 5.82
- Fixed: improved SpinnerChief API support
GSA Content Generator 5.81
- fixed: minor problems on spinning services
GSA Content Generator 5.80
- Fixed: minor issues on publishing articles
GSA Content Generator 5.79
New:
- improved ngram export/gui
- improved scraping for manual editor
GSA Content Generator 5.78
- Fixed: issue with ngram extraction
GSA Content Generator 5.77
- new: new search engines added
- fix: auto-about for failed publishing
GSA Content Generator 5.76
- new: search engines fixes
GSA Content Generator 5.75
- New: improved article publishing with anti-bot protection
GSA Content Generator 5.74
New:
- new search engines added
- new keyword scraper added
- new image scraper added
- new proxy sources added
GSA Content Generator 5.73
New:
- many new search engines added
- new keyword scraper added
- new image scaper added
GSA Content Generator 5.72
- fixed: brotli decoding
- fixed: proxy issue on search queries
- new: added new image source
GSA Content Generator 5.71
New:
- improved Thai support
- new search engine added
- publishing is aborted if a site does not work 3 times in a row
GSA Content Generator 5.70
- new: export to PDF
- new: new search engine added
- fix: save in pdf for none utf8 encoded data
GSA Content Generator 5.69
- new: improved Dutch language
- new: improved translation
- fix: issue when adding a new language
GSA Content Generator 5.68
- New: WebP export possible
GSA Content Generator 5.67
New:
- improved GUI
- allow multiple article types for OpenAI
GSA Content Generator 5.66
- new: improved OpenAI title creation
GSA Content Generator 5.65
- new: improved OpenAI interface
GSA Content Generator 5.64
New:
- added new skin
- ability to change GUI size in options
GSA Content Generator 5.63
- new search engine added
GSA Content Generator 5.62
Fixed:
- spinner chief API fixed
- added new search engines
GSA Content Generator 5.61
New:
- OpenAI generated content is written in the projects language
- new search engine added
- new keyword scraper added
- ability to change upper/lower case of article titles
- added amazon as new content source (low quality though)
GSA Content Generator 5.60
- fix: problem with overwriting export data
- new: improved LibreTranslaste usage
GSA Content Generator 5.59
- New: improved search engine parsing/speed
GSA Content Generator 5.58
- new: new export template for wordpress added
- fix: issue with parsing search engines and getting stuck
GSA Content Generator 5.57
New:
- added OpenAI
- support for brotli
- improved proxy dialog
GSA Content Generator 5.56
- new: new proxy sources added
- new: ability to use sub-groups for projects
GSA Content Generator 5.55
- new: improved generic anchor inserts
- new: quotes get removed from file names on export
- fix: option to replace " " with "-" on export
GSA Content Generator 5.54
- new: added more translate options
GSA Content Generator 5.53
- new: new SpinnerChief API added
GSA Content Generator 5.52
- new: improved search engine parsing
GSA Content Generator 5.51
- Fixed: issue with posting articles
GSA Content Generator 5.50
- fixed: title from "first line" option fixed when importing
GSA Content Generator 5.49
- New: more options when importing articles
GSA Content Generator 5.48
- fixed: possible problems with export and macro usage
GSA Content Generator 5.47
- fix: minor problem with ~ spinning syntax
- new: added new translation options
GSA Content Generator 5.46
New:
- improved article preview
- new image search engines added
- issue with special spin syntax
- option to unspin imported anchor texts
GSA Content Generator 5.45
- Fixed: html was not removed from h1/title extraction of imported html files
GSA Content Generator 5.44
- fixed: issue with spinning protected words with internal spinner
GSA Content Generator 5.43
New:
- new search engines added
- new keyword scraper added
- new image scraper added
GSA Content Generator 5.41
New:
- collapsed groups stay that way on restart
- improved group display
GSA Content Generator 5.40
New:
- improved right-to-left behaviour for certain languages
- improved unicode support for export
GSA Content Generator 5.39
- fix: issue with authority anchors
New:
- new search engine added
- article editor improved with proper "right to left" display
GSA Content Generator 5.38
- fix: manual creation of articles
- new: improved "Merg Projects"
GSA Content Generator 5.37
- New: added new translation APIs
GSA Content Generator 5.36
- new: improved language detection
GSA Content Generator 5.34
- fix: cookie parsing issue
- new: ability to change sources for selected projects on batch
GSA Content Generator 5.33
- new: improved link placement
GSA Content Generator 5.32
New:
- improved search engine parsing
- improved article posting
GSA Content Generator 5.31
New:
- new search engines added
- new keyword scraper added
- new video scraper added
- new image scraper added
GSA Content Generator 5.30
- new: improved deepl translation
- new: new scraper added
- fix: google with filter=0 gave back totally obscure results
GSA Content Generator 5.29
- fix: issue with unicode data in import files
- new: improved authority link spin variation
GSA Content Generator 5.28
- fix: export with a filter on uniqueness was broken
- new: added new translation service (naver /papago)
- new: improved paragraph reorder algorighm
GSA Content Generator 5.27
New:
- improved title generator
- added new keyword scraper
GSA Content Generator 5.26
- new: improved insert variation
GSA Content Generator 5.24
- fix: minor issue with export template
- new: added new search engines
GSA Content Generator 5.23
New:
- improve article extraction
- improve search engine parsing speed
- new blogspot export template added
GSA Content Generator 5.22
- New: improved speed
GSA Content Generator 5.21
- new: added Wikipedia as source
- new: added support for EasyContentMachine API
- fix: fixed some scrapers
GSA Content Generator 5.20
New:
- improved language detection
- improved Vietnamese langauge parsing
GSA Content Generator 5.19
- Fixed: some sources fixed
GSA Content Generator 5.18
- Fixed: minor language detection issue with local files
GSA Content Generator 5.16
New:
- improved language detection
- improved search engine parsing
- improved speed and lowered CPU usage
GSA Content Generator 5.15
- Fixed: issue with GSA SearchEngine Ranker exports
GSA Content Generator 5.13
New:
- ability to set a date(range) when exporting for certain templates
- added new spin database for farsi language
GSA Content Generator 5.12
New:
- title generation for Persian/Farsi language
- language boxes are now sorted
GSA Content Generator 5.10
- New: added some new search engines
GSA Content Generator 5.09
- New: improved publishing
GSA Content Generator 5.08
- new: improved scraping speed
- new: new search engines added
- fix: issue with old article scrapers
GSA Content Generator 5.07
New:
- improved publishing to wordpress
- improved article scraping speed and log output
GSA Content Generator 5.04
New:
- improved authority link insert
- new keyword scrapers added
- ability to delete published articles automatically
GSA Content Generator 5.03
New:
- new keyword scraper added
- improved some rewriting services
GSA Content Generator 5.01
- new keyword scraper added
GSA Content Generator 5.00
New:
- improved sentence extraction
- improved article title extraction
- improved image extraction
- fix: issue with sentence rewriting + "keep tags"
GSA Content Generator 4.99
- fixed: issue with html in attributes when parsing articles
GSA Content Generator 4.98
- new: problem with Json+LD addon
GSA Content Generator 4.96
- fixed: issue when parsing custom urls
GSA Content Generator 4.94
- fixed: deadlock / high cpu usage from previous version
GSA Content Generator 4.92
- new: import sentence extraction
GSA Content Generator 4.91
Fixed:
- import from folder with file name as title
- gui and monospace fonts
- some project options where not saved
- new: improved keyword scrapers
GSA Content Generator 4.90
- fix: changes on TheBestSpinner API (restricted content length per call)
- new: added some new keyword scrapers
GSA Content Generator 4.89
- new: more control for option "put keywords in bold"
- new: added some new keyword scrapers
- fix: API of local SEO Content Machine spinner
GSA Content Generator 4.88
- new option to insert "Table of Content" + %toc% as macro usage
GSA Content Generator 4.87
- new: added new image and keyword scrapers
GSA Content Generator 4.86
New:
- added search/replace for article selection
- added search/replace in html editor
- improved image scrapers
- new vietnamese keyword scrapers added
GSA Content Generator 4.85
- fix: the 'rewrite selected content' was broken for non-Latin chars
- new: proxy sources updated
GSA Content Generator 4.84
- new: improved speed for article editor
GSA Content Generator 4.83
- new: added suggestions/replacements for article editor
- new: ability to add spin syntax for selection in article editor
GSA Content Generator 4.82
- New: added new scrapers (keyword, article)
GSA Content Generator 4.80
- New: added new article scraper
GSA Content Generator 4.79
- fix: translation from no-api google (reply changed)
- new: added new proxy api
GSA Content Generator 4.77
- new: article editor with rewrite abilities
GSA Content Generator 4.76
- new: improved article editor
GSA Content Generator 4.75
- new: improved article editor
GSA Content Generator 4.74
- new: added content score values for editor
GSA Content Generator 4.73
New:
- improved article extraction
- improved speed
GSA Content Generator 4.72
- New: improved "Same Article" algorithm with "Keep Tags" option
GSA Content Generator 4.71
- new: added Wordpress/Blogspot article import
GSA Content Generator 4.70
- New: issue with deleting collected content
GSA Content Generator 4.69
- New: ability to edit the collected content in GUI
GSA Content Generator 4.68
- new: published URLs didn't get saved as authoritiy links
GSA Content Generator 4.67
- new: improved translation APIs
GSA Content Generator 4.66
- new: added some more popup menus for the article creator
GSA Content Generator 4.65
- new: editor improved with html highlighting of selected keywords
GSA Content Generator 4.64
- fix: the script tag is now ignored for html variation inserts
- fix: custom data insert with script tag
- new: improved link insert
GSA Content Generator 4.62
- fix: minor issues on new editor
GSA Content Generator 4.60
- new: text decoration insert improved
GSA Content Generator 4.58
New:
- new WYSIWYG Editor (still beta)
- added ability to import spin db
- added new "URL-Must-Have" filter
- fix: problem with title generator not fixing utf8 errors
GSA Content Generator 4.57
- new: added new scrapers
GSA Content Generator 4.56
New:
- added title pre-/suffix in project options
- better way to edit/modify keywords
GSA Content Generator 4.55
New:
- ability to use macro %titlegen% for "insert custom article data"
- improved date/time detection of articles
GSA Content Generator 4.54
- new: added copy/move of articles to other projects
- new: improved export with zipping
GSA Content Generator 4.53
- new: added spin database for Latvian language
GSA Content Generator 4.51
- new: translation is using threads now and is so much faster
GSA Content Generator 4.50
- fixed: keep-html-tags attibute resolving
GSA Content Generator 4.49
- New: added wordpress publishing support without classic editor plugin
GSA Content Generator 4.48
- new: wordpress publishing improved
GSA Content Generator 4.47
- new: improved correct URL detection on publishing by email
GSA Content Generator 4.45
New:
- filter out sources being older than a set amount of days
- improved publishing on subdomains
- improved internal spinners
- improved Content-Spinning.fr API
GSA Content Generator 4.44
- new: publishing via email to e.g. blogspot
GSA Content Generator 4.43
New:
- ArticleForge API accepts multi keywords
- added support for Clever Spinner
GSA Content Generator 4.42
- fix: previous build had missing files
GSA Content Generator 4.40
New:
- added new content scrapers
- added new image scrapers
- added new keyword scrapers
GSA Content Generator 4.39
New:
- added two new article scraper
- added new keyword scrapers
GSA Content Generator 4.38
New:
- ability to self-create article from collected data
- option to split up long sentences
GSA Content Generator 4.37
- new: ability to view and manage collected sources
GSA Content Generator 4.36
New:
- ability to delete duplicate keywords
- sort settings are saved/restored
GSA Content Generator 4.35
- new: ability to show extra columns for project listing via right click on header (extra scraper count)
GSA Content Generator 4.34
New:
- added Thai language support (untested)
- added some more export tamplates
GSA Content Generator 4.33
- fixed: generated titles had sometimes lowercase keywords added
GSA Content Generator 4.32
New:
- ability to use content from other projects
- filter option to skip sentences with capital words
- ability to add batch search/replace words to project filter
- auto fix for odd project settings
- added a new article scraper
GSA Content Generator 4.31
New:
- import keywords via project popup menu
- more options for multi-project creation
- blogger export template improved
GSA Content Generator 4.30
- new: filter for manual article creation interface
GSA Content Generator 4.29
New:
- improved manual article creation interface
- improved sentence detection/extraction
GSA Content Generator 4.28
- fix: export options where broken
GSA Content Generator 4.26
- new: added Smodin as spinner (more a rewriter though)
- new: added new scrapersa
GSA Content Generator 4.25
- fix: problem with manual import from files
GSA Content Generator 4.24
- new: proxy scraper is testing and auto updating the proxyjudge URL
GSA Content Generator 4.23
- fixed: image import
GSA Content Generator 4.22
- new: added two new article scrapers
GSA Content Generator 4.21
- fix: scraping in none english languages
GSA Content Generator 4.20
- fix: issue with XSpinner / SpinnerCief not able to understand lowercase headers as seen in Chrome
GSA Content Generator 4.18
- new: spinner WordAI with new API added
GSA Content Generator 4.17
- new: algorithm "Same Article" is auto changing the word filter
- fix: problems with language filtering in GUI
GSA Content Generator 4.16
Fixed:
- rare issue with html conversion
- improved LingvaNex translation API (now tested)
GSA Content Generator 4.15
New:
- improved LingvaNex translation API (now tested)
- added farsi spin database
- added LingvaNex translation API (untested)
- fix: search in Spin-DB Tool was limited to latin chars
GSA Content Generator 4.14
- new: added new keyword, image and video scrapers
GSA Content Generator 4.12
- Change log not available for this version
GSA Content Generator 4.11
- new: Microsoft Translation API updated
GSA Content Generator 4.10
New:
- added progress bar for duplicate title processing
GSA Content Generator 4.09
- fix: custom sources with %keyword% as macro
- new: ability to collapse/expand groups
GSA Content Generator 4.07
- Fxed: filter with search/replace partly was broken
GSA Content Generator 4.06
New:
- improved imapge search/tests
- log behaviour improved
- filtering speed improved
- Fixed: baidu image scraper fixed
GSA Content Generator 4.05
- Improved a lot providers
GSA Content Generator 4.04
- Ability to organize projects in groups
GSA Content Generator 4.03
- new: ability to use macros like %keyword% in custom local sources
- new: ability to use multi items in filter for search
GSA Content Generator 4.02
- Ability to mark certain articles as published
GSA Content Generator 4.00
- new: option to use proxies for translation
GSA Content Generator 3.98
- new option to keep certain html tags when scraping articles
GSA Content Generator 3.97
- Change log not available for this version
GSA Content Generator 3.96
- fix: improved article submission with category settings
GSA Content Generator 3.95
- Issue with google translate
GSA Content Generator 3.94
- Improved article submission
GSA Content Generator 3.93
- new: added 4 new keyword scrapers
GSA Content Generator 3.92
- Added new keyword scrapers
GSA Content Generator 3.91
- Fixed: issue with scheduled publishing
- New: added new deepL languages
GSA Content Generator 3.90
- new: improved archive.org parsing
GSA Content Generator 3.88
Fixed:
- LibreTranslate API now accepts port as endpoint
GSA Content Generator 3.87
Fixed:
- Filtering content in Fars
GSA Content Generator 3.86
- New option when publishing
GSA Content Generator 3.85
- new: article publishing improved
GSA Content Generator 3.84
- new: images sources updated
GSA Content Generator 3.83
New:
- improved error reporting for article posting
- added new article sources
GSA Content Generator 3.82
- new: added support for LibreTranslate
- new: copy keywords from listing in project edit
GSA Content Generator 3.81
- Fix: minor issue with title generation
GSA Content Generator 3.80
- New: improved variation of paragraph/sentence length
- Fix: keyword density was calculated with case sensitive
更新時間:2024-02-13
更新細節:
What's new in this version:
- Fixed a bug where the countdown displays a negative value when the capture key was pressed repeatedly
- Fixed a bug where the capture size would be slightly off when adjusted with the mouse in the fixed region capture mode
- Minor bugs are fixed