Run of fresh-releases for libfastutil-java

Try this locally (using silver-platter):

debian-svp new-upstream libfastutil-java 

Merge these changes:

Summary

Merged new upstream version: 8.2.3 (was: 8.2.2).

Diff

diff --git a/CHANGES b/CHANGES
index 905557f..e9cee95 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,13 @@
+8.2.3
+
+- Array-based lists were not allocating a backing array even if the
+  required capacity was greater than the default capacity, violating
+  the contract. Thanks to 盏一 for reporting this bug.
+
+- FastMultiByteArrayInputStream had since 2014 the wrong slice size
+  (1Ki instead of 1Gi). Thanks to Thibault Allançon for his detailed
+  reports, which dug out this old one.
+
 8.2.2
 
 - Fixed small bug in new lazy allocation scheme for array-based lists.
diff --git a/build.properties b/build.properties
index c73310e..cad9d48 100644
--- a/build.properties
+++ b/build.properties
@@ -3,7 +3,7 @@ javadoc.base=/usr/share/javadoc
 
 build.sysclasspath=ignore
 
-version=8.2.2
+version=8.2.3
 
 dist=dist
 src=src
diff --git a/debian/changelog b/debian/changelog
index dbb5e4c..8aa2066 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,12 @@
-libfastutil-java (8.2.2-2) UNRELEASED; urgency=medium
+libfastutil-java (8.2.3-1) UNRELEASED; urgency=medium
 
+  [ Andreas Tille ]
   * Do not force xz compression manually
 
- -- Andreas Tille <tille@debian.org>  Sat, 12 Jan 2019 09:16:57 +0100
+  [ Debian Janitor ]
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Fri, 12 Jul 2019 12:31:46 +0000
 
 libfastutil-java (8.2.2-1) unstable; urgency=medium
 
diff --git a/drv/ArrayList.drv b/drv/ArrayList.drv
index f872957..86a88f7 100644
--- a/drv/ArrayList.drv
+++ b/drv/ArrayList.drv
@@ -286,7 +286,7 @@ public class ARRAY_LIST KEY_GENERIC extends ABSTRACT_LIST KEY_GENERIC implements
 	 */
 	SUPPRESS_WARNINGS_KEY_UNCHECKED
 	public void ensureCapacity(final int capacity) {
-		if (capacity <= a.length || a == ARRAYS.DEFAULT_EMPTY_ARRAY) return;
+		if (capacity <= a.length || (a == ARRAYS.DEFAULT_EMPTY_ARRAY && capacity <= DEFAULT_INITIAL_CAPACITY)) return;
 #if KEYS_PRIMITIVE
 		a = ARRAYS.ensureCapacity(a, capacity, size);
 #else
diff --git a/drv/Arrays.drv b/drv/Arrays.drv
index f4f63d2..c7c82b2 100644
--- a/drv/Arrays.drv
+++ b/drv/Arrays.drv
@@ -2431,7 +2431,7 @@ public final class ARRAYS {
 	 *
 	 * <p>This method implement an <em>indirect</em> sort. The elements of {@code perm} (which must
 	 * be exactly the numbers in the interval {@code [0..perm.length)}) will be permuted so that
-	 * {@code a[perm[i]] &le; a[perm[i + 1]]}.
+	 * {@code a[perm[i]] &le; a[perm[i + 1]]} or {@code a[perm[i]] == a[perm[i + 1]]} and {@code b[perm[i]] &le; b[perm[i + 1]]}.
 	 *
 	 * <p>This implementation will allocate, in the stable case, a further support array as large as {@code perm} (note that the stable
 	 * version is slightly faster).
@@ -2453,7 +2453,7 @@ public final class ARRAYS {
 	 *
 	 * <p>This method implement an <em>indirect</em> sort. The elements of {@code perm} (which must
 	 * be exactly the numbers in the interval {@code [0..perm.length)}) will be permuted so that
-	 * {@code a[perm[i]] &le; a[perm[i + 1]]}.
+	 * {@code a[perm[i]] &le; a[perm[i + 1]]} or {@code a[perm[i]] == a[perm[i + 1]]} and {@code b[perm[i]] &le; b[perm[i + 1]]}.
 	 *
 	 * <p>This implementation will allocate, in the stable case, a further support array as large as {@code perm} (note that the stable
 	 * version is slightly faster).
diff --git a/pom.xml b/pom.xml
index 60cd43a..1998424 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <artifactId>fastutil</artifactId>
   <packaging>jar</packaging>
   <name>fastutil</name>
-  <version>8.2.2</version>
+  <version>8.2.3</version>
   <description>fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists and priority queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files.</description>
   <url>http://fastutil.di.unimi.it/</url>
   <licenses>
diff --git a/src/it/unimi/dsi/fastutil/io/FastMultiByteArrayInputStream.java b/src/it/unimi/dsi/fastutil/io/FastMultiByteArrayInputStream.java
index fcef5cf..2276e89 100644
--- a/src/it/unimi/dsi/fastutil/io/FastMultiByteArrayInputStream.java
+++ b/src/it/unimi/dsi/fastutil/io/FastMultiByteArrayInputStream.java
@@ -34,7 +34,7 @@ s */
 public class FastMultiByteArrayInputStream extends MeasurableInputStream implements RepositionableStream {
 
 	/** The number of bits of an array slice index. */
-	public static final int SLICE_BITS = 10;
+	public static final int SLICE_BITS = 30;
 
 	/** The maximum length of an array slice. */
 	public static final int SLICE_SIZE = 1 << SLICE_BITS;

Full worker log Full build log