SMART Utility Revision History

Version 3.1.1, build 3B073; 03/07/13

- Added support for demo serial numbers
- Added support for file used by script to import drive data into Casper
- Added SATA version and rotation rate to info window and removed ATA standard
- Added menu item to install SAT SATA Driver for external drive support
- Fixed bug where having menu extra would always cause app to launch
- Fixed bug where unsupported drives would send Grow and email notifications
- Update eSellerate engine to 5.0, which now is encapsulated all in the app, and fixed a crash
- Updated smartctl engine to 6.0, which supports many more drives

Version 3.1.0, build 3B049; 08/03/12

- Added email notifications for app and extra
- Added SMART Utiilty.log file to crash reports to provide more information
- Added Developer ID signing for Gatekeeper on 10.8
- Fixed a bug preventing the overall status from displaying properly on 10.8
- Fixed some other minor bugs
- Reorganized preferences window
- Reorganized Growl notifications (removed scan and update complete, added drive name and partitions)
- Updated smartctl engine to 5.42, which supports many more drives 
- Updated Growl framework to 1.2.3, which fixes some bugs
- Switched to using GCC 4.2
- Dropped support for 10.4

Version 3.0.2, build 3A205; 07/21/11

- Added text next to drive to show state (passed, failing, failed, unsupported)
- Added ability to resize main window
- Added more attribute names for SSDs
- Removed deprecated API calls and replaced with modern ones
- Updated French localization
- Updated menu extra code for 10.7 support
- Updated smartctl engine to 5.41, which adds better support for SSDs as well as bug fixes

Version 3.0.1, build 3A182; 06/01/11 

- Fixed a serious bug that would cause a crash when rescanning drives
- Fixed a bug that occurs when launching from the command line
- Fixed a bug that caused inaccurate drive capacity display
- Fixed a bug that caused the menu extra icon to not be masked when clicked on
- Fixed a bug that caused the menu extra to show unsupported drives
- Fixed a bug that cause the menu extra to pass the wrong icon to Growl for failing and failed drives
- Updated Growl framework to 1.2.2, which fixes some bugs

Version 3.0.0, build 3A170; 03/08/11

- Added menu extra, which uses app's preferences to operate, including periodic checks and Growl notifications
- Added last time updated to main window
- Fixed a Growl notification misname for failed drives
- Fixed a bug where the estimated time at the beginning of tests would be reported wrong
- Fixed a bug where the info windows attached to a drive report would not close after closing the drive report
- Fixed a bug where the Tests window would not close after scanning for new drives
- Fixed a few bugs where setting preferences to only alert on new changes still caused some attributes and tests to be highlighted as failing
- Fixed a bug where More Info button did not have a space between the words
- Fixed a bug that would cause a harmless error message to pop up
- Fixed a bug where test information in main window would not clear out when switching to an unsupported drive
- Fixed a few memory leaks
- Forced running in 32 bit on 10.5 due to OS issues
- Now estimated time remaining in tests is a little more accurate at beginning of test (no more Calculating)
- Now capacity shows in gigabytes
- Now if there is only one partition, that will be displayed instead of /dev/diskX
- Reordered general preferences for better organization and readability
- Updated help to add information about tests
- Updated smartctl engine to 5.40, which adds better support for SSDs as well as bug fixes

Version 2.2.2, build 2C167; 05/10/10 

- Fixed a bug that would prevent scanning on first launch
- Fixed a bug that would randomly cause problems and errors opening up a drive report (10.4 build only)
- Fixed a bug that would cause registration information to not be saved properly in all cases
- Fixed a bug that would cause a crash if the error log could not be read
- Fixed a formatting issue that would cause log text view and "Clear Log" button to be mis-aligned when resizing the log window
- Improved handling of bad or corrupt drive report files

Version 2.2.1, build 2C157; 04/13/10 

- Added support for 64 bit build (10.5+ build only)
- Added progress bar for opening drive reports (10.5+ build only)
- Added Clear Log button in log window
- Fixed a crash on 10.4 systems
- Fixed bug reading in drive attributes where extra line would appear
- Fixed spacing of log output
- Fixed two spelling mistakes in preferences
- Now ignores errors from attribute 190 by default
- Improved error handling in certain conditions
- Removed deprecated API calls and replaced with modern ones
- Removed Smart Crash Reports and replaced with UKCrashReporter for 10.6 support
- Removed built in feedback system and replaced with UKFeedbackProvider, also now sends all logs automatically

Version 2.2.0, build 2C097; 03/02/10 

- Added support for saving and opening drive reports in native format
- Added support for printing SMART reports
- Fixed bug where scanning capabilities that would cause an error
- Fixed bug where in rare cases scanning SMART data would cause a crash
- Improved debug log formatting
- Moved log files to a subfolder
- Now log window updates live
- Updated smartctl engine to 5.39 providing more fixes and recognizes more drives, including SSDs
- Updated eSellerate embedded engine to 4.0.0.7

Version 2.1.2, build 2B069; 12/15/09 

- Fixed a crash on 10.4 Intel systems with Growl 1.1.6 installed (related to Growl Framework 1.2)
- Fixed bug where certain drives would only show "calculating…" for short tests
- Improved Estimated Time Remaining for short tests

Version 2.1.1, build 2B064; 12/01/09 

- Fixed bug where on new installs scans every 50 seconds instead of every hour
- Fixed bug where polling preference time shows unknown time
- Fixed bug where error window would not open on some drives
- Fixed bug where reading health would cause an exception
- Fixed bug where outputting debug message would cause crash in self test log
- Fixed bug where with French localization where main window and tests window would not localize self test error statuses
- Fixed default opening tab for preferences
- Fixed a small memory leak
- Improved debug log information output
- Now Main window saves its position
- Updated help with changes to polling as well as two new FAQs
- Updated eSellerate embedded engine to 4.0.0.6
- Updated Growl framework to 1.2 (which is 10.5 only but should still work for 10.4 Growl installs)

Version 2.1.0, build 2B045; 09/08/09 

- Added preference to update drives every hour, day, or week
- Added preference to only flag failing test if it is new
- Added better error handling for problems reading SMART data
- Added estimated time remaining for a test
- Fixed a bug with display of reallocated bad sectors on main window
- Now updates progress bar of SMART data update sheet

Version 2.0.2, build 2A198; 06/09/09 

- Added French localization for help
- Now main window refreshes when a test is complete
- Now shows serial number when attempting to register again
- Now updates registration menu depending on whether application is registered or not
- Fixed bug where unregistering would cause application to consider the demo period expired
- Fixed some memory leaks
- Fixed some incorrect texts in help
- Optimized debug log for faster output
- Optimized launching code
- Serial number is now in a separate file to allow deleting of preferences without losing registration information

Version 2.0.1, build 2A169; 05/05/09 

- Added anonymous system information capturing with Sparkle (with preference to disable)
- Added support for French localized self test status (in the Test display window)
- Added support for French localized Growl messages
- Fixed bug where running tests would sometimes cause a crash
- Fixed bug where label in attributes window would not show correct temperature label
- Fixed two small memory leaks with tests
- Optimized scanning algorithm to improve scanning speeds
- Renamed test time ran column to "Power On Hours When Ran" to be more clear about the number means
- Re-organized the preferences window to remove duplicate text as well as shrink the window itself
- The smartctl binary is now a single file- allowing easier replacement

Version 2.0.0, build 2A155; 01/27/09

- Added support for built-in drive self-tests
	- Added self test count, last test time and status
	- Added self test window which displays past tests and an interface to run short and long tests
	- Progress bar updates as test progresses
	- Does not scan drives if test in progress but drive does not support updating
- Added preference to ignore failing messages from the following attributes:
	- Airflow Temperature (ID 190), usually found on Seagate drives
	- Reallocated Events (ID 196)
- Added preference to only mark drive as failing if error count increased since last scan
- Added preference to only mark drive as failing if bad sector count increased since last scan
- Added preference to choose custom failing values for bad sectors and error count (default is 0 and 50 respectively)
- Added preference to display temperature in Fahrenheit
- Added reset preferences button
- Added Growl support, which supports notifications of drive scan complete, drive update complete, drive failing, drive failed, and test complete
- Changed drive info button to "More Info" instead of a "Show All" (matches better with the tests button)
- Corrected the system requirements alert message
- Fixed default column spacing in the attributes window
- Fixed bug where in progress self tests would report single digit percents instead of full percents, and without percent sign
- Fixed bug where open information windows would not update
- Overhauled help system using Omni's Helpify
- Rearranged preferences window to better view added preferences
- Updated eSellerate Embedded Engine to version 4.0.0
- Updated Sparkle to version 1.5b6
- Updated Smart Crash Reports to version 1.5

Version 1.2.3, build 1F076; 08/07/08

- Fixed bug causing a crash after entering a valid serial number (originally changed because of a Clang Checker suggestion) 
- Fixed bug that would cause crash if drive model, serial number, capacity, or a number of other information items were not found, which usually occurs with SeriTek adapters
- Fixed bug that would cause erroneous data sent to debug log

Version 1.2.2, build 1F072; 07/31/08

- Fixed bug where even if "verypermissive" setting worked, it would not be recognized as working; this allows support of some if not all SeriTek adapters
- Fixed bug that would cause the interface to fail to update if drive model, serial number, or capacity could not be read from the drive
- Fixed bug where debug log did not have a return between model family and drive model
- Fixed more memory leaks (found using Clang Checker / Static Analysis)
- Fixed a few minor code issues (found using Clang Checker / Static Analysis)
- Moved raw smartctl output prior to any error detecting to allow for easer debugging
- Now application and helper tools are code signed

Version 1.2.1, build 1F064; 06/17/08

- Added better error handling for unexpected SMART data
- Added model family to debug output
- Added ability to run with "verypermissive" setting if SMART support was ambiguous
- Now checks to see if debug messages are enabled before sending log, if not prompt to enable and rescan drives
- Now checks Mac OS X version for less than 10.4.11 and displays warning message
- Fixed bug where application would hang if error log was truncated
- Fixed bug where application would hang if SMART support was ambiguous
- Fixed bug where "Enter smartctl options" would not pass the options properly
- FIxed bug where main window values would not update after running "Update SMART information" (they would only update after "Rescan Drives"
- Fixed model family display in Drive Information window

Version 1.2.0, build 1F055; 05/06/08   

- Added support for localization (French currently- thanks to Ronald Leroux, others wanted)
- Added support for model family in Drive Information window
- Added "Enter smartctl options" to send extra options to the smartctl engine for debugging
- Added message for empty log when sending log, with option to enable debug messages, rescan, and send log
- Added text box to enter message when sending log
- Added error message if there was a problem sending the log
- Added support for Unsanity's Smart Crash Reports (completely optional)
- Attribute names are now more human readable
- Fixed some more memory leaks
- Fixed some spelling mistakes
- Fixed a small bug in outputting MIN/MAX temperature to log
- Fixed a few interface inconsistencies and errors
- Updated smartctl engine to 5.38 final providing more fixes and recognizes drives

Version 1.1.1, build 1E084; 02/26/2008

- "Show All" buttons now turn red when the window they open contain a failing condition
- Help is now in a custom window
- Progress bars should animate in all cases now
- Changed copyright to 2008
- Fixed bug where some preferences would not be retained after quitting
- Fixed bug where if a failing or failed drive was found, all drives were highlighted red instead of only the failing or failed one
- Fixed bug causing a random crash
- Fixed bug where zeros would be displayed if there is no min/max temperature; now displays nothing

Version 1.1.0, build 1E050; 01/22/2008 

- New icon (thanks to Jordan Langille of One Toad Design)
- Icon flag's color will now be set to worst drive found
- Added Software Update functionality using the Sparkle Framework
	- Added "Check for Updates" in applications menu
	- Added "Check for updates on startup" checkbox in preferences
- Added preference to automatically expand drive listings to show volumes, set by default to on
- Added "Show Log" and "Send Log to Developer" menu items to "Help" menu
- Added smartctl version and processor type to debug log
- Added GUI support for a new self test status bit
- Now scans and display lifetime minimum and maximum temperature readings, if available
- Failing drives now are highlighted in list
- Holding shift down at boot will temporary activate outputting debug messages, regardless of current preference
- Reordered preferences window
- Progress bars should now animate in more cases
- Fixed hang at "Updating SMART Information" on drives with a failure to read the error log
- Fixed bug where drive with disabled SMART would be reported as unsupported; now enables SMART if possible
- Fixed an error message relating to not finding the smartctl engine
- Fixed bug where lower case letters entered for serial numbers would not be accepted
- Updated eSellerate Engine to 3.6.5.52 providing better support for Leopard
- Updated smartctl engine to latest 5.38 CVS version, providing many updates and changes, including:
	- added many more drives to database
	- added names for attributes 187, 189, & 190
	- improved interpretation for attribute 190 for WD disks

Version 1.0.3, build 1D055; 09/21/2007

- Fixed a bug causing crashing on systems with no errors in error log(originally thought to be related to Intel systems)
- Fixed output debug message text in preferences to reflect log changes in version 1.0.2 

Version 1.0.2, build 1D052; 09/19/2007

- Now all messages, debugging and other, are sent to ~/Library/Logs/SMART Utility.log, which should fix some odd logging errors
- Removed an unneeded debug message that would always be outputted
- Added some additional debugging messages
- Added application and system versions to debugging messages
- Fixed a major bug where the application would hang at "Updating SMART Information" which also sped up scanning
- Fixed a bug with showing Drive info, Attributes, and Errors windows
- Fixed a spelling error one of the debugging messages
- Fixed a bug where a black box would be shown instead of NO DRIVES at lower left
- Fixed a bug where parsing health where application would crash if expected data was not found in the usually location; now searches all data instead of hardcoded location
- Fixed a bug where in some cases (especially after adding/removing drives and then rescanning for drives) the attribute and error windows would display data from the wrong drive, or display incorrect data
- Fixed a host of memory leaks

Version 1.0.1, build 1D029; 06/18/2007

- Fixed bug where selecting other drives would not update the sections on the right
- Fixed a few bugs related to unregistered windows
- Fixed a spelling error in the preferences
- Fixed two bugs where the application would hang at "Updating SMART Information"

Version 1.0.0, build 1D025; 06/15/2007

- Fixed bug where ATA Standard in Drive Information window would not display correctly if ATA Standard was unknown
- Fixed bug where an error by the underlying interface would not be read correctly, causing either a spinning wheel or a crash
- Fixed bug where in some cases only some error log entries would be read, causing the Errors window to show no data
- Fixed bug where UNSUPPORTED showed when there are no drives available
- Fixed bug where total errors would not be highlight if it was above the acceptable amount
- Disabled printing as it is not working correctly (it will be fixed in version 2.0)
- No longer rescans drives when "Show unsupported drives" is checked or unchecked
- Added addition debugging messages when reading SMART data
- Added help file
- Added menu items under help to go to product page, as well as email links for sending feedback as well as reporting bugs
- Added purchasing within application as well as serial number entry
- Now runs as a 30 day/15 launch(whichever comes later) demo

Version 1.0.0B1, build 1C028; 05/22/2007

- Displays a window showing all the drive information
- Displays a window showing all the attributes
- Displays a window showing all the errors (if available)
- Scans conveyance self test time if available
- Outputs raw smartctl output if "Output Debug Messages" is on
- Checks self test status and updates FAILING status as appropriate 
- Highlights failing or failed attributes
- Show All buttons are now disabled for unsupported drives
- Fixed bug where "FAILING" text would show in white instead of black
- Fixed bug where only 3 of 5 error log entries were scanned
- Fixed bug where raw values in debug messages would not display correctly for all values

Version 1.0.0A2, build 1B043; 04/30/2007

- Fixed bug where unmounted but not ejected drive, as well as RAID drives, would not be found
- Fixed bug where selecting a drive below a drive with the volumes showing would result in an incorrect information display
- Fixed bug where selecting a drive that was removed, and when the drives are rescanned, the selected drive remains even though its removed; the first drive is now always selected when rescanned
- For unsupported drives, now error messages are only logged if debug logging is turned on
- Added sheets to indicate when scanning and updating is occuring
- Redid the UI for the SMART information on the left, making it smaller and tighter
- Added log file in ~/Library/Logs
- Scans error log
- Displays condensed error information in main window

Version 1.0.0A1, build 1A106; 04/02/2007

- First public release
- Scans all drives, displays drives and limited attributes, as well as status
- Also has preference for showing unsupported drives and debug messages
- Known bug: when a drive is selected, that will not be there when rescanned, it will remain visible after rescanned. The work around is to select a drive that will be there, then rescan