<div class="container">
    <h1>Recommended update for plexus-archiver, apache-commons-compress</h1>

    <table class="table table-striped table-bordered">
        <tbody>
        <tr>
            <th>Announcement ID:</th>
            <td>SUSE-RU-2026:22375-1</td>
        </tr>
        <tr>
            <th>Release Date:</th>
            <td>2026-06-26T08:17:17Z</td>
        </tr>
        
        <tr>
            <th>Rating:</th>
            <td>moderate</td>
        </tr>
        <tr>
            <th>References:</th>
            <td>
                <ul>
                    
                    
                </ul>
            </td>
        </tr>
        
        <tr>
            <th>Affected Products:</th>
            <td>
                <ul class="list-group">
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server 16.0</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server for SAP applications 16.0</li>
                    
                </ul>
            </td>
        </tr>
        </tbody>
    </table>

    <p>An update that  can now be installed.</p>

    


    
        <h2>Description:</h2>
    
    <p>This update for plexus-archiver, apache-commons-compress fixes the following issues:</p>
<p>Changes in plexus-archiver:</p>
<ul>
<li>we now have the dependencies to be able to build the zstd support</li>
</ul>
<p>Changes in apache-commons-compress:</p>
<p>Update to 1.28.0</p>
<ul>
<li>
<p>New Features</p>
<ul>
<li>Add GzipParameters.getModificationInstant()</li>
<li>Add GzipParameters.setModificationInstant(Instant)</li>
<li>Add GzipParameters.OS, setOS(OS), getOS()</li>
<li>Add GzipParameters.toString()</li>
<li>COMPRESS-638: Add GzipParameters.setFileNameCharset(Charset)
  and getFileNameCharset() to override the default ISO-8859-1
  Charset</li>
<li>Add support for gzip extra subfields, see
  GzipParameters.setExtra(HeaderExtraField)</li>
<li>Add CompressFilterOutputStream and refactor to use</li>
<li>Add ZipFile.stream()</li>
<li>GzipCompressorInputStream reads the modification time (MTIME)
  and stores its value incorrectly multiplied by 1,000</li>
<li>GzipCompressorInputStream writes the modification time (MTIME)
  the value incorrectly divided by 1,000</li>
<li>Add optional FHCRC to GZIP header</li>
<li>Add GzipCompressorInputStream.Builder allowing to customize
  the file name and comment Charsets</li>
<li>Add GzipCompressorInputStream.Builder
  .setOnMemberStart(IOConsumer) to monitor member parsing</li>
<li>Add GzipCompressorInputStream.Builder
  .setOnMemberEnd(IOConsumer) to monitor member parsing</li>
<li>Add PMD check to default Maven goal</li>
<li>Add SevenZFile.Builder.setMaxMemoryLimitKiB(int)</li>
<li>Add MemoryLimitException.MemoryLimitException(long, int,
  Throwable) and deprecate MemoryLimitException
  .MemoryLimitException(long, int, Exception)</li>
<li>COMPRESS-692: Add support for zstd compression in zip archives</li>
<li>Add support for XZ compression in ZIP archives</li>
<li>COMPRESS-695: Add ZipArchiveInputStream
  .createZstdInputStream(InputStream) to provide a different
  InputStream implementation for Zstandard (Zstd)</li>
<li>Add org.apache.commons.compress.harmony.pack200
  .Pack200Exception.Pack200Exception(String, Throwable)</li>
<li>COMPRESS-697: Move BitStream.nextBit() method to BitInputStream</li>
<li>Add org.apache.commons.compress.compressors.lzma
  .LZMACompressorInputStream.builder/Builder()</li>
<li>Add org.apache.commons.compress.compressors.lzma
  .LZMACompressorOutputStream.builder/Builder()</li>
<li>Add org.apache.commons.compress.compressors.xz
  .XZCompressorInputStream.builder/Builder()</li>
<li>Add org.apache.commons.compress.compressors.xz
  .XZCompressorOutputStream.builder/Builder()</li>
<li>Add org.apache.commons.compress.compressors.xz
  .ZstdCompressorOutputStream.builder/Builder()</li>
<li>Add org.apache.commons.compress.compressors.xz.ZstdConstants</li>
<li>Add org.apache.commons.compress.archivers.ArchiveException
  .requireNonNull(T, Supplier<String>)</li>
<li>Add org.apache.commons.compress.compressors
  .CompressorException as the root for all custom exceptions
  ArchiveException and CompressorException</li>
<li>Add ArchiveException.ArchiveException(String, Throwable)</li>
<li>Add ArchiveException.ArchiveException(Throwable)</li>
<li>Add org.apache.commons.compress.archivers.sevenz
  .SevenZArchiveEntry.isEmptyStream()</li>
<li>Add generics for org.apache.commons.compress.compressors
  .CompressorStreamProvider.createCompressorOutputStream(String, T)</li>
<li>Fixed Bugs</li>
<li>COMPRESS-686: Better exception messages in
  SeekableInMemoryByteChannel</li>
<li>COMPRESS-691: ZipArchiveOutputStream.addRawArchiveEntry()
  should check is2PhaseSource</li>
<li>ArchiveException extends IOException</li>
<li>CompressorException extends IOException</li>
<li>Update outdated descriptions in IOUtils and IOUtilsTest</li>
<li>Remove unused local variable in ZipFile</li>
<li>Optimize ZipEightByteInteger</li>
<li>ZipEightByteInteger.toString() now returns a number string
  without text prefix, like BigInteger</li>
<li>Throw an IllegalArgumentException when a file name or comment
  in gzip parameters encodes to a byte array with a 0 byte</li>
<li>Update outdated links in ZipMethod Javadoc</li>
<li>Deprecate ZipUtil.signedByteToUnsignedInt(byte) in favor of
  Byte.toUnsignedInt(byte)</li>
<li>ZipArchiveOutputStream.close() does not close its underlying
  output stream</li>
<li>ZipArchiveOutputStream.close() does not close its underlying
  output stream</li>
<li>Don&#x27;t use deprecated code in TarArchiveInputStream</li>
<li>Don&#x27;t use deprecated code in TarFile</li>
<li>CpioArchiveInputStream.read(byte[], int, int) now throws an
  IOException on a data pad count mismatch</li>
<li>CpioArchiveInputStream.readNewEntry(boolean) now throws an
  IOException on a header pad count mismatch</li>
<li>CpioArchiveInputStream.readOldBinaryEntry(boolean) now throws
  an IOException on a header pad count mismatch</li>
<li>Fix Javadoc and names in the org.apache.commons.compress
  .archivers.sevenz package to specify kibibyte scale in memory
  limits</li>
<li>Fix Javadoc and names in the org.apache.commons.compress
  .compressors.lzw package to specify kibibyte scale in memory
  limits</li>
<li>Fix Javadoc and names in the org.apache.commons.compress
  .compressors.z package to specify kibibyte scale in memory
  limits</li>
<li>Refactor LZ77Compressor block classes to reduce duplication</li>
<li>Package-private and private classes can be final</li>
<li>Deprecate ArjArchiveEntry.HostOs.HostOs()</li>
<li>Drop coveralls reference (no longer needed)</li>
<li>Some ZIP operations won&#x27;t read all data from a non-blocking
  file channel</li>
<li>COMPRESS-696: ZipArchiveInputStream.getCompressedCount()
  throws NullPointerException if called before getNextEntry()</li>
<li>org.apache.commons.compress.harmony.unpack200
  .SegmentConstantPool.getConstantPoolEntry(int, long) now
  throws Pack200Exception instead of Error and does better range
  checking of the index argument</li>
<li>org.apache.commons.compress.harmony.unpack200
  .SegmentConstantPool.getInitMethodPoolEntry(int, long, String)
  now throws Pack200Exception instead of Error and does better
  range checking of the index argument</li>
<li>org.apache.commons.compress.harmony.unpack200
  .SegmentConstantPool.getInitMethodPoolEntry(int, long, String)
  now throws Pack200Exception instead of Error on bad constant
  pool type input</li>
<li>org.apache.commons.compress.harmony.unpack200
  .SegmentConstantPool.getClassSpecificPoolEntry(int, long,
  String) now throws Pack200Exception instead of Error on bad
  constant pool type input</li>
<li>org.apache.commons.compress.harmony.unpack200
  .SegmentConstantPool.getClassPoolEntry(String) now throws
  Pack200Exception instead of Error on some bad inputs and
  states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode
  .ByteCode.extractOperands(OperandManager, Segment, int) now
  throws Pack200Exception instead of Error on some bad inputs
  and states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode.forms
  .ByteCodeForm.setByteCodeOperands(ByteCode, OperandManager,
  int) now throws Pack200Exception instead of Error on some bad
  inputs and states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode
  .CodeAttribute.CodeAttribute(int, int, byte[], Segment,
  OperandManager, List) now throws Pack200Exception instead of
  Error on some bad inputs and states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode.forms
  .IMethodRefForm.setByteCodeOperands(ByteCode, OperandManager,
  int) now throws Pack200Exception instead of Error on some bad
  inputs and states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode.forms
  .MultiANewArrayForm.setByteCodeOperands(ByteCode,
  OperandManager, int) now throws Pack200Exception instead of
  Error on some bad inputs and states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode.forms
  .NewClassRefForm.setByteCodeOperands(ByteCode, OperandManager,
  int) now throws Pack200Exception instead of Error on some bad
  inputs and states</li>
<li>org.apache.commons.compress.harmony.unpack200.bytecode.forms
  .ReferenceForm.setByteCodeOperands(ByteCode, OperandManager,
  int) now throws Pack200Exception instead of Error on some bad
  inputs and states</li>
<li>Deprecate org.apache.commons.compress.harmony.pack200
  .CanonicalCodecFamilies.CanonicalCodecFamilies()</li>
<li>Deprecate FileNameUtils#getBaseName(Path)</li>
<li>Deprecate FileNameUtils#getExtension(Path)</li>
<li>org.apache.commons.compress.harmony.unpack200.Archive.unpack()
  should not log to system out (the console)</li>
<li>[site] Fix minor zip docs type: remove extraneous &#x27;a&#x27;</li>
<li>Throw a better exception in org.apache.commons.compress
  .archivers.sevenz.SevenZFile.readFilesInfo(ByteBuffer,
  Archive)</li>
<li>MemoryLimitException now extends CompressException instead of
  IOException (CompressException extends IOException)</li>
<li>DumpArchiveException now extends ArchiveException instead of
  IOException (ArchiveException extends CompressException)</li>
<li>PasswordRequiredException now extends CompressException
  instead of IOException (CompressException extends IOException)</li>
<li>Pack200Exception now extends CompressException instead of
  IOException (CompressException extends IOException)</li>
<li>ArArchiveInputStream.getBSDLongName(String) now throws its
  EOFException with a message</li>
<li>ZipEncodingHelper.getZipEncoding(*) can throw
  NullPointerException and IllegalArgumentException on bad input
  instead of returning a value using the default Charset</li>
<li>Javadoc improvements throughout</li>
<li>COMPRESS-699: ArchiveStreamFactory.detect(inputStream)
  ArchiveException for TAR regression</li>
<li>COMPRESS-700: Can&#x27;t detect file
  flutter_awesome_buttons-0.1.0.tar as a TAR file</li>
<li>Deprecate org.apache.commons.compress.utils.TimeUtils
  .toUnixTime(FileTime) in favor of org.apache.commons.io.file
  .attribute.FileTimes.toUnixTime(FileTime)</li>
<li>Deprecate org.apache.commons.compress.utils.TimeUtils
  .truncateToHundredNanos(FileTime)</li>
<li>Changes</li>
<li>Bump org.apache.commons:commons-parent from 72 to 85</li>
<li>Bump com.github.luben:zstd-jni from 1.5.6-4 to 1.5.7-4</li>
<li>Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.18.0</li>
<li>Bump commons-io:commons-io from 2.16.1 to 2.20.0</li>
<li>Bump com.github.marschall:memoryfilesystem from 2.8.0 to 2.8.1</li>
<li>Bump org.ow2.asm:asm from 9.7 to 9.7.1</li>
<li>Bump commons-codec:commons-codec from 1.17.1 to 1.19.0</li>
<li>Removed</li>
<li>COMPRESS-638: GzipCompressorOutputStream no longer
  percent-endcodes in US-ASCII a file name or comment that the
  Charset in GzipParameters.setFileNameCharset(Charset) cannot
  encode</li>
<li>Remove ZstdCompressorOutputStream.toString(), it was
  misleading by returning the delegate&#x27;s toString()</li>
<li>Changes of version 1.27.1</li>
<li>Fixed Bugs</li>
<li>COMPRESS-686: Compression into BZip2 format has unexpected end
  of file when using a BufferedOutputStream</li>
<li>Changes</li>
<li>Bump org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0</li>
<li>Changes of version 1.27.0</li>
<li>New Features</li>
<li>Add ArchiveInputStream.forEach(IOConsumer)</li>
<li>Add ArchiveInputStream.iterator()</li>
<li>Add ArchiveOutputStream.isFinished()</li>
<li>Add ArchiveOutputStream.checkFinished()</li>
<li>Fixed Bugs</li>
<li>Fix PMD UnnecessaryFullyQualifiedName and others</li>
<li>COMPRESS-681: Support reading a 7z file that writing archive
  properties</li>
<li>Upgrade commons-io from 2.15.1 to 2.16.1</li>
<li>CompressorOutputStream now extends FilterOutputStream</li>
<li>ArchiveOutputStream now extends FilterOutputStream</li>
<li>COMPRESS-685: Update Javadoc description for
  GzipCompressorInputStream</li>
<li>Replace FileNameUtil.getCompressedFileName(String) use of
  Locale.ENGLISH with Locale.ROOT</li>
<li>Fix SpotBugs DLS_DEAD_LOCAL_STORE in
  SevenZFile.readPackInfo(ByteBuffer, Archive)</li>
<li>Fix SpotBugs NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE in
  ZipFile.openZipChannel(Path, long, OpenOption[])</li>
<li>Fix SpotBugs UC_USELESS_OBJECT in
  unpack200.CpBands.parseCpSignature(InputStream)</li>
<li>Fix PMD UselessOverridingMethod in
  unpack200.bytecode.InnerClassesAttribute</li>
<li>Fix PMD UselessOverridingMethod in
  unpack200.bytecode.LineNumberTableAttribute</li>
<li>Fix PMD CheckSkipResult in ZipArchiveInputStream.closeEntry()</li>
<li>Changes</li>
<li>COMPRESS-684: Replace assert with Exception</li>
<li>Bump org.apache.commons:commons-parent from 69 to 72</li>
<li>Bump PMD from 6.x to 7.2.0</li>
<li>Bump commons-codec:commons-codec from 1.17.0 to 1.17.1</li>
<li>Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0</li>
<li>Bump com.github.luben:zstd-jni from 1.5.6-3 to 1.5.6-4</li>
<li>Bump org.tukaani:xz from 1.9 to 1.10</li>
<li>Bump org.hamcrest:hamcrest from 2.2 to 3.0</li>
</ul>
</li>
</ul>



    

    <h2>Patch Instructions:</h2>
    <p>
        To install this SUSE  update use the SUSE recommended
        installation methods like YaST online_update or "zypper patch".<br/>

        Alternatively you can run the command listed for your product:
    </p>
    <ul class="list-group">
        
            <li class="list-group-item">
                SUSE Linux Enterprise Server 16.0
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-SLES-16.0-1090=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                SUSE Linux Enterprise Server for SAP applications 16.0
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-SLES-16.0-1090=1</code>
                    
                    
                
            </li>
        
    </ul>

    <h2>Package List:</h2>
    <ul>
        
            
                <li>
                    SUSE Linux Enterprise Server 16.0 (noarch)
                    <ul>
                        
                            <li>plexus-archiver-javadoc-4.11.0-160000.2.1</li>
                        
                            <li>apache-commons-compress-javadoc-1.28.0-160000.1.1</li>
                        
                            <li>plexus-archiver-4.11.0-160000.2.1</li>
                        
                            <li>apache-commons-compress-1.28.0-160000.1.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    SUSE Linux Enterprise Server for SAP applications 16.0 (noarch)
                    <ul>
                        
                            <li>apache-commons-compress-javadoc-1.28.0-160000.1.1</li>
                        
                            <li>apache-commons-compress-1.28.0-160000.1.1</li>
                        
                            <li>plexus-archiver-javadoc-4.11.0-160000.2.1</li>
                        
                            <li>plexus-archiver-4.11.0-160000.2.1</li>
                        
                    </ul>
                </li>
            
        
    </ul>

    
</div>