Avnav Releases

The directory with all releases can be found here.


The  installation instructions have a detailed description of the different options to install AvNav. On this page you will find information about the various releases.
Not every update will be delivered by new images (although available for most). Intermediate updates are either developer versions (daily) or releases.
To install such an intermediate update you need to enter a command line on the pi (or you have the AvNav update plugin installed). From windows you could e.g. use  putty. Just determine the address of your pi and connect, use pi, password: raspberry (or the values you have customized for your image).
Information on how to install the packages you will find in the installation instructions .
Afterwards you potentially need to adapt the configuration
This could be done by

sudo systemctl stop avnav nano /home/pi/avnav/data/avnav_server.xml # enter modifications and save sudo systemctl start avnav

If you have installed the AvNav Update plugin you can edit the configuration file from this plugin without the requirement to enter the command line.

On this page you will only find notes for released versions. For daily builds refer to the commits on GitHub .


20230705 link

All Versions - important Bugfix:
  • #288: You cannot add new points in the route editor

20230702 link

Important: Please do not use this release, update to 20230705

Main Focus: AvNav Android :

  • released for Android SDK 33, new in play store (contains all changes from 20230426)
  • source priorities for input channels (like on the linux variant)
  • #284: location of version information

AvNav base (avnav) :

  • improve course up handling when moving map in locked mode
  • show values in bold on aisinfopage for better readability
  • #283: handling too many buttons for two button rows
  • #282: autohide 2 column buttons on dashboard in landscape mode not ok
  • #286: add higher baudrate. e.g. moitessier hat

20230614 link

AvNav Images (avnav-raspi):

  • Improved handling for touch images (OBP Plotter)
    • new panel on the start page if AvNav does not come up completely (see documentation)
    • reset for AvNav GUI (firefox profil)
    • important Hint for OBP Plotter: Please do also update avnav-obp-plotter-v3-plugin to 20230601 and reboot after all updates!
  • New canboat version >= 4.12 to avoid n2kd forking every 30s (and eating up system resources)
  • #274 update RPI4 (CM) Revisions in uart_control (GPS on obp plotter v3)

AvNav base (avnav):

  • #272: Improved AIS Handling (Documentation)
    • different icons depending on navigational status
    • use HDG for display if available
    • display of atons
    • show estimated position
  • #276: Move Map in lock mode (documentation)
  • #275: Installation on bookworm (remove pip in postinstall)
  • #277: correct requirements for fedora
  • make installation possible on OpenSuse
  • correctly show formatter Parameters in EditWidget dialog for widgets with flexible formatters
  • allow to use online (AIS) streams that follow IEC 62320-1 - new Parameter stripLeading for readers
  • #279:Fix permissions of avnav system user for serial/usb devices
  • be more relaxed when checking kml overlays (allow more kml sources)
  • do not ask for sound permissions on startup if sound is disabled

AvNav Android:

  • #273: handle AIS on android for southern latitudes

20230426 link

Support for the OpenBoatProjects 10 inch plotter V3 - see project page.
Support for some Raspberry Pi HATS
  • for AvNav images we can automatically configure a couple of HATs by creating appropriate config.txt entries, network interfaces,...
    Refer  to the image preparation UI for a list
Extensions in the plugin API(Server)
  • plugins (on the raspberry pi) can now have scripts to be able to set up system configurations based on settings in the avnav.conf
  • new API functions sendRemoteCommand, registerSettingsFile, registerCommand
Include some additional Kernel Driver (raspberry)
  • a new package will be installed on the AvNav images that includes drivers for the RTL8188EU and RTL8192EU wifi chip sets
Smaller Improvements and Bug Fixes
  • #249: use an event translation list to correctly handle event names for user widgets
  • #251: allow to remove key bindings in user key.json
  • #252: handle button key bindings correctly even if the buttons are currently hidden or in the second column
  • #261: prevent an error on value and dict in store, limit logs to app. 110MB
  • avoid filling the log with bluetooth errors
  • add key definition z for toggle dimm mode
  • add a reload page button on the settings page
  • add some start URL parameters
  • keep the scroll position on the AIS page and on the WPA page (allow to handle many AIS targets or many wifi networks)
  • #270: avoid shutting down wpa_supplicant (client wifi) on restart (e.g. from updater)
  • #266: avoid blocking when setting the system time
    correctly handle initial time setting without gps, correctly switch between gps time and ntp time
  • do not run the startup-check (handling of avnav.conf) when installing avnav-raspi (prevent reboot during installation)
  • have a template of avnav_server.xml in /etc
  • change all wlan ap network files to mode manual to avoid conflicts with avahi-autoipd (sometimes the wifi access point will not come up correctly)
  • set restart-ms for all CAN interfaces (see forum) to improve NMEA2000 robustness
  • correct some country codes for Image Preparation
  • remove the obsolete spi-bcm2835-overlay
  • Update install docu for packages to newer versions (bullseye)
  • restart wlan-av1 when changing the system time (as wpa_supplicant will potentially stop working if the time changes)
  • make wpa firewall command working again (external access for wifi networks) , better wpa logging
  • add the uart_control script into /usr/lib/avnav/raspberry
  • correctly configure CANboat (n2kd)
  • some initial implementations for a plugin handling

20220819 link

Split Screen

  • Change to and from split screen via button
  • partially separated settings per tab - see documentation

Different Routing Modes: RhumbLine, GreatCircle

  • default: GreatCircle
  • switch in RoutingHandler
  • correctly display great circle courses
  • documentation


  • set wp data that is not computed to undefined (display: ---)
  • #224: AIS improvements length, beam, draught
  • #213: JS API for drawing on the map (SailSteer Widget)
  • Some renaming of the captions for wind widgets, select true, apparent,...
  • #237, #238: use the first kml file in kmz archives if there is no doc.kml
  • only redraw the overlay itself if changed, avoid redrawing the complete map
  • Scale parameters for kml and geojson overlays
  • info dialog if server version has changed
  • JS code (including widgets) will not be loaded for disabled plugins
  • Default icon for GPX overlays, allow to set color and size of points
  • display time, course, speed after clicking on a point on a track (feature info)
  • Restart leg button (restart the XTE computation)
  • export the JS LatLon modul at the API
  • #243, #217: show remote conrtrol buttons only if remote control is enabled
  • #170: different switch modes for way points: early,90,late


  • #232: correctly send the AIS target SOG in m/s from android
  • make conversion of track to route from downloadpage working again
  • #222: ensure to reload the list of files at the downloadpage after delete
  • #228: avoid to replace  with the current hostname when editing a user app
  • #228: keep the newWindow setting for a user app even on AvNav restart
  • #225: make the chartconversion working again on gdal2 (Windows)
  • #223: correctly merge storeKeys from a widget definition and from it's editable parameters
  • #221: make translateFunction also work for simple user widgets
  • #219: avoid the sk time socket connection to fill up the AvNav log
  • #220: avoid hanging nmea decoder on invalid xdr records
  • replace gir1.2-appindicator3-0.1 by gir1.2-ayatanaappindicator3-0.1 for xui set up
  • prevent minification of user.js
  • avoid accidently emptying the track file when the android app stops
  • correctly compute route approach in the viewer
  • #231 Fix Track GPX for OpenCPN compatibility
  • #244: wrong XTE direction

20220421 link

Extensions of the SignalK Integration

  • AvNav is now able to directly fetch it's navigation data from SignalK (including AIS)
  • Waypoint data can be sent to SignalK
  • Alarms can be received from and sent to SignalK
  • The SignalK handling has been moved from a plugin to the "core"
  • For details refer to the description

Images with Touch Support

  • The AvNav images now include support for local monitors (touch optimized)
  • This replaces the AvNav-Touch images that are not maintained any more.
  • For details refer to the  installation description

Setting of the System time without GPS

  • The AvNav images now have a fallback handling for setting the system time
  • If there is no valid GPS signal for a certain time AvNav will try to fetch the time from NTP
  • This should prevent issues during the internet access (SignalK, mapproxy,...)

Other new Functions

  • Separation of true and apparent Wind in the internal data. The display of the wind widgets can now explicitly assigned to one of them.
  • When parsing RMC there is now a check whether there is a valid course and valid speed
  • #169: Map scale display (Settings/Layer)
  • #87: Alarm and red headline if server connection is lost
  • #206: Set and reset anchor watch with keyboard commands
  • #200: Different boat smybols for COG and HDM/HDT as well as "zero SOG", better computation of course averages for map rotation
  • #202: Parsing of ZDA
  • #188: Change/Switch off the remote channels directly on the navigation and dashboard pages
  • Pitch and Roll for BME280, skPitch,skRoll widgets can now also handle deg as input
  • Internal corrections

Bug Fixes

  • correctly average course values
  • improve error handling for avahi
  • ensure restart button visibility on the status page
  • android: correctly handle overlay-change-detection
  • #212: Speed Gauge: maxValue < 10 crashes app (endless loop)
  • chart converter now also working on bullseye (GDAL3)

Migration Hint

  • if you did not configure special alarm commands just remove all AVNAlarmHandler entries from your avnav_server.xml. This will allow you to change the alarm sounds at the configuration and upload your own sounds to the user directory.

20220306 link

  • Bug Fix #196: Android AvNav stops receiving GPS when in background
  • Bug Fix #195: AvNav does not load a layout from a settings file from the initial dialog
  • Small internal bugfixes

20220227 link

Windows Only!
  • Correct bug in 20220225 that prevents server start

20220225 link

Save and Load Settings
  • allow to save settings on the server and load them on the same or other devices
  • extend the plugin api to be able to register settings (files)
  • when starting for the first time allow to select a settings file if more then one setting is available. Later settings files can be loaded from the settings page.
  • show changed settings on the settings page page with different text styles
  • remove the ability to have settings in a layout file (use the new save/load settings instead)
AIS improvements
  • #185: show AIS targets around the ship position and around the map center
  • #187: allow to separately decide which AIS classes to be displayed (class A, class B,other)
  • optimize AIS list performance by avoiding many dom objects
  • allow to reduce the details in Ais list, allow to change list update interval
  • allow to scale down class B ais targets in display
  • use a separate color for tracked AIS target
  • do not start tracking an AIS target when we click on it, only after "center to"  on AIS info page
  • #149: allow to customize the data that is shown at an AIS target on the map
  • #145: allow to hide AIS targets that do not move

Other new features:
  • #135: allow to measure distances by dropping a mark (button , show course and distance to measure near map center and in center display widget
  • make the edit route dialog a bit clearer
  • #141: make WP buttons usable when anchor watch is active
  • #141: add more options to set the anchor watch. Add anchor watch to the layout parameters for the nav page
  • avoid sending old records when a new connection is establisehd on the server
  • #146: sort charts on mainpage, prevent center map dialog
  • #148: AvNav will autodetect every change of an overlay and will redraw the map
  • #151: allow to open a user app in a new window
  • #155: allow to disable the USB monitoring , bluetooth reader and NMEA logger
  • #160: decode water temp from MTW and speed trough water from VHW add widgets for STW and water temp
  • #163: allow sending data in the socket reader
  • allow to run on a system without installed python-bluez (show in status if not installed)
  • send out APB on android
  • decode VWR NMEA0183 sentence
  • #164 Add higher baudrates then 115200
  • #180: warn if Android power saving will switch off GPS in background
  • new SignalK widgets: skpitch/skroll (thank's Tom)
  • better navigation between aislist and aisinfo
server startup changes:
  • the logfile does now contain all the output also from the start up
  • allow to set loglevel when starting, use -q to only control stderr logging
  • do not start in silent mode when running as service
  • start with loglevel error by default with -q
  • #192, #193: correctly provide formatter parameters to widgets that have a formatter being a function
  • #191: remove useless caption in edit widget for combined widget, make css class working
  • #190: add minValue/maxValue as parameters for radialGauge as they are mandatory
  • #189: use own fork for canvas gauges to work around broken animationTarget plate
  • adapt sizes for wind widget and depth widget
  • #186: avoid sporadic crash
  • #184: correctly handle store keys and formatter parameters in layout editor
  • correctly deregister a layout or setting when the plugin is disabled
  • #182: prevent setting empty formatter parameters if they are not defined in the layout
  • correct bug in user defined formatters doc
  • correctly handle timestamp for zip and kml files in head requests
  • avoid duplicate user app when a plugin tries to register multiple times
  • correctly show the default for formatTemperature to be kelvin
  • do not reset colors to defaults when editing overlays, ensure opacity to be a number
  • #161: add fallback handling if the cfg file is corrupt and no ok file is there, early logging switch to log cfg errors, show cfg file info in status
  • handle keyboard interrupt for shutdown
  • correct linux default config
  • #178: make translate function working for all widgets
  • correct APB
  • #157: correctly switch to the next way point if no client is connected
  • #154: update package install docs
  • #150: directly link to list of mbtiles from OpenSeaMap
  • #153: do not redraw dialogs when window size changes
  • #152: make delete route working again on android
  • work around gdal not correctly converting kap header data to utf-8
  • prevent android crash if no file manager found
  • #143: allow for a complete server stop from the UI
internal changes:
  • new build tools and libraries
  • force nodejs version 16 for build
  • update to newer version of gradle node plugin
  • introduce split chunks to optimize loading

20210619 link (Android Version: 20210618)

New Functions

  •  show night mode button during layout editing
  • #88: decode HDG,HDT,HDM,VHW (part) on server and android
  • add HDT,HDM widgets
  • allow to use HDT or HDM for boat direction display (settings/navigation/boat direction )
  • #138 lock the boat on any point on the screen (settings/map/lock boat mode)
  • #139 show night mode on NavPage
  • float map behind buttons on NavPage (settings/map/float map behind buttons)
  • auto hide buttons on NavPage and Dashboard Pages (settings/buttons/auto hide buttons...)
  • #132 show +/- 180 in wind widgets (configure in layout editor), small wind graphics improvements
  • add the layout name as a css class to the app to allow to style for different layouts
  • remote control
    • control one display from another or from the server
    • 5 channels, each display can send and/or receive on one of them
    • UDP port to receive remote control commands
    • plugin to interwork with obp-rf-remote
  • add interface metrics to allow for easy switching between internet access via ethernet or wifi client (avnav-raspi)
Bug fixes:
  • freeze when using linear gauges
  • correctly sort buttons on older browsers
  • #140: night mode for xte widget, wind graphics, various gauges
  • make switching between access point and wifi client for the internal rpi adapter working againg (Config Gui)
  • when both apparent and true wind are available prefer apparent in wind widgets, show which one is being used (avoid toggle between them)
  • correctly handle filters separated by comma in the plugin API
  • correct read filter handling for SocketWriter

20210502 link

New Functions

  • Extending the configuration for headless images (hostname, keyboard, different Wifi modes for the internal adapter)
  • Faster connection to other Wifi networks (faster getting of an IP address)

Bug fixes:

  • Show button icons correctly in chrome lite mode on Android (#128)
  • Some MCS modules for one wire have not been loaded correctly (headless images only)
  • The name resolution for NMEA0183 services only happened once, now it gets correctly repeated on error

20210424 link

Main Focus: Android App

  • The Android App now integrates a full NMEA0183 multiplexer - very similar to the server variant
  • you can:
    • connect to multiple TCP/UDP NMEA0183 data sources
    • send out NMEA to TCP/UDP
    • use multiple USB-serial devices to send and receive NMEA data
    • send and receive NMEA via Bluetooth
    • send out own GPS data
    • run multiplexer in background and provide the NMEA data to other apps
    • use mdns (Bonjour/Ahavi) to easily connect to NMEA data sources even in changing networks
    • one click connect using mdns (Bonjour/Ahavi) e.g. to the NMEA0183 output of a SignalK server
    • announce own NMEA outputs via mdns
    • filter NMEA data in and out with filterstrings and blacklists
    • log NMEA data to files
    • view the status of all connections on the Status/Server page
  • Android now integrates the WebServer in the normal mode (was named "external browser mode" bevor)
    • access from local device or from other devices
    • default port now 8080
  • compute RMB records when routing (can be send out to control an auto pilot) 
  • the configuration of the Android App to most parts is similar now to the server version - using the Status/Server page
    • HINT: some configuration is migrated automatically but not all

For the Raspberry Version (when using the Headless images):

  • support USB tethering to connect an android device via USB and have internet access this way on the raspberry - or connect to the AvNav server (easily when using the BonjourBrowser)

For all Server Versions (Headless Images, OpenPlotter,...):

  • announce TCP NMEA outputs via Avahi (mdns/Bonjour) - another AvNav server or the Android app can easily connect
  • AVNNmea0183ServiceReader to connect to Avahi (mdns/Bonjour) NMEA services (like SignalK)
  • Extension in the plugin API - initFunction does now receive the widget parameters  


  • #123: bluetooth disconnects
  • adapt to newer gdal versions for importer
  • correctly always use utf-8 for file reading and writing in chart converter
  • adapt CSS for better compatibility to older browsers
  • better robustness againts NMEA messages with missing elements
  • sometimes changing one widget in the layout editor also changes the one it was copied from  

20210323 link

Bugfixes for 20210322
  • Windows: AvNav does not start after the update
  • Windows: SocketWriter cannot be modified
  • #119: Crash in the app with linear Gauges
  • #120: Crash in the app if a formatter is not existing (any more)
  • Defaults for widgets in layout editor are not set correctly (e.g. colors at gauges)
  • Crash in the app with Date/Time formatters if there is no or invalid data
new Windows Installer

20210322 link

The biggest change is the ability to directly edit the server configuration (e.g. adding new interfaces) from within AvNav. This requires all plugins to be updated to their newest versions (use the updater plugin).

AvNav Core:
  • You can now edit the configuration of the server in the AvNav App (Server/Status page), changes will become effective without restart
  • When using charts with empty layers (like many mbtiles files) AvNav will now zoom up lower resolution tiles to avoid empty areas in the display
  • You can now scale the Map display (Settings/Map). This can help to improve the visibility on High DPI displays
  • There is a "technology preview" for a split window mode - access with http://address:port/viewer/viewer_split.html, see demo
  • Correct handling of symbol sizes on High DPI displays
  • direct registration at MDNS (Bonjour), you can change the name
  • Extensions in the plugin API

Raspberry Setup (Images)

  • support for the MCS from GeDad, see image description
  • allow for some customization of the image with a config file avnav.conf including a GUI to create it
  • ensure Visibility of both AvNav and SignalK in MDNS/Bonjour
  • more stable Wifi by switching of wifi power management
  • automatically set up an IP address on the ethernet interface if not connected to a DHCP server
  • Forward port 80 from all interfaces to AvNav (8080)

Smaller Bugfixes and Addons

  • handle utf-8 in download names correctly
  • keep status on status page until we get server error, correctly show and hide server error
  • increase network timeout
  • work around strange height bug on ios 12,13 safari
  • always use shutdown when closing sockets, re-enable timeout for socket reader
  • #113: merge pr, correctly handle null values in SK
  • #117: prevent browser 2 finger zoom
  • restart avahi when changing the system time
  • avoid hiding second buttons on status page
  • decrease default font sizes
  • create an error gemf for failed conversions, add importer log display on download page, timeout importer status items
  • allow opensuse install
  • show plugin info in status if startup fails
  • restart server
  • log display
  • server download log
  • cleanup name handling and thread id for logging
  • better timeout handling for serial (avoid reopen after 1s)
  • rename AVNGpsdFeeder to AVNFeeder, completely remove gpsd related code
  • #106: avoid writing errors to the log if empty positions lead to decode errors
  • merge #105
  • adapt to new handling of com port names on windows
  • correct windows download links

20210115 link

  • #73 migration to python3 (the current python2.7 is out of maintenance)
  • plugin API java script extension for featureFormatter
  • decoding of NMEA XDR records
  • formatter for presssure and temperature
  • extension of the java script API - registration of formatters
  • improved handling of formatterParameters in the layout editor
  • NMEA filter for AVNSocketReader,AVNBluetoothReader and AVNUdpReader
  • the avnav history plugin is now available in the package repository and can be installed with
    sudo apt-get install avnav-history-plugin
  • Bugfixes:
    • #97: NMEA checksum in lowercase
    • correct handling of chart dim for night mode
  • Installation Hints
    When installing packages new dependencies are necessary.
    sudo apt-get update
    sudo apt-get upgrade
    If you are using the headless images you need to set the time before installing.
    sudo date -s "2021/01/15 15:00"
    It is important to install the current version for the ocharts-plugin (20210115).
    On Windows a new Installer should be used.
    If you update using the existing installer you need to run it twice! On the first update there is still no installation of the new python version.

20201227 link

  • Plugin API extension for handling of USB devices
  • Bug fixes
    • RMB computation was broken with the last versions, repaired
    • minor bugs in the plugin widget handling
    • minor bugs in button displays
    • some improved logs at the server

20201226 link

  • Fullscreen Button
    If supported by the used browser there will be a button to toggle fullscreen on Mainpage, Navigationpage, Dashboardpage
  • Separate settings category for buttons
  • Bug fixes
    • OSM online charts
    • compatibility for older browsers
    • Android dim handling

20201219 link

  • Chart Overlays
    • show gpx, kml, kmz and geojson files on the chart
    • stack multiple charts on top of each other
    • show available tracks and routes
    • user defined symbols and links to HTML pages
    • information dialog when clicking on chart object
  • Display of object information (Feature Query) at o-charts (requires new avnav-ocharts version)
  • Extensions in track handling
    • information display(length, time,speed)
    • #67: display of tracks on the chart (as overlays)
    • Converting tracks to routes
    • Importing of gpx tracks
  • Improvement in route handling
    • New dialog for rename, copy, delete, empty, invert
    • Combining of routes
    • #9 add waypoints from a gpx file to routes
    • build routes "backwards" ("insert before")
  • Improved error handling
    • Show an error dialog with the ability to save the error
    • Show errors in the user.js
  • Settings extensions
    • "increase fonts on hires" - Scale up various elements on high resolution displays
    • "Overlay Info on Click" - Show an information dialog when clicking on chart objects (default: on)
      this also enables the object info for o-charts
    • "Always Info on Chart Click" - Also show a dialog on areas without objects (default: off)
  • Improved documentation
  • #79: Start parameter noCloseDialog to prevent close dialog when leaving the AvNav page
  • Bugfixes:
    • Go back to mainpage after clicking on AIS object
    • "cancelTop" is working in firefox
    • Correctly send out MTA NMEA sentences (missing $)

20201202 link

Bugfix version for 20201105

  • Bug: The signalk websockets connection(new in 20201105) does not work. Unchanged data will be removed after 30s. Additionally you could not unconfigure the use of websockets
  • Bug: The documentation of the parameter useWebsockets for signalk was wrong.

20201105 link

  • Feature: Power saving button (android and BonjourBrowser) #69
  • Feature: Implement course vectors (depending on speed) for boat and AIS #59, see Navigation Page (some new Settings)
  • Feature: Allow to set AIS symbol size and Border #58
  • Feature: Allow to set images for different AIS targets, own boat, marker #53, see Description
  • Feature: Show overflow button if more then 8 Buttons on a page, allow for 2 button columns #68, see Navigation Page
  • Feature: Setting to force back button on top
  • Feature: Remove package dependency to gpsd
  • Feature: Allow plugins (widgets) to have event handlers at their objects and to communicate with the python part #75, see Plugin Description and User Java Script
  • Feature: Usage of SignalK charts #76, see SignalK Charts
  • Bug: Avoid n2k not working any more after long time
  • Bug: Unexpected go back from various pages when clicking (itemlist clicking)
  • Bug: Correctly go to previous waypoint when deleting last in route
  • Bug: Become robust against empty values in DPT,DBT #60
  • Bug: Correctly handle filters in avnav_server.xml with blacklist only
  • Bug: Become more robust against shortened AIS type 5 message  ( no callsign, name,... for some AIS targets)
  • Bug: Reload a chart in the browser if it has been modified on server (mbtiles, ocharts)
  • Bug: (Android only) accept unknown NMEA talker ids
  • Bug: Make center to Ais target working again #74
  • Bug: Correctly show anchor watch distance in m #62
  • Bug: Fix broken user app dialog for long urls #66
  • Bug: Change handling for mbtiles scheme #63, see Description Charts
  • Hint: When installing with dpkg -i (will give an error) you need to install missing dependencies with:
    sudo apt-get install -f

20200609 link

  • correct handling for chart files having spaces in their names
  • Android corrections (20200605): correctly handle external browser mode on older devices

20200515 link

  • GPS status display on mainpage (thanks free-x)
  • Wind graphics on nav page does not shrink any more
  • Depth display is working again
  • CSS class for widgets in the layout editor is working again
  • NMEA logger is working again
  • No multiple loading of plugins
  • remove eniro from demo sources

20200401 link

  • fix connection to open external wifi networks (without password)

20200325 link

20200204 link

  • Support for NME2000 (via canboat) and SignalK - see description
  • Layout changes

Older Versions on the german page only....