This is a beta release. It may be unstable. Some text may not be translated yet. Use at your own risk!
Download manually, or use Help > Check for Program Updates (if beta versions are enabled in Preferences / Internet / Updates).
File Types
-
Added a Cloud item entry to the File Types dialog, under the Directory Opus File Types category. This is now responsible for adding the "Always keep on this device" and "Free up space" context menu commands for cloud storage files, and means you can remove them if unneeded.
-
Improvements for File Types dialog with file extensions that don't have "proper" entries in the registry, but instead are only assigned via the "Open With" system.
-
On startup, Opus no longer "repairs" the .Zip file type events (Opus-specific events for double-click, double-click + shift, etc.).
The default events now only come from the Archives file type group, without the .Zip type adding further overrides.
As well as simplifying things, this means you're now free to modify what happens when double-clicking Zip files inside Opus (e.g. if you always want Zips to open in a new tab, you can do that now).
Flat View
- Improvement to filtering in Flat View. Results should now be consistent when switching between the different Flat View modes.
Preferences
- Improved Preferences search for Chinese IMEs.
Commands and Evaluator
-
Added
@clearoutput
directive to clear the script log from a function. -
Added
@requires
command modifier. Allows a function's requirements (e.g. source path, selected files) to be specified explicitly, if needed. -
Improved reliability of Evaluator columns that use file count variables with archives.
-
Fixed errors with multiple
@evalonly
lines when button tooltip is evaluator-generated.
Scripting
-
The
FSUtil.Hash
method can now operate asynchronously and return its result to a dialog's message loop. To use this, pass theDlg
object as the third argument to theHash
method. TheHash
method will return an ID number for the request, and your message loop will receive a "hash" message when the result is ready. TheMsg.data
value provides the ID and theMsg.object
value provides the hash (either as a string, or a vector for more than one hash type). -
Added
Path.GetDrive
method. Returns aDrive
object for the path (orfalse
if path doesn't refer to a drive letter). -
Added
Drive.ssd
property. Returnstrue
if drive can be identified as solid state. -
The
Vars.Set
method will now fail if you try to store a non-Opus object (e.g. a JScript array) in a variable. Language-specific objects are associated with the particular instance of the script engine that creates them and can't survive once the script stops running. To persist non-Opus objects in Opus variables you can serialize them (e.g. by converting them to JSON strings). -
Fixed script-generated dynamic buttons putting inherited separators in the wrong spot.