Rainmeter 4.1


The following are the changes for the 4.1 beta version of Rainmeter. You can safely install the new 4.1 beta version right over top of your existing Rainmeter 4.0 or earlier installation, and nothing you have done will be lost or changed. There is never any need to uninstall any earlier version of Rainmeter to use the newest version.

Note: As of Rainmeter 4.0, Windows XP and Windows Vista are no longer supported by the application.

Rainmeter 4.0 and later require at least Windows 7 with Service Pack 1 and the Platform Update applied. These should have been automatically applied several years ago by Windows Update, but if you have Windows Update turned off you may need to get and apply these updates manually. Windows versions later than Windows 7 are fully supported.

If you are on Windows XP or Windows Vista, and can't or don't wish to upgrade, you will need to stay on the 3.3 Release version of Rainmeter.

Changes in Rainmeter Beta 4.1


Additional details on important changes as the beta cycle progresses can always be found at Change Announcements.

October 12, 2017 - Revision 2944

  • ChangedShape meter: Changed the order in which transforms are applied to the geometry when drawn. This corrects a potential issue when TransformationMatrix is used with a Shape meter.
  • ChangedManage dialog: When a skin is selected in the Skins list, the Enter key will toggle loading and unloading the skin.
  • ChangedAbout dialog: Added a 'Range: Copy to clipboard' right-click context menu to the Skins panel. This will copy the MinValue - MaxValue range, using the raw numbers rather than the scaled and rounded numbers in the dialog.
  • ChangedAbout dialog: Added a 'Copy to clipboard' right-click context menu to the Log panel.
  • ChangedAbout dialog: Added several plugins that have been converted to measures to the Plugins tab to reduce confusion with missing .dll files.
  • ChangedAbout dialog: Adjusted the column width on the Plugins tab to automatically fit the longest plugin name, and widened the overall size of the About dialog a bit.
  • FixedRegExpSubstitute: Fixed a bug where an empty capture would skip following replacements and where an empty capture could create an endless loop.
  • FixedManage Dialog: Fixed an issue where when a skin is selected in the Skins list, double clicking on any navigation arrow would toggle the active state of the skin.

October 4, 2017 - Revision 2922

  • FixedRainmeter: Corrected a bug introduced in the r2876 beta version that caused a parsing issue when a measure value contained embedded quotes and was used in a bang as a section variable.
  • FixedLua scripting: Corrected a potential memory leak issue when GetOption was used in Lua to retrieve a meter option based on a MeterStyle.
  • FixedShape meter: Corrected a potential crash of Rainmeter if the Combine shape type was used without valid parameters.

October 1, 2017 - Revision 2917

  • AddedRainmeter plugins: Added the ability to create plugins in C++ or C# supporting Inline Plugin Section Variables in a skin. This is primarily a change for plugin authors, with any documentation for how their plugins should be used in a skin provided by the author. Details on how this can be used in a plugin are at C++ and C#.
  • ChangedRainmeter plugins: The Plugin API has been updated to support Inline Plugin Section Variables. In addition, the documentation for plugin authors has been greatly enhanced and improved, and new and improved example plugins added to the SDK. Plugin authors are strongly encouraged to get the latest Plugin SDK and review the new Developer Documentation.
  • ChangedIllustro default skins: Changed the URL used to get the user's WAN IP address in the Network skin in Illustro. Note that Illustro will not be installed or updated on existing Rainmeter installations, only on new installations, and this change should be manually made if Illustro is currently being used.
  • ChangedLua scripting: Corrected an issue where the GetOption() function referencing meters in the skin were not seeing options set by a MeterStyle.
  • ChangedAbout dialog: The Plugins tab in the About dialog will now group the plugins as "External" or "Built-in".
  • ChangedAbout dialog: Added a right-click context menu to copy the value of Variables in the Skins tab.
  • FixedRainmeter: Corrected a bug that was not properly resolving variables using the new nesting syntax in some cases.
  • FixedRainmeter Installer: Corrected an issue where the AudioLevel plugin was still being treated as an external plugin, and needlessly copied to the Rainmeter program folder.

Additional note, and a request...

Recent additions and changes in the user interface for Rainmeter will require new "translations" to the various user languages supported. Many of these changes have been made, and are included in this beta. However, there are languages that still require some work, and we depend on the user community to provide these translations. Please see How to help localize Rainmeter to get involved.

September 19, 2017 - Revision 2876

  • FixedRainmeter: Corrected several issues with the new nested variables syntax.

September 11, 2017 - Revision 2873

  • AddedVariables: Added Character Reference Variables to allow plain-text coding of Unicode characters and symbols, as well as icons from specialized fonts like FontAwesome. See Character Reference Variables for details.
  • ChangedAbout Dialog: Major improvements to the Skins panel. Now shows both the "number" and "string" value of measures, and indicates when a measure is either disabled, paused, or both. See Skins Tab for details.
  • ChangedPCRE: Added UCP support to the regular expression library, to enable \X \P \p in expressions.
  • ChangedPlugin API: Made some updates and corrections to the Rainmeter Plugin API. Plugin authors should re-base or download the current Rainmeter Plugin SDK.
  • FixedNowPlaying: Corrected a long-standing problem with NowPlaying not reacting properly to changes in the state of "shuffle" and "repeat" in iTunes.

August 24, 2017 - Revision 2858

  • FixedLua Scripting: Corrected an issue where in some cases retrieving a variable with Inline Lua could crash Rainmeter.
  • FixedRainmeter: Corrected an issue where "escaped" nested variables were not being parsed correctly. The syntax for escaping a nested variable is [#*VarName*] and [&*MeasureName*]

August 23, 2017 - Revision 2851

  • AddedLua Scripting: Added inline Lua section variables, to support an inline return of a value from Lua with a function() call or by retrieving a variable. See Inline Lua for details.
  • AddedRainmeter: Added an alternative nesting variables syntax, to enable nesting variables, section variables, and mouse variables inside each other. See Nesting Variables for details.
  • AddedNet measures: Added a new UseBits option to return the value of NetIn / NetOut / NetTotal measures in bits rather than the default bytes.
  • ChangedAudioLevel: Increased the size of the buffer for DeviceList from 512 to 4096.
  • ChangedLanguages: Updated the ChineseTraditional language.
  • FixedNowPlaying: Corrected an issue where Spotify was not always updating the State to Playing.

July 28, 2017 - Revision 2838

  • ChangedLua Scripting: Due to recent changes made in how each Lua script maintains its own distinct state in the Rainmeter environment, we have been able to add the debug, setfenv, getfenv and coroutine functionality back into the Lua package.
  • FixedSkin Installer: Fixed an issue where in some cases .rmskin names or path names in the .rmskin or on the installing computer could cause the installation to fail with Unicode characters. This was due to a problem in an ancient ZIP library being used, and has been updated.

July 7, 2017 - Revision 2824

  • AddedRainmeter: Drag Groups can now be created by selecting skins while holding CTRL-ALT, and dragging one skin, or nudging with the arrow keys will move all selected skins. See Multiple Skins for details.
  • FixedFormulas: Corrected a missing BitwiseXOR formula operator.

July 1, 2017 - Revision 2822

  • FixedLanguages: Corrected an encoding problem with the Russian language.

June 29, 2017 - Revision 2821

  • AddedBangs: New !EditSkin bang. Opens the current or a specified skin .ini file in the text editor defined in ConfigEditor in the Rainmeter settings, or associated with .ini files in Windows. The default will be Windows Notepad.exe.
  • AddedBuilt-in variables: New #CONFIGEDITOR# variable. The path and executable for the text editor defined in ConfigEditor in Rainmeter settings, or the text editor associated with .ini files in Windows. The default will be Windows Notepad.exe.
  • ChangedRainmeter: When dragging skins, temporarily enable the 'Show window contents while dragging' system option if disabled in Windows, to allow skins to draw during dragging and use the snapping feature.

June 24, 2017 - Revision 2815

  • ChangedNowPlaying: For Spotify, the artist and song text is obtained from the Windows titlebar of the Spotify application. Spotify used to prefix the text with "Spotify - ", but they don't anymore. The change to NowPlaying for Spotify fixes that. For iTunes, the change allows the album art to be retrieved for streaming songs as well as of local only songs.
  • ChangedLanguages: Updated Dutch, Russian and Swedish translations.
  • FixedShape meter: Corrected a bug introduced in a previous beta that broke some features of the stroke style, like StrokeLineJoin.

June 7, 2017 - Revision 2807

  • FixedShape meter: Corrected a bug introduced in r2806 that caused transform modifiers on Path shapes to be invalid.

June 1, 2017 - Revision 2806

  • AddedBangs: Added new !FadeDuration and !FadeDurationGroup bangs to set the FadeDuration in milliseconds when activating/deactivating a skin, using the fade-in / fade-out effects on mouse over, or when the fade bangs are used.
  • ChangedNowPlaying: Changed the measure values for Progress and SetPosition to use floating point numbers instead of integers for increased accuracy.
  • FixedShape meter: Corrected a possible crash or unexpected behavior when Combined shapes were defined before their component shapes in the meter. The order of the options in the meter are now of no consequence, as it is with all other meter and measure options.

May 10, 2017 - Revision 2793

  • AddedFormulas: Added new Deg math function to convert radians to degrees.
  • FixedShape meter: Fix invalid radial gradient on combined shapes.
  • FixedInstaller: Fixed Rainmeter installer to support Windows Server 2008 R2, which is functionally analogous to Windows 7.

April 21, 2017 - Revision 2787

  • AddedString meter: Added new FontWeight option.
  • AddedShape meter: Added Path1 alternative of the Path shape. It will use a different form of the SVG fill-rule when the shape is filled with a color or gradient. This determines what parts of a shape with intersecting segments are "inside" the shape and what are "outside", for purposes of filling the shape with the defined color or gradient. See Path1 shape for details.
  • AddedCoreTemp plugin: The author of both the CoreTemp application and Rainmeter plugin, Arthur Liberman, added CPU core-specific values to the data available in the plugin. See CoreTemp plugin for details.
  • ChangedBitmap meter: Changed the allowable measure value when BitmapExtend=1 from a C-language int data type (2,147,483,647 maximum) to int64 (9,223,372,036,854,775,807 maximum).
  • FixedBangs: Fixed an issue when the config parameter of a bang contained a leading or trailing slash.
  • FixedInputText plugin: Fixed a possible Rainmeter crash if an input box is open and the skin is deactivated.
  • FixedShape meter: Fixed a possible Rainmeter crash if the starting point of a Path shape was invalid.
  • FixedBitmap meter: Fixed an issue where BitmapExtend=1 would not increase the meters width and/or height, which would cause the meter to ignore DynamicWindowSize and draw outside its bounds and possibly truncate outside the skin window.
  • FixedBitmap meter: Fixed an issue where the Padding height values on the meter would be ignored in some situations.
  • FixedInlineSetting: Corrected an issue where Rainmeter could crash in some cases when an initial empty string was received by a meter using InlineSetting.
  • FixedShape meter: Fixed an issue where certain gradients would not display correctly if there were multiple gradients in a shape meter.