diff --git a/ChangeLog.md b/ChangeLog.md
index 1c5c7701..eb75a48f 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,25 @@
 This is the master changelog for Elite Dangerous Market Connector.  Entries are in reverse chronological order (latest first).
 ---
 
+Release 4.0.4
+===
+
+ * Don't crash if no non-default Journal Directory has been set.
+ * Only send to Inara API at most once every 30 seconds.  This should avoid
+ the "Inara 400 Too much requests, slow down, cowboy. ;) ..." message and
+ being locked out from the API for an hour as a result.  Any events that
+ require data to be sent during the 30s cooldown will be queued and sent when
+ that timer expires.
+ 
+    This was caused by previous changes in an attempt to send cargo events
+    to Inara more often.  This fix retains that enhancement.
+    
+    Note that if you log out and stop EDMC within 30 seconds you might have
+    some events not sent.  If we tried to force a send then it might hit the
+    limit when you want to log back in and continue playing.  As it is you can
+    re-run EDMC and log back into the game to ensure Inara is synchronised
+    properly.
+
 Release 4.0.3
 ===
 
diff --git a/config.py b/config.py
index b0b887ec..c65b59dc 100644
--- a/config.py
+++ b/config.py
@@ -13,7 +13,7 @@ appcmdname = 'EDMC'
 # appversion **MUST** follow Semantic Versioning rules:
 # <https://semver.org/#semantic-versioning-specification-semver>
 # Major.Minor.Patch(-prerelease)(+buildmetadata)
-appversion = '4.0.3'  #-rc1+a872b5f'
+appversion = '4.0.4'  #-rc1+a872b5f'
 # For some things we want appversion without (possible) +build metadata
 appversion_nobuild = str(semantic_version.Version(appversion).truncate('prerelease'))
 copyright = u'© 2015-2019 Jonathan Harris, 2020 EDCD'
diff --git a/edmarketconnector.xml b/edmarketconnector.xml
index 1ad38955..41b5dcd4 100644
--- a/edmarketconnector.xml
+++ b/edmarketconnector.xml
@@ -168,11 +168,33 @@
 		<!-- Windows -->
 
 		<item>
-			<title>Release 4.0.3</title>
+			<title>Release 4.0.4</title>
 			<description>
 				<![CDATA[
 <style>body { font-family:"Segoe UI","Tahoma"; font-size: 75%; } h2 { font-family:"Segoe UI","Tahoma"; font-size: 105%; }</style>
 
+<h2>Release 4.0.4</h2>
+<ul>
+<li>
+<p>Don't crash if no non-default Journal Directory has been set.</p>
+</li>
+<li>
+<p>Only send to Inara API at most once every 30 seconds.  This should avoid
+the "Inara 400 Too much requests, slow down, cowboy. ;) ..." message and
+being locked out from the API for an hour as a result.  Any events that
+require data to be sent during the 30s cooldown will be queued and sent when
+that timer expires.</p>
+<p>This was caused by previous changes in an attempt to send cargo events
+to Inara more often.  This fix retains that enhancement.</p>
+<p>Note that if you log out and stop EDMC within 30 seconds you might have
+some events not sent.  If we tried to force a send then it might hit the
+limit when you want to log back in and continue playing.  As it is you can
+re-run EDMC and log back into the game to ensure Inara is synchronised
+properly.</p>
+</li>
+</ul>
+
+
 <h2>Release 4.0.3</h2>
 <p><strong>NB: Anyone who installed a 4.0.3-rcX release candidate version should first
 uninstall it before installing this.</strong>
@@ -578,10 +600,10 @@ If any of your plugins are listed in that section then they will need updating,
 				]]>
 			</description>
 			<enclosure
-				url="https://github.com/EDCD/EDMarketConnector/releases/download/Release/4.0.3/EDMarketConnector_win_4.0.3.msi"
+				url="https://github.com/EDCD/EDMarketConnector/releases/download/Release/4.0.4/EDMarketConnector_win_4.0.4.msi"
 				sparkle:os="windows"
 				sparkle:installerArguments="/passive LAUNCH=yes"
-				sparkle:version="4.0.3"
+				sparkle:version="4.0.4"
 				length="11325440"
 				type="application/octet-stream"
 			/>