GEOMETRY-65: Remove "Serializable".
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractConvexHyperplaneBoundedRegion.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractConvexHyperplaneBoundedRegion.java
index d920335..e1efb4b 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractConvexHyperplaneBoundedRegion.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractConvexHyperplaneBoundedRegion.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.core.partitioning;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -34,11 +33,7 @@
  * @param <S> Convex subhyperplane implementation type
  */
 public abstract class AbstractConvexHyperplaneBoundedRegion<P extends Point<P>, S extends ConvexSubHyperplane<P>>
-    implements HyperplaneBoundedRegion<P>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190812L;
-
+    implements HyperplaneBoundedRegion<P> {
     /** List of boundaries for the region. */
     private final List<S> boundaries;
 
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplane.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplane.java
index 6bfb2b8..7f9a43c 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplane.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplane.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.core.partitioning;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 import org.apache.commons.geometry.core.Region;
 import org.apache.commons.geometry.core.RegionLocation;
@@ -31,11 +29,7 @@
 public abstract class AbstractEmbeddingSubHyperplane<
     P extends Point<P>,
     S extends Point<S>,
-    H extends EmbeddingHyperplane<P, S>> implements SubHyperplane<P>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190729L;
-
+    H extends EmbeddingHyperplane<P, S>> implements SubHyperplane<P> {
     /** {@inheritDoc} */
     @Override
     public boolean isFull() {
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractHyperplane.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractHyperplane.java
index 03d1723..08bc047 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractHyperplane.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/AbstractHyperplane.java
@@ -16,19 +16,13 @@
  */
 package org.apache.commons.geometry.core.partitioning;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 import org.apache.commons.geometry.core.precision.DoublePrecisionContext;
 
 /** Base class for hyperplane implementations.
  * @param <P> Point implementation type
  */
-public abstract class AbstractHyperplane<P extends Point<P>> implements Hyperplane<P>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 1L;
-
+public abstract class AbstractHyperplane<P extends Point<P>> implements Hyperplane<P> {
     /** Precision object used to perform floating point comparisons. */
     private final DoublePrecisionContext precision;
 
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractBSPTree.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractBSPTree.java
index 157eb16..cb63df2 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractBSPTree.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractBSPTree.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.core.partitioning.bsp;
 
-import java.io.Serializable;
 import java.util.Deque;
 import java.util.Iterator;
 import java.util.LinkedList;
@@ -37,11 +36,7 @@
  * @param <N> BSP tree node implementation type
  */
 public abstract class AbstractBSPTree<P extends Point<P>, N extends AbstractBSPTree.AbstractNode<P, N>>
-    implements BSPTree<P, N>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190330L;
-
+    implements BSPTree<P, N> {
     /** The default number of levels to print when creating a string representation of the tree. */
     private static final int DEFAULT_TREE_STRING_MAX_DEPTH = 8;
 
@@ -779,11 +774,7 @@
      * @param <N> BSP tree node implementation type
      */
     public abstract static class AbstractNode<P extends Point<P>, N extends AbstractNode<P, N>>
-        implements BSPTree.Node<P, N>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190225L;
-
+        implements BSPTree.Node<P, N> {
         /** The owning tree instance. */
         private final AbstractBSPTree<P, N> tree;
 
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
index 5bce738..93191bc 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.core.partitioning.bsp;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -44,10 +43,6 @@
         P extends Point<P>,
         N extends AbstractRegionBSPTree.AbstractRegionNode<P, N>>
     extends AbstractBSPTree<P, N> implements HyperplaneBoundedRegion<P> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 1L;
-
     /** Value used to indicate an unknown size. */
     private static final double UNKNOWN_SIZE = -1.0;
 
@@ -560,10 +555,6 @@
      */
     public abstract static class AbstractRegionNode<P extends Point<P>, N extends AbstractRegionNode<P, N>>
         extends AbstractBSPTree.AbstractNode<P, N> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 1L;
-
         /** The location for the node. This will only be set on leaf nodes. */
         private RegionLocation location;
 
@@ -799,10 +790,6 @@
      */
     protected static class BoundaryProjector<P extends Point<P>, N extends AbstractRegionNode<P, N>>
         extends ClosestFirstVisitor<P, N> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190504L;
-
         /** The projected point. */
         private P projected;
 
@@ -878,11 +865,7 @@
      * of the combined computation.
      * @param <P> Point implementation type
      */
-    protected static class RegionSizeProperties<P extends Point<P>> implements Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190428L;
-
+    protected static class RegionSizeProperties<P extends Point<P>> {
         /** The size of the region. */
         private final double size;
 
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AttributeBSPTree.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AttributeBSPTree.java
index 065f08f..59c2874 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AttributeBSPTree.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AttributeBSPTree.java
@@ -25,10 +25,6 @@
  */
 public class AttributeBSPTree<P extends Point<P>, T>
     extends AbstractBSPTree<P, AttributeBSPTree.AttributeNode<P, T>> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190306L;
-
     /** The initial attribute value to use for newly created nodes. */
     private final T initialNodeAttribute;
 
@@ -76,10 +72,6 @@
      */
     public static class AttributeNode<P extends Point<P>, T>
         extends AbstractBSPTree.AbstractNode<P, AttributeNode<P, T>> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 1L;
-
         /** The node attribute. */
         private T attribute;
 
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/BSPTreeVisitor.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/BSPTreeVisitor.java
index 8fc0ffd..6e5d689 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/BSPTreeVisitor.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/BSPTreeVisitor.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.core.partitioning.bsp;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 
 /** Interface for visiting the nodes in a {@link BSPTree} or {@link BSPSubtree}.
@@ -86,11 +84,7 @@
      * @param <N> BSP tree node implementation type
      */
     abstract class TargetPointVisitor<P extends Point<P>, N extends BSPTree.Node<P, N>>
-        implements BSPTreeVisitor<P, N>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190504L;
-
+        implements BSPTreeVisitor<P, N> {
         /** Point serving as the target of the traversal. */
         private final P target;
 
@@ -119,10 +113,6 @@
      */
     abstract class ClosestFirstVisitor<P extends Point<P>, N extends BSPTree.Node<P, N>>
         extends TargetPointVisitor<P, N> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190504L;
-
         /** Simple constructor.
          * @param target the point serving as the target for the traversal
          */
@@ -150,10 +140,6 @@
      */
     abstract class FarthestFirstVisitor<P extends Point<P>, N extends BSPTree.Node<P, N>>
         extends TargetPointVisitor<P, N> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190504L;
-
         /** Simple constructor.
          * @param target the point serving as the target for the traversal
          */
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/RegionCutBoundary.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/RegionCutBoundary.java
index a165381..3469afa 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/RegionCutBoundary.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/RegionCutBoundary.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.core.partitioning.bsp;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 import org.apache.commons.geometry.core.partitioning.SubHyperplane;
 
@@ -31,11 +29,7 @@
  *
  * @param <P> Point implementation type
  */
-public final class RegionCutBoundary<P extends Point<P>> implements Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190310L;
-
+public final class RegionCutBoundary<P extends Point<P>> {
     /** Portion of the region cut subhyperplane with its plus side facing the
      * inside of the region.
      */
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/DoublePrecisionContext.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/DoublePrecisionContext.java
index 7ca33ab..f8b047e 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/DoublePrecisionContext.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/DoublePrecisionContext.java
@@ -16,16 +16,11 @@
  */
 package org.apache.commons.geometry.core.precision;
 
-import java.io.Serializable;
 import java.util.Comparator;
 
 /** Class encapsulating the concept of comparison operations for doubles.
  */
-public abstract class DoublePrecisionContext implements Comparator<Double>, Serializable {
-
-    /** Serializable identifier. */
-    private static final long serialVersionUID = 20190121L;
-
+public abstract class DoublePrecisionContext implements Comparator<Double> {
     /** Return true if the given values are considered equal to each other.
      * @param a first value
      * @param b second value
diff --git a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/EpsilonDoublePrecisionContext.java b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/EpsilonDoublePrecisionContext.java
index 0d69c8b..1bc6213 100644
--- a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/EpsilonDoublePrecisionContext.java
+++ b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/precision/EpsilonDoublePrecisionContext.java
@@ -29,10 +29,6 @@
  * @see Precision#compareTo(double, double, double)
  */
 public class EpsilonDoublePrecisionContext extends DoublePrecisionContext {
-
-    /** Serializable identifier. */
-    private static final long serialVersionUID = 20190119L;
-
     /** Epsilon value. */
     private final double epsilon;
 
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestBSPTree.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestBSPTree.java
index b04ca59..1540788 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestBSPTree.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestBSPTree.java
@@ -22,10 +22,6 @@
 /** BSP Tree implementation class for testing purposes.
  */
 public class TestBSPTree extends AbstractBSPTree<TestPoint2D, TestBSPTree.TestNode> {
-
-    /** Serializable UID */
-    private static final long serialVersionUID = 20190225L;
-
     /** {@inheritDoc} */
     @Override
     protected TestNode createNode() {
@@ -47,10 +43,6 @@
     /** BSP Tree node class for {@link TestBSPTree}.
      */
     public static class TestNode extends AbstractBSPTree.AbstractNode<TestPoint2D,TestNode> {
-
-        /** Serializable UID */
-        private static final long serialVersionUID = 20190225L;
-
         public TestNode(AbstractBSPTree<TestPoint2D, TestNode> tree) {
             super(tree);
         }
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLine.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLine.java
index 8a19ed5..e70f869 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLine.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLine.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.core.partition.test;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Transform;
 import org.apache.commons.geometry.core.partitioning.EmbeddingHyperplane;
 import org.apache.commons.geometry.core.partitioning.Hyperplane;
@@ -26,7 +24,7 @@
 /** Class representing a line in two dimensional Euclidean space. This
  * class should only be used for testing purposes.
  */
-public class TestLine implements EmbeddingHyperplane<TestPoint2D, TestPoint1D>, Serializable {
+public class TestLine implements EmbeddingHyperplane<TestPoint2D, TestPoint1D> {
 
     /** Line pointing along the positive x-axis. */
     public static final TestLine X_AXIS = new TestLine(0, 0, 1, 0);
@@ -34,9 +32,6 @@
     /** Line pointing along the positive y-axis. */
     public static final TestLine Y_AXIS = new TestLine(0, 0, 0, 1);
 
-    /** Serializable UID */
-    private static final long serialVersionUID = 20190224L;
-
     /** X value of the normalized line direction. */
     private final double directionX;
 
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegment.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegment.java
index aa20dd7..b368dfa 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegment.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegment.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.core.partition.test;
 
-import java.io.Serializable;
 import java.util.Arrays;
 import java.util.List;
 
@@ -30,11 +29,7 @@
 /** Class representing a line segment in two dimensional Euclidean space. This
  * class should only be used for testing purposes.
  */
-public class TestLineSegment implements ConvexSubHyperplane<TestPoint2D>, Serializable {
-
-    /** Serializable UID */
-    private static final long serialVersionUID = 20190224L;
-
+public class TestLineSegment implements ConvexSubHyperplane<TestPoint2D> {
     /** Abscissa of the line segment start point. */
     private final double start;
 
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegmentCollection.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegmentCollection.java
index a541a5d..1c9b60e 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegmentCollection.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestLineSegmentCollection.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.core.partition.test;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -31,11 +30,7 @@
 /** Class containing a collection line segments. This class should only be used for
  * testing purposes.
  */
-public class TestLineSegmentCollection implements SubHyperplane<TestPoint2D>, Serializable {
-
-    /** Serializable UID */
-    private static final long serialVersionUID = 20190303L;
-
+public class TestLineSegmentCollection implements SubHyperplane<TestPoint2D> {
     /** The collection of line-segments making up the subhyperplane.
      */
     private final List<TestLineSegment> segments;
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint1D.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint1D.java
index 7d353f0..59ce9a8 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint1D.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint1D.java
@@ -16,18 +16,12 @@
  */
 package org.apache.commons.geometry.core.partition.test;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 
 /** Class representing a point in one dimensional Euclidean space. This
  * class should only be used for testing purposes.
  */
-public class TestPoint1D implements Point<TestPoint1D>, Serializable {
-
-    /** Serializable UID */
-    private static final long serialVersionUID = 1L;
-
+public class TestPoint1D implements Point<TestPoint1D> {
     /** X coordinate */
     private final double x;
 
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint2D.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint2D.java
index e5e9b58..f3aebab 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint2D.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partition/test/TestPoint2D.java
@@ -16,14 +16,12 @@
  */
 package org.apache.commons.geometry.core.partition.test;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 
 /** Class representing a point in two dimensional Euclidean space. This
  * class should only be used for testing purposes.
  */
-public class TestPoint2D implements Point<TestPoint2D>, Serializable {
+public class TestPoint2D implements Point<TestPoint2D> {
 
     /** Instance representing the coordinates {@code (0, 0)} */
     public static final TestPoint2D ZERO = new TestPoint2D(0, 0);
@@ -34,9 +32,6 @@
     /** Instance representing the coordinates {@code (0, 1)} */
     public static final TestPoint2D PLUS_Y = new TestPoint2D(0, 1);
 
-    /** Serializable UID */
-    private static final long serialVersionUID = 20190224L;
-
     /** X coordinate */
     private final double x;
 
diff --git a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplaneTest.java b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplaneTest.java
index eda55fa..a5c6ef2 100644
--- a/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplaneTest.java
+++ b/commons-geometry-core/src/test/java/org/apache/commons/geometry/core/partitioning/AbstractEmbeddingSubHyperplaneTest.java
@@ -82,10 +82,6 @@
     }
 
     private static class StubSubHyperplane extends AbstractEmbeddingSubHyperplane<TestPoint2D, TestPoint1D, TestLine> {
-
-        /** Serializable UID */
-        private static final long serialVersionUID = 20190729L;
-
         private StubRegion1D region = new StubRegion1D();
 
         @Override
diff --git a/commons-geometry-enclosing/src/main/java/org/apache/commons/geometry/enclosing/EnclosingBall.java b/commons-geometry-enclosing/src/main/java/org/apache/commons/geometry/enclosing/EnclosingBall.java
index 4186454..9ea604d 100644
--- a/commons-geometry-enclosing/src/main/java/org/apache/commons/geometry/enclosing/EnclosingBall.java
+++ b/commons-geometry-enclosing/src/main/java/org/apache/commons/geometry/enclosing/EnclosingBall.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.enclosing;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 
 /** This class represents a ball enclosing some points.
@@ -25,11 +23,7 @@
  * @see Point
  * @see Encloser
  */
-public class EnclosingBall<P extends Point<P>> implements Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20140126L;
-
+public class EnclosingBall<P extends Point<P>> {
     /** Center of the ball. */
     private final P center;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/EuclideanVector.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/EuclideanVector.java
index ccd810f..6695023 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/EuclideanVector.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/EuclideanVector.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 import org.apache.commons.geometry.core.Vector;
 import org.apache.commons.geometry.core.precision.DoublePrecisionContext;
@@ -31,10 +29,7 @@
  * @param <V> Vector implementation type
  */
 public abstract class EuclideanVector<V extends EuclideanVector<V>>
-    implements Vector<V>, Point<V>, Serializable {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20181017L;
+    implements Vector<V>, Point<V> {
 
     /** Return the vector representing the displacement from this vector
      * to the given vector. This is exactly equivalent to {@code v.subtract(thisVector)}
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/MultiDimensionalEuclideanVector.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/MultiDimensionalEuclideanVector.java
index 3cd6365..85c1d27 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/MultiDimensionalEuclideanVector.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/MultiDimensionalEuclideanVector.java
@@ -23,10 +23,6 @@
  */
 public abstract class MultiDimensionalEuclideanVector<V extends MultiDimensionalEuclideanVector<V>>
         extends EuclideanVector<V> {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20181017L;
-
     /** Get the projection of the instance onto the given base vector. The returned
      * vector is parallel to {@code base}. Vector projection and rejection onto
      * a given base are related by the equation
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/internal/AbstractPathConnector.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/internal/AbstractPathConnector.java
index 08b3a2f..1ab732d 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/internal/AbstractPathConnector.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/internal/AbstractPathConnector.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.internal;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.NavigableSet;
@@ -52,12 +51,7 @@
  * @param <E> Element type
  * @see ConnectableElement
  */
-public abstract class AbstractPathConnector<E extends AbstractPathConnector.ConnectableElement<E>>
-    implements Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191106L;
-
+public abstract class AbstractPathConnector<E extends AbstractPathConnector.ConnectableElement<E>> {
     /** List of path elements. */
     private final NavigableSet<E> pathElements = new TreeSet<>();
 
@@ -276,11 +270,7 @@
      * @see AbstractPathConnector
      */
     public abstract static class ConnectableElement<E extends ConnectableElement<E>>
-        implements Comparable<E>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191107L;
-
+        implements Comparable<E> {
         /** Next connected element. */
         private E next;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/AffineTransformMatrix1D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/AffineTransformMatrix1D.java
index 25a0de0..b8e124f 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/AffineTransformMatrix1D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/AffineTransformMatrix1D.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.oned;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.internal.DoubleFunction1N;
 import org.apache.commons.geometry.euclidean.AbstractAffineTransformMatrix;
 import org.apache.commons.geometry.euclidean.exception.NonInvertibleTransformException;
@@ -33,11 +31,7 @@
 * </p>
 */
 public final class AffineTransformMatrix1D extends AbstractAffineTransformMatrix<Vector1D>
-    implements Transform1D, Serializable {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20181006L;
-
+    implements Transform1D {
     /** The number of internal matrix elements. */
     private static final int NUM_ELEMENTS = 2;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Interval.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Interval.java
index 2003ddc..206f8c5 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Interval.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Interval.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.oned;
 
-import java.io.Serializable;
 import java.text.MessageFormat;
 
 import org.apache.commons.geometry.core.RegionLocation;
@@ -34,11 +33,7 @@
  *
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public final class Interval implements HyperplaneBoundedRegion<Vector1D>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190210L;
-
+public final class Interval implements HyperplaneBoundedRegion<Vector1D> {
     /** Interval instance representing the entire real number line. */
     private static final Interval FULL = new Interval(null, null);
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/OrientedPoint.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/OrientedPoint.java
index 51c993c..63a1698 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/OrientedPoint.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/OrientedPoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.oned;
 
-import java.io.Serializable;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -42,11 +41,7 @@
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
 public final class OrientedPoint extends AbstractHyperplane<Vector1D>
-    implements Hyperplane<Vector1D>, Equivalency<OrientedPoint>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190210L;
-
+    implements Hyperplane<Vector1D>, Equivalency<OrientedPoint> {
     /** Hyperplane location as a point. */
     private final Vector1D point;
 
@@ -341,11 +336,7 @@
      * this is effectively a stub implementation, its main use being to allow for the correct functioning of
      * partitioning code.
      */
-    public static class SubOrientedPoint implements ConvexSubHyperplane<Vector1D>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190405L;
-
+    public static class SubOrientedPoint implements ConvexSubHyperplane<Vector1D> {
         /** The underlying hyperplane for this instance. */
         private final OrientedPoint hyperplane;
 
@@ -486,11 +477,7 @@
      * this is effectively a stub implementation since there are no subspaces of 1D space. Its primary use is to allow
      * for the correct functioning of partitioning code.
      */
-    public static final class SubOrientedPointBuilder implements SubHyperplane.Builder<Vector1D>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190405L;
-
+    public static final class SubOrientedPointBuilder implements SubHyperplane.Builder<Vector1D> {
         /** Base subhyperplane for the builder. */
         private final SubOrientedPoint base;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
index 8b5a539..7d02293 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
@@ -33,10 +33,6 @@
  * Euclidean space.
  */
 public final class RegionBSPTree1D extends AbstractRegionBSPTree<Vector1D, RegionBSPTree1D.RegionNode1D> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190405L;
-
     /** Comparator used to sort BoundaryPairs by ascending location.  */
     private static final Comparator<BoundaryPair> BOUNDARY_PAIR_COMPARATOR = (BoundaryPair a, BoundaryPair b) -> {
         return Double.compare(a.getMinValue(), b.getMinValue());
@@ -398,10 +394,6 @@
     /** BSP tree node for one dimensional Euclidean space.
      */
     public static final class RegionNode1D extends AbstractRegionBSPTree.AbstractRegionNode<Vector1D, RegionNode1D> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190405L;
-
         /** Simple constructor.
          * @param tree the owning tree instance
          */
@@ -471,10 +463,6 @@
     /** Class used to project points onto the region boundary.
      */
     private static final class BoundaryProjector1D extends BoundaryProjector<Vector1D, RegionNode1D> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190405L;
-
         /** Simple constructor.
          * @param point the point to project onto the region's boundary
          */
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java
index be0f7ab..9316b1d 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java
@@ -65,9 +65,6 @@
         return cmp;
     };
 
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20180710L;
-
     /** Abscissa (coordinate value). */
     private final double x;
 
@@ -410,9 +407,6 @@
         /** Negation of unit vector (coordinates: -1). */
         public static final Unit MINUS = new Unit(-1d);
 
-        /** Serializable version identifier. */
-        private static final long serialVersionUID = 20180903L;
-
         /** Simple constructor. Callers are responsible for ensuring that the given
          * values represent a normalized vector.
          * @param x abscissa (first coordinate value)
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubLine3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubLine3D.java
index 1ab7654..35f8631 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubLine3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubLine3D.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Region;
 import org.apache.commons.geometry.core.precision.DoublePrecisionContext;
 import org.apache.commons.geometry.euclidean.oned.Vector1D;
@@ -25,11 +23,7 @@
 /** Internal base class for 3 dimensional subline implementations.
  * @param <R> 1D subspace region type
  */
-abstract class AbstractSubLine3D<R extends Region<Vector1D>> implements Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190812L;
-
+abstract class AbstractSubLine3D<R extends Region<Vector1D>> {
     /** The line that this instance belongs to. */
     private final Line3D line;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java
index a8ad65e..c1647f0 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java
@@ -33,10 +33,6 @@
  */
 abstract class AbstractSubPlane<R extends HyperplaneBoundedRegion<Vector2D>>
     extends AbstractEmbeddingSubHyperplane<Vector3D, Vector2D, Plane> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190729L;
-
     /** The plane defining this instance. */
     private final Plane plane;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AffineTransformMatrix3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AffineTransformMatrix3D.java
index e88f2c3..a07fc2a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AffineTransformMatrix3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AffineTransformMatrix3D.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.internal.DoubleFunction3N;
 import org.apache.commons.geometry.euclidean.AbstractAffineTransformMatrix;
 import org.apache.commons.geometry.euclidean.exception.NonInvertibleTransformException;
@@ -36,11 +34,7 @@
  * </p>
  */
 public final class AffineTransformMatrix3D extends AbstractAffineTransformMatrix<Vector3D>
-    implements Transform3D, Serializable {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20180923L;
-
+    implements Transform3D {
     /** The number of internal matrix elements. */
     private static final int NUM_ELEMENTS = 12;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlane.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlane.java
index 085bf79..51e0cf7 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlane.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlane.java
@@ -35,10 +35,6 @@
  */
 public final class ConvexSubPlane extends AbstractSubPlane<ConvexArea>
     implements ConvexSubHyperplane<Vector3D>  {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190729L;
-
     /** The embedded 2D area. */
     private final ConvexArea area;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexVolume.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexVolume.java
index 985b476..269ba5a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexVolume.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/ConvexVolume.java
@@ -31,10 +31,6 @@
  * The boundaries of this area, if any, are composed of convex subplanes.
  */
 public final class ConvexVolume extends AbstractConvexHyperplaneBoundedRegion<Vector3D, ConvexSubPlane> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190811L;
-
     /** Instance representing the full 3D volume. */
     private static final ConvexVolume FULL = new ConvexVolume(Collections.emptyList());
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Line3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Line3D.java
index 883b63e..d1d5b2f 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Line3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Line3D.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed;
 
-import java.io.Serializable;
 import java.util.Objects;
 
 import org.apache.commons.geometry.core.Embedding;
@@ -30,11 +29,7 @@
  *
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public final class Line3D implements Embedding<Vector3D, Vector1D>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190704L;
-
+public final class Line3D implements Embedding<Vector3D, Vector1D> {
     /** Line point closest to the origin. */
     private final Vector3D origin;
 
@@ -394,11 +389,7 @@
     /** Class containing a transformed line instance along with a subspace (1D) transform. The subspace
      * transform produces the equivalent of the 3D transform in 1D.
      */
-    public static final class SubspaceTransform implements Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190809L;
-
+    public static final class SubspaceTransform {
         /** The transformed line. */
         private final Line3D line;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Plane.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Plane.java
index 48597ae..14b423f 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Plane.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Plane.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed;
 
-import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
@@ -39,10 +38,6 @@
  */
 public final class Plane extends AbstractHyperplane<Vector3D>
     implements EmbeddingHyperplane<Vector3D, Vector2D>, Equivalency<Plane> {
-
-    /** Serializable version UID. */
-    private static final long serialVersionUID = 20190702L;
-
     /** First normalized vector of the plane frame (in plane). */
     private final Vector3D u;
 
@@ -751,11 +746,7 @@
     /** Class containing a transformed plane instance along with a subspace (2D) transform. The subspace
      * transform produces the equivalent of the 3D transform in 2D.
      */
-    public static final class SubspaceTransform implements Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190807L;
-
+    public static final class SubspaceTransform {
         /** The transformed plane. */
         private final Plane plane;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
index c2f9ebd..451046a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
@@ -38,10 +38,6 @@
  * Euclidean space.
  */
 public final class RegionBSPTree3D extends AbstractRegionBSPTree<Vector3D, RegionBSPTree3D.RegionNode3D> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190702L;
-
     /** Create a new, empty region. */
     public RegionBSPTree3D() {
         this(false);
@@ -295,10 +291,6 @@
     /** BSP tree node for three dimensional Euclidean space.
      */
     public static final class RegionNode3D extends AbstractRegionBSPTree.AbstractRegionNode<Vector3D, RegionNode3D> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190702L;
-
         /** Simple constructor.
          * @param tree the owning tree instance
          */
@@ -578,10 +570,6 @@
     /** Class used to project points onto the 3D region boundary.
      */
     private static final class BoundaryProjector3D extends BoundaryProjector<Vector3D, RegionNode3D> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190811L;
-
         /** Simple constructor.
          * @param point the point to project onto the region's boundary
          */
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Segment3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Segment3D.java
index e330f1b..e94ceef 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Segment3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Segment3D.java
@@ -27,10 +27,6 @@
  * <p>This class is guaranteed to be immutable.</p>
  */
 public final class Segment3D extends AbstractSubLine3D<Interval> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190702L;
-
     /** String used to indicate the start point of the segment in the toString() representation. */
     private static final String START_STR = "start= ";
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SphericalCoordinates.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SphericalCoordinates.java
index 9759606..ca4eb46 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SphericalCoordinates.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SphericalCoordinates.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Geometry;
 import org.apache.commons.geometry.core.Spatial;
 import org.apache.commons.geometry.core.internal.SimpleTupleFormat;
@@ -65,11 +63,7 @@
  *
  * @see <a href="https://en.wikipedia.org/wiki/Spherical_coordinate_system">Spherical Coordinate System</a>
  */
-public final class SphericalCoordinates implements Spatial, Serializable {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20180623L;
-
+public final class SphericalCoordinates implements Spatial {
     /** Radius value. */
     private final double radius;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubLine3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubLine3D.java
index b847a96..740931e 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubLine3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubLine3D.java
@@ -30,10 +30,6 @@
  * <p>This class is mutable and <em>not</em> thread safe.</p>
  */
 public final class SubLine3D extends AbstractSubLine3D<RegionBSPTree1D> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190702L;
-
     /** The 1D region representing the area on the line. */
     private final RegionBSPTree1D region;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubPlane.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubPlane.java
index 4a22af0..562efed 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubPlane.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/SubPlane.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -34,11 +33,7 @@
  *
  * <p>This class is mutable and <em>not</em> thread safe.</p>
  */
-public final class SubPlane extends AbstractSubPlane<RegionBSPTree2D> implements Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190717L;
-
+public final class SubPlane extends AbstractSubPlane<RegionBSPTree2D> {
     /** The 2D region representing the area on the plane. */
     private final RegionBSPTree2D region;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java
index 6678b04..3beeba2 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java
@@ -71,9 +71,6 @@
         return cmp;
     };
 
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20180903L;
-
     /** Abscissa (first coordinate value). */
     private final double x;
 
@@ -616,9 +613,6 @@
         /** Negation of unit vector (coordinates: 0, 0, -1). */
         public static final Unit MINUS_Z = new Unit(0d, 0d, -1d);
 
-        /** Serializable version identifier. */
-        private static final long serialVersionUID = 20180903L;
-
         /** Simple constructor. Callers are responsible for ensuring that the given
          * values represent a normalized vector.
          * @param x abscissa (first coordinate value)
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/AxisAngleSequence.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/AxisAngleSequence.java
index a4c701b..f9f7680 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/AxisAngleSequence.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/AxisAngleSequence.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed.rotation;
 
-import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Objects;
 
@@ -61,11 +60,7 @@
  * @see <a href="https://en.wikipedia.org/wiki/Euler_angles">Euler Angles</a>
  * @see QuaternionRotation
  */
-public final class AxisAngleSequence implements Serializable {
-
-    /** Serializable identifier. */
-    private static final long serialVersionUID = 20181125L;
-
+public final class AxisAngleSequence {
     /** Reference frame for defining axis positions. */
     private final AxisReferenceFrame referenceFrame;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/QuaternionRotation.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/QuaternionRotation.java
index 0c6f423..3934f8b 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/QuaternionRotation.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/QuaternionRotation.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.threed.rotation;
 
-import java.io.Serializable;
 import java.util.Objects;
 
 import org.apache.commons.geometry.core.Geometry;
@@ -39,11 +38,7 @@
  *
  * @see Quaternion
  */
-public final class QuaternionRotation implements Rotation3D, Serializable {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20181018L;
-
+public final class QuaternionRotation implements Rotation3D {
     /** Threshold value for the dot product of antiparallel vectors. If the dot product of two vectors is
      * less than this value, (adjusted for the lengths of the vectors), then the vectors are considered to be
      * antiparallel (ie, negations of each other).
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSegmentConnector.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSegmentConnector.java
index e7cbef2..aca9b94 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSegmentConnector.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSegmentConnector.java
@@ -28,10 +28,6 @@
  */
 public abstract class AbstractSegmentConnector
     extends AbstractPathConnector<AbstractSegmentConnector.ConnectableSegment> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190528L;
-
     /** Add a line segment to the connector, leaving it unconnected until a later call to
      * to {@link #connect(Iterable)} or {@link #connectAll()}.
      * @param segment line segment to add
@@ -138,10 +134,6 @@
     /** Internal class used to connect line segments together.
      */
     protected static class ConnectableSegment extends AbstractPathConnector.ConnectableElement<ConnectableSegment> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191107L;
-
         /** Segment start point. This will be used to connect to other path elements. */
         private final Vector2D start;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSubLine.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSubLine.java
index f039905..94ea6ad 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSubLine.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AbstractSubLine.java
@@ -31,10 +31,6 @@
 /** Internal base class for subline implementations.
  */
 abstract class AbstractSubLine extends AbstractEmbeddingSubHyperplane<Vector2D, Vector1D, Line> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190729L;
-
     /** The line defining this instance. */
     private final Line line;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AffineTransformMatrix2D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AffineTransformMatrix2D.java
index e32bfe2..788e258 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AffineTransformMatrix2D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/AffineTransformMatrix2D.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.twod;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.internal.DoubleFunction2N;
 import org.apache.commons.geometry.euclidean.AbstractAffineTransformMatrix;
 import org.apache.commons.geometry.euclidean.exception.NonInvertibleTransformException;
@@ -35,11 +33,7 @@
 * </p>
 */
 public final class AffineTransformMatrix2D extends AbstractAffineTransformMatrix<Vector2D>
-    implements Transform2D, Serializable {
-
-    /** Serializable version identifier. */
-    private static final long serialVersionUID = 20181005L;
-
+    implements Transform2D {
     /** The number of internal matrix elements. */
     private static final int NUM_ELEMENTS = 6;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/ConvexArea.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/ConvexArea.java
index bdc34fa..e272193 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/ConvexArea.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/ConvexArea.java
@@ -33,10 +33,6 @@
  * The boundaries of this area, if any, are composed of line segments.
  */
 public final class ConvexArea extends AbstractConvexHyperplaneBoundedRegion<Vector2D, Segment> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190619L;
-
     /** Instance representing the full 2D plane. */
     private static final ConvexArea FULL = new ConvexArea(Collections.emptyList());
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/InteriorAngleSegmentConnector.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/InteriorAngleSegmentConnector.java
index 65eff62..b0ed43a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/InteriorAngleSegmentConnector.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/InteriorAngleSegmentConnector.java
@@ -34,10 +34,6 @@
  * </p>
  */
 public abstract class InteriorAngleSegmentConnector extends AbstractSegmentConnector {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190530L;
-
     /** {@inheritDoc} */
     @Override
     protected ConnectableSegment selectConnection(ConnectableSegment incoming, List<ConnectableSegment> outgoing) {
@@ -94,10 +90,6 @@
      * line segment.
      */
     public static class Maximize extends InteriorAngleSegmentConnector {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190530L;
-
         /** {@inheritDoc} */
         @Override
         protected boolean isBetterAngle(double newAngle, double previousAngle) {
@@ -112,10 +104,6 @@
      * line segment.
      */
     public static class Minimize extends InteriorAngleSegmentConnector {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190530L;
-
         /** {@inheritDoc} */
         @Override
         protected boolean isBetterAngle(double newAngle, double previousAngle) {
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Line.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Line.java
index 16c370f..d21d692 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Line.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Line.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.twod;
 
-import java.io.Serializable;
 import java.util.Objects;
 
 import org.apache.commons.geometry.core.Transform;
@@ -60,10 +59,6 @@
  */
 public final class Line extends AbstractHyperplane<Vector2D>
     implements EmbeddingHyperplane<Vector2D, Vector1D>, Equivalency<Line> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190120L;
-
     /** The direction of the line as a normalized vector. */
     private final Vector2D direction;
 
@@ -558,11 +553,7 @@
     /** Class containing a transformed line instance along with a subspace (1D) transform. The subspace
      * transform produces the equivalent of the 2D transform in 1D.
      */
-    public static final class SubspaceTransform implements Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190809L;
-
+    public static final class SubspaceTransform {
         /** The transformed line. */
         private final Line line;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/PolarCoordinates.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/PolarCoordinates.java
index 5f679f9..45cf239 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/PolarCoordinates.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/PolarCoordinates.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.twod;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Geometry;
 import org.apache.commons.geometry.core.Spatial;
 import org.apache.commons.geometry.core.internal.SimpleTupleFormat;
@@ -49,11 +47,7 @@
  *
  * @see <a href="https://en.wikipedia.org/wiki/Polar_coordinate_system">Polar Coordinate System</a>
  */
-public final class PolarCoordinates implements Spatial, Serializable {
-
-    /** Serializable version UID. */
-    private static final long serialVersionUID = 20180630L;
-
+public final class PolarCoordinates implements Spatial {
     /** Radius value. */
     private final double radius;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Polyline.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Polyline.java
index 15d5c3a..236ac2e 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Polyline.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Polyline.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.twod;
 
-import java.io.Serializable;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -37,11 +36,7 @@
  * <p>Instances of this class are guaranteed to be immutable.</p>
  * @see <a href="https://en.wikipedia.org/wiki/Polygonal_chain">Polygonal chain</a>
  */
-public class Polyline implements Iterable<Segment>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190522L;
-
+public class Polyline implements Iterable<Segment> {
     /** Polyline instance containing no segments. */
     private static final Polyline EMPTY = new Polyline(Collections.emptyList());
 
@@ -439,11 +434,7 @@
 
     /** Class used to build polylines.
      */
-    public static final class Builder implements Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190522L;
-
+    public static final class Builder {
         /** Line segments appended to the polyline. */
         private List<Segment> appendedSegments = null;
 
@@ -838,10 +829,6 @@
      * class simply returns the same instance.
      */
     private static final class SimplifiedPolyline extends Polyline {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190619;
-
         /** Create a new instance containing the given line segments. No validation is
          * performed on the inputs. Caller must ensure that the given segments represent
          * a valid, simplified path.
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
index c577eb3..293a80a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
@@ -32,10 +32,6 @@
  * Euclidean space.
  */
 public final class RegionBSPTree2D extends AbstractRegionBSPTree<Vector2D, RegionBSPTree2D.RegionNode2D> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190519L;
-
     /** List of line segment paths comprising the region boundary. */
     private List<Polyline> boundaryPaths;
 
@@ -294,10 +290,6 @@
     /** BSP tree node for two dimensional Euclidean space.
      */
     public static final class RegionNode2D extends AbstractRegionBSPTree.AbstractRegionNode<Vector2D, RegionNode2D> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190519L;
-
         /** Simple constructor.
          * @param tree the owning tree instance
          */
@@ -484,10 +476,6 @@
     /** Class used to project points onto the 2D region boundary.
      */
     private static final class BoundaryProjector2D extends BoundaryProjector<Vector2D, RegionNode2D> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190811L;
-
         /** Simple constructor.
          * @param point the point to project onto the region's boundary
          */
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Segment.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Segment.java
index 2f959fc..b636206 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Segment.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Segment.java
@@ -37,10 +37,6 @@
  */
 public final class Segment extends AbstractSubLine
     implements ConvexSubHyperplane<Vector2D> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190729L;
-
     /** String used to indicate the start point of the segment in the toString() representation. */
     private static final String START_STR = "start= ";
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/SubLine.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/SubLine.java
index db234a4..ffc050a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/SubLine.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/SubLine.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.twod;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -35,11 +34,7 @@
  *
  * <p>This class is mutable and <em>not</em> thread safe.</p>
  */
-public final class SubLine extends AbstractSubLine implements Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190717L;
-
+public final class SubLine extends AbstractSubLine {
     /** The 1D region representing the area on the line. */
     private final RegionBSPTree1D region;
 
diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java
index 868148d..815587a 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java
@@ -68,9 +68,6 @@
         return cmp;
     };
 
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20180710L;
-
     /** Abscissa (first coordinate). */
     private final double x;
 
@@ -552,9 +549,6 @@
         /** Negation of unit vector (coordinates: 0, -1). */
         public static final Unit MINUS_Y = new Unit(0d, -1d);
 
-        /** Serializable version identifier. */
-        private static final long serialVersionUID = 20180903L;
-
         /** Simple constructor. Callers are responsible for ensuring that the given
          * values represent a normalized vector.
          * @param x abscissa (first coordinate value)
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/SubLineTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/SubLineTest.java
index f663ebe..71f371e 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/SubLineTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/SubLineTest.java
@@ -606,10 +606,6 @@
         Line line = Line.fromPointAndAngle(Vector2D.of(0, 1), Geometry.ZERO_PI, TEST_PRECISION);
 
         AbstractSubLine unknownType = new AbstractSubLine(line) {
-
-            /** Serializable UID */
-            private static final long serialVersionUID = 20190729L;
-
             @Override
             public boolean isInfinite() {
                 return false;
diff --git a/commons-geometry-hull/src/main/java/org/apache/commons/geometry/euclidean/twod/hull/ConvexHull2D.java b/commons-geometry-hull/src/main/java/org/apache/commons/geometry/euclidean/twod/hull/ConvexHull2D.java
index a0656db..663729f 100644
--- a/commons-geometry-hull/src/main/java/org/apache/commons/geometry/euclidean/twod/hull/ConvexHull2D.java
+++ b/commons-geometry-hull/src/main/java/org/apache/commons/geometry/euclidean/twod/hull/ConvexHull2D.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.euclidean.twod.hull;
 
-import java.io.Serializable;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -32,11 +31,7 @@
 /**
  * This class represents a convex hull in an two-dimensional Euclidean space.
  */
-public class ConvexHull2D implements ConvexHull<Vector2D>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20140129L;
-
+public class ConvexHull2D implements ConvexHull<Vector2D> {
     /** Vertices of the hull. */
     private final Vector2D[] vertices;
 
diff --git a/commons-geometry-hull/src/main/java/org/apache/commons/geometry/hull/ConvexHull.java b/commons-geometry-hull/src/main/java/org/apache/commons/geometry/hull/ConvexHull.java
index 0d4ed2a..1e0399e 100644
--- a/commons-geometry-hull/src/main/java/org/apache/commons/geometry/hull/ConvexHull.java
+++ b/commons-geometry-hull/src/main/java/org/apache/commons/geometry/hull/ConvexHull.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.hull;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Point;
 import org.apache.commons.geometry.core.Region;
 
@@ -26,7 +24,7 @@
  *
  * @param <P> Point type.
  */
-public interface ConvexHull<P extends Point<P>> extends Serializable {
+public interface ConvexHull<P extends Point<P>> {
 
     /**
      * Get the vertices of the convex hull.
@@ -40,5 +38,5 @@
      * @throws IllegalStateException if the number of vertices is not enough to
      * build a region in the respective space
      */
-    Region<P> createRegion() throws IllegalStateException;
+    Region<P> createRegion();
 }
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/AngularInterval.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/AngularInterval.java
index c77630b..81d9434 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/AngularInterval.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/AngularInterval.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.oned;
 
-import java.io.Serializable;
 import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.Collections;
@@ -39,11 +38,7 @@
  *
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public class AngularInterval implements HyperplaneBoundedRegion<Point1S>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190817L;
-
+public class AngularInterval implements HyperplaneBoundedRegion<Point1S> {
     /** The minimum boundary of the interval. */
     private final CutAngle minBoundary;
 
@@ -455,10 +450,6 @@
      * is either completely full or has a length less than or equal to {@code pi}.
      */
     public static final class Convex extends AngularInterval {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191012L;
-
         /** Interval instance representing the full space. */
         private static final Convex FULL = new Convex(null, null);
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/CutAngle.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/CutAngle.java
index 40b538e..4616355 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/CutAngle.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/CutAngle.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.oned;
 
-import java.io.Serializable;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -59,11 +58,7 @@
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
 public final class CutAngle extends AbstractHyperplane<Point1S>
-    implements Equivalency<CutAngle>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190817L;
-
+    implements Equivalency<CutAngle> {
     /** Hyperplane location as a point. */
     private final Point1S point;
 
@@ -311,11 +306,7 @@
      * this is effectively a stub implementation, its main use being to allow for the correct functioning of
      * partitioning code.
      */
-    public static class SubCutAngle implements ConvexSubHyperplane<Point1S>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190825L;
-
+    public static class SubCutAngle implements ConvexSubHyperplane<Point1S> {
         /** The underlying hyperplane for this instance. */
         private final CutAngle hyperplane;
 
@@ -456,11 +447,7 @@
      * a stub implementation since there are no subspaces of 1D space. Its primary use is to allow
      * for the correct functioning of partitioning code.
      */
-    public static final class SubCutAngleBuilder implements SubHyperplane.Builder<Point1S>, Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190825L;
-
+    public static final class SubCutAngleBuilder implements SubHyperplane.Builder<Point1S> {
         /** Base subhyperplane for the builder. */
         private final SubCutAngle base;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
index 4af43fa..630d6ef 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.oned;
 
-import java.io.Serializable;
 import java.util.Comparator;
 import java.util.Objects;
 
@@ -41,7 +40,7 @@
  *
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public final class Point1S implements Point<Point1S>, Serializable {
+public final class Point1S implements Point<Point1S> {
 
     /** A point with coordinates set to {@code 0*pi}. */
     public static final Point1S ZERO = Point1S.of(Geometry.ZERO_PI);
@@ -73,9 +72,6 @@
         return cmp;
     };
 
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20180710L;
-
     /** Azimuthal angle in radians. */
     private final double azimuth;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1S.java
index 2c17465..15bd465 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1S.java
@@ -35,10 +35,6 @@
 /** BSP tree representing regions in 1D spherical space.
  */
 public class RegionBSPTree1S extends AbstractRegionBSPTree<Point1S, RegionBSPTree1S.RegionNode1S> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190817L;
-
     /** Comparator used to sort BoundaryPairs by ascending azimuth.  */
     private static final Comparator<BoundaryPair> BOUNDARY_PAIR_COMPARATOR = (BoundaryPair a, BoundaryPair b) -> {
         return Double.compare(a.getMinValue(), b.getMinValue());
@@ -419,10 +415,6 @@
     /** BSP tree node for one dimensional spherical space.
      */
     public static final class RegionNode1S extends AbstractRegionBSPTree.AbstractRegionNode<Point1S, RegionNode1S> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190922L;
-
         /** Simple constructor.
          * @param tree the owning tree instance
          */
@@ -482,10 +474,6 @@
     /** Class used to project points onto the region boundary.
      */
     private static final class BoundaryProjector1S extends BoundaryProjector<Point1S, RegionNode1S> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20190926L;
-
         /** Simple constructor.
          * @param point the point to project onto the region's boundary
          */
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Transform1S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Transform1S.java
index dd9ac00..5d2449d 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Transform1S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Transform1S.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.oned;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Transform;
 
 /** Implementation of the {@link Transform} interface for spherical 1D points.
@@ -36,11 +34,7 @@
  *
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public final class Transform1S implements Transform<Point1S>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191001L;
-
+public final class Transform1S implements Transform<Point1S> {
     /** Static instance representing the identity transform. */
     private static final Transform1S IDENTITY = new Transform1S(1, 0);
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcConnector.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcConnector.java
index c6fd050..c8edd5d 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcConnector.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcConnector.java
@@ -28,10 +28,6 @@
  */
 public abstract class AbstractGreatArcConnector
     extends AbstractPathConnector<AbstractGreatArcConnector.ConnectableGreatArc> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191107L;
-
     /** Add an arc to the connector, leaving it unconnected until a later call to
      * to {@link #connect(Iterable)} or {@link #connectAll()}.
      * @param arc arc to add
@@ -136,10 +132,6 @@
     /** Internal class for connecting {@link GreatArc}s into {@link GreatArcPath}s.
      */
     protected static class ConnectableGreatArc extends AbstractPathConnector.ConnectableElement<ConnectableGreatArc> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191107L;
-
         /** Segment start point. This will be used to connect to other path elements. */
         private final Point2S start;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractSubGreatCircle.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractSubGreatCircle.java
index 05b02b4..1a314fd 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractSubGreatCircle.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/AbstractSubGreatCircle.java
@@ -25,10 +25,6 @@
  */
 abstract class AbstractSubGreatCircle
     extends AbstractEmbeddingSubHyperplane<Point2S, Point1S, GreatCircle> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191005L;
-
     /** The great circle defining this instance. */
     private final GreatCircle circle;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/ConvexArea2S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/ConvexArea2S.java
index 763244c..dde64aa 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/ConvexArea2S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/ConvexArea2S.java
@@ -36,10 +36,6 @@
  * area, if any, are composed of convex great circle arcs.
  */
 public final class ConvexArea2S extends AbstractConvexHyperplaneBoundedRegion<Point2S, GreatArc> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191021L;
-
     /** Instance representing the full spherical area. */
     private static final ConvexArea2S FULL = new ConvexArea2S(Collections.emptyList());
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArc.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArc.java
index faee91c..d2d17a9 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArc.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArc.java
@@ -40,10 +40,6 @@
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
 public final class GreatArc extends AbstractSubGreatCircle implements ConvexSubHyperplane<Point2S> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191005L;
-
     /** The interval representing the region of the great circle contained in the arc.
      */
     private final AngularInterval.Convex interval;
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArcPath.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArcPath.java
index 7178e6a..7d3e7d5 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArcPath.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatArcPath.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.twod;
 
-import java.io.Serializable;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -29,11 +28,7 @@
 
 /** Class representing a connected sequence of {@link GreatArc} instances.
  */
-public final class GreatArcPath implements Iterable<GreatArc>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191028L;
-
+public final class GreatArcPath implements Iterable<GreatArc> {
     /** Instance containing no arcs. */
     private static final GreatArcPath EMPTY = new GreatArcPath(Collections.emptyList());
 
@@ -296,11 +291,7 @@
 
     /** Class used to build arc paths.
      */
-    public static final class Builder implements Serializable {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191031L;
-
+    public static final class Builder {
         /** Arcs appended to the path. */
         private List<GreatArc> appendedArcs = null;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatCircle.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatCircle.java
index 47f4dbd..676943c 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatCircle.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/GreatCircle.java
@@ -40,10 +40,6 @@
  */
 public final class GreatCircle extends AbstractHyperplane<Point2S>
     implements EmbeddingHyperplane<Point2S, Point1S>, Equivalency<GreatCircle> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20190928L;
-
     /** Pole or circle center. */
     private final Vector3D.Unit pole;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/InteriorAngleGreatArcConnector.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/InteriorAngleGreatArcConnector.java
index 3d3dec0..446646a 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/InteriorAngleGreatArcConnector.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/InteriorAngleGreatArcConnector.java
@@ -34,10 +34,6 @@
  * </p>
  */
 public abstract class InteriorAngleGreatArcConnector extends AbstractGreatArcConnector {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191107L;
-
     /** {@inheritDoc} */
     @Override
     protected ConnectableGreatArc selectConnection(final ConnectableGreatArc incoming,
@@ -96,10 +92,6 @@
      * arc.
      */
     public static class Maximize extends InteriorAngleGreatArcConnector {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191107L;
-
         /** {@inheritDoc} */
         @Override
         protected boolean isBetterAngle(double newAngle, double previousAngle) {
@@ -114,10 +106,6 @@
      * arc.
      */
     public static class Minimize extends InteriorAngleGreatArcConnector {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191107L;
-
         /** {@inheritDoc} */
         @Override
         protected boolean isBetterAngle(double newAngle, double previousAngle) {
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Point2S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Point2S.java
index e741e5d..25f1aea 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Point2S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Point2S.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.twod;
 
-import java.io.Serializable;
 import java.util.Comparator;
 
 import org.apache.commons.geometry.core.Geometry;
@@ -30,7 +29,7 @@
 /** This class represents a point on the 2-sphere.
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public final class Point2S implements Point<Point2S>, Serializable {
+public final class Point2S implements Point<Point2S> {
 
     /** +I (coordinates: ( azimuth = 0, polar = pi/2 )). */
     public static final Point2S PLUS_I = new Point2S(0, 0.5 * Math.PI, Vector3D.Unit.PLUS_X);
@@ -77,10 +76,6 @@
 
         return cmp;
     };
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20180710L;
-
     /** Azimuthal angle in the x-y plane. */
     private final double azimuth;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
index a9640e1..baea410 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
@@ -31,10 +31,6 @@
 /** BSP tree representing regions in 2D spherical space.
  */
 public class RegionBSPTree2S extends AbstractRegionBSPTree<Point2S, RegionBSPTree2S.RegionNode2S> {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191005L;
-
     /** Constant containing the area of the full spherical space. */
     private static final double FULL_SIZE = 4 * Geometry.PI;
 
@@ -251,10 +247,6 @@
     /** BSP tree node for two dimensional spherical space.
      */
     public static final class RegionNode2S extends AbstractRegionBSPTree.AbstractRegionNode<Point2S, RegionNode2S> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191005L;
-
         /** Simple constructor.
          * @param tree tree owning the instance.
          */
@@ -281,10 +273,6 @@
     /** Class used to project points onto the region boundary.
      */
     private static final class BoundaryProjector2S extends BoundaryProjector<Point2S, RegionNode2S> {
-
-        /** Serializable UID. */
-        private static final long serialVersionUID = 20191120L;
-
         /** Simple constructor.
          * @param point the point to project onto the region's boundary
          */
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/SubGreatCircle.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/SubGreatCircle.java
index 2b873b4..ca0163d 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/SubGreatCircle.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/SubGreatCircle.java
@@ -32,10 +32,6 @@
 /** Class representing an arbitrary region of a great circle.
  */
 public final class SubGreatCircle extends AbstractSubGreatCircle {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 20191005L;
-
     /** The 1D region on the great circle. */
     private final RegionBSPTree1S region;
 
diff --git a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Transform2S.java b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Transform2S.java
index e6abe83..bb50fd0 100644
--- a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Transform2S.java
+++ b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/Transform2S.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.geometry.spherical.twod;
 
-import java.io.Serializable;
-
 import org.apache.commons.geometry.core.Transform;
 import org.apache.commons.geometry.euclidean.threed.AffineTransformMatrix3D;
 import org.apache.commons.geometry.euclidean.threed.Vector3D;
@@ -30,11 +28,7 @@
  *
  * <p>Instances of this class are guaranteed to be immutable.</p>
  */
-public final class Transform2S implements Transform<Point2S>, Serializable {
-
-    /** Serializable UID. */
-    private static final long serialVersionUID = 1L;
-
+public final class Transform2S implements Transform<Point2S> {
     /** Static instance representing the identity transform. */
     private static final Transform2S IDENTITY = new Transform2S(AffineTransformMatrix3D.identity());