• 0.44 - 2010-05-21
    • Started working on the new and separate libais C++ library for AIS with C-Python bridge for Deepwater Horizon
    • Allow ais_bin_msgs.py to print out the corresponding AIVDM line
    • Msgs 6 and 8 decode dac and fi
    • Msg 21 fixed for ATONS to handle two new flags
    • Msg 21 handcoded can now deal with the extended name
    • ZNT NMEA string for NTP time quality
    • ais_normalize can handle data w/out timestamps
    • Add first C++ AIS code - ais_filter_by_mmsi
    • In ais.binary, fixed a 2's complement bug for the lowest negative number... this was bad!
    • Msg 7 had the spare as 1 bit when it should have been 2. Creating a handcoded version to deal with shorter messages
    • This version corresponds to working on libais-0.1 to libais-0.2
    • New INSTALL file base on report from gemiller on irc:gpsd
    • NEW FILES: ais_msg_21_handcoded.py ais_msg_7_handcoded.py imo_001_11_handcoded.py
    • NEW FILES: template.bash nmea_error.py znt.py ais_filter_by_mmsi.cxx ais_bin_msgs.py
    • NEW FILES: ais_decimate_traffic.py ais_distance.py ais_info.py ais_nmea_find_matches.py
    • NEW FILES: ais_nmea_uptime2.py ais_nmea_uscg_timeshift.py ais_pg_grid_transits.py
    • NEW FILES: find_missing_logs.py logger_handlers.py serial-logger2.py
  • 0.43 - 2009-08-22
    • ais_normalize now generates proper checksums. plus code cleanup
    • ais_build_sqlite:
      • Now validates checksums
      • Msgs 1-4 now do commstate
      • suggest at least one sql index
      • Don't crash on short lines
      • Added messge 19 for class B
      • Better handling of uscg metadata. Still not handling them all
    • Added ais msg 11 to decoding
    • Msgs 1-4 are now hand coded to read comm state
    • ais/__init__.py now has proper names for messages 11,13,16,17, and 22
    • Added these uscg metadata fields to db: cg_s_rssi, cg_d_strength, cg_t_arrival, cg_s_slotnum
    • aisutils/uscg.py: loosed regex to match bad T messages. Doced all field types
    • Template is more better. Input from Trey Smith
    • ais_liststations. cleanup and progress counts
    • ais_position_in_polygon gives a better error message when pcl-core is missing. STill need to switch to shapely
    • New scripts: ais_nmea_info.py, ais_nmea_remove_dups.py, ais_nmea_uptime.py, ais_sqlite_bsreport_analysis.py
    • ais/commstate handles parsing of the SOTDMA and ITDMA commstates
  • 0.42 - 2009-05-26
    • msg 5 ETA was backwards. Reported by ESR
    • msg 9 - Fixed speed over ground (SOG). Bug reported by Anders Olsson.
    • msg 18 - Added the new class b flags from ITU 1371-3
    • msg 19 - Maybe okay. Removed "broken" from the message name
    • msg 24 Handcoded for AIS Class B targets
    • aisutils/database.py - imprived track_lines, but really just moved to a simpler multi process setup
    • aisutils/uscg.py - trap bogus arrivals from a grouchy N-AIS station
    • ais-net-to-postgis - still not totally stable
    • ais_build_sqlite.py - added class b message, better bit checking for corrupted messages, "R" is also for receive
    • data/mmsi_prefix.sql: New: table of MMSI prefix country mapping
    • doc/esr-review.tx: New: ESR review of noaadata AIS
    • test_ais_server.py - New: feed AIS data from a file to anything that connects
    • nais_pg_realtime_reaper.py - New: cleanup for live web sites driven by postgis
    • nais2postgis.py - New: simpler replacement for feeding from an AIS server to postgis
    • aisutils/rmc.py - New
  • 0.41 - 2009-01-04
    • Added missing close of tr tag in HTML message output reported by Hubert Bischoff
    • port-server now can add uscg style per line timestamps and station
    • port-server logs the start/stop times, the host info, and the ntp status for each log file
    • Think I've fixed the AIS NMEA regex
    • Added log_udp script
    • New in aisutils: nmea_ait.py (AIS text format), nmea_cnc.py (IVS Vessel Monitor Format), server.py
    • New in scripts: decimate, log_udp, and xy2kmlline
    • ais_liststations improved
  • 0.40 - 2008-08-25
    • aitutils/uscg.py - added a REGEX for AIS NMEA messages - This is very cool!
    • ais_positions.py works again - Bug report by Joe Healy
    • aisutils.uscg - added a regular expression for the USCG format. Now need to move code to using this
    • Fixed AIS NMEA encoding bug report by Miguel Eduardo Gil Biraud
    • Added scripts/jpegexif2kml.py for geo tagged photos
    • ais-net-to-postgis - better exception logging,
    • ais-dumpnames - uses the uscg regex now to parse the nmea lines
    • ais_pg_transitlines_noMakeLine - removed bug on vessels with no points
    • ais_positions - lots of changes, but still not flexible
    • six_min_avg.m - Matlab code by Val for tide stations
    • ais_pg_transitsummary - timezone management with pytz. Now not specific to 2006
    • tideconvert - hopefully this is right for the memme station for June 2008 summer hydro class
    • ais_pg_vesselsummary - new program to write excel spreadsheets
    • database.py - fixed name handling bug with empty ship names. Traceback on trouble
    • template.py - more examples
    • binary.py - minor cleanup
  • 0.39 - 2008-06-18
    • ais.nmea module gone. bbm.py moved to scraps for now. This was causing major bugs.
    • ais-port-forward now might actually work. Exception reporting more better
    • new file: scraps/tideconvert.py for the tide3 station data processing
    • new file: timetest.py
    • ais_normalize.py can now treat A and B AIS channels as the same for USCG feed (-t)
    • ais_normalize.py removed the stripDecimalTime option code
    • ais_normalize.py - better station handling
  • 0.38 - 2008-05-23
    • nmea module now being installed. I realize that this needs to be under another namespace to avoid clashes.
  • 0.37 - 2008-05-23
    • Add GeoDjango subdir
    • setup.py: fixed URLs from a bug report by Joe Healy
    • setup.py: switch to using the VERSION file
    • VERSION: new file. superseeds version from AIS which made no sense as the home of the master version id
    • ais/__init__.py: dropped the version from this file
    • Switching to postgresql/postgis 83
    • ais_normalize now handles basestations
    • serial_send now supports timeout and number of listens
  • 0.36 - 2008-Mar-09
    • All AIS messages can now generate a NMEA message
    • timed_circular_notice: Released to external development. Minor tweaks and cleanup to the xml for cleanup. Added a few more area types for visibility, AUV, ROV, divers and swimmers. Changed the radius to a Decimal type to allow 10 m increments.
    • whalenotice1: this msg is not under consideration, but did some tweaking as a thought experiment
    • aisutils/uscg.py: added create_nmea for all AIS messages to use
    • django: Added DAC for countries. Added dac.sql with the db entries
    • Minor cleanup on the init scripts. Still needs more help
    • ais-net-to-postgis: cleanTime can be set
    • data/sbnms.kml: added the sanctuary boundaries
  • 0.35 - 2008-Feb-25
    • No longer packaging the epydoc html in the tar. Create it locally if you want it.
    • Cleanup of IMO met hydro message ice field. Description name fixes for other IMOs
    • database.py: more verbose
    • uscg.py: add get_station, get_contents
    • django: add define_ais for creating AIS binary messages. Lots of work left to do
    • doc/ais.bib: lots more references
    • doc/templates: now includes python template/boilerplate file
    • doc/configure-ais-logging.txt - new howto
    • init.d/ais-forward: cleanup messages
    • init.d/logais: added -m to mark time with no messages
    • ais-db-rebuild-cache-tables: cleanup magicdate usage
    • ais-net-to-postgis: add magicdate usage, add periodic clean even if nothing received
    • ais-port-forward: minor cleanup, fix SBNMS stations, tweak bounding box
    • ais_build_sqlite3.py is not working. why?
  • 0.34 - 2008-Feb-08
    • Real-time AIS works, but needs a little bit more tweaking to get time thresholding
    • Dropped the .py for an initial batch of scripts including serial-logger, xy2kml, xy_pos_filter, and xymt2kml. Need to do the rest
    • Moved from scripts to data subdir: gsc.dat, merg5.dat, sbnms-*.dat, stellwagen*.dat
    • Created a contrib directory. Added doc from Maitland Bottoms
    • Changed around the MANIFEST.in. Can anyone suggest a better way to build the MANIFEST.in?
    • Working on switching from GPL v2 to v3
    • Minor updates to the waterlevel2 message based on feedback from ACOE - additional datums
    • Starting on updates for epydoc 3.0.1 - better front matter tagging in python files. e.g. see database.py
    • database.py: added rebuild_track_lines and rebuild_last_position functions
    • uscg.py: added __eq__ method and a return BitVector; can now rebuild the NMEA
    • Renaming of the ais-db* and ais-port-forward command. Moved from scraps to scripts
    • Moved aisxml2wxpy and aisxmlbinmsg2py from ais to scripts. They should not a part of the ais module!
    • Added initial django-ais subdir that doesn't yet do anything
    • Much improved fink info file. Still needs a lot of work
  • 0.33 - 2008-Jan-16
    • Draft live AIS feed to postgis with track_lines
    • waterlevel2.xml draft message for NOAA PORTS
    • Improved description in setup.py
    • Parses more fields in uscg.py
    • Added an AIS endnote library and bibtex
    • ais_port_forward does a better job of reconnecting to destination port
    • ais_db.py now can add or remove the track_lines postgis table
  • 0.32 - 2008-Jan-11
    • Preliminary release of live AIS feeds
    • Lots of documentation cleanup
    • Added ais_db.py for creating and destroying database tables
    • ais/__init__.py changed to provide lists of messages for more automation
    • Added ais message 15 - interrogation
    • Now builds with ais messages 15, 23-26
    • Added timed_circular_notice.xml to replace the right whale specific message
    • Fixed messages 15 and 22 so the do not have field collisions
    • All ais messages now have a dbTableName in their module
    • cleanup xymt2kml.py
    • port-server renamed to port_server
    • ais_build_{sqlite3,postgis} are getting better, but still need work to handle more message types
    • ais_build_sqlite3 uses the python 2.5 built in sqlite interface. Better than using pysqlite2
    • Added ais_port_forward.py and ais_net_to_postgis.py to scraps. These will get moved over to scripts soon
    • Added uscg.py to aisutils for parsing the uscg fields from nmea strings
    • Added database.py to aisutils. Makes working with ais and databases much simpler
    • Fixed the serial logger to report 'r' in front of station. Doesn't yet handle r or b
  • 0.31 - 2007-Dec-04
    • Added Class B 18 & 19 position report messages. 19 does not work yet
    • Improved the msg 21 documentation
    • Some cleanup of msg 5
    • Added whalenotice3
    • New scaps: ais_pg_{dailyvessels,monthhistogram,speedsummary}.py
    • ais_pg_transitsummary has new --mmsi option to only check one vessel
  • 0.30 - 2007-Nov-07
    • Pre eNavigation 2007 release
    • xymt2kml now an optparse program that plays nicer
    • svn propedit svn:keywords on all the scripts/*.py files for better tracking
    • Added IMO messages 13 and 14 for RTCM meeting
    • Reworking whalenotice message. Added a whalenotice2.xml that fully fills two slots
    • Added basestation messages (msg 4) to the sqlite database
    • Added gridding code in scripts: ais_pg*.py
    • Added ais_traffic_analysis program
  • 0.29 - 2007-Aug-10
    • Added ship traffic gridding using postgis. grid.py and ais_pg_grid.py
    • Transit summary support for SBNMS work
    • ais_pg_create_transit_table.py and ais_pg_transitlines_noMakeLine for building the tpath table used for summary reports
  • 0.28 - 2007-June-20
    • PostGIS now uses WGS84 explicitly so that it works with mapserver
    • PostGIS import of AIS now warns (not fails) on bad insertions
    • ais_normalize now has a configurable time window for joining messages
  • 0.27 - 2007-June-13
    • Minor doc fixups here and then
    • Added doc/data for example AIS using NH JEL data from May 2007
    • Looks like a few of the new scripts did not make the last release
    • New scripts: ais_filter.py, serial_send.py, and xymt2kml.py
  • 0.26 - 2007-June-05
    • Post U.S. Hydro 2007 in Norfolk, VA. Tweaks to water level messages
    • Fixed ais_build_postgis.py to work for other users
    • Fixed some scripts to work with timestamps that have decimals
    • ais_normalize can cope with parts that span 2 different second timestamps
    • Added great south channel and tss regions to the ais_position_in_polygon
  • 0.25 - 2007-May-01
    • individual ais message scripts can now use stdin
    • Fixes to imo waterlevel
    • MSL type fixed
    • General code cleanup
    • Added scraps directory with random utilities
    • ais_position_in_polygon.py has a 5nm Stellwagen buffered zone and bbox speed up
    • Makefile for the scripts directory
    • New script: ais_transits
    • Buoy data for Stellwagen area
  • 0.24 - 2007-Apr-07
    • Improved setup.py and ais/__init__.py towards US Hydro 2007 conference release
    • More do_not_name_mange tags added. Really seems like mangling should be used sparingly.
    • Cleanup msg 21 to using XInclude
    • Cleaned up msg 5
    • Added text table generation for MS Office importing (Word tables or Excel sheets). Now computes number of slots
    • Major cleanup of imo_001_11 Met/Hydro message. Still has issues... see waterlevel. Lat/Lon order now right. Pulled FIX comments to notes so the tables are cleaner. What is the solution for Ice?
    • Implemented offsets for decimal/udecimal
    • struct-inc now has pos_small as a postgis_type of POINT
  • 0.23 - 2007-Mar-30
    • Fixed the broken build that ended up in forever calling epydoc
    • Now builds the IMO water level message
    • ITU message 22 should now build, but needs descriptions
    • Started cleaning up the SLS messages. Now all compile
    • Added a number of "do_not_mangle_name" to cleanup include-structs
    • Added ris subdir to ais
    • Added a makefile to sls subdir
    • Added latex output to aisxmlbinmsg2py.py
    • Added __init__.py files to sls and ris subdirs so they import
    • Many improvements to epydoc format docs. No more warnings
    • removed prototype.py. Don't need this anymore
    • Added a msg 8 header to structs-inc.xml
  • 0.22 - 2007-Mar-18
    • Working on setup.py - it now installs the scripts. But still does not install the per message code.
    • Seem to have a make recursion issue in the documentation
  • 0.21 - 2007-Mar-08
    • Added ais/ais.xsl to the MANIFEST.in so that people can actually get the stylesheet.
    • Fixed manifest to include Makefiles and doc/*
    • Added to ais/nmea.py: encodeQuery, acaEncode, bcfEncode/Decode
    • Fixed the socket_send program to actually work
    • Fixed minor bug in message 14.
    • More doctests in ais/nmea.py
  • 0.20 - 2007-Mar-05
    • Cleanup of message 5 (ship and cargo). Broke out ETA. Described dimensions. Expand ship and cargo field, but it still needs more work
    • Added more AIS messages: 4, 6, 7, 9, 10, 12, 14, imo_001_11 (met/hydro)
  • 0.19 - 2007-Mar-03
    • Added NMEA messages ACA, BBM, CAB, CBM, and DLM for AIS Base Station support. Needs more testing.
    • Found and fixed some bugs with NMEA checksums thanks to Val Schmidt
    • Fixed a bug with waterlevel.xml. Still not to it's final form.
    • serial_logger improvements - can mark time with no data similiar to syslog
  • 0.19 - 2007-Mar-03
    • Added NMEA messages ACA, BBM, CAB, CBM, and DLM for AIS Base Station support. Needs more testing.
    • Found and fixed some bugs with NMEA checksums thanks to Val Schmidt
    • Fixed a bug with waterlevel.xml. Still not to it's final form.
    • serial_logger improvements - can mark time with no data similiar to syslog
  • 0.18 - 2007-Feb-26
    • Added base station messages 4, 20, and 22
    • Now using xinclude to pull in structs to xml
    • Added ais_build_postgis.py to scripts
    • ais_normalize.py script handles normalization of nmea messages so that they are one complete message per line
    • sls messages moved to a subdir of ais. Work-in-progress
  • 0.17 - 2007-Feb-18
    • Added serial_logger.py script for data logging
    • Fixed bug with titling of decoded messages
    • Can now log USCG N-AIS UTC seconds stamps into SQL TIMESTAMP type
  • 0.16 - 2007-Feb-16
    • Postgres 8.2/PostGIS 1.2.1 support
  • 0.15 - 2007-Feb-08
    • Able to build sqlite3 databases
    • Added ais_normalize and ais_build_db scripts
    • Fixed slottimeout bug in definition of messages 1-3
  • 0.14 - 2007-Feb-05
    • Putting the scripts in a proper scripts subdirectory
    • Started aisxml2wxpy.py to greate WX python GUIs
    • Including initial tools to start making reports
  • 0.13 - 2007-Jan-23
    • Now sql seems to build for all messages
    • Fixed up the decimalplaces that were missing
    • Added binary, float and aisstr6 types to SQL support
  • 0.12 - 2007-Jan-18
    • Added CSV output support to make report generation easier
  • 0.11 - 2007-Jan-18
    • Bug fixes so the sdist might actually work.
  • 0.10 - 2007-Jan-17
    • make_waterlevel_ais.py was missing from the MANIFEST
    • Added msg 21, but it does not seem to be working. Do I have valid sample data?
    • Working on other St Lawrence Seaway (sls_*.xml) messages ... only just beginning
  • 0.9 - 2007-Jan-05
    • GoogleEarth output
    • Now can output kml and kml-full. kml skips the xml header and tail to concat multiple Placemarks
    • Added titlefield to the message attributes that is now required if a message has lon/lat
  • 0.8 - 2007-Jan-04
    • First release to privde the ability to generate AIS waterlevel meassage straight from the NOAA CO-OPS server
    • Now able to generate html dumps of messages
    • Added dump_wl.py to stand in until I have a generic message 8 handler
    • ais-process-day.bash is a start on N-AIS processing
    • noaa_waterlevel_ais.bash pulls the Elizabeth River area and makes the AIS messages. SLOW
  • 0.7 - 2007-Jan-04
    • Added OPeNDAP Waterlevel query ability. waterelevel_dap.py
    • Big improvement in the ais generated code with command line args
    • Added ais messages 1-3 (loc) and 8 (binary broadcast message)
    • Started adding Saint Lawrence Seaway Messages. Only waterlevel tested.
    • Added initial prototype for Right Whale notice
    • Started working on N-AIS processing scripts
    • Now includes BitVector.py version 1.3 (with permission) to make deployment easier
    • epydoc docs are now online
  • 0.6 - 2006-12-20
  • 0.5 - 2006-12-18
  • 0.4 - 2006-12-18
  • 0.3 - 2006-12-12