0.4.5
- Each shape is written once. Where a source lists several records at one place (a wreck listed twice, a disposal ground listed once per year), the export now writes one shape, named with the records' names.
- Large areas are outlined more accurately. Marine parks and other areas with long straight sides are now buffered and simplified.
- Load Data is faster. Sources on different servers download side by side, and the Allen Coral Atlas reef data is kept for 30 days and reused.
- The Export dialog's polygon and vertex counts are marked "~": they are an estimate made before the file is written.
- Minor UI improvements in both light and dark.
- Minor bug fixes and improvements.
0.4.4
- Four new race areas: Sydney Hobart, the PIC Coastal Classic, the RORC Caribbean 600 and the RORC Transatlantic. Each has its own regions to export by, its own data sources and its own Notices to Mariners (NAVAREA X and AUSCOAST; NAVAREA XIV and NZ Coastal; NAVAREA IV and the French Antilles; NAVAREA II and the Spanish coastal warnings). Pick the race under Race area and use Load Data.
- Reefs and shoals according to your depth preference. Set your draft and a safety margin under Depth limit: water shallower than that is avoided, deeper water up to the ceiling is drawn dashed. Please note, as always, no guarantee is given as to the accuracy of the data.
- Sargassum weed for the Caribbean 600 and the Transatlantic: the latest 7-day picture, drawn as dashed patches. Data from the University of South Florida's Sargassum Watch.
- Moored ocean buoys on the Transatlantic are avoided by default, so your route goes round them. Turn it off if you prefer.
- New Zealand chart data from LINZ is optional: add your own free LINZ key under Config.
- If Notices to Mariners can't be fetched for your area, Obstacle Mapper tells you, in red, so you know to check the official notices before you sail.
- Region clicks are instant. Selecting or clearing a forecast area redraws the map straight away.
- A faster map overall. Race files redraw without waiting, settings changes reuse the work already done, and objects too small to see at the current zoom are not drawn (zoom in and they appear; they are always exported).
- Offshore energy sites listed in databases as very small are now drawn and exported as small circles, to make them more visible.
- Avoid this object. Click an object to open its card, and switch Avoid on or off for that object alone.
- Load Data is safer. A fetch that fails or is cancelled no longer loses the data you already had, and each source either updates completely or not at all. Load Data warns you before a long fetch, and you leave it with Cancel.
- OpenStreetMap data downloads more reliably when its servers are busy, and waits less between tries.
- Where shapes overlap, the smaller one now takes the hover and the click, so a large area (such as "no Sargassum data") no longer hides the objects inside it.
- A new About tab, with What's new and Messages.
- Minor bug fixes and improvements.
0.4.3
- Middle Sea Regions updated. The entire coastline of Sicily is now included, just in case you go way off course.
- Map download robustness improvements. Including multiple retry paths and attempts.
- Map tiles fill in better on a poor or missing connection. Tiles that could not be fetched straight away are asked for again, a few at a time, and no longer hold up the rest of the map.
- Minor bug fixes and improvements. Among them: About > Check for updates now says when a check could not be completed, rather than reporting that you are up to date; the Cancel fetch button is readable in light mode; and the race-area switches are announced as one choice by screen readers.
0.4.2
- THE ROLEX MIDDLE SEA RACE IS NOW SUPPORTED. The Middle Sea course area is fetched, drawn and exported like any other, with its own five course-leg regions to manage and export obstacles for your routing software. Pick the race at the top of the Map panel, under Race area; the app loads that area's obstacles without a restart, and remembers your choice for next time.
- A new installation opens on the Middle Sea.
- An existing installation is left exactly as it is. If you already have Round Britain & Ireland data, the app keeps opening on it and keeps that data - nothing is moved, switched or refetched behind you. Choose Middle Sea under Race area whenever you want it, and use Load Data to fetch it; your Round Britain & Ireland data stays where it is and comes back when you switch back.
- Load Data offers only what covers your race area. For the Middle Sea, sources that do not cover the Mediterranean are no longer listed or fetched, so they no longer report "nothing returned". After a fetch, the status line says how many objects were fetched for the area.
- The Stromboli Prohibited Zone is already loaded - from the 2025 Sailing Instructions. For the Rolex Middle Sea Race, the zone in Appendix A3.1 of the 2025 Sailing Instructions now appears under Load Data > External files as if you had added it yourself, set to Avoid, and it is named "Stromboli Prohibited Zone (2025 SI)" on your plotter. It is the 2025 zone: check the 2026 Sailing Instructions and the Official Notice Board, which supersede it. Its landward edge is approximate, because the Sailing Instructions name the shore points rather than give their positions. Remove it with the red x if you do not want it - it will not come back.
- Notices to Mariners for NAVAREA III are added. This covers areas of the Rolex Middle Sea Race. Notices to Mariners will be available in the control panel to the left and will also be drawn in the map as usual.
- Ocean Racing maps. Two Ocean Racing maps: one each for light and dark themes. Configure in Config → Appearance → Map. Ocean Racing maps are custom built for sailing areas and are more efficient to download and store.
- Prepare maps before you sail. Pan and Zoom around your race area to ensure you have what you need in case you lose internet connectivity. Obstacle Mapper will intelligently store viewed map tiles and share them automatically with other Ocean Racing applications to minimize downloads and storage.
- Map storage. Config allows you to manage how much disk space your maps are using shared across all Ocean Racing applications.
- Sea marks. Buoys, beacons and lights from OpenSeaMap, drawn over whichever map you are using. On by default; turn them off in the same place.
- Map warnings in one place. When a map cannot be reached, or a theme has no map of its own, it is said once along the foot of Config → Appearance, apart from the maps' descriptions.
- Notices to Mariners are read the way they are written - areas are areas. A warning that gives an area ("IN AREA BOUND BY", "BOUNDED BY", or the Spanish service's "DELIMITED BY") now draws as that area, not as a scatter of corner points nobody could see; an area given in lettered parts (A, B, C...) draws each part. This covers every NAVAREA.
- Closed to navigation means avoid. A warning that says navigation is prohibited, names an exclusion area, or warns of mines is drawn solid and exported as an avoid, whatever the Notices layer's Avoid switch says.
- A requested berth is drawn. "10 NM BERTH REQUESTED" - or "MAINTAIN A SAFE DISTANCE OF 500 METERS" - draws a dashed circle of that radius around the warning, and exports as a dashed note that is not avoided. A plain "WIDE BERTH REQUESTED" gives no distance, so nothing is drawn for it. The Spanish service's "10 MN RECEIPT REQUESTED" is read as a berth request.
- An area bounded by the coastline encloses the coast. Its coast side is closed by a straight line over the land, so the water between its last position and the shore is inside it. The hover says so.
- A position given as "near" something is a reference, not a corner. It is marked, and the area keeps the shape its corners give it. When it is an oil or gas platform, it is drawn as its 500 m safety zone, which all ships must respect under UNCLOS Article 60.
- Warnings outside your race area are shown, never exported. Every warning of the race area's NAVAREA is now on the map, so you can see the feed is working; only those inside your selected regions are written to a file. Hover one to see why.
- How the wording is read follows the Joint IMO/IHO/WMO Manual on Maritime Safety Information, MSC.1/Circ.1310/Rev.2 (24 June 2024), and the IHO S-53 Joint IHO/IMO/WMO Manual on Maritime Safety Information (January 2016). Where a national service writes differently from the manual (the Spanish "DELIMITED BY"), its own wording is recognised too.
- Minor bug fixes and improvements. Some larger than others - Obstacle Mapper now has light and dark modes to reduce white light pollution below deck at night. This is set either automatically by your operating system, or manually if you just happen to prefer either theme.
- Map and Config tabs. The app now opens on a Map tab - the panel you know, beside the chart - and has a Config tab for settings that are not about what the router avoids. Appearance (Automatic / Manual, Light / Dark) has moved there, and it is where map packs and bounding boxes will live. The title, version and About now sit in a strip across the top, so they are there whichever tab is open. The app always opens on Map.
0.4.1
- Some oil and gas platforms were erroneously omitted from some exports. Fixed. Obstacle Mapper was asking EMODnet for the wrong thing: it fetched the administrative licence blocks instead of the platforms standing inside them. Both now arrive - the licence areas are drawn for context and are not avoided, while 277 platforms that no other source covered, 215 of them in production, are now drawn and avoided. (EMODnet lists 1,198; the rest were already on your chart from OSPAR and the Norwegian Offshore Directorate, and are not duplicated.)
- Structures that are consented but not yet marked "built" are now shown. Hornsea Project Three - 231 turbines, physically under construction and buoyed during the 2026 Round Britain & Ireland race - was fetched and then hidden, because the source data still said "Approved". Source status lags what is actually in the water, so anything consented is now shown by default and drawn dashed: visible, with the decision to avoid it left to you. This reaches existing installations on upgrade, not only new ones.
- Drilling rigs are named individually. The NAVAREA broadcast lists the mobile rigs currently on station - the ones no fixed database can carry, because they move. They used to arrive as a single unnamed blob; each is now its own labelled feature ("ENSCO 92 - LEMAN GAS FIELD"), so you can see which rig is where and when the list last moved it.
- Far more dumped munitions - shown, but not avoided and not exported. The munitions layer went from 9 mapped areas to 6,568 records as individual reported positions arrived. They are drawn for awareness and Avoid is off by default - routing around every one is not practical. The individual positions are single points rather than areas, so out of the box they appear on the chart only and are not written to the exported file; the 9 mapped munitions areas are proper polygons and export as they always have. If you do want the positions in your file, the new Munitions positions slider under Buffers turns each one into a circle of the radius you choose, and they then export like any other area - at 0 (the default) nothing changes. Turning it on is a big step up in file size: it adds roughly 427,000 vertices, so check the size readout in the Save dialog before you export.
- Load Data could not see your cached data. Reported from the boat: every source read "no cached content" and showed no date, even with a full cache sitting on disk, because the screen was looking for the old file format. Fixed - it finds the cache and shows when it was pulled.
- Click an obstacle to pin its detail card. Clicking any Obstacle Mapper obstacle now opens a detail card on the map: every row the hover shows, plus the source's own raw data in full. Drag it anywhere by its dotted grip strip and it stays put for the rest of the session; long cards scroll; close it with the X or by clicking open water. Clicking an obstacle no longer also toggles the forecast region beneath it - region selection is a water click.
- Region selection works over land again. In 0.4.0, clicking a forecast region over land or the coastal margin silently did nothing. Fixed.
- Named wrecks keep their names. A wreck, rock or obstruction the source data names - Helvetia, Mohegan, SM UB-55 - now carries that name on the chart, in the hover and card, and in the exported Expedition and Adrena files, instead of the generic "Wreck" (370 named features in the standard area's data). Nothing else about them changes, and it works on your existing fetched data - no re-download needed.
- Hovers are proper cards now - name, type, and aligned detail rows, instead of a run of text.
- Rocks, wrecks and obstructions show their detail - kind, water level, category, depth when the source records one, and the date sunk.
- Oil & gas platforms show their lifecycle - the development stage, the source's own phase wording, and the key dates (start-up, shutdown, removal) in the hover.
- Restricted areas say what they restrict - the restriction itself, the area type, and any time-based detail: in-force windows, opening hours, access conditions, speed limits.
- Clearer Avoid wording - the Avoid row now reads "Avoided" / "Not avoided": what the router will do, with no claim about your right of entry.
- Export size advisory recalibrated - the vertex-count warning now starts at 1,000,000 (was 250,000, which warned on every full-area export; both Expedition and Adrena load far more comfortably).
- Dark mode. The whole app now follows your Windows light/dark setting, or you can pin it Light or Dark yourself and it is remembered. The window that appears while the app starts follows it too, so a night start no longer opens with a white flash. The chart itself stays light in both schemes - deliberately: dark chart tiles are a larger piece of work, and a half-dark chart reads worse than a consistent one.
- The app now starts correctly with no internet. The styling was pulling a font from the web on every launch. Online you would not notice; offline it stalled. Measured worst case on a link that is up but has no route out - the normal failure mode on a boat - the first paint took 10.2 seconds, with the app unstyled until it gave up. Everything is now carried inside the app: first paint is 164 ms online and 284 ms in that same stalled case.
- Much faster with the munitions slider turned up. Turning 6,559 munitions positions into circles took 135 seconds, most of the app looking idle while it worked, and it was paid again on every launch. It now takes 0.5 seconds and produces byte-identical shapes. Redrawing after a region change is also about 4x faster at the default overlap.
- Readability fixes throughout. A number of controls were close to invisible against their background - including the region and Load Data checklists that decide what gets exported, and the External files tab itself, which was hard to see at all. All corrected in both schemes.
- The Save dialog's size readout could fail to appear. Opening Export showed a blank size estimate and no file list. The size limit itself always applied, so nothing was ever exported past the guard - but you could not see the numbers. Fixed.
- Under the hood - update-check robustness fixes shared with Obstacle Sentry; the prepared obstacle-layer cache now also refreshes when the shared library updates, not only the app; the never-configured Crown Estate source is retired from Load Data and the credits. The shared library now lets an obstacle file state its own category directly rather than having it inferred from its colour; a category this version does not recognise is shown and avoided by default rather than silently ignored, and if you deliberately turn one off that choice sticks.
0.4.0
- Obstacle Sentry now available from Ocean.Racing: takes files generated by Obstacle Mapper (Expedition, Adrena, KML) or your local friendly RORC navigator, keeps watch of your position, and raises configurable alarms. First public release - find it at ocean.racing.
- Instrument Bridge also available from Ocean.Racing: Capture, record, monitor, discover, and diagnose your boat's instrument and AIS feed. Redistribute over TCP to any number of tools simultaneously.
- Load external obstacle files. Load Data now has an External files tab: bring in Expedition racenotes (
.xml), Adrena (.cl10), or KML files from any source - a race organiser, another navigator, your own hand-drawn notes. Each file gets its own panel section, grouped by the file's own colours with a "we think this is ..." label per group, and its own Show / Avoid / Alarm switches per group (with all/none) - defaulted from the file's own flags, cautiously. The shapes draw in the file's own colours, and export to both formats exactly as they came in. Hover any of them to see which file it came from and when it was read. Files stay in your list between launches, each with an on/off switch and a Remove control - and external files never displace your own data. A nice touch: your own older Obstacle Mapper exports (pre-0.3.0 files) are recognised and labelled "Ocean.Racing" when you load them back in. Thanks to Andrew Tseng (Quailo III) for the external file testing. - Subsea oil & gas kit is no longer an avoid obstacle. About half the "oil & gas platform" records are actually subsea wellheads, manifolds and pipeline structures, typically under ~100 m of water - no collision hazard. They now get their own Oil & gas subsea awareness layer (shown by default in a muted taupe, dashed = enterable, and exported that way too), while real surface platforms stay avoided exactly as before. If we cannot tell a structure's type from the data, it stays treated as a platform - avoided, and the hover says so. Works on your existing fetched data, no re-download needed. (A reminder: dashed "you may enter" lines need Expedition 12.8.10 or newer - older versions draw everything solid. Adrena is unaffected.)
- Removed oil & gas structures no longer chart as obstacles. Structures recorded by OSPAR as decommissioned - meaning removal is complete, like the old Kinsale Head platforms and the Seven Heads wells - are now classified as gone and hidden by default (about a hundred such records in the standard area, plus the removed subsea kit). Still-standing shut-in platforms remain shown and avoided, exactly as before. Thanks to Ian Hoddle (Game On).
- Oil & gas platforms join the Development stage filter. They are now governed by the same stage matrix as wind farms and marine energy, with a new Inactive stage for present-but-not-producing structures (shut in, abandoned in place) - still avoided by default, but now distinct from Operational.
- Oil & gas licence areas are boundaries, not obstacles. The "Oil & gas" layer (the large licence/exploitation areas, as opposed to the structures) no longer defaults to avoid: the boundaries draw dashed for awareness, and routing avoids the concrete platforms inside them instead of the whole block. Flip its Avoid switch back on if you prefer the old behaviour.
- Operational rows per family. The Layers list now shows Wind farms, Marine energy, and Oil & gas platforms as their own rows with live counts, so you can switch one family's operational sites without touching the others.
- A cleaner panel. Every checkbox is now a proper toggle switch, the control panel is wider, and the Load Data screen is split into two stable tabs (Online Databases / External files).
- Revert now really means factory. The Revert button resets the whole panel including the full Development stage matrix. Note the factory stage defaults themselves: sites that are only Consented or Proposed (not yet built) are neither shown nor avoided by default - if your saved panel still avoids them from an earlier version, one press of Revert now clears that.
- Fetch problems are surfaced. If a data layer fails to download, Load Data says so per layer (and the export manifest records it) instead of quietly shipping less.
- Improved zoom and pan. Made far more responsive thanks to algorithm and data optimizations.
- Much faster start-up. Re-opening Obstacle Mapper on data you have already fetched is now much quicker: both the prepared obstacle layers and the fetched data load from compact binary caches instead of being rebuilt and re-parsed from scratch, and the map opens straight to your working area instead of scanning every feature to frame the view. The caches refresh automatically whenever your data changes (or after an update), so you always see the current obstacles.
- Under the hood - cross-source de-duplication of oil & gas platforms is now correct anywhere in the world, not only around Europe; and a saved setting that refers to something no longer present (a renamed layer, an area that has changed) degrades cleanly instead of being able to stop the app from starting.
0.3.1
- Dashed lines now available, signifying "you may enter". Avoid / non-enterable areas are drawn with a solid line. In both Expedition and Adrena. (Expedition version 12.8.10+; earlier versions draw everything solid.) Thanks to Nick and the Expedition team for adding line_style.
- Fixed: missing dredge-spoil and ocean-energy areas. A data-fetch bug in 0.3.0 was silently dropping EMODnet dredge-spoil disposal grounds and ocean-energy sites (0.3.0 only; earlier versions were unaffected). They are now fetched, drawn, and exported again. Re-run Load Data to refresh an earlier cache.
- Adrena objects now carry their provenance - each label shows name | type | avoid or entry allowed | source + date, the same detail Expedition shows in its Notes tab.
- Much faster data preparation - after a data fetch, building the obstacle layers is dramatically quicker: buffering now takes seconds where previously it was minutes, so loading and re-tuning feel snappy.
- Coastline awareness vastly improved - the coast and its obstacles now draw all the way to each shipping-forecast area's boundary, instead of being cut off mid-area.
- The data area is now shown on the map - a faint outline marks the Round Britain & Ireland box Obstacle Mapper fetches within; nothing outside it is downloaded or shown.
- Much faster Notices to Mariners fetch - NAVAREA I warnings now take about a second instead of up to a minute, and the app installs smaller as a result.
- A smoother Load Data screen - a live branded indicator shows the build step and the view follows the newest progress; once your data is ready the Close button turns blue to point you to the next step; plus layout tidy-ups.
- Won't open twice by accident - a second copy that could clash over the data cache is refused with an "already running" note.
- Minor UI changes - tidy accordion-card panel sections and small dialog tidy-ups.
- Under the hood - more accurate danger circles, drop-proof buffering, faster region scoping on large exports, and corrected-UTC diagnostic logs.
0.3.0
- Adrena export - Obstacle Mapper can now write Adrena notes files (
.cl10) as well as Expedition racenotes. Pick either or both formats in the Export dialog; the same tuned obstacle set is written to each. With grateful thanks to Minus Tjeenk Willink (Tjoba) and to Andreas Buchheim and Tim Behrendt (Frida) for their very kind assistance with the Adrena file format. - Avoid and Alarm - every layer now has two independent switches. Avoid keeps the router clear of it (Expedition
avoid/ Adrena Forbidden); Alarm raises an on-entry alarm in Adrena (Adrena Dangerous). Tick either, both, or neither, per layer. - Unified Layers panel - Show / Avoid / Alarm are now one tidy table with per-column all / none, and the Development Stage section gains the same Alarm column. Column headers say exactly what each maps to in Expedition and Adrena.
- Notices to Mariners as a layer - NOTMARs are now a full Show / Avoid / Alarm layer that can be exported to both formats, scoped to the warnings you have selected.
- Remembers how you left it - the app now restores your whole panel on the next launch: layers, buffers, coastline detail, selected regions and overlap, chosen notices, and your export format choice. Corrupt or out-of-date settings fall back to defaults rather than failing to start.
0.2.7
- Development Stage filter - wind farms & marine-energy sites can now be filtered by development stage (Operational / Under construction / Consented / Proposed / Defunct / Unknown), each with its own Show and Avoid toggle. By default every stage is shown and avoided except Defunct, which is hidden (and entry-allowed if you choose to show it). Completed marine-energy trials are treated as removed (Defunct) only when their end year has passed - otherwise they're kept and avoided, to be safe.
- Show / Avoid wording - the control panel now uses Expedition's vocabulary: Show layers (drawn + exported) and Avoid (ticked = routing avoids it). The old "Enterable" control is now the Avoid list. What gets routed around is unchanged - only the wording.
- Hover detail - hover any wind farm / marine-energy site to see its development stage and the raw source status; the hover/click text updates live as you change Show/Avoid.
- What's new - this tab, opened automatically the first time you run a new version.
0.2.6
- In-app auto-update: Obstacle Mapper now checks for new versions on start-up and shows an "update available" banner. Click Update to download, verify, and install - or use About → Check for updates any time.
0.2.5
- First build with the auto-update plumbing and the signed-manifest update check.