Changelog
2.1.0 - 2005-02-06
------------------------
This release is a rewrite. I was unhappy with the architecture, so I
started over. I was able to reuse maybe 60% of the code.
Rearchitected:
-Instead of the UI containing a timer which updated the data,
the data contains its own timer. It publishes events that the UI
consumes to then display.
-The Config UI changes the Data; the main UI responds to the Data's
changed events.
-Emphasis on thread safety.
-Update spawns a thread for each station being monitored.
So much more that I can't remember.
2.0.2 - 2004-09-26
------------------------
- Fixed a rounding bug where the timer timespan could be zero.
- Fixed a double-firing of the timer by introducing a 5 second margin
of error (it would fire and reset the timer to fire in a
few milliseconds, firing again).
- Changed the timer from a System.Windows.Forms.Timer to a
System.Timers.Timer. I think the Forms.Timer was causing a runaway
CPU issue. Hopefully.
- Added a "Show CornerAlert after Updating" option.
- Changed the app to not need the manifest for visual styles.
- Changed "WeatherCornerAlert" to "Weather CornerAlert" for branding purposes.
2.0.1 - 2004-08-05
------------------------
- Fixed a rounding bug where relative humidity could be more than 100% (Kevin)
- Fixed a possible exception when clicking on the corner alert
- Changed the updating mechanism. You can pick a minute instead of it just
updating an hour after the last update.
- Made the background of the WeatherControl a gradient.
- Instead of saying "Updates Hourly" in the context menu, it tells you the
time that the next update will occur.
- Application updates are checked for at startup and in the About box.
- Cleaned up some code in the CornerAlertApi; released it as Open Source.
2.0 - 2004-04-22
------------------------
- Switched the position of Fahrenheit and Celsius so that all imperial units
are on the top, metric on the bottom.
- I think I've eliminated (the reporting of) the crash when resuming from
stand by or hibernate. The app continues...it just swallowes the
recoverable crash.
- Removed the forced garbage collection. Should yield better performance
though Task Manager will report higher memory usage, especially
over time (because of the way garbage collection works in .NET).
- Added a program group to the MSI
2.0 RC 3 - 2004-04-15
------------------------
- Fixed a display error where it would (correctly) display a thunderstorm
icon but the description (partially correctly) said rain.
- Wrapped Form.Opacity set{} in a try that swallows a catch. Also wrapped
Form.Show() in a try/catch. I think I've isolated the problem here.
One user gets crashes when his computer comes out of sleep/suspend.
But the Exception.Message is "Operation completed successfully."
- On the config page, OK didn't fire the update event that Apply did (Kevin)
- There was an issue with the default wind direction unit. It only occured
when there was no default set in the config file, which could only
occur after the upgrade from RC1 to RC2 (good eye Tim)
- Wind gust speed reported.
- Fixed a regular expression from [A-Z] to \w that was used in identifying
ICAO codes. It prevented working with stations like KP68.
- Added the day of week to the display.
- Added a "Reset" button to the CornerAlert settings on the config form.
- Calm wind would be reported as an empty string in the notifyIcon tooltip.
- Added pressure tendency. It finds the most recent trend reported in the
METAR report (its reported every 3 hours). If there is none that is less
than 4 hours old, it does a numerical compare with the oldest report
that is less than 4 hours old. If there's only one, nothing is reported.
2.0 RC 2 - 2004-04-09
------------------------
- Only left clicking will launch your browser (thanks Kevin)
- Added a "show me what this error report contains" linkButton (Kevin again)
- Selectable wind direction units (e.g. NNW or 330) (Kevin)
- Selectable cloud descriptions (e.g. Broken Clouds or Mostly Cloudy). Use
the Help button (top right) for a complete description. (Kevin)
- If a station was added and the description was unparsable, it could
wreak havoc and prevent the app from starting (thanks Spruit).
- If a station had no current condition data, it used to crash. Now you get
a friendly "no data" message.
- There were a few pixels you could click on that would bring you to the
wrong web site (it was some left over code from my initial CornerAlert
implementation) (thanks Charlie for your sporadic clicking)
2.0 RC 1 - 2004-04-09
------------------------
- Double clicking on the notify icon shows, it does not update.
- XP Visual styles! Buttons, radio buttons and tab controls look prettier
on Windows XP.
- 32-bit app icon
- Polished the About form
2.0 Beta 7 - 2004-04-08
------------------------
- Fixed a parse bug. Visibility needs two tokens since it can contain a
space. It was sometimes swallowing a token, thus missing a cloud layer.
- Fixed the "error when there is no error" bug (missed an else).
- If no URI is specified, it takes you to a default page (thanks Tim)
http://www.wunderground.com/cgi-bin/findweather/getForecast?query={0}
- Moved "Configure" to the root context menu.
- Added 12/24 hour time option (thanks Iffy)
- Fixed a little bug where closing the config with the X in the top right
might not behave right (required a sequence of actions)
- Added icons. Needs improvement (only using 256 color now).
- On the config page, Apply is disabled until something that needs applying
is changed (adding/deleting/editing stations save no matter what).
- Changed some Focus and AcceptButton behavior on the configuration page to
smooth the user experience a little bit.
- Changed the CornerAlert border style so that it no longer shows up in the
alt-tab window. It's a little different, but very nice.
- Improved some error messages.
- Implemented event handling so that the context menu and tooltip update
while the config page is still open.
- Automatic error reporting! Uses an HTTP POST to send the data to a PHP page
that emails it to me. Hopefully you'll never use this feature :)
2.0 Beta 6 - 2004-04-06
------------------------
- Support for multiple stations in a single instance
- Created a config UI
- Implemented selectable units
- No more App.Config. It's all stored in the XML data file.
- Only keeps weather history for 1.5 days (not 3)
- Sets the XML data file to read-only after writing it. This is a warning
to would-be editors of the file that they should not. This will break
earlier versions of this app.
- Gives a warning and a chance to quit before scrapping the config file
if there is a problem reading it (i.e. you edited it and screwed it up)
- If a new CornerAlert is to be displayed when one is already visible,
the visible one will be closed first (singleton).
- Better checking for DBNull values before reading and displaying them.
This fixes the "no wind data" crash and prevents a lot others.
- More robust parsing of station description data. Works with more
non-U.S. stations. Try EDDM (Munich, Germany).
- Tweaked the sunrise/sunset tooltip timing
2.0 Beta 5 - 2004-04-02
------------------------
- Fixed an occasional infinite loop when converting the METAR date time
string (DDHHMMZ) to a .NET DateTime
2.0 Beta 4 - 2004-04-01
------------------------
- Tried again to fix the sun and moon images. I'm more confident in this try.
- If the current condition was "Broken Clouds" it was just an empty string
2.0 Beta 3 - 2004-04-01
------------------------
- The data wasn't being saved all the time
- The application data dir wasn't created properly
2.0 Beta 2 - 2004-04-01
------------------------
- Fixed daytime image instead of moon
2.0 Beta 1 - 2004-03-31
------------------------
- Ripped out the weather.com XML feed rigging
- Designed XSD
- Parsed METAR data into the dataset
- Gets description, lat & long, etc from NWS's "decoded" feed
- Computes relative humidity
- Computes sunrise and sunset
- Computes moon phase
- Cleaned up the CornerAlert control
- Created an icon set
- Logic to determine current image & description
- Changed the about box
1.0.1 - 2004-03-15
------------------------
- When it pops up, it no longer takes the focus.
- "Force update" resets the update timer.
- Fades in faster, fades out same rate.
- Added text description (fair, rainy, etc). Put in tooltip and popup.
- You can place it on any display if you have multiple monitors.
- Implemented error handling: if you're offline, get friendly error
- Added an about box.
1.0 - 2004-03-15
------------------------
Initial release.