Change log · aprs.fi – live APRS map · map view
Thu Nov 16 01:20:27 EET 2006

	- started keeping a feature/bug backlog (todo.txt), and this
	  changelog
	- fixed to work with MSIE (required correct XML namespace in HTML
	  header for the waypoints to work)
	- fixed the clear button to keep the selected map type
	- added more info on the front page

Fri Nov 17 07:25:33 EET 2006
	
	- js: pop up tracked target info balloon only after centering on the
	  target, so that the balloon will (hopefully) fit and will not
	  abor the pan by doing it's own autofit

Fri Nov 17 17:09:54 EET 2006

	- js: when first searching a callsign, jump directly to the right
	  location instead of going via the initial default view
	- js: when we get a new point for a tracked target, only pop up the
	  info balloon and let it do the minimum required panning, instead of
	  triggering panning myself

Fri Nov 17 20:16:52 EET 2006

	- change time handling heavily: do not rely on the web browser's
	  clock being right
	- keep more settings when doing searches and changing time range
	- don't crash the js when an address search fails
	- removed unused code
	- forget waypoints and targets which are out of the time range
	- when changing time range, do not remove all points first, but
	  do it incrementally
	- implement the "show all" button

Fri Nov 17 22:33:56 EET 2006

	- fixed zooming & panning to always load new visible points

Thu Nov 30 8:00:01 EET 2006

	- added support for objects and items: store them by their own name,
	  and store & display the source callsign separately

Fri Dec  1 17:23:34 EET 2006

	- added support for symbol icons, thanks to Justin K5EM for passing
	  on the icons!

Sat Dec  9 23:12:19 EET 2006

	- show "bad nickname characters" error in english
	- if nickname is found in position database when logging in, use
	  it for initial view
	- less debug logging

Sun Dec 10 00:50:59 EET 2006

	- do not show -0 SSIDs
	- allow searching based on both name and srccall

Wed Dec 13 21:40:38 EET 2006

	- implemented an user interface for raw packet viewing

Thu Dec 14 20:05:56 EET 2006

	- collect more reference data in digipeater path table
	- show links to known targets for digis in raw packet list

Thu Dec 14 21:38:36 EET 2006

	- round speed to the nearest integer value

Fri Dec 15 07:37:11 EET 2006

	- show packet rate in raw packet list

Wed Dec 20 22:27:10 EET 2006

	- log more packet handling errors: "too fast" and "too often"

Sun Dec 24 12:51:02 EET 2006

	- store beacon/id packets in DB (and do not log as errors)

Mon Dec 25 02:01:46 EET 2006

	- added beacon packet viewing/browsing
	- added browsing (previous/next) to raw packet viewing

Mon Dec 25 14:29:22 EET 2006

	- added message storage & browsing

Fri Dec 29 21:59:42 EET 2006

	- log duplicate message errors in the packet errors
	- in case of packets arriving too often, log nothing, so that
	  all subsequent packets will not be ignored - handle at least
	  one point every N seconds

Tue Jan  9 17:50:03 EET 2007

	- moved static text pages into HTML
	- update the page title more often

Wed Jan 10 18:04:12 EET 2007

	- implemented date browsing
	- added a status box
	- made the polling more easy to both the client and the server,
	  freeing client and server HTTP threads - sleep less

Wed Jan 10 21:41:52 EET 2007

	- fixed small style issues
	- show the selected date/time range

Thu Jan 11 21:56:57 EET 2007

	- show a nice error message to unsupported browsers

Thu Jan 25 00:43:14 EET 2007

	- implemented jumping to a QTH/QRA/Maidenhead locator, shows the
	  box enclosed by the locator on the map

Fri Feb  2 10:22:34 EET 2007

	- moved the production system on a new disk storage system
	  (EMC Clariion CX600 RAID10) to reduce disk IO capacity
          bottleneck problems

Fri Feb  2 18:16:48 EET 2007

	- added a new javascript library file, moved some stuff there
	- added some starting point code for APRS target activity view
	  at low zoom levels

Tue Feb  6 22:14:22 EET 2007

	- implemented APRS activity summary view for low zoom levels

Wed Feb  7 16:56:33 EET 2007

	- fixed showing target points when the date line is visible
	  (view bounds, coordinates wrap around)

Fri Feb 16 00:33:39 EET 2007

	- added columns and keys in the database to enable lookups on
	  who heard who
	- implemented a station info page, which shows APRS path stats

Mon Feb 19 10:57:31 EET 2007

	- added favicon.ico (wheee.)

Sun Feb 25 02:33:03 EET 2007

	- speed database up by buffering data and inserting in slightly
	  bigger batches (multiple rows in single INSERT)
	- removed some duplicate columns and indexes
	- store data for the tx/igate/digi statistics in a separate table
	  for quicker reports and to ease up the load again (INSERT is fast)
	- store comments separately for each point, not just once per target
	- cache a bit of data in memory to save some SELECT queries

Sat Mar 31 17:54:35 EEST 2007

	- added prefix-based target callsign / object/item name browsing

Mon Apr  2 22:19:32 EEST 2007

	- made the login page pass request parameters, so that URLs are
	  really bookmarkable
	- added google sitemaps

Wed Apr  4 21:04:10 EEST 2007

	- added graphs collected from the database

Tue Apr 10 17:28:48 EEST 2007

	- made target info pages friendlier to robots (no flushing to them,
	  return proper 404/301 codes and last-modified info)

Tue Apr 10 18:07:49 EEST 2007

	- added code to remove short-lived objects with timestamps in their
	  names (flashflood, weather alerts) earlier than others

Tue Apr 10 21:17:04 EEST 2007

	- attempt at a speedup for maps: store the last few minutes of
	  map points in a memory table and do short range lookups there

Thu Apr 19 09:34:58 EEST 2007

	- ignore location packets with abs(latitude) <= 0.00002
	  or abs(longitude) <= 0.00002, used to only check for a
	  value of zero for undefined location

Sat Apr 21 11:21:07 EEST 2007

	- enable zooming by mouse wheel
	- add start/stop tracking links in marker info window
	- when the contents of a visible info window change, change them
	  right there, right now, in place
	- when a target is tracked with other targets visible, and the
	  tracked target is out of the viewport (map has been panned too
	  far), fix the database lookup to properly return new points
	  of the out-of-viewport tracked target

Sat Apr 21 13:53:10 EEST 2007

	- moved cursor coordinate & locator display to a map control to
	  save screen estate on the right

Sat Apr 21 14:33:15 EEST 2007

	- fixed showing stats graphs on MSIE - too long javascript rows

Thu Apr 26 17:58:48 EEST 2007

	- added a help popup for search boxes
	- fixed javascript loading to always fetch the latest scripts when
	  they have changed on the server, to ensure the scripts being run
	  on the browser match the other code being run on the server

Thu May  3 23:12:02 EEST 2007

	- implemented a Google Earth KML interface
	- upgraded database engine
	- separate web log file for robot requests

Fri May  4 12:12:20 EEST 2007

	- SQL performance improvements
	- reduce maximum time range from 3 days to 24 hours

Fri May  4 19:58:32 EEST 2007

	- added KML tracking of a single target
	- added altitude plotting in KML

Sat May  5 11:53:07 EEST 2007

	- initial WX packet parsing and storing in database implemented

Mon May  7 22:49:23 EEST 2007

	- the "number of beacon packets" graph is no longer collected, it
	  requires a heavy database scan

Wed May  9 11:27:53 EEST 2007

	- made the info page work with QTH locators, return coordinates

Fri May 11 23:47:05 EEST 2007

	- show weather information in map pop-up balloons of WX stations
	- call google analytics every now and then during map tracking

Tue May 15 01:26:33 EEST 2007

	- added weather info in KML popups
	- timestamp incoming packets before buffering, so that timestamps
	  are correct under load spikes

Wed May 30 19:14:43 EEST 2007

	- added Peet Bros Ultimeter weather parsing (packet & logging
	  formats)

Wed May 30 21:14:07 EEST 2007

	- enabled GScaleControl() - show map scale

Mon Jun  4 23:09:37 EEST 2007

	- fixed start/stop tracking links: load and clear the info &
	  date browsing areas on the right properly, and update the
	  view links too

Tue Jun  5 19:11:21 EEST 2007

	- show icon and comment field on the target info page
	- change structure of prefix browsing pages (remove a level)
	- added weather statistics graphs

Wed Jun  6 18:21:54 EEST 2007

	- show nearby stations

Sun Jun 10 10:45:01 EEST 2007

	- improved database schema: do no updates, just inserts on the
	  big location history table, keep the current positions in a
	  small table, reduces disk IO and saves snapshot space
	- added the "under maintenance" page for database conversions

Tue Jun 26 16:47:59 EEST 2007

	- published initial weather history graphs

Thu Jun 28 19:35:05 EEST 2007

	- added labels for targets on map, click item to show the balloon
	- fixed rain inch => mm conversion
	- added one decimal of resolution to wind & temperature values

Tue Jul  3 19:08:14 EEST 2007

	- info and weather pages now show the nearest cities or towns, and
	  nearby big cities, thanks to GeoNames
	- changed page character set to UTF-8
	- fixed APRS path display for the latest tracking points
	- added info links to target info balloons
	- added generic info about APRS on info and login pages
	- show target comment on weather page
	- added ad link units to hopefully cover for some of the hosting
	  costs
	- fixed XHTML and CSS so that MSIE renders correctly (both my own bugs,
	  and MSIE's)

Sun Jul  8 21:29:14 EEST 2007

	- rewrite URLs and email addresses in comments, messages and beacons
	  into clickable links

Mon Jul  9 23:21:57 EEST 2007

	- fix character set in messages and bulletins: have the database do
	  CP850 => UTF-8 conversion

Thu Jul 19 13:35:04 EEST 2007

	- added an options window, settings are saved in a cookie
	- added support for imperial and nautical units, and Fahrenheit temps
	- try to guess the origin country of the visitor, and use appropriate
	  units by default for UK and US viewers
	- uniform style for all links: blue, no underline
	- show local or UTC time, as selected in the options window
	- show age of position/wx report

Sat Jul 28 13:59:22 EEST 2007

	- fixed initial guessed map view, start from the guessed location
	  instead of Helsinki

Thu Aug 16 16:53:24 EEST 2007

	- added support for AIS vessel tracking (shipplotter HTTP import)
	- added options to hide AIS ships, weather stations, items/objects,
	  other APRS stations, and Internet-connected targets from the map
	- info view: show items/objects sourced by the station
	- some speed optimisation
	- cosmetic changes

Thu Aug 16 17:59:58 EEST 2007

	- use varying line color for tracks
	- fixed bugs in target type filtering

Mon Aug 20 14:10:34 EEST 2007

	- added a title on top of the date browsing menu, since a lot of
	  people seem to miss the (existing) feature

Sun Aug 26 17:31:55 EEST 2007

	- added support for searching callsigns using wildcards in the
	  info view

Sun Aug 26 18:46:05 EEST 2007

	- added wildcard support for searching from the map

Tue Aug 28 19:10:44 EEST 2007

	- fixed AIS ship icon transparency & ship names on google earth

Mon Sep  3 18:23:32 EEST 2007

	- some heavy javascript reworking
	- when leaving area activity view (zooming in from the activity
	  boxes), make sure the boxes always disappear

Thu Sep  6 21:57:04 EEST 2007

	- added embedded maps
	- fixed target name URL encoding in a lot of places

Sun Sep  9 23:16:29 EEST 2007

	- added template engine
	- detect mobile browsers

Mon Sep 10 12:30:54 EEST 2007

	- added some initial templates for mobile browsers

Mon Sep 10 13:37:55 EEST 2007

	- fixed XHTML and added proper headers

Thu Sep 13 08:26:28 EEST 2007

	- fixed javascript in XHTML - shows weather graphs again

Fri Sep 14 18:22:12 EEST 2007

	- a bit more mobile browser support - maps work on my e61i now
	  (until the browser crashes)

Wed Sep 19 18:30:57 EEST 2007

	- converted some more static text pages to templates

Thu Sep 20 08:10:57 EEST 2007

	- made embedded maps use guessed measurement units
	  (imperial for US, etc)
	- fixed the embedded map on the embed instructions page

Thu Sep 20 19:04:10 EEST 2007

	- added code to remove old targets with only a single
	  location packet received for a single point (typically
	  corrupted packets with a bad callsign), reduced about
	  10k targets from the database

Fri Sep 21 08:13:25 EEST 2007

	- fixed bad SQL syntax in a certain search case

Sat Sep 22 11:25:34 EEST 2007

	- fix yet another template escaping bug in browselists

Sun Sep 23 02:04:54 EEST 2007

	- fixed area activity boxes (when zoomed out), they're no longer
	  offset to the east when looking at the western hemisphere,
	  or offset to the nort when looking south

Sun Sep 23 17:55:44 EEST 2007

	- implemented displaying coordinates in hours, minutes and seconds,
	  and in the APRS format of hours and decimal minutes

Mon Sep 24 07:49:37 EEST 2007

	- fixed Konqueror/KHTML support - no javascript dump() available

Tue Sep 25 00:01:56 EEST 2007

	- added local weather status in map view
	- fixed weather history graphs to show temperature in selected units
	- fixed other bugs in weather history page

Wed Sep 26 08:03:38 EEST 2007

	- added dew point calculation to weather page & temperature graph
	- added direction string (northeast, east...) to a few places

Wed Sep 26 18:05:33 EEST 2007

	- implemented legend/label support in the grapher
	- added line labels to temperature/dew point and wind speed graphs

Thu Sep 27 20:57:38 EEST 2007

	- changed to a different kind of session cookie to enable HA

Fri Sep 28 08:59:46 EEST 2007

	- fixed aprs & DMS coordinate conversion javascript

Sun Sep 30 21:37:19 EEST 2007

	- added an AIS map locations page
	- fixed a lot of XHTML bugs

Mon Oct  1 12:57:07 EEST 2007

	- show vessel class in AIS ship info + balloons
	- added deep linking guide
	- tuned some links
	- fix deep map links with zoom levels of 18 or 19

Mon Oct  1 14:09:50 EEST 2007

	- added AIS vessel class icons

Wed Oct  3 16:40:43 EEST 2007

	- fixed weather graph unit conversions (again)

Sat Oct  6 11:17:03 EEST 2007

	- started storing PHG(R) data in database

Thu Oct 11 23:25:07 EEST 2007

	- database schema improvements for quicker raw packet lookups

Sat Oct 13 14:29:15 EEST 2007

	- templates (and mobile templates) for weather pages
	- tuned graph X scaling - fill the whole range

Sat Oct 13 23:56:05 EEST 2007

	- finished implementing and added a link to station graphs
	- added Finnish localisation (lots of translating work today)

Sun Oct 14 00:13:48 EEST 2007

	- added watermarks in graphs

Mon Oct 15 18:23:27 EEST 2007

	- moved the web service to a new frontend server
	- started removing invalid atmospheric pressure values from graphs

Mon Oct 15 19:24:34 EEST 2007

	- fixed timezones and nearest biggest cities - geonames had
	  changed it's export file format while i wasn't looking

Fri Oct 19 00:20:58 EEST 2007

	- changed most localisation string ids to hierarchic format

Sat Oct 20 13:03:14 EEST 2007

	- fixed charset and template issues in KML

Mon Oct 22 23:25:08 EEST 2007

	- fixed 文字化け problems in numerous places
	- validate that searched callsigns are ASCII, show proper error
	  messages instead of letting the database query fail due to
	  incompatible character sets

Thu Oct 25 22:26:45 EEST 2007

	- aprs.he.fi and gaprs.net became aprs.fi
	- added min/max/avg yearly temperature graphs

Sat Oct 27 23:33:47 EEST 2007

	- in info view for a locator, print the width and height of the box
	  as distance

Sun Oct 28 19:19:11 EET 2007

	- added a new view: currently moving stations

Sat Nov 10 21:27:13 EET 2007

	- added partial parsing of mic-e packets which have been broken
	  by bad igates (like aprsd with the mic-e bug)

Sat Nov 10 22:05:17 EET 2007

	- use the last transmitted location, instead of the last stored
	  location, to calculate the speed of the object, which in turn
	  will be used for dropping erroneus packets (corrupted,
	  or packets with broken GPS fix) which are suddenly too far from
	  the previous location

Fri Nov 30 15:16:14 EET 2007

	- fixed start/stop tracking links in info balloons on MSIE

Sat Dec 15 22:14:04 EET 2007

	- published a wiki-ish translation tool

Tue Dec 25 18:09:07 EET 2007

	- use the kochi-mincho-subst TTF font for text on Japanese graphs

Thu Jan  3 23:09:53 EET 2008

	- replaced APRS::Parser with Ham::APRS::FAP
	- the new version of Ham::APRS::FAP relaxes restrictions on 
	  APRS-IS packet callsigns - no more strict AX.25 validation here,
	  so things like OH7AA-A (D-STAR DPRS) and aprsdOEZ will now get in
	  the database

Fri Jan  4 02:05:41 EET 2008

	- a little fine tuning in the grapher: extend grid lines slightly
	  to the left and below the graph

Fri Jan  4 20:24:43 EET 2008

	- implemented a digipeater path advisor in the info view, only shown
	  for packets which have been transmitted on an RF path

Sat Jan  5 19:30:31 EET 2008

	- made grapher plot a dot, when there is a single isolated
	  sample with no nearby samples so that a line could be drawn

Sun Jan  6 12:32:31 EET 2008

	- changed nickname validation code to handle UTF-8 properly (still
	  requires ascii printable nicknames, but is UTF-8 compatible)

Sun Jan  6 21:54:59 EET 2008

	- escape translated strings going into javascript properly

Tue Jan  8 23:26:26 EET 2008

	- look up beacon packets by source callsign from a db table ordered
	  by callsign - speeds up lookups a lot

Wed Jan  9 23:14:23 EET 2008

	- implemented saving a default view (see Options)

Sun Jan 13 19:53:04 EET 2008

	- started storing bulletins in database, and showing bulletins
	  originated by a station on the station's info page

Mon Jan 14 00:02:35 EET 2008

	- fixed links to targets with a / in the name

Mon Jan 14 01:10:45 EET 2008

	- added colour in the message list
	- implemented a bulletin board page

Tue Jan 15 20:48:36 EET 2008
	
	- different label background colors for different types of targets
	- show bulletin group table even if it's empty

Wed Jan 16 22:35:09 EET 2008

	- speedup in path redrawing - only generate info balloon contents
	  when the balloon is shown, not when placing the waypoint icon

Sat Jan 19 16:03:18 EET 2008

	- fixed showing icons for stations with numeric overlays (? was
	  shown)
	- show overlay character & number together with the icon in some
	  of the web pages, not the maps though (yet)
	- added icons: \a ARRL: ARES(A), WinLINK (W) (instead of the ARRL
	  text), /E: eye, /F: farm vehicle (tractor)

Tue Jan 22 18:11:31 EET 2008

	- added rotating icons on map
	- show course on moving stations list
	- use GIF icons on XHTML pages instead of PNG (caching, MSIE doesn't
	  do PNG alpha properly anyway)

Fri Jan 25 19:47:01 EET 2008

	- fixed lists of originated objects in /info/ pages
	- a little initial clustering and request hashing implementation
	- convert URLs and email addresses in comments to links in the
	  map info balloons

Fri Jan 31 23:43:02 EET 2008

	- more code to live with clustering and read-only database handles

Mon Feb  4 18:19:34 EET 2008

	- added the new physical map type, and switched to the hierarchical
	  map type control
	- the 24h and "since midnight" rain graphs are now correct - they
	  were wrapped around in the FAP parser, fixed by FAP 1.02

Sat Feb  9 06:35:57 EET 2008

	- published the new telemetry features

Sat Feb  9 12:31:11 EET 2008

	- some string tuning in info/weather/graphs/telemetry - translation
	  updates needed
	- added wildcard searching to wx & telemetry

Sat Feb  9 14:31:22 EET 2008

	- show last beacon message in the info view

Sun Feb 17 10:57:18 EET 2008

	- improvements in the translation tool:
	- show some feedback when buttons are pressed
	- clean up extra whitespace in translations
	- allow editing strings with a " character (proper escaping)
	- use a multi-line editing textbox for all strings over 90
	  characters
	- show string-specific descriptions

Fri Mar 21 21:59:25 EET 2008

	- show a news ticker in the corner of the map every now and then

Thu Apr  3 22:17:30 EEST 2008

	- implemented bulletin group selection

Mon Apr  7 21:00:08 EEST 2008

	- compressed/optimized/obfuscated javascript code

Sat Apr 19 10:46:25 EEST 2008

	- only show WX data in the station's info balloon if it has been
	  updated within the last 60 minutes
	- remove the decimal number from speed and altitude formatting

Sat Apr 19 17:49:17 EEST 2008

	- cleaned up CSS a bit, and split into multiple files to speed
	  things up a bit

Mon Apr 21 07:55:40 EEST 2008

	- fixed the time range ("Show last:") selection

Tue Apr 22 17:25:46 EEST 2008

	- updated Google Earth KML interface to support units configuration
	  (nautical/imperial/metric, celsius/fahrenheit)
	- fixed some UTF-8 encoding issues in the KML interface, too

Wed Apr 23 21:23:02 EEST 2008

	- fixed CSS for the embedded maps (enabling transparent station
	  labels), remember to load all CSS.

Sun Apr 27 10:19:17 EEST 2008

	- fixed 'lastupd' logic, reducing load on the backend server
	- map javascript: force expiring old points when reducing timerange
	  (when changing the 'Show last' drop-down to a smaller value)

Wed May  7 19:35:20 EEST 2008

	- upgraded Ham::APRS::FAP parser to one with !DAO! support, for
	  additional resolution in uncompressed and mic-e APRS packets

Thu Jun 19 21:38:40 EEST 2008

	- added "Search" buttons to callsign and address search, for fast
	  typing fix (enter pressed before last letter is released works
	  now), and Nintendo Wii support
	- implemented map info panel hiding / nearly full screen view
	- changed map info panel layout - removed unnecessary plot and
	  added pretty background graphics

Mon Jun 23 16:25:00 EEST 2008

	- work around gmaps api issue 451: address search bugging

Sat Jul 12 03:10:15 EEST 2008

	- new status packet views, separated status messages from
	  beacons

Sat Jul 12 17:32:33 EEST 2008

	- new look for most of the pages, get rid of fieldsets

Thu Jul 17 18:43:41 EEST 2008

	- added static maps support

Thu Aug  7 20:39:21 EEST 2008

	- added 7-day map tracks for single target views

Sat Aug 16 12:48:32 EEST 2008

	- fixed telemetry eqns/parms/etc updating: get the telemetry
	  station's callsign from the APRS messaging message destination
	  callsign, instead of the AX.25 packet source callsig, allowing
	  people to update each other's telemetry information.

Sun Aug 24 10:58:12 EEST 2008

	- fixed several URL encoding bugs, to make odd characters like +
	  work properly (repeater objects)

Sun Aug 24 17:02:21 EEST 2008

	- possibly worked around the Firefox 3 AJAX XML parser bug by
	  using GXml.parse()

Mon Aug 25 22:48:31 EEST 2008

	- really, really fixed telemetry eqns/parms updating - allow
	  updating with other source callsigns
	- initial PHG circles implementation

Tue Sep  2 22:30:05 EEST 2008

	- added heard/gated maps for igates and digipeaters

Mon Sep 29 21:12:54 EEST 2008

	- added tabbed options window

Tue Sep 30 19:11:08 EEST 2008

	- added track color and width selection

Tue Sep 30 21:24:43 EEST 2008

	- added sound effects support

Thu Oct  9 00:22:07 EEST 2008

	- better mobile device support, again, with some more iphone
	  testing: some xhtml fixes, and made the maps boundary checking
	  work in the real-time map on iphone

Sat Dec 20 10:00:00 EET 2008

	- JSON AIS protocol support
	- AIS exchange with MarineTraffic

Sun Dec 21 23:40:52 EET 2008

	- improved iphone support, google has fixed a bunch of bugs

Sun Dec 28 11:16:58 EET 2008

	- PHG directivity plotting using a cardioid pattern

Mon Dec 29 16:20:14 EET 2008

	- delete out-of-view points from browser memory, to reduce bloat and
	  out-of-memory situations when panning around

Mon Dec 29 21:56:30 EET 2008

	- implemented a fancy ruler tool for great circle distance and
	  direction calculation and address lookup

Mon Dec 29 22:52:22 EET 2008

	- reverse geocoding of all popup positions
	- use new GMap api loading method

Sat Jan  3 22:25:31 EET 2009

	- add preferences selections for map info balloon contents

Sat Jan  3 23:01:13 EET 2009

	- properly handle PHG directivity pointing north

Tue Jan  6 01:18:27 EET 2009

	- add PHG to preferences selections for map info balloon contents

Sun Jan 11 23:21:15 EET 2009

	- added new "Technical details" page

Mon Jan 12 17:40:48 EET 2009

	- implemented PHGR rate presentation in the UI

Sun Jan 25 22:07:10 EET 2009

	- don't load the sound code while running embedded

Mon Feb  2 17:32:00 EET 2009

	- when receiving a PHG of 0000 or 00000, delete old PHG data
	  from the database

Mon Feb  2 22:16:23 EET 2009

	- implemented APRS packet path lines

Sun Feb  8 23:25:05 EET 2009

	- multi-hop APRS packet path lines

Sun Feb 15 21:39:06 EET 2009

	- for WIDE1-1,WIDE2-1,qAX,IGATECALL path, mark igate correctly as
	  the first receiving station
	- added support for backup APRS-IS server failover (no more dependency
	  on a single upstream server)

Sat Feb 21 11:16:35 EET 2009

	- improved caching for better scalability over multiple frontends
	  (significant backend changes)

Sun Feb 22 22:52:08 EET 2009

	- implemented APRS packet path lines when looking at a single target
	  (by loading the referenced digis and gates on the map, too)

Sun Apr 12 14:22:45 EEST 2009

	- added navigation links in the bottom of the info pages
	- XHTML validation fixes
	- clear status div and window title when stopping station tracking

Mon Apr 13 12:30:26 EEST 2009

	- implemented calendar time range lookups for weather reports, and
	  other improvements in the weather pages
	- calendar time ranges for telemetry, too
	- added navigation links in the bottom of most other pages, too

Mon Apr 13 22:40:50 EEST 2009

	- switched to smaller position marker on static maps

Tue Apr 14 13:34:09 EEST 2009

	- fixed bug: date selection menu would not appear when 'start
	  tracking' clicked on live map view
	- show latest WX report on the /info/ page of a weather station,
	  instead of the number of wx reports in database

Tue Apr 14 19:50:17 EEST 2009

	- forward more new mobile phone models to the mobile layout
	  (especially some of those trying to hide their mobile nature)

Sat May  9 12:31:27 EEST 2009

	- added he_maptype parameter to embedded maps

Tue Jun 16 21:49:06 EEST 2009

	- added some resource capping limits for xmljs requests
	- tuned internal caching TTLs
	- added GATE as a special alias (like WIDE, RELAY) in the "first
	  heard" algorithm
	- filter out bad comments which look just like an APRS-IS packet
	- some code rearrangement
	- utilize caching layer in raw packets display
	- added a lot of code for the new login model

Sun Jun  5 20:30:48 EEST 2009

	- completed the new user account system with team-based
	  authorisation
	- moved code around, for smaller modules and APIs
	- fixed GeoIP lookups to work right when the request is proxied
	  through another cluster node

Tue Jul  7 08:02:12 EEST 2009

	- upgraded production cluster to new user account system (optional
	  for users, email based)

Wed Jul  8 22:06:33 EEST 2009

	- added a Makefile target to create an installation package, so that
	  the upgrades are no longer based on revision control tools, and
	  the timestamps of files are consistent across a cluster

Wed Jul  8 23:48:45 EEST 2009

	- added a simple API to get position and wx reports

Sun Jul 19 18:55:32 EEST 2009

	- added support for !x! in the beginning of comment text - prohibits
	  archiving of the position in the database

Sun Jul 19 23:15:53 EEST 2009

	- added search button to message and raw packets browsing views
	- massive source code reorganisation, better tree structure
	- fixed a bug in callsign links of raw packets view

Thu Jul 30 10:03:38 EEST 2009

	- stored Mic-E message bits in the database, show the decoded
	  message on info pages

Thu Aug 13 20:15:22 EEST 2009

	- added an initial FAQ page with a couple of entries
	- fixed a CSS vulnerability (thanks, Harry)

Tue Aug 18 22:16:02 EEST 2009

	- implemented a new symbol extractor, integrated in the build
	  process, uniform symbol mapping in the whole code base
	- added support for overlays on secondary APRS symbol table
	- updated symbol table to revision H

Fri Aug 21 00:05:09 EEST 2009

	- new AJAX-based method to produce the date browsing menu for the
	  map, much faster than the old one

Sun Aug 23 12:56:19 EEST 2009

	- mostly useless GIF animation for a progress indicator

Sun Aug 23 22:51:24 EEST 2009

	- xhtml fixes in web search
	- fixed websearch for mobile browsers
	- new FAQ entry describing date browsing

Wed Aug 26 08:45:49 EEST 2009

	- show telemetry on info page (useful and quick lookup) instead of
	  telemetry row count (useless and slow lookup)
	- cache latest telemetry values

Sun Aug 30 13:27:08 EEST 2009

	- new web UI command and path parsing code
	- new AA code for per-feature access control
	- fixed "others sourced by" links in info pages with / in target
	  name

Sun Aug 30 20:53:20 EEST 2009

	- update case of target names (eg. from upper case to lower case)
	  when it changes in the transmission, instead of retaining the
	  original case
	- updated target callsign/name label colours

Sun Aug 30 23:15:00 EEST 2009

	- store and display messaging capability bit

Mon Aug 31 08:01:41 EEST 2009

	- check for WIDE1-4 paths (n < N)
	- advice to replace WIDE with WIDE1-1

Sat Sep 12 11:41:23 EEST 2009

	- implemented USNG (US National Grid) and MGRS. Does not work in the
	  polar regions!
	- always center static map on the target's position
	- less links in static map zoom control, and show the current level

Mon Sep 28 08:18:24 EEST 2009

	- even more secure password storage, better protection for offline
	  dictionary attacks using a computationally intensive hash
	  algorithm (RFC 2898 PBKDF2)
	- sprite-based toolbar icons

Thu Oct  8 08:16:43 EEST 2009

	- CSRF protection in forms
	- show the latest status message in the info balloon of the current
	  position of the station (purple colour) - comment is now shown in
	  green.

Mon Oct 12 17:52:14 EEST 2009

	- new algorithm to detect position packets with a bad GPS fix
	  (the "too fast" part)
	- fixed password recovery form

Wed Oct 14 23:37:16 EEST 2009

	- new multiselect interface for looking up multiple different
	  callsigns, with wildcard support
	- greatly improved static maps with multiselect support

Sun Oct 25 14:49:04 EET 2009

	- added support and building for nginx
	- multiple targets tracking generally working in real-time map

Mon Oct 26 08:34:20 EET 2009

	- fixed websearch
	
Wed Oct 28 19:57:23 EET 2009

	- show symbols in "other SSIDs" view

Thu Oct 29 07:34:10 EET 2009

	- show referenced digis and igates when looking up a day in the history

Sat Oct 31 13:06:10 EET 2009

	- generate links for known callsigns in the APRS path shown in the
	  info balloon

Fri Nov 13 08:02:35 EET 2009

	- magic_charset functionality for passing UTF-8 strings cleanly to
	  database and detecting between CP850 and ISO-8859-1 charsets

Tue Dec  1 08:06:12 EET 2009

	- migrated to partitioned location history table
	- fix KML with multiple tracked targets

Sun Dec  6 21:19:35 EET 2009

	- support for targets without a known position
	- collect real-time statistics in cache
	- upgraded to Ham:APRS::FAP 1.13
	- upgraded web server software
	- xhtml validity fixes
	- AJAX speedup and encoding cleanup for UTF-8 support

Mon Dec 14 20:47:43 EET 2009

	- show relative update time in font size/weight on "other SSIDs" list

Sun Dec 20 11:37:53 EET 2009

	- added rx performance histogram graph
	- new AIS base station symbol (better visibility)
	- update rx table for AIS receivers

Sat Dec 26 20:21:00 EET 2009

	- logarithmic Y scale for rx performance graph
	- support for keeping up simultaenous connects to multiple server
	  pools
	- added javascript for sortable tables, made a few tables sortable

Mon Dec 28 08:16:06 EET 2009

	- fixed heard/gated activity heat map views to not load targets in
	  the area

Tue Dec 29 08:32:45 EET 2009

	- switched to 3d styled map controls
	- added traffic view and "more" overlays (photos, wikipedia, videos)

Tue Dec 29 22:48:39 EET 2009

	- added symbols to rx/tx stats and nearby stations tables
	- partitioned wxhist table

Wed Dec 30 09:58:49 EET 2009

	- support for collecting CWOP data from CWOP IS servers
	- new /service-status/ view

Wed Jan  6 20:01:30 EET 2010

	- added AIS receiver performance statistics (/info/, /info/graphs/)
	- fixed callsign sorting in some places
	- added table sorting in wildcard search result and moving stations
	- show software installation time in service status
	- fixed coordinate formatting in ruler endpoint info balloon
	- fixed login-to-map when the location record for the nickname does
	  not contain lat/lng
	- some code refactoring and modularisation
	- new symbol for AIS receivers
	- lighter shade of purple for item labels on the map

Wed Jan 12 22:20:07 EET 2010

	- calculate and plot "normal range" on RX distance graph
	- fixed RX performance data collection for ShipPlotter AIS clients
	- modified RX performance history table contents to make better sense
	- some refactoring and modularisation in the backend code

Fri Jan 22 08:52:43 EET 2010

	- FAP: fixed humidity parsing in normal WX packets: h0 means 100%

Sun Jan 24 17:13:23 EET 2010

	- facebook app fix - canvas page failed to load
	- FAP: fixed negative fahrenheit temperature parsing in peet bros
	  ULTW packets
	- added method to drop temporary markers on the map (right-click)
	- added AIS RX position setting via the marker method
	- always accept APRS position for a station if the coordinates
	  are missing

Sun Jan 24 19:08:34 EET 2010

	- fix embedded maps which broke in the previous update
	- don't load sound manager in embedded mode

Mon Jan 25 08:17:05 EET 2010

	- maintain a 'commenttime' in the database - store the time when a
	  comment was last transmitted

Tue Jan 26 21:58:31 EET 2010

	- fixed the mobile map view - didn't load since sunday because of a
	  bug in the sound manager loading change
	- changed APRS digipeater path parsing logic: don't mark digipeaters
	  as the first receiver in that many cases
	- added unit tests for some parts of the code

Sun Jan 31 11:33:34 EET 2010

	- show GScaleControl on embedded maps, if there's enough space
	- some rather big CSS changes
	- break out of a frameset in case of hotlinking/framing, or links from
	  embedded maps

Tue Mar  2 22:11:18 EET 2010

	- show target symbol with originated items/objects links
	
Wed Mar  3 21:24:18 EET 2010

	- upgraded web server software
	- added ipv6 support for web service
	- fixed receiver detection for DIGI1*,WIDE1*,DIGI2*,WIDE2* packets
	- hide status message from real-time map view if it's more than 24
	  hours older than the last position report for the given station

Thu Mar  4 20:01:11 EET 2010

	- changed default coordinate format to APRS: degrees and decimal
	  minutes
	- implemented basic system-level tests to verify that updated data
	  gets from a fake APRS-IS server to the web UI in a timely manner

Mon Mar  8 15:17:08 EET 2010

	- added hex view to raw packets display
	- added decoded packets view

Thu Mar 18 17:36:49 EET 2010

	- implemented web service high availability using VRRP

Fri Mar 26 20:34:07 EET 2010

	- implemented a 2-second timeout for APRS-IS server connect attempts
	- implemented exponential backoff for server connect retries

Sun Mar 28 23:30:46 EEST 2010

	- made spaces in 'normal' raw packets view show up as nbsp

Mon Mar 29 19:28:06 EEST 2010

	- completely reimplemented the way "heard by" and "igated by" data
	  is stored, allowing for faster lookups, smaller on-disk storage,
	  and per-month views
	- implemented method to fix typos in English master strings without
	  triggering re-translation for the other languages
	- faster "nearest cities" lookup

Tue Mar 30 21:53:52 EEST 2010

	- implemented the new-style "heard" statistics for AIS receivers

Mon Apr  5 23:41:16 EEST 2010

	- rate limiting for web and api requests

Tue Apr 13 19:08:37 EEST 2010

	- added 'others' parameter for map callsign lookup
	- new dynamic AIS sites listing

Sun Apr 18 13:28:42 EEST 2010

	- updated API terms
	- faster and cheaper year-level date browsing menu
	- implemented deleting temporary markers
	- "link to this position" feature for temp markers
	- lat/lng goto links can have a label for info balloon
	- address and locator lookup info balloons can be reopened

Sun May  2 22:26:36 EEST 2010

	- xhtml validity fixes
	- API for message query
	- optimisations for mobile browsers and other slow networks

Sun May 16 19:20:21 EEST 2010

	- implemented data exporting in KMZ/CSV/json/XML format
	- changed optimisation settings for png files, fixed transparency
	  in many symbols in Google Earth
	- some more modularisation and better code reuse

Thu May 20 23:59:12 EEST 2010

	- page for advertisers
	- ignore weather packets with unrealistic temperature

Wed May 26 19:06:36 EEST 2010

	- fixed raw packets display to be really, really binary clean

Thu May 27 18:58:29 EEST 2010

	- proper rotated APRS symbols for static maps
	- small static map shown on info page
	- 'addthis' links added

Thu Jun  3 08:49:25 EEST 2010

	- only show info balloon in real-time map, if the map div is at least
	  300 pixels wide and 260 pixels high - helps with small embedded
	  maps
	- fixed directional PHG cardioids on the real-time map

Fri Jun  4 17:44:14 EEST 2010

	- implemented tooltips for top right corner buttons of the real-time
	  map
	- fixed static map positioning on info page for IE[678]
	- refresh data quicker after panning the real-time map instead of
	  the normal refresh time
	- tuned AIS ship callsign display in the info balloon
	- added 'center map here' option in the right-click context menu
	- changed ruler numbering to start from 1 (not 0)

Tue Jun 15 23:08:32 EEST 2010

	- upgraded to Google Maps javascript API v3

Wed Jun 16 22:30:13 EEST 2010

	- little initial street view support

Thu Jun 17 23:10:31 EEST 2010

	- IE6 fixes and size optimisations
	- show "last updated" time in tracked target info

Mon Jun 28 15:02:02 EEST 2010

	- make it possible to delete address/locator search result marker
	- zooming fixes for iPhone/iPad/Android devices
	- made street view split screen, with jumping on marker clicks,
	  and support for multiple tracked targets
	- point camera *at* a stationary target from the panorama
	  point-of-view (when the target's course is unknown)

Fri Jul  2 08:28:41 EEST 2010

	- links to user guide from the real-time map
	- links to weather, telemetry and data export tool
	- tooltips for comment text and status message in info balloon

Tue Jul  6 18:26:56 EEST 2010

	- fixed heard/gated maps

Wed Jul  7 07:26:01 EEST 2010

	- convert timestamps to Y-M-D H:M:S for CSV export

Tue Jul 13 17:53:47 EEST 2010

	- fb backend improvements
	- added multisearch support for /heard/ and /gated/ maps

Wed Jul 28 08:57:06 EEST 2010

	- switched to target class-based links (a/callsign, i/mmsi)
	- support looking up and selecting one of different targets having
	  the same name
	- SSL for signup/password recovery/login/account pages
	- implemented packet transmit rate advisor on info page
	- fixed lat/lng in XML export
	- better string translation moderation tool
	- don't load google maps API in translation tool
	- store amount of persons on a ship, when available
	- move focus to callsign input field in map view at start

Wed Jul 28 14:39:09 EEST 2010

	- implemented facebook tab generation

Sun Aug  1 10:10:08 EEST 2010

	- show APRS-IS processing delay on service-status page

Mon Aug  2 08:04:00 EEST 2010

	- disabled timerange control in real-time map when it is unusable
	  (heard/gated maps and after date lookup)
	- fix long time ranges (over 1 day) when stations tracked
	- fix KML output format when altitude is missing from a few positions

Tue Aug  3 19:34:32 EEST 2010

	- upgrade APRS parser to FAP 1.16
	- collect and display APRS device ID
	- rotate some additional symbols in the map
	- use arithmetic mean (average) for rate advisor instead of median

Mon Aug  9 10:04:47 EEST 2010

	- fixed links to proper source callsign for items and objects

Sun Aug 29 23:49:15 EEST 2010

	- added 'my favorite stations' list, attached to the user account
	- added 'my web stations' - web-originated positions
	- implemented uploading positions from the web browser (using
	  geolocation api: iphone, android, etc)
	- implemented google latitude position downloads

Mon Aug 30 23:04:08 EEST 2010

	- iphone display improvements

Mon Sep  6 18:52:32 EEST 2010

	- added ie6nomore notice for IE6 users

Wed Sep  8 17:47:39 EEST 2010

	- fixed recaptcha to be valid xhtml, so that signup and pw recovery
	  works on iPhone and friends

Wed Sep 29 22:41:50 EEST 2010

	- most pages now have the primary search input form field in focus
	  automatically
	- implemented 'my favorite views' bookmarking

Tue Oct 12 20:12:36 EEST 2010

	- when looking up multiple targets, adjust the real-time map to
	  fit all of the found targets
	- fixed facebook app invite to have a single submit button and
	  correct return action (fix error message in the end)

Mon Oct 18 22:30:32 EEST 2010

	- implemented KML URL overlays for all real-time map views
	- web server software upgrade
	- fixed \u symbol background to be transparent

Wed Oct 20 08:51:04 EEST 2010

	- implemented tabbed date browsing year selection in map view
	- implemented arbitrary datetime range selection in map view
	- don't pop up target info balloon when tracking multiple stations
	- don't look up stations referenced in the packet paths when
	  tracking multiple stations

Thu Oct 27 23:17:38 EEST 2010

	- made track lines clickable for easy jumping to the relevant targets
	- added 'center' and 'zoom' links in info balloon
	- added line color indicator / separator line in info balloon
	- added symbol image in waypoint callsign hover label
	- fixed bug in track line display: only show station symbol image at
	  the last position within the selected time range - don't let the
	  symbol jump and run away when you scroll the map toward the current
	  position of a station

Sat Dec  4 12:26:37 EET 2010

	- implemented uploading web position by right-clicking on the map

Sun Dec  5 10:25:54 EET 2010

	- implemented multiple target search in embedded maps

Wed Dec  8 23:31:54 EET 2010

	- info page: implemented previous month lookup for rx/tx heard stats
	- heard/gated maps: implemented previous months lookups

Sat Dec 18 21:14:25 EET 2010

	- added support for OpenStreetMaps (OSM) map type

Sun Jan  2 11:49:25 EET 2011

	- started collecting position ambiguity data, display ambiguous
	  position precision on info page

Tue Jan 11 14:28:20 EET 2011

	- in embedded and FB mode, make links pointing to aprs.fi pop up in
	  new window or tab
	- implemented new facebook app for viewing the locations of FB friends

Thu Mar 23 22:45:30 EET 2011

	- some groundwork for email alerts
	- mark outgoing emails as UTF-8
	- implemented new telemetry-in-comment format (experimental)

Mon Jul 25 21:05:23 EEST 2011

	- completely new filtering system with complex boolean logic
	- new filtering of delayed packets by using packet timestamps
	  as sequence numbers
	- show parsed timestamps in raw packets decoder
	- added a "loading" image in the map view
	- improved the real-time map's content reloading logic
	- fixed re-sortable tables in many views
	- prettier and consistent buttons everywhere
	- other style and prettiness fixes
	- rearranged real-time map view to have callsign search FIRST
	- web server software upgrades
	- delete PHG overlays when zooming out to area activity view
	- fixed line info marker positioning when an info balloon is
	  already open
	- did some profiling and optimisation
	- fixed API bug (returned duplicate stations)
	- new graph plotting engine

Wed Jul 27 23:34:02 EEST 2011

	- store user settings in database, together with user account,
	  and when not logged in, with a short cookie ID

Sun Aug 21 17:53:27 EEST 2011

	- improvements in session cookie processing
	- memcached upgrade
	- when user account is deleted, throughly delete all user's data
	- fixes in alert configuration: apply necessary db changes when
	  alerts are enabled or disabled for a target
	- complain when user tries to save a filter list twice with the
	  same name
	- fixes in real-time map to always plot symbol on the last point
	  of a track, even with very fast updates
	- when client computer comes back from sleep mode, make the reload
	  quick

Sun Aug 28 17:49:53 EEST 2011

	- show symbol description tooltips on hoveron
	- show an error message when street view fails to load
	- increase street view panorama search radius

Tue Sep 20 08:20:32 EEST 2011

	- fix filter list entry overflow with long text in list entry
	- fix sitemap XML station name case
	- fix headbang to load from CDN on error pages
	- write pid files for more daemons in logs/
	- added munin process CPU/mem graphs with the help of the pid files
	- Path tids: accept DIGI1*,DIGI2*,WIDE2* as indicating DIGI1 as the
	  first heard station

Tue Dec 27 12:53:08 EET 2011

	- "hashbang" anchor-based navigation for real-time map
	- ajax searches to avoid full map reloads on every search
	- popups initialized directly in view instead of pan (faster)
	- some fadein/fadeout effects and other animations
	- updated DeviceID for new APRS device types
	- 3rd party software upgrades

Mon Mar 19 08:53:02 EET 2012

	- fix scaling on iphone/ipad to make maps really sharp
	- upgrade to Maps API 3.8
	- use older Maps API (3.6) for older Gecko browsers
	- when tracking station on a mobile device, do not automatically
	  pop up the info window
	- more animations, rounded corners and some shadows
	- csrf fixes
	- added more "loading" feedback
	- display ruler distances les than 1km in meters
	- fixed street view panorama search range issues
	- keep map centered when switching to/from street view
	- Traditional Chinese language support
	- new time range forward/backward arrow buttons
	- support for new DB major version (SQL syntax changes)
	- improvements in address search
	- raw packets view: display position packet type in decoded mode
	- fixed quick zoom-in-and-out bug which made stations disappear
	- improved "heard" map data collection parameters

... lots of changes not listed at this point ...

Fri Oct 18 22:45:25 EEST 2013

	- IE11 support/workaround
	- do not focus to callsign form field on mobile devices, it would
	  bring up the keyboard
	- support for giving a filter string to the APRS-IS server
	- new closed API features to support the iOS application
	- refactored code
	- upgraded Google Maps API
	- remove the old unused position history table

Tue Oct 22 20:23:25 EEST 2013

	- upgraded Ham::APRS::DeviceID to version 1.07, for new devices

Mon Dec  2 08:16:02 EET 2013

	- fixed back button to work right in most cases (navigation rework)
	- fixed quotation mark handling in JSON AIS blobs

2014-02-16 09:26:34

	- improvements in Mic-E decoder bad symbol handling
	- display unknown symbol description text when the symbol table id
	  does not make sense

2014-10-23 00:23:23

	- more frequent AIS data storage, and AIS RX performance data
	  updates

2014-10-26 18:14:38

	- updates to match current aprsc API for dupe collection

2015-04-03 19:46:54

	- disabled OSM maps to comply with Google terms

2015-06-05 02:26:05

	- string translation / moderation supports "improvement needed"
	  cycle

2015-10-07 01:05:21

	- added "we use cookie" warnings to make Google happy, even though
	  Finnish interpretation of EU regulations do not require it

2015-10-09 00:00:41

	- re-enable OSM maps, some google features disabled while using OSM

2015-11-01 19:20:17

	- high-resolution / retina symbol graphics
	- responsive layout for better mobile support in many views
	- support for account email confirmation resending

2019-05-01 09:27:44

	- massive internal changes for new operating system version,
	  programming language syntax updates, new database version

User guide · FAQ · Blog · Discussion group · Linking to aprs.fi · AIS sites · Service status · Database statistics · Advertising on aprs.fi · Technical details · API · Change log · Planned changes · Credits and thanks · Terms Of Service · iPhone/iPad APRS