diff --git a/CHANGELOG.md b/CHANGELOG.md
index 659ec4cdf1..77848fde9d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,55 @@
BioJava Changelog
-----------------
+BioJava 7.3.0
+==============================
+### Added
+* Fetching, caching and display of electron density and cryo-EM maps #1134
+* Checksum verification (MD5, SHA-1, SHA-256) in `FileDownloadUtils`, replacing the previous
+ stub. Downloads from `files.wwpdb.org` and `files.rcsb.org` are checksummed from their `ETag`
+ without a second request #1133
+* `HttpStatusException`, so callers can tell "not there" from a transport failure #1133
+* `FileDownloadUtils.downloadFileWithValidation()`, which downloads and validates over a single
+ connection #1133
+* `LocalPDBDirectory.getMiddleHash(String)`, computing the two-character directory from the
+ right so that it is correct for both short and extended PDB IDs #1133
+* Support for the ECOD distribution format introduced at v294.1 #1141 #1139
+
+### Performance
+* Contact calculation is about 1.5x faster: squared distances compared against a squared cutoff,
+ primitive arrays in `GridCell` instead of boxed lists, and a pre-sized `AtomContactSet` #1147
+* ASA calculation is about 1.2-1.3x faster, by the same replacement of objects with flat
+ primitive arrays in the hot loops #1148
+* `EcodInstallation.getVersion()` reads the file header instead of parsing every domain. The
+ current release is 653 MB and holds nearly three million records #1141
+
+### Fixed
+* CATH downloads use https and check the response before caching it. The previous http URL began
+ redirecting, and the redirect body was cached as classification data #1133 #1138
+* CATH parsing no longer throws `ArrayIndexOutOfBoundsException` on blank or truncated lines, and
+ cached files are validated before being used #1145
+* Chemical component downloads reject redirects and error responses rather than caching them #1133
+* Redirects that `HttpURLConnection` does not follow by itself - 307, 308, and any that change
+ http to https - are now followed #1151 #1149
+* `FileDownloadUtils`: the `hash` argument was ignored by one overload; downloads could be
+ silently truncated; temporary files leaked on failure; `validateFile` threw on a file with no
+ parent directory and on an empty `.size` sidecar #1133
+* mmCIF writer emits the entry identifier as a data item, so `getPdbId()` survives a
+ write-then-read round trip #1144 #1143
+* The ECOD read lock is left balanced when a download fails, so the original error is no longer
+ replaced by `IllegalMonitorStateException` #1150
+* Resolution parsing warns only when the values actually differ
+
+### Changed
+* `createValidationFiles()` now defaults to `ETagPolicy.USE_IF_HEX_DIGEST`, so existing callers
+ begin recording checksums where the server offers one #1133
+* Integration tests run nightly rather than on every pull request #1137 #1135
+* Tests migrated to JUnit 5 #1125 #1126 #1038
+* Library upgrades #1130 #1132
+
+### Removed
+* The `junit-addons` test dependency, no longer needed after the JUnit 5 migration #1126
+
BioJava 7.2.6
==============================
### Fixed
diff --git a/biojava-aa-prop/pom.xml b/biojava-aa-prop/pom.xml
index 22bc632906..04db67d2ac 100644
--- a/biojava-aa-prop/pom.xml
+++ b/biojava-aa-prop/pom.xml
@@ -2,7 +2,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
4.0.0
biojava-aa-prop
@@ -70,12 +70,12 @@
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
org.biojava
biojava-structure
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
diff --git a/biojava-alignment/pom.xml b/biojava-alignment/pom.xml
index 7ff8f29cf4..7f0594181f 100644
--- a/biojava-alignment/pom.xml
+++ b/biojava-alignment/pom.xml
@@ -4,7 +4,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-alignment
biojava-alignment
@@ -47,7 +47,7 @@
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
diff --git a/biojava-core/pom.xml b/biojava-core/pom.xml
index 4826cf9d17..2085e47b5b 100644
--- a/biojava-core/pom.xml
+++ b/biojava-core/pom.xml
@@ -3,7 +3,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
4.0.0
biojava-core
diff --git a/biojava-genome/pom.xml b/biojava-genome/pom.xml
index e469de412c..956cfaa2dd 100644
--- a/biojava-genome/pom.xml
+++ b/biojava-genome/pom.xml
@@ -3,7 +3,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
4.0.0
biojava-genome
@@ -73,13 +73,13 @@
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
org.biojava
biojava-alignment
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
diff --git a/biojava-integrationtest/pom.xml b/biojava-integrationtest/pom.xml
index 870612fc63..81ec390cc7 100644
--- a/biojava-integrationtest/pom.xml
+++ b/biojava-integrationtest/pom.xml
@@ -4,7 +4,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-integrationtest
jar
@@ -40,7 +40,7 @@
org.biojava
biojava-structure
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
diff --git a/biojava-modfinder/pom.xml b/biojava-modfinder/pom.xml
index e0db50f1db..343aa74f6c 100644
--- a/biojava-modfinder/pom.xml
+++ b/biojava-modfinder/pom.xml
@@ -4,7 +4,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-modfinder
biojava-modfinder
@@ -31,7 +31,7 @@
org.biojava
biojava-structure
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
jar
compile
diff --git a/biojava-ontology/pom.xml b/biojava-ontology/pom.xml
index eb9e3564c1..efc24f1290 100644
--- a/biojava-ontology/pom.xml
+++ b/biojava-ontology/pom.xml
@@ -4,7 +4,7 @@
org.biojava
biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-ontology
diff --git a/biojava-protein-comparison-tool/pom.xml b/biojava-protein-comparison-tool/pom.xml
index 1527d691f4..8f6fb7f420 100644
--- a/biojava-protein-comparison-tool/pom.xml
+++ b/biojava-protein-comparison-tool/pom.xml
@@ -4,7 +4,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-protein-comparison-tool
@@ -36,23 +36,23 @@
org.biojava
biojava-alignment
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
org.biojava
biojava-structure
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
org.biojava
biojava-structure-gui
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
net.sourceforge.jmol
diff --git a/biojava-protein-disorder/pom.xml b/biojava-protein-disorder/pom.xml
index 827c708a2b..434f6d3f18 100644
--- a/biojava-protein-disorder/pom.xml
+++ b/biojava-protein-disorder/pom.xml
@@ -3,7 +3,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-protein-disorder
jar
@@ -63,7 +63,7 @@
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
diff --git a/biojava-structure-gui/pom.xml b/biojava-structure-gui/pom.xml
index 21e01ce42e..14a38eb37f 100644
--- a/biojava-structure-gui/pom.xml
+++ b/biojava-structure-gui/pom.xml
@@ -3,7 +3,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
4.0.0
biojava-structure-gui
@@ -27,13 +27,13 @@
org.biojava
biojava-structure
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
diff --git a/biojava-structure/pom.xml b/biojava-structure/pom.xml
index 647ab49c72..e3b5163341 100644
--- a/biojava-structure/pom.xml
+++ b/biojava-structure/pom.xml
@@ -4,7 +4,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-structure
biojava-structure
@@ -51,13 +51,13 @@
org.biojava
biojava-alignment
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
diff --git a/biojava-survival/pom.xml b/biojava-survival/pom.xml
index 570a2dd99b..8115693dfc 100644
--- a/biojava-survival/pom.xml
+++ b/biojava-survival/pom.xml
@@ -4,7 +4,7 @@
org.biojava
biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-survival
diff --git a/biojava-ws/pom.xml b/biojava-ws/pom.xml
index c3fe2a9513..ebc18949ed 100644
--- a/biojava-ws/pom.xml
+++ b/biojava-ws/pom.xml
@@ -3,7 +3,7 @@
biojava
org.biojava
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava-ws
biojava-ws
@@ -19,7 +19,7 @@
org.biojava
biojava-core
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
compile
diff --git a/pom.xml b/pom.xml
index 79db94ee26..dbed771382 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
org.biojava
biojava
pom
- 7.2.7-SNAPSHOT
+ 7.3.0-SNAPSHOT
biojava
BioJava is an open-source project dedicated to providing a Java framework for processing biological
data. It provides analytical and statistical routines, parsers for common file formats and allows the