XRG Changelog
XRG 3.2.1
- Update the endpoints used to gather weather data
- Fix link to weather station list
- Fix drawing bugs in the battery, disk, and network graphs
- Make line graphs slightly thicker and smoother (Thank you to @Superevr for the code suggestion)
- Remove the option to anti-alias text in the graph window (no longer supported in later versions of macOS)
- Requires macOS 10.13 or later.
XRG 3.2
- Optimize Apple silicon sensor miner to only run on applicable CPUs.
- Avoid drawing the window border color in the graph backgrounds.
- Updated the weather station list link.
- Fix a bug where the Net graph text was missing a newline.
- Fix a bug where invalid battery charges were shown.
- Fix a bug where only stats for one GPU would be shown.
- Fix other display bugs in the GPU graph.
XRG 3.1
• Temperature sensor support in 14” and 16” MacBook Pro with M1 Pro/Max.
• Fix the battery graph on M1 Macs.
• Optimize text drawing. Reduces CPU load dramatically on fast updating graphs.
• Support the ProcHot temperature sensor on older Intel CPUs.
• Add Preferences checkbox to disable/enable unknown temperature sensors.
• Add support for display of data quantities into the petabytes.
• Fix opening the Battery System Preferences on Big Sur and later.
• Fix the fast CPU text alignment.
• Fix temperature sensor ordering bug.
XRG 3.0
- Support for Macs with Apple silicon.
- Added a new Sensors window that shows all temperature/fan sensors with their current, min, average, and max readings.
- New Temperature Graph with a fresh UI showing just the three selected sensors.
- Support sensors in M1 Macs and detect new temperature value formats (Thanks Thomas Engelmeier).
- Use system locale to select default measurement units automatically (Thanks Thomas Engelmeier).
- Use the Accelerate framework for common XRGDataSet math operations, improving performance across several graphs (Thanks Thomas Engelmeier).
- Requires OS X 10.9 or later.
XRG 2.8.2
- Fixed a crash when unexpected weather conditions were downloaded.
- Fixed a bug where the window wouldn’t be interactive when in the “background” window level.
- Fixed window expanding/contracting on mouseover.
- Fixed a bug where the max scale wouldn’t be reset on the disk graph.
XRG 2.8.1
- Fixed a bug that would cause the app to crash on launch of the stock data couldn’t be loaded.
XRG 2.8
- Updated the stock graph data source.
- Fixed opening Activity Monitor and other apps from the contextual menus under Catalina.
- Fix battery display on some MacBook Pros when battery is fully charged.
- Add a reset graph option to the context menus.
XRG 2.7
- Fixed a bug where the app would crash if the Dock icon was set to be hidden.
- Fixed the display order of CPU temperature sensors (Thanks Richard Février).
- Fixed a bug where bogus temperature sensors would be detected (Thanks Richard Février).
- Support for macOS Catalina.
XRG 2.6
- Monitor new temperature and fan sensors in the 2018 Mac mini and other newer Macs.
- Fix a bug where disk stats could overflow.
- Fix a bug where the net minimum graph scale would be ignored.
- Fix a bug where some graphs wouldn’t display across the entire graph width.
- Fix a bug where a resize cursor would be shown when a click wouldn’t resize.
- Other fixes.
XRG 2.5
- New condensed display mode for all graphs allows the window to be drawn as a slim bar at the bottom of your screen.
- Reworked the battery graph. Now shows a larger current capacity bar, and a "watts" bar to show how much power is being used. Reworked the battery remaining estimate to be more accurate now.
- Switched to a rounded rect window border.
- Snap to the borders of the screen as well as the midpoint of screen borders.
- Fixed an overflow bug on the new MacBook Pros, which can read/write to the disk at more than 2GB/sec.
- Fixed a bug where VRAM usage might not be detected properly on the 2013 Mac Pro.
- Fixed a bug where the incorrect network transmit bytes were being displayed.
- Fall back to GART GPU memory usage when memory stats can't be gathered any other way.
- Fix a bug where graphs would disappear when the window border width was changed.
- Fixed a display bug for some graph backgrounds when using a transparent window.
- Use SSL for web stats gathering where possible.
XRG 2.0
- New GPU graph.
- Labels in the temperature graph are now colored to match the graphs representing them.
- Added a few new temperature sensors in modern Macs.
- Change the default font from Lucida Grande to the default system font.
- Fixed a bug where the graph wouldn't auto-expand when relaunched in a minimized state.
- Other bug fixes.
- Modernized the code and removed legacy code no longer used.
- Requires OS X 10.7.
XRG 1.7.3
XRG 1.7
- Mountain Lion Support.
- Redone SMC sensor code. (Thanks Thomas Engelmeier)
- Handle exception codes when reading from the temperature sensors.
- Disabled unknown temperature sensors to shorten the list and use less time while reading the values.
- Fixed bug in 10.7.4 where extra log messages were printed to the console. (Thanks Thomas Engelmeier)
- Fixed a bug where ^OMXHPI and other indices that don't return long term data weren't displaying current prices in the stock graph.
- Fixed a bug where dragging a theme to XRG wouldn't work.
- Cleaned up a lot of code, resulting in a 30% smaller app.
XRG 1.6.1
XRG 1.6
- Fixed a bug where the bar chart on the CPU graph would draw half as tall if the fast CPU graph was enabled.
- Fixed a bug in the temperature sensor code on Core i3/i5/i7 iMacs (Thanks to Thomas Engelmeier and Jörg Ahrens for the patches).
- Support added for monitoring more than 10 fans.
- Fixed a bug keeping data from being displayed in the stock graph.
- Fixed bugs when minimizing and autoexpanding the window.
XRG 1.5
- Full Snow Leopard support. (Thanks to Brian Bergstrand for the patches)
- 64-bit Universal Binary. (Thanks to Brian Bergstrang for the patches)
- New CPU graph for Macs with 4 or more CPU cores.
- Added support for more Intel temperature/fan sensors.
- Show total disk bandwidth used since XRG was launched.
- Save if the graph was minimized or not and will automatically minimize on next launch.
- CPU usage % is now out of 100% times the number of cores you have available.
- Removed the highlight border feature in favor of changing cursors when the mouse is over an edge.
- Adjusted the update slider so it lands on critical update times (like 1 second).
- Fixed a bug in data recording/resizing. (Thanks to Ethan Tira-Thompson for the patch)
- Fixed a bug where the colors wouldn't update when a theme was dragged in to the window.
- Fixed a bug when getting nan values when processors were disabled and re-enabled.
- Fixed a bug where the weather and stock graphs would take a long time to update if a long update interval was set.
- Fixed several memory leaks and other bugs.
XRG 1.2b6
- Added temperature monitoring for Intel Macs (Thanks go out to Thomas Engelmeier)
- Adjusted the temperatures reported for G5 CPUs.
- Added Vu and Vt to designate virtual memory used and virtual memory total respectively.
- Added a bar to the memory graph showing swap space usage.
- The Stock Graph now shows the current stock price instead of yesterday's closing price.
- Added an "Update Stock Graph Now" option in the Stock Graph's contextual menu.
- Added the PID to the Top 5 CPU menu items, for quick killing.
- Adjusted default colors to something nicer.
- Added cursor rects to hint when the window can be resized.
- Adjusted the preferences toolbar to highlight the selected tab. Removed the banner title.
- Removed "Save" button from preferences, settings are now saved when the window is closed.
- Fixed Top 5 CPU and Top 5 Memory displays on Intel Macs.
- Fixed a problem where the fast CPU usage could be greater than 100% or less than 0%.
- Fixed an issue when opening the temperature graph preferences from the contextual menu.
- Fixed desktop window level in Leopard.
- Fixed a few memory leaks.
- Fixed compiler warnings.
XRG 1.1
- Fixed bug with font not getting selected when opening the font panel. (Code from Nils Hjelte).
- Fixed bug in weather contextual menu where temperature would show up as 1F while temperature units are set to Celsuis. (Code from Tor Sigurdsson)
- Fixed bug with changing window orientation from horizontal to vertical when the window is very large.
- Condensed the minimum graph width for the Disk, Network, and Weather graphs.
- Added Update Weather Graph Now option in the weather contextual menu.
- Added Update Stock Graph Now option in the stock contextual menu.
- Buffered the change in the fast CPU graph so it's less jumpy.
- Fixed a bug in the temperature graph where the last sensor wouldn't be displayed if selected as a graph.
- Fixed a bug in the temperature preferences to cover the case if the number of sensors changes and a setting was out of range.
- Made the temperature graph labels a little better at resizing.
- Added fan sensor support to the temperature graph.
- New Icon. (Created by Laurent Baumann)
- Cut the amount of drawing time for the temperature graph in half.
- Added support for Powerbook G4 exhaust fans.
- Added support for iMac G5 temperature/fan sensors.
- Added support for PWM G5 sensors.
- Added warning dialog before enabling fan sensors.
- Fixed a font bug. Set the font height based on the entire alphabet of a font and not just a single letter.
- Made version checking more robust.
- Fixed a bug in the temperature module where sensors wouldn't be disabled properly if they went away (as the exhaust fans in Powerbooks do).
- Added compatibility for Tiger.
- Fixed bug in battery graph caused by the amperage being retrieved changing in later versions of Panther. Amperage bar graph now works again.
XRG 1.0
- Fixed bug with incorrect average CPU usage after resizing the window.
- Optimized the graph drawing routing for the battery graph. Now draws in about half the time.
- Optimized the graph drawing routine for the weather graph slightly.
- Optimized the graph drawing routine for the CPU graph slightly.
- Modified CPU graph to scale to n processors instead of just 1 or 2.
- Added an XRGDataSet class to consolidate the code that keeps track of data values.
- Fixed compile-time warnings in the window controller.
- Modified CPU graph to use XRGDataSet objects.
- Modified Memory graph to use XRGDataSet objects.
- Split CPU and Memory graphs into separate models and views.
- Modified the graph minimize code to expand the graph when the mouse enters the window again, not just the header area.
- Added the ability to bring the graph to the top when expanding the window.
- Fixed text display bug in the battery graph.
- Fixed bug where XRG wouldn't save the text anti-aliasing settings.
- Added uptime stats to the CPU graph.
- Fixed a spelling error in the weather contextual menu.
- Fixed a bug with the uptime stats not showing minutes correctly.
- Fixed a memory leak in the XRGDataSet code.
- Fixed a memory leak in the memory graph display code.
- Added support for CPU temperature on G4 Powerbooks and ambient CPU temperature on G5 PowerMacs. The temperature graph is born.
- Fixed bug when expanding window and the window staying on top when it shouldn't.
- Fixed bug causing the text to draw incorrectly when the load average display is disabled and the Fast CPU Graph is enabled.
- Fixed bug with getting the weather data from one of the weather servers.
- Reorganized text on the CPU graph and let the graph take up the entire module area.
- Added option to disable the uptime display.
- Added default contextual menu by clicking on the border or title bar. Menu has options to view the About Box, Preferences, XRG Help, show/hide the Dock Icon, and Quit.
- Changed code to always update the temperature data, even if the temperature graph isn't displayed, so that other graphs could use the temperature as well.
- Fixed bug with title not showing when starting with a fresh preferences file.
- Fixed bug with fast CPU bar not displaying correctly from the graph redesign.
- Added an option to graph less than 3 temperature sensors on the temperature graph.
- Fixed a bug with some datasets coming from the weather servers with NIL data.
- Fixed a bug with the secondary weather graph not displaying correctly with bad data when pressure or visibility is selected.
- Fixed a bug that could cause a crash when adding or subtracting data sets.
- Added functionality to handle dragging a theme to the XRG window. Now users can drag theme files to the window to set their themes.
- Modified the network graph to show TX and RX values next to where the data is graphing, instead of in a status bar below.
- Modified the disk graph to show R and W values next to where the data is graphing, instead of in a status bar below.
- Added a station list link to the weather preferences to help users find their ICAO codes.
- Cleaned up the preferences panel a little. Added tooltips for items without them.
- Fixed an anomaly where text fields in the preferences wouldn't take effect, even when saving.
- Updated the documentation to reflect all the changes in the past couple of versions.
- Fixed bug with weather visibility miles to kilometers conversion in some weather stations.
XRG 0.5.0
- Added contextual menus.
- Added top 5 CPU processes and item to open Activity Monitor to the contextual menu in the CPU graph.
- Added top 5 memory processes to the contextual menu in the Memory graph.
- Added item to open Energy Saver preferences to the contextual menu in the Battery graph.
- Added network stats by interface and items to open Network Preferences, Network Utility, NetInfo Manager, and Internet Connect to the contextual menu in the Network graph.
- Added item to open Disk Utility to the contextual menu in the Disk graph.
- Added full current weather statistics and link to online weather forecast to the contextual menu in the Weather graph.
- Added links to detailed stock information to the contextual menu in the Stock graph.
- Fixed bug where you need to click twice when switching to XRG to make any window adjustments.
- Fixed casting bug when calling characterAtIndex in weather graph.
- Fixed bug with weather pop-up and VRB wind directions.
- Added capability of changing the graph font.
- Modified battery graph to adapt text displayed based on selected font and graph size.
- Modified weather graph to adapt text displayed based on selected font and graph size.
- Added wind gust speed to the weather graph if space permits.
- Added code to save the graph font.
- Abstracted window sizing and placement code from XRGGraphWindow into a parent class, XRGFramelessWindow.
- Fixed window resizing bugs when the window is on the top or right edge of the screen.
- Added border highlighting when mouse is over it (slow implementation).
- Fixed a bug in the weather graph where the high/low in the contextual menu didn't match the high/low on the graph.
- Fixed a bug in the window border highlighting during a window resize.
- Fixed a bug with the weather module where the gust speed would be displayed even when it's 0mph.
- The stock graph now lists the stock currently being graphed at the top, and the other stocks below that.
- Stock graph now converts ^ to %5E when fetching the stock data (added stock label string in addition to stock symbol).
- Fixed memory leaks in contextual menu code.
- Added menu items in the graph contextual menus to open the corresponding graph preference panel.
- The disk graph now scans for new devices (such as Firewire Drives) on the computer every 5 minutes.
- Added a minimize graph feature. (Suggested by Dave from Lab6)
- Modified minimize feature to set the module views as hidden to save the time they would spend updating the graphs.
- Added feature to auto-expand graph window when the mouse cursor rolls over the minimized graph header and minimize again when the cursor leaves the window.
- Fixed bug where Battery, Weather, and Stock graphs ignored anti-aliasing settings.
- Added feature to allow users to toggle wether or not to anti-alias graph text.
- Fixed unnecessary window drawing when the border highlighting is turned on.
- Added option to display average % CPU usage.
- Added option to have the window level always stay in the background.
- Fixed an issue with the Finder Get Info dialog not showing the correct version in Jaguar.
- Battery graph now shows an expanding bar when the battery is charging.
- Fixed a bug with NSView isHidden: not being available in Jaguar. Now XRGGenericView implements it.
- Patched a bug caused by Apple's Frameworks not sending mouseDown events to the contentRect when it should be sending them.
- Modified the Stock graph to use the new graphing framework.
- Fixed bug 4Gb increase of network bandwidth on both incoming and outgoing packets when a PPP connection after the first is established.
- Fixed the default font size to be a larger point that doesn't get messed up.
- Updated module documentation.
- Fixed bug with the default font of version 0.4.0 being too small.
XRG 0.4.0
- Made corrections and format changes to the ReadMe file as suggested by Richard Morton.
- The Battery Graph is born.
- Optimized the Fast CPU graph code to take a fraction of the time it took to refresh before.
- Changed the method used to get the local hostname. Should have better compatibility with MacOS 10.1.x.
- Network graph now shows total bandwidth used since machine was booted and when XRG was loaded.
- Modified the preferences interface to blend better with Panther's interface.
- Fixed a bug in the preferences display for the network panel.
- Consolidated methods and cleaned up the code in the preferences class.
- Added preference checkbox to show or hide total network bandwidths.
- Fixed bug caused by Panther changing the way the window location is saved. XRG now saves it's window location manually.
- Network graph now shows traffic for all interfaces except lo0.
- Fixed display bug in battery graph when switching batteries.
- Fixed bug in weather graph not displaying dewpoints less than 0 degrees.
- Weather graph now handles NULL values returned at times by dropping those points and just continuing to the next one, resulting in a smoother graph.
- Changed the timer code so timers are named more appropriately.
- Fixed a bug in the weather module that would kill the secondary graph.
- Fixed a bug in XRGGenericView to prevent drawing outside a specified rect.
- Added the ability to select which network interface to monitor (or all interfaces).
- Fixed a bug in the network graph caused by the bsd network counters wrapping around the limit of an unsigned integer.
- Fixed a bug with the drop shadow showing up on launch when it's disabled in the preferences.
- Fixed a bug where updating the graph refresh time dropped the timer and froze the graph (caused by updating the timer code above).
- Made changes to the battery graph code to hopefully have better support for Powerbooks with multiple battery bays.
- Added option to allow users to set the window title.
- Fixed bug with memory graph showing static values on some machines. (Thanks to Alex Harper, coder of MenuMeters, for debugging help.)
XRG 0.3.0
- Updated Memory graph to use XRGGenericView.
- Added CPU Temperature display for supported processors.
- Fixed resizing bug while the graph is along the right edge of the screen.
- Updated Weather graph to use XRGGenericView.
- Added ability to invert the read or write graph in the disk module.
- Added option to turn drop shadows on/off for the XRG window.
- Fixed bug caused by changing the orientation without saving and then reloading XRG. Changing the graph orientation is now saved in the preferences immediately.
- Graph will now automatically resize itself bigger if the window is small and the user enables more modules.
- Fixed bug caused by Yahoo CSV change in stock graph.
- Fixed memory leak when stock graph couldn't parse the data correctly.
- Fixed bug where weather pressure as a secondary graph would not show up if the pressure from the weather data was in hectopascals.
- Fixed bug where weather pressure float value was being casted as an integer.
- Made the vertical scale of the secondaryy humidity graph to be 0-100%.
- Now if weather or stock graphs are disabled, XRG won't load data for the module upon opening the application.
- Fixed a problem with the temperature code. Apparently, some CPUs report temperatures that bounce up to 10 degrees, so XRG will now buffer the change a little bit by only updating the temperature by 10% of the difference of consecutive readings.
- Fixed bug with DJIA not being displayed (Yahoo changed the symbol used to gather DJIA data).
- Optimized text drawing in the memory, disk, and network graphs.
XRG 0.2.2
- Fixed bug causing "Message length no good" to be printed to the console. (Patch by Anthony Hodsdon, Thanks to Mats Weber for helping find the bug in the code)
- Reversed the order of the memory graph captions so that it matches the order of the side graph.
- Fixed a bug preventing the window from being moved into the dock screen area.
- Now if there is only one stock graph, XRG won't highlight the stock symbol and price.
- Changed + and - in the stock graph to an up or down arrow.
- If there are too many stocks to display text for, the graph will show a down arrow to let users know there are more selected.
- Added online help.
XRG 0.2.1
- Preference panel now hides a view before switching to a new one.
- Added text labels at the top of each preference view.
- Added restrictions so the window does not move off screen when dragging or altering the graph orientation.
- Created a new icon.
- Tightened down the graph size to allow for smaller windows.
- Fixed a bug with window disappearing.
- Added functionality to save and load color themes.
- Turned off "Generate profileing code" in Project Builder, so XRG won't create /gmon.out files when quitting.
- ppp0 traffic is now shows in the network graph. (Code by Anthony Hodsdon)
- Added the ability to show the window floating above all others. (Code by Anthony Hodsdon)
- Added sticky window functionality.
- Changed the preferences interface for the network min scale.
- Fixed a bug with the weather data not always updating in the case of a URL load hanging up.
- Fixed a bug that happened while resizing the window and hitting the edge of the visibleFrame.
- Added version checking.
- Re-organized the source tree.
- Modified XRG to renice itself to 10 so it stays out of the way when the CPU is chugging. (Code by Anthony Hodsdon)
- Created an icon for XRG Theme Files.
- Added an XRGGenericView class to help modules draw their graphs. (Code by Anthony Hodsdon)
- Modified XRGCPUView and XRGNetView to use the new XRGGenericView class. (Code by Anthony Hodsdon)
- Added error checking for saving and loading themes.
- Fixed a bug that prevented loadURLInForeground from returning an error.
- Added option in the preferences to invert either the network RX or TX graph.
- Fixed a bug where rxValues and txValues weren't getting updated correctly when the net bandwidth peaked.
- Fixed a bug preventing the window to be moved to a secondary monitor.
- Added split graph for disk reads and writes.
- Modified XRGDiskView to use the new XRGGenericView class.
- Reorganized methods in XRGGraphWindow.
XRG 0.2.0
- New stock market graph.
- Redesigned preferences panel to use a NSToolbar (allows more preference panels to fit in a small window).
- Added ability to monitor multiple stock symbols and cycle the graph.
- Optimized some of the drawing methods (Uses 20-40% less CPU than version 0.1.5).
- Restructured the module management. Graphs now register with a module manager which will allow for quicker development of future modules. Also lays the framework for graph re-ordering (coming soon).
XRG 0.1.5
- Max CPU usage in fast graph on a dual CPU machine is now 100% (not 50%).
- Tertiary color is now saved.
- Separators used in the CPU and memory graphs are now the border color instead of black.
- Fast timer is now enabled only when using the fast CPU graph.
- Window resizing is now smoother.
- Added feedback/bug report links and website link to About Dialog.
- "Begin Loading" and "Finished Loading" are no longer printed to the console.
- Graphs recalculate their max values when resizing the window.
- Made primary color in disk graph Foreground Color 1.
- Added preference to modify the graph refresh rate.
- Fixed the minimum size restrictions so it's based on how many graphs are showing. It's now possible to show just one module in a small square graph.
- Added load average display in the CPU graph (enable/disable in the preferences.)
- Window background now updates colors properly.
- Added a handler to automatically update the weather graph when the system wakes up from sleep mode.
- Added option for minimum scale on network graph.
- Now when weather module has Invalid Data because of a network outage, it will attempt to fetch new data every 5 minutes instead of every half hour as usual.
XRG 0.1.4
- Added Celsius temperature units option in the preferences.
- Added Kilometer distance units option in the preferences.
- Added hecto Pascal pressure units option in the preferences.
- Fixed bug causing most international ICAO stations to show "Invalid Data."
- Added ability to enable/disable modules.
- Added memory graph.
- Optimized text drawing in graphs.
- Added Memory tab to the preferences with ability to enable/disable paging graph and enable/disable text statistics.