VYPR
Unrated severityCISA KEVNVD Advisory· Published Mar 21, 2019· Updated Oct 21, 2025

CVE-2019-7238

CVE-2019-7238

Description

Sonatype Nexus Repository Manager before 3.15.0 has Incorrect Access Control.

Patches

1
c2f0829b8724

Release 3-15.0-01

https://github.com/sonatype/nexus-publicJoseph StephensJan 14, 2019via osv
185 files changed · +473 331
  • assemblies/nexus-base-feature/pom.xml+6 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus.assemblies</groupId>
         <artifactId>nexus-assemblies</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-base-feature</artifactId>
    @@ -73,6 +73,11 @@
           <groupId>org.sonatype.nexus</groupId>
           <artifactId>nexus-rapture</artifactId>
         </dependency>
    +
    +    <dependency>
    +      <groupId>org.sonatype.nexus</groupId>
    +      <artifactId>nexus-quartz</artifactId>
    +    </dependency>
       </dependencies>
     
       <build>
    
  • assemblies/nexus-base-feature/src/main/feature/feature.xml+5 0 modified
    @@ -38,6 +38,11 @@
         <bundle>wrap:${mvn:swagger-core}$overwrite=merge&amp;Import-Package=com.google.common.*,*</bundle>
         <bundle>wrap:${mvn:swagger-jaxrs}$overwrite=merge&amp;Import-Package=com.google.common.*,org.reflections.*;resolution:=optional,*</bundle>
     
    +    <!--
    +    Widen Quartz optional imports to include c3p0/hikari - use '*' to avoid repeating long list of existing optional imports
    +    -->
    +    <bundle>wrap:${mvn:quartz}$overwrite=merge&amp;Import-Package=*;resolution:=optional</bundle>
    +
         <!--
         Give our extender bundle its own start level (distinct from the boot start-level)
         -->
    
  • assemblies/nexus-base-template/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus.assemblies</groupId>
         <artifactId>nexus-assemblies</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-base-template</artifactId>
    
  • assemblies/nexus-base-template/src/main/resources/overlay/etc/jetty/jetty-http-redirect-to-https.xml+23 0 modified
    @@ -10,10 +10,33 @@
               <Arg>
                 <New class="org.eclipse.jetty.security.ConstraintMapping">
                   <Set name="pathSpec">/*</Set>
    +              <Set name="method">TRACE</Set>
    +              <Set name="constraint">
    +                <New class="org.eclipse.jetty.util.security.Constraint">
    +                  <Set name="name">Deny TRACE</Set>
    +                  <Set name="authenticate">true</Set>
    +                  <Set name="roles">
    +                    <Array type="String"/>
    +                  </Set>
    +                </New>
    +              </Set>
    +            </New>
    +          </Arg>
    +        </Call>
    +        <Call name="addConstraintMapping">
    +          <Arg>
    +            <New class="org.eclipse.jetty.security.ConstraintMapping">
    +              <Set name="pathSpec">/*</Set>
    +              <Set name="methodOmissions">
    +                <Array type="String">
    +                  <Item>TRACE</Item>
    +                </Array>
    +              </Set>
                   <Set name="constraint">
                     <New class="org.eclipse.jetty.util.security.Constraint">
                       <!-- 2 means CONFIDENTIAL. 1 means INTEGRITY -->
                       <Set name="dataConstraint">2</Set>
    +                  <Set name="name">Redirect Everything Except TRACE to HTTPS</Set>
                     </New>
                   </Set>
                 </New>
    
  • assemblies/nexus-boot-feature/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus.assemblies</groupId>
         <artifactId>nexus-assemblies</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-boot-feature</artifactId>
    
  • assemblies/nexus-core-feature/pom.xml+6 5 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus.assemblies</groupId>
         <artifactId>nexus-assemblies</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-core-feature</artifactId>
    @@ -54,16 +54,17 @@
           <scope>provided</scope>
         </dependency>
     
    -    <!-- bundles and sub-features belonging to nexus-core-feature -->
    -
         <dependency>
           <groupId>org.sonatype.nexus</groupId>
    -      <artifactId>nexus-core</artifactId>
    +      <artifactId>nexus-quartz</artifactId>
    +      <scope>provided</scope>
         </dependency>
     
    +    <!-- bundles and sub-features belonging to nexus-core-feature -->
    +
         <dependency>
           <groupId>org.sonatype.nexus</groupId>
    -      <artifactId>nexus-quartz</artifactId>
    +      <artifactId>nexus-core</artifactId>
         </dependency>
     
         <dependency>
    
  • assemblies/nexus-startup-feature/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus.assemblies</groupId>
         <artifactId>nexus-assemblies</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-startup-feature</artifactId>
    
  • assemblies/pom.xml+3 3 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-parent</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <groupId>org.sonatype.nexus.assemblies</groupId>
    @@ -45,15 +45,15 @@
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-components</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-plugins</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
    
  • buildsupport/all/pom.xml+19 19 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-all</artifactId>
    @@ -35,143 +35,143 @@
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-commons</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-db</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-goodies</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-groovy</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-guice</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-httpclient</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-internal</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-jetty</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-jruby</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-logging</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-maven</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-metrics</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-osgi</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-other</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-rest</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-security</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-testing</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-ui</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
         </dependencies>
    
  • buildsupport/commons/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-commons</artifactId>
    
  • buildsupport/db/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-db</artifactId>
    
  • buildsupport/extjs-maven-plugin/pom.xml+2 2 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>extjs-maven-plugin</artifactId>
    @@ -37,7 +37,7 @@
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-all</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
    
  • buildsupport/goodies/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-goodies</artifactId>
    
  • buildsupport/groovy/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-groovy</artifactId>
    
  • buildsupport/guice/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-guice</artifactId>
    
  • buildsupport/httpclient/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-httpclient</artifactId>
    
  • buildsupport/internal/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-internal</artifactId>
    
  • buildsupport/jetty/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-jetty</artifactId>
    
  • buildsupport/jruby/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-jruby</artifactId>
    
  • buildsupport/logging/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-logging</artifactId>
    
  • buildsupport/maven/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-maven</artifactId>
    
  • buildsupport/metrics/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-metrics</artifactId>
    
  • buildsupport/osgi/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-osgi</artifactId>
    
  • buildsupport/other/pom.xml+15 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-other</artifactId>
    @@ -145,6 +145,20 @@
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz</artifactId>
             <version>2.3.0</version>
    +        <exclusions>
    +          <exclusion>
    +            <groupId>com.mchange</groupId>
    +            <artifactId>c3p0</artifactId>
    +          </exclusion>
    +          <exclusion>
    +            <groupId>com.mchange</groupId>
    +            <artifactId>mchange-commons-java</artifactId>
    +          </exclusion>
    +          <exclusion>
    +            <groupId>com.zaxxer</groupId>
    +            <artifactId>HikariCP-java6</artifactId>
    +          </exclusion>
    +        </exclusions>
           </dependency>
     
           <dependency>
    
  • buildsupport/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-parent</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <groupId>org.sonatype.nexus.buildsupport</groupId>
    
  • buildsupport/rest/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-rest</artifactId>
    
  • buildsupport/scripts/pom.xml+2 2 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-scripts</artifactId>
    @@ -36,7 +36,7 @@
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-all</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
    
  • buildsupport/security/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-security</artifactId>
    
  • buildsupport/testing/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-testing</artifactId>
    
  • buildsupport/ui/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.buildsupport</groupId>
         <artifactId>nexus-buildsupport</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-buildsupport-ui</artifactId>
    
  • components/nexus-audit/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-audit</artifactId>
    
  • components/nexus-base/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-base</artifactId>
    
  • components/nexus-base/src/main/java/org/sonatype/nexus/internal/wonderland/UserAuthToken.java+1 1 modified
    @@ -15,7 +15,7 @@
     import java.util.Objects;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     public class UserAuthToken
     {
    
  • components/nexus-blobstore-api/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-blobstore-api</artifactId>
    
  • components/nexus-blobstore-api/src/main/java/org/sonatype/nexus/blobstore/api/BlobStore.java+3 3 modified
    @@ -103,7 +103,7 @@ public interface BlobStore
       /**
        * Creates a new blob with the provided {@link BlobId}.
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       Blob create(InputStream blobData, Map<String, String> headers, @Nullable BlobId blobId);
     
    @@ -249,7 +249,7 @@ public interface BlobStore
        * {@link #isStorageAvailable()}
        *
        * @return {@code true} if the blob store is writable
    -   * @since 3.next
    +   * @since 3.15
        */
       default boolean isWritable() {
         return getBlobStoreConfiguration().isWritable();
    @@ -259,7 +259,7 @@ default boolean isWritable() {
        * Returns true if the blobstore has been started.
        *
        * @return {@code true} if the blobstore has been started.
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean isStarted();
     }
    
  • components/nexus-blobstore-api/src/main/java/org/sonatype/nexus/blobstore/api/BlobStoreManager.java+2 2 modified
    @@ -85,7 +85,7 @@ public interface BlobStoreManager
        * @param blobStoreName
        * @return true if member is promotable
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean isPromotable(String blobStoreName);
     
    @@ -94,7 +94,7 @@ public interface BlobStoreManager
        * @param blobStoreName
        * @return {@link java.util.Optional<String>} containing the parent group name if it exists
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       Optional<String> getParent(String blobStoreName);
     }
    
  • components/nexus-blobstore-api/src/main/java/org/sonatype/nexus/blobstore/api/BlobStoreUpdatedEvent.java+1 1 modified
    @@ -16,7 +16,7 @@
     /**
      * Emitted when a {@link BlobStore} has been updated.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class BlobStoreUpdatedEvent
       extends BlobStoreEvent
    
  • components/nexus-blobstore-file/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-blobstore-file</artifactId>
    
  • components/nexus-blobstore-file/src/main/java/org/sonatype/nexus/blobstore/file/FileAttributesLocation.java+1 1 modified
    @@ -21,7 +21,7 @@
     /**
      * Location for FileBlobStore attributes files
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class FileAttributesLocation
         implements AttributesLocation
    
  • components/nexus-blobstore-file/src/main/java/org/sonatype/nexus/blobstore/file/internal/FileOperations.java+1 1 modified
    @@ -100,7 +100,7 @@ public interface FileOperations
        * @param path to be deleted
        * @return {@code true} if the path was deleted, {@code false} otherwise
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean deleteQuietly(Path path);
     
    
  • components/nexus-blobstore/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-blobstore</artifactId>
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/AttributesLocation.java+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Describes properties of blob store attribute files
      *
    - * @since 3.next
    + * @since 3.15
      */
     public interface AttributesLocation
     {
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/BlobStoreSupport.java+1 1 modified
    @@ -39,7 +39,7 @@
     /**
      * Supports the implementation of {@link BlobStore}.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public abstract class BlobStoreSupport<T extends AttributesLocation>
         extends StateGuardLifecycleSupport
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/BlobStoreUtil.java+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Blob store utilities.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public interface BlobStoreUtil {
       /**
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/group/BlobStoreGroupService.java+1 1 modified
    @@ -17,7 +17,7 @@
     /**
      * Blob store group service.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public interface BlobStoreGroupService {
       /**
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/quota/BlobStoreQuota.java+1 1 modified
    @@ -25,7 +25,7 @@ public interface BlobStoreQuota
       /**
        * Ensure that the configuration has all the needed values
        * @param config - the configuration to be validated
    -   * @since 3.next
    +   * @since 3.15
        */
       void validateConfig(BlobStoreConfiguration config);
     
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/quota/BlobStoreQuotaService.java+1 1 modified
    @@ -25,7 +25,7 @@ public interface BlobStoreQuotaService
       /**
        * If the config has a quota, ensure that the configuration has all the needed values
        * @param config - the configuration to be validated
    -   * @since 3.next
    +   * @since 3.15
        */
       void validateSoftQuotaConfig(BlobStoreConfiguration config);
     
    
  • components/nexus-blobstore/src/main/java/org/sonatype/nexus/blobstore/quota/BlobStoreQuotaSupport.java+1 1 modified
    @@ -102,7 +102,7 @@ static void quotaCheckJob(final BlobStore blobStore, final BlobStoreQuotaService
        * Gets the blob store's quota limit from the blob store's configuration.
        *
        * @return the quota's limit
    -   * @since 3.next
    +   * @since 3.15
        */
       public static long getLimit(final BlobStoreConfiguration config) {
         Number limitObj = config.attributes(ROOT_KEY).get(LIMIT_KEY, Number.class);
    
  • components/nexus-bootstrap/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-bootstrap</artifactId>
    
  • components/nexus-cache/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-cache</artifactId>
    
  • components/nexus-capability/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-capability</artifactId>
    
  • components/nexus-cleanup/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <artifactId>nexus-components</artifactId>
         <groupId>org.sonatype.nexus</groupId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
       <modelVersion>4.0.0</modelVersion>
     
    
  • components/nexus-commands/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-commands</artifactId>
    
  • components/nexus-common/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-common</artifactId>
    
  • components/nexus-common/src/main/java/org/sonatype/nexus/common/property/ImplicitSourcePropertiesFile.java+1 1 modified
    @@ -21,7 +21,7 @@
      * or {@link java.io.InputStream}/{@link java.io.OutputStream} internally and does not require a parameter
      * to {@code load()} or {@code store()}
      *
    - * @since 3.next
    + * @since 3.15
      */
     public abstract class ImplicitSourcePropertiesFile
         extends Properties
    
  • components/nexus-common/src/main/java/org/sonatype/nexus/common/status/StatusHealthCheckException.java+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Checked {@link Exception} for {@link StatusHealthCheckStore} operations
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class StatusHealthCheckException
         extends Exception
    
  • components/nexus-common/src/main/java/org/sonatype/nexus/common/status/StatusHealthCheckStore.java+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Store used for persisting a timestamp representing the most recent health check request received by the instance
      *
    - * @since 3.next
    + * @since 3.15
      */
     public interface StatusHealthCheckStore
     {
    
  • components/nexus-core/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-core</artifactId>
    
  • components/nexus-core/src/main/java/org/sonatype/nexus/internal/status/StatusHealthCheckEntityAdapter.java+1 1 modified
    @@ -35,7 +35,7 @@
     /**
      * Entity adapter used to store node health check timestamps
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • components/nexus-core/src/main/java/org/sonatype/nexus/internal/status/StatusHealthCheckStoreImpl.java+1 1 modified
    @@ -40,7 +40,7 @@
     /**
      * Orient {@link StatusHealthCheckStore} implementation.
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @ManagedLifecycle(phase = SCHEMAS)
    
  • components/nexus-core/src/main/java/org/sonatype/nexus/internal/status/StatusResourceDoc.java+1 1 modified
    @@ -23,7 +23,7 @@
     /**
      * REST API for status operations
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Api("status")
     public interface StatusResourceDoc
    
  • components/nexus-core/src/main/java/org/sonatype/nexus/internal/status/StatusResource.java+1 1 modified
    @@ -35,7 +35,7 @@
     import static org.sonatype.nexus.rest.APIConstants.V1_API_PREFIX;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • components/nexus-crypto/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-crypto</artifactId>
    
  • components/nexus-elasticsearch/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-elasticsearch</artifactId>
    
  • components/nexus-email/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-email</artifactId>
    
  • components/nexus-extdirect/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-extdirect</artifactId>
    
  • components/nexus-extdirect/src/main/java/org/sonatype/nexus/extdirect/internal/ExtDirectDispatcher.java+1 1 modified
    @@ -36,7 +36,7 @@
     import static org.sonatype.nexus.extdirect.model.Responses.success;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @ManagedLifecycle(phase = SERVICES)
    
  • components/nexus-extdirect/src/main/java/org/sonatype/nexus/extdirect/internal/ExtDirectExceptionHandler.java+1 1 modified
    @@ -36,7 +36,7 @@
     import static org.sonatype.nexus.extdirect.model.Responses.invalid;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @ManagedLifecycle(phase = SERVICES)
    
  • components/nexus-extender/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-extender</artifactId>
    
  • components/nexus-formfields/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-formfields</artifactId>
    
  • components/nexus-guice-servlet/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-guice-servlet</artifactId>
    
  • components/nexus-httpclient/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-httpclient</artifactId>
    
  • components/nexus-jmx/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-jmx</artifactId>
    
  • components/nexus-main/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-main</artifactId>
    
  • components/nexus-mime/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-mime</artifactId>
    
  • components/nexus-orient-console/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-orient-console</artifactId>
    
  • components/nexus-orient/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-orient</artifactId>
    
  • components/nexus-orient/src/main/java/org/sonatype/nexus/orient/ReplicationModeOverrides.java+1 1 modified
    @@ -23,7 +23,7 @@
     /**
      * Supports declaring temporary overrides to the replication mode.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class ReplicationModeOverrides
     {
    
  • components/nexus-oss-edition/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-oss-edition</artifactId>
    
  • components/nexus-pax-exam/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-pax-exam</artifactId>
    
  • components/nexus-pax-logging/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-pax-logging</artifactId>
    
  • components/nexus-plugin-api/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-plugin-api</artifactId>
    
  • components/nexus-quartz/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-quartz</artifactId>
    
  • components/nexus-rapture/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-rapture</artifactId>
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/controller/DependencySnippet.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Dependency snippets controller.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.controller.DependencySnippet', {
       extend: 'NX.app.Controller',
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/ext/button/Button.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * A button with custom behaviour
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.ext.button.Button', {
       extend: 'Ext.button.Button',
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/ext/direct/RemotingProvider.js+1 1 modified
    @@ -40,7 +40,7 @@ Ext.define('NX.ext.direct.RemotingProvider', {
       /**
        * Ensure timeout is set on requests.
        *
    -   * @since 3.next
    +   * @since 3.15
        * @override
        */
       sendTransaction: function(transaction) {
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/model/DependencySnippet.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Dependency snippet model.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.model.DependencySnippet', {
       extend: 'Ext.data.Model',
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/store/DependencySnippet.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Dependency snippet store
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.store.DependencySnippet', {
       extend: 'Ext.data.Store',
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/util/Clipboard.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Clipboard related utils.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.util.Clipboard', {
       singleton: true,
    
  • components/nexus-rapture/src/main/resources/static/rapture/NX/view/info/DependencySnippetPanel.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Dependency snippet info panel.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.view.info.DependencySnippetPanel', {
       extend: 'Ext.panel.Panel',
    
  • components/nexus-repository/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-repository</artifactId>
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/browse/BrowseFacet.java+1 1 modified
    @@ -17,7 +17,7 @@
     /**
      * Provides Browse related information
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Facet.Exposed
     public interface BrowseFacet
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/browse/internal/BrowseFacetImpl.java+1 1 modified
    @@ -24,7 +24,7 @@
     import static org.sonatype.nexus.repository.browse.internal.RebuildBrowseNodesTaskDescriptor.REPOSITORY_NAME_FIELD_ID;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     public class BrowseFacetImpl
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/internal/blobstore/BlobStoreConfigurationEntityAdapter.java+1 1 modified
    @@ -159,7 +159,7 @@ public BlobStoreConfiguration getByName(final ODatabaseDocumentTx db, final Stri
        *
        * @return the {@link Optional<BlobStoreConfiguration>} which is the parent of the blob store if it exists
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       public Optional<BlobStoreConfiguration> getParent(final ODatabaseDocumentTx db, final String name) {
         String query = format("SELECT FROM %s WHERE ? in attributes.group.members", getTypeName());
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/internal/blobstore/BlobStoreConfigurationStore.java+1 1 modified
    @@ -61,7 +61,7 @@ public interface BlobStoreConfigurationStore
        * @param name of the child to search on
        * @return the {@link Optional<BlobStoreConfiguration>} for the parent group if it exists
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       Optional<BlobStoreConfiguration> findParent(String name);
     }
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/internal/blobstore/BlobStoreUtilImpl.java+1 1 modified
    @@ -23,7 +23,7 @@
     import static com.google.common.collect.Iterables.size;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/maintenance/internal/DeleteFolderServiceImpl.java+1 1 modified
    @@ -48,7 +48,7 @@
     import static com.google.common.base.Preconditions.checkNotNull;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/maintenance/internal/DeleteFolderService.java+1 1 modified
    @@ -22,7 +22,7 @@
      * Deletes all assets under a given path, that were created before a given timestamp, in a repository based on
      * a user's privileges.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public interface DeleteFolderService
     {
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/maintenance/internal/MaintenanceServiceImpl.java+1 1 modified
    @@ -98,7 +98,7 @@ public Set<String> deleteComponent(final Repository repository, final Component
       }
     
       /**
    -   * @since 3.next
    +   * @since 3.15
        */
       @Override
       public void deleteFolder(final Repository repository, final String path) {
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/maintenance/MaintenanceService.java+4 4 modified
    @@ -40,31 +40,31 @@ public interface MaintenanceService
       /**
        * Delete a path in the specified repository.
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       void deleteFolder(Repository repository, String path);
     
       /**
        * Check if a component can be deleted.
        * @return true if the component can be deleted, false otherwise
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean canDeleteComponent(Repository repository, Component component);
     
       /**
        * Check if an asset can be deleted.
        * @return true if the asset can be deleted, false otherwise
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean canDeleteAsset(Repository repository, Asset asset);
     
       /**
        * Check if user can potentially delete any asset in a given path.
        * @return true if the path can be deleted, false otherwise
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean canDeleteFolder(Repository repository, String path);
     }
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/repair/RepairMetadataComponent.java+1 1 modified
    @@ -38,7 +38,7 @@
      * Implementations of {@link BaseRestoreBlobStrategy} run a post processing method where implementations
      * of this class should be called if any post processing is to be done on the regenerated {@link Asset}
      *
    - * @since 3.next
    + * @since 3.15
      */
     public abstract class RepairMetadataComponent
         extends ComponentSupport
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/rest/SearchUtils.java+1 1 modified
    @@ -89,7 +89,7 @@ public Repository getRepository(final String repository) {
       }
     
       /**
    -   * @since 3.next
    +   * @since 3.15
        * @param searchFilters
        * @return a {@link QueryBuilder} for the provided search filters, the query will be generated by the {@link SearchContribution}s
        */
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/DefaultSearchContribution.java+1 1 modified
    @@ -21,7 +21,7 @@
     /**
      * "default" {@link SearchContribution} (adds filter as an ES term filter).
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named(DefaultSearchContribution.NAME)
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/DockerContentDigestSearchContribution.java+1 1 modified
    @@ -21,7 +21,7 @@
     /**
      * "attributes.docker.content_digest" {@link SearchContribution} (adds a prefix query for content_digest).
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named("assets.attributes.docker.content_digest")
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/DockerLayerIdSearchContribution.java+1 1 modified
    @@ -21,7 +21,7 @@
     /**
      * "attributes.docker.layerAncestry" {@link SearchContribution} (adds a prefix query for ancestry).
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named("attributes.docker.layerAncestry")
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/KeywordSearchContribution.java+1 1 modified
    @@ -25,7 +25,7 @@
     /**
      * "Keyword" {@link SearchContribution} (adds filter as an ES query string).
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named(KeywordSearchContribution.NAME)
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/NugetTagsSearchContribution.java+1 1 modified
    @@ -21,7 +21,7 @@
     /**
      * "attributes.nuget.tag" {@link SearchContribution} (adds a match query for tag).
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named("attributes.nuget.tags")
     @Singleton
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/SearchContribution.java+1 1 modified
    @@ -17,7 +17,7 @@
     /**
      * Contributor to search query/filter.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public interface SearchContribution
     {
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/SearchContributionSupport.java+1 1 modified
    @@ -17,7 +17,7 @@
     /**
      * Support for {@link SearchContribution} implementations.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class SearchContributionSupport
         implements SearchContribution
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/SearchFilter.java+1 1 modified
    @@ -17,7 +17,7 @@
     import static com.google.common.base.Preconditions.checkNotNull;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     public class SearchFilter
     {
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/search/SearchResultComponentGeneratorSupport.java+1 1 modified
    @@ -31,7 +31,7 @@
     import static org.sonatype.nexus.repository.search.DefaultComponentMetadataProducer.REPOSITORY_NAME;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     public abstract class SearchResultComponentGeneratorSupport
       extends ComponentSupport
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/security/RepositoryPermissionChecker.java+1 1 modified
    @@ -69,7 +69,7 @@ public boolean userCanBrowseRepository(final Repository repository) {
        * @param repository
        * @return true if user can delete anything within the repository based on repository or content selector privilege
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       public boolean userCanDeleteInRepository(final Repository repository) {
         return userHasRepositoryViewPermissionTo(DELETE, repository) || userHasAnyContentSelectorAccessTo(repository, DELETE);
    
  • components/nexus-repository/src/main/java/org/sonatype/nexus/repository/view/handlers/LastDownloadedHandler.java+1 1 modified
    @@ -41,7 +41,7 @@
     /**
      * Updates the asset last downloaded time
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • components/nexus-rest-client/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-rest-client</artifactId>
    
  • components/nexus-rest-jackson2/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-rest-jackson2</artifactId>
    
  • components/nexus-rest/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-rest</artifactId>
    
  • components/nexus-scheduling/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-scheduling</artifactId>
    
  • components/nexus-scheduling/src/main/java/org/sonatype/nexus/scheduling/TaskDescriptor.java+1 1 modified
    @@ -74,7 +74,7 @@ public interface TaskDescriptor
       /**
        * Returns true if the job should be marked as recoverable
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean isRecoverable();
     }
    
  • components/nexus-script/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-script</artifactId>
    
  • components/nexus-security/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-security</artifactId>
    
  • components/nexus-selector/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-selector</artifactId>
    
  • components/nexus-selector/src/main/java/org/sonatype/nexus/selector/CselAssetSqlBuilder.java+1 1 modified
    @@ -135,7 +135,7 @@ protected Object visit(final ASTEQNode node, final Object data) {
     
       /**
        * Convert 'a != b' into 'a <> b'
    -   * @since 3.next
    +   * @since 3.15
        */
       @Override
       protected Object visit(final ASTNENode node, final Object data) {
    
  • components/nexus-selector/src/main/java/org/sonatype/nexus/selector/JexlSelector.java+2 1 modified
    @@ -16,6 +16,7 @@
     import java.util.Set;
     
     import org.sonatype.nexus.common.text.Strings2;
    +import org.sonatype.nexus.selector.internal.SandboxJexlUberspect;
     
     import org.apache.commons.jexl3.JexlBuilder;
     import org.apache.commons.jexl3.JexlContext;
    @@ -41,7 +42,7 @@ public class JexlSelector
       // this stops JEXL from using expensive new Throwable().getStackTrace() to find caller info
       private static final JexlInfo CALLER_INFO = new JexlInfo(JexlSelector.class.getName(), 0, 0);
     
    -  private static final JexlEngine jexlEngine = new JexlBuilder().create();
    +  private static final JexlEngine jexlEngine = new JexlBuilder().uberspect(new SandboxJexlUberspect()).create();
     
       private final Optional<JexlExpression> expression;
     
    
  • components/nexus-selector/src/main/java/org/sonatype/nexus/selector/LeadingSlashRegexTransformer.java+1 1 modified
    @@ -38,7 +38,7 @@
      * Most of the complexity in this implementation is around detecting when a slash is leading, especially
      * since you may have several alternate clauses mixed with a variety of wildcarded and nested expressions.
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class LeadingSlashRegexTransformer
     {
    
  • components/nexus-selector/src/test/java/org/sonatype/nexus/selector/JexlSelectorTest.java+34 0 modified
    @@ -12,6 +12,8 @@
      */
     package org.sonatype.nexus.selector;
     
    +import java.util.HashMap;
    +import java.util.Map;
     import org.sonatype.goodies.testsupport.TestSupport;
     
     import org.apache.commons.jexl3.JexlException;
    @@ -29,11 +31,22 @@ public class JexlSelectorTest
     {
       private VariableSource source;
     
    +  private static class SomeObject
    +  {
    +    @SuppressWarnings("unused")
    +    private String foo;
    +  }
    +
       @Before
       public void setUp() {
    +    Map<String, String> writeableMap = new HashMap<>();
    +    writeableMap.put("foo", "bar");
    +
         source = new VariableSourceBuilder()
             .addResolver(new PropertiesResolver<>("component", of("format", "maven2")))
    +        .addResolver(new PropertiesResolver<>("writeableMap", writeableMap))
             .addResolver(new PropertiesResolver<>("asset", of("name", "junit", "group", "Jjunit", "path", "/org/apache/maven/foo/bar/moo.jar")))
    +        .addResolver(new ConstantVariableResolver(new SomeObject(), "writeableObj"))
             .addResolver(new ConstantVariableResolver(true, "X"))
             .addResolver(new ConstantVariableResolver(false, "Y"))
             .addResolver(new ConstantVariableResolver("foobar", "someString"))
    @@ -135,4 +148,25 @@ public void testMap() {
     
         assertTrue(selector.evaluate(source));
       }
    +
    +  @Test(expected = JexlException.class)
    +  public void testNoConstructor() {
    +    Selector selector = new JexlSelector("new('" + JexlSelector.class.getName() + "', 'path = \\'/bar\\'')");
    +
    +    selector.evaluate(source);
    +  }
    +
    +  @Test(expected = JexlException.class)
    +  public void testMethodsBlocked() {
    +    Selector selector = new JexlSelector("writeableMap.put('foo', 'xxx')");
    +
    +    selector.evaluate(source);
    +  }
    +
    +  @Test(expected = JexlException.class)
    +  public void testWriteBlocked() {
    +    Selector selector = new JexlSelector("writeableObj.foo = 'xxx'");
    +
    +    selector.evaluate(source);
    +  }
     }
    
  • components/nexus-servlet/pom.xml+1 1 modified
    @@ -19,7 +19,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-servlet</artifactId>
    
  • components/nexus-siesta/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-siesta</artifactId>
    
  • components/nexus-ssl/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-ssl</artifactId>
    
  • components/nexus-supportzip-api/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-supportzip-api</artifactId>
    
  • components/nexus-swagger/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-swagger</artifactId>
    
  • components/nexus-task-logging/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-task-logging</artifactId>
    
  • components/nexus-test-common/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-test-common</artifactId>
    
  • components/nexus-thread/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-thread</artifactId>
    
  • components/nexus-transaction/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-transaction</artifactId>
    
  • components/nexus-upgrade/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-upgrade</artifactId>
    
  • components/nexus-validation/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-validation</artifactId>
    
  • components/nexus-webhooks/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-webhooks</artifactId>
    
  • components/nexus-webresources-api/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-components</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-webresources-api</artifactId>
    
  • components/pom.xml+3 3 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-parent</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-components</artifactId>
    @@ -91,15 +91,15 @@
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-all</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.bundles</groupId>
             <artifactId>nexus-thirdparty-bundles</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
    
  • mvnw+0 0 modified
  • plugins/nexus-audit-plugin/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-audit-plugin</artifactId>
    
  • plugins/nexus-blobstore-s3/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-blobstore-s3</artifactId>
    
  • plugins/nexus-blobstore-s3/src/main/java/org/sonatype/nexus/blobstore/s3/internal/MultipartCopier.java+1 1 modified
    @@ -39,7 +39,7 @@
      * Copies a file, using multipart copy if the file is larger or equal to the chunk size.  A normal copyObject request is
      * used instead if only a single chunk would be copied.
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named("multipart-copier")
     public class MultipartCopier
    
  • plugins/nexus-blobstore-s3/src/main/java/org/sonatype/nexus/blobstore/s3/internal/S3AttributesLocation.java+1 1 modified
    @@ -21,7 +21,7 @@
     /**
      * Location for S3BlobStore attributes files
      *
    - * @since 3.next
    + * @since 3.15
      */
     public class S3AttributesLocation
         implements AttributesLocation
    
  • plugins/nexus-blobstore-s3/src/main/java/org/sonatype/nexus/blobstore/s3/internal/S3Copier.java+1 1 modified
    @@ -16,7 +16,7 @@
     
     /**
      * Copies a file in S3.
    - * @since 3.next
    + * @since 3.15
      */
     public interface S3Copier {
     
    
  • plugins/nexus-blobstore-tasks/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-blobstore-tasks</artifactId>
    
  • plugins/nexus-blobstore-tasks/src/main/java/org/sonatype/nexus/blobstore/restore/RestoreBlobStrategy.java+1 1 modified
    @@ -43,7 +43,7 @@ default void restore(Properties properties, Blob blob, String blobStoreName) {
       /**
        * Runs after all blobs have been restored to the database.
        * 
    -   * @since 3.next
    +   * @since 3.15
        * @param updateAssets whether updating assets is expected or not
        * @param repository repository to update
        */
    
  • plugins/nexus-coreui-plugin/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-coreui-plugin</artifactId>
    
  • plugins/nexus-coreui-plugin/src/main/java/org/sonatype/nexus/coreui/BlobStoreXO.groovy+1 1 modified
    @@ -62,7 +62,7 @@ class BlobStoreXO
     
       /**
        * the name of the group to which this blob store belongs, or null if not in a group
    -   * @since 3.next
    +   * @since 3.15
        */
       String groupName
     }
    
  • plugins/nexus-coreui-plugin/src/main/java/org/sonatype/nexus/coreui/ComponentComponent.groovy+2 0 modified
    @@ -58,6 +58,7 @@ import com.softwarementors.extjs.djn.config.annotations.DirectAction
     import com.softwarementors.extjs.djn.config.annotations.DirectMethod
     import org.apache.shiro.authz.AuthorizationException
     import org.apache.shiro.authz.annotation.RequiresAuthentication
    +import org.apache.shiro.authz.annotation.RequiresPermissions
     import org.hibernate.validator.constraints.NotEmpty
     
     import static com.google.common.base.Preconditions.checkNotNull
    @@ -191,6 +192,7 @@ class ComponentComponent
       @DirectMethod
       @Timed
       @ExceptionMetered
    +  @RequiresPermissions('nexus:selectors:*')
       PagedResponse<AssetXO> previewAssets(final StoreLoadParameters parameters) {
         String repositoryName = parameters.getFilter('repositoryName')
         String expression = parameters.getFilter('expression')
    
  • plugins/nexus-coreui-plugin/src/main/resources/static/rapture/NX/coreui/controller/ComponentAssetTree.js+1 1 modified
    @@ -743,13 +743,13 @@ Ext.define('NX.coreui.controller.ComponentAssetTree', {
               if (Ext.isObject(response) && response.success) {
                 var selectedRecord = treePanel.getSelectionModel().getSelection()[0];
                 if (selectedRecord.get('leaf')) {
    +              me.removeSideContent();
                   me.removeNodeFromTree(selectedRecord);
                 }
                 else {
                   selectedRecord.set('type', 'folder');
                   selectedRecord.set('iconCls', me.mixins.componentUtils.getIconForAsset(selectedRecord).get('cls'));
                 }
    -            me.removeSideContent();
                 NX.Messages.add({text: NX.I18n.format('AssetInfo_Delete_Success', asset.get('name')), type: 'success'});
               }
             });
    
  • plugins/nexus-coreui-plugin/src/main/resources/static/rapture/NX/coreui/view/component/ComponentFolderInfo.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Folder info panel.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.coreui.view.component.ComponentFolderInfo', {
       extend: 'Ext.Panel',
    
  • plugins/nexus-repository-httpbridge/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-repository-httpbridge</artifactId>
    
  • plugins/nexus-repository-maven/pom.xml+57 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-repository-maven</artifactId>
    @@ -143,6 +143,62 @@
               </execution>
             </executions>
           </plugin>
    +
    +      <plugin>
    +        <artifactId>maven-resources-plugin</artifactId>
    +        <executions>
    +          <execution>
    +            <id>copy-mocks</id>
    +            <phase>generate-resources</phase>
    +            <goals>
    +              <goal>copy-resources</goal>
    +            </goals>
    +            <configuration>
    +              <outputDirectory>${project.build.directory}/src/mocks</outputDirectory>
    +              <overwrite>true</overwrite>
    +              <resources>
    +                <resource>
    +                  <directory>../../buildsupport/testing/jasmine</directory>
    +                  <includes>
    +                    <include>Mocks.js</include>
    +                  </includes>
    +                </resource>
    +              </resources>
    +            </configuration>
    +          </execution>
    +        </executions>
    +      </plugin>
    +
    +      <plugin>
    +        <groupId>com.github.klieber</groupId>
    +        <artifactId>phantomjs-maven-plugin</artifactId>
    +      </plugin>
    +
    +      <plugin>
    +        <groupId>com.github.searls</groupId>
    +        <artifactId>jasmine-maven-plugin</artifactId>
    +        <configuration>
    +          <preloadSources>
    +            <source>${project.build.directory}/src/mocks/Mocks.js</source>
    +          </preloadSources>
    +          <sourceIncludes>
    +            <include>NX/**/*.js</include>
    +          </sourceIncludes>
    +          <specIncludes>
    +            <include>**/*-spec.js</include>
    +          </specIncludes>
    +          <jsSrcDir>${project.basedir}/src/main/resources/static/rapture</jsSrcDir>
    +          <jsTestSrcDir>${project.basedir}/src/test/resources/jasmine</jsTestSrcDir>
    +          <webDriverClassName>org.openqa.selenium.phantomjs.PhantomJSDriver</webDriverClassName>
    +          <webDriverCapabilities>
    +            <capability>
    +              <name>phantomjs.binary.path</name>
    +              <value>${phantomjs.binary}</value>
    +            </capability>
    +          </webDriverCapabilities>
    +        </configuration>
    +      </plugin>
    +
         </plugins>
       </build>
     
    
  • plugins/nexus-repository-maven/src/main/java/org/sonatype/nexus/repository/maven/internal/MavenComponentMaintenanceFacet.java+1 1 modified
    @@ -30,7 +30,7 @@
     /**
      * maven format specific hosted and proxy {@link ComponentMaintenance}.
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     public class MavenComponentMaintenanceFacet
    
  • plugins/nexus-repository-maven/src/main/java/org/sonatype/nexus/repository/maven/internal/UiPluginDescriptorImpl.java+1 1 modified
    @@ -23,7 +23,7 @@
     /**
      * Rapture {@link org.sonatype.nexus.rapture.UiPluginDescriptor} for {@code nexus-repository-maven}.
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • plugins/nexus-repository-maven/src/main/resources/static/rapture/NX/maven/app/PluginConfig.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * Maven plugin configuration
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.maven.app.PluginConfig', {
       '@aggregate_priority': 100,
    
  • plugins/nexus-repository-maven/src/main/resources/static/rapture/NX/maven/controller/MavenDependencySnippetController.js+18 18 modified
    @@ -13,7 +13,7 @@
     /*global Ext, NX*/
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.maven.controller.MavenDependencySnippetController', {
       extend: 'NX.app.Controller',
    @@ -33,7 +33,12 @@ Ext.define('NX.maven.controller.MavenDependencySnippetController', {
             attributes = assetModel && assetModel.get('attributes'),
             maven2 = attributes && attributes.maven2,
             classifier = maven2 && maven2.classifier,
    -        extension = maven2 && maven2.extension;
    +        extension = maven2 && maven2.extension,
    +        gradleCoordinates;
    +
    +    gradleCoordinates = group + ':' + name + ':' + version +
    +        (classifier ? ':' + classifier : '') +
    +        (extension ? '@' + extension : '');
     
         return [
           {
    @@ -45,33 +50,21 @@ Ext.define('NX.maven.controller.MavenDependencySnippetController', {
                   '  <artifactId>' + name + '</artifactId>\n' +
                   '  <version>' + version + '</version>\n' +
                   (classifier ? '  <classifier>' + classifier + '</classifier>\n' : '') +
    -              (extension ? '  <extension>' + extension + '</extension>\n' : '') +
    +              ((extension && 'jar' !== extension) ? '  <type>' + extension + '</type>\n' : '') +
                 '</dependency>'
           }, {
             displayName: 'Gradle Groovy DSL',
             snippetText:
    -            'compile ' + group + ':' + name + ':' + version +
    -            (classifier ? ':' + classifier : '') +
    -            (extension ? '@' + extension : '')
    +            'implementation \'' + gradleCoordinates + '\''
           }, {
             displayName: 'Gradle Kotlin DSL',
             snippetText:
    -            'compile(group = "' + group + '", name = "' + name + '", ' + 'version = "' + version + '"' +
    -            (classifier ? ', classifier = "' + classifier + '"' : '') +
    -            (extension ? ', ext = "' + extension + '"' : '') +
    -          ')'
    +            'implementation("' + gradleCoordinates + '")'
           }, {
             displayName: 'Scala SBT',
             snippetText:
                 'libraryDependencies += "' + group + '" % "' + name + '" % "' + version + '"' +
                 (classifier ? ' classifier "' + classifier + '"' : '')
    -      }, {
    -        displayName: 'Groovy Grape',
    -        snippetText:
    -            '@Grapes(\n' +
    -            '  @Grab(group=\'' + group + '\', module=\'' + name + '\', version=\'' + version + '\'' +
    -            (classifier ? ', classifier=\'{classifier}\'\n' : '' ) + ')\n' +
    -            ')'
           }, {
             displayName: 'Apache Ivy',
             snippetText:
    @@ -82,10 +75,17 @@ Ext.define('NX.maven.controller.MavenDependencySnippetController', {
                         (extension ? ' ext="' + extension + '"' : '') +
                         (classifier ? ' m:classifier="' + classifier + '"' : '') +
                         ' />\n'
    -                :
    +                    :
                         ''
                 ) +
                 '</dependency>'
    +      }, {
    +        displayName: 'Groovy Grape',
    +        snippetText:
    +            '@Grapes(\n' +
    +            '  @Grab(group=\'' + group + '\', module=\'' + name + '\', version=\'' + version + '\'' +
    +            (classifier ? ', classifier=\'' + classifier + '\'' : '' ) + ')\n' +
    +            ')'
           }, {
             displayName: 'Leiningen',
             snippetText:
    
  • plugins/nexus-repository-npm/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-repository-npm</artifactId>
    
  • plugins/nexus-repository-npm/src/main/java/org/sonatype/nexus/repository/npm/internal/NpmGroupFacet.java+1 1 modified
    @@ -84,7 +84,7 @@
     /**
      * NPM specific implementation of {@link GroupFacetImpl} allowing for {@link Cooperation}, merging and caching.
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Exposed
    
  • plugins/nexus-repository-pypi/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-repository-pypi</artifactId>
    
  • plugins/nexus-repository-pypi/src/main/java/org/sonatype/nexus/repository/pypi/internal/PyPiGroupFacet.java+1 1 modified
    @@ -68,7 +68,7 @@
     /**
      * PyPi specific implementation of {@link GroupFacetImpl} merging and caching index
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Facet.Exposed
    
  • plugins/nexus-repository-pypi/src/main/java/org/sonatype/nexus/repository/pypi/internal/PyPiHostedFacet.java+1 1 modified
    @@ -90,7 +90,7 @@ public interface PyPiHostedFacet
        * Deletes an index related to a given package
        * 
        * @param packageName - packageName to use for finding the index to be removed
    -   * @since 3.next
    +   * @since 3.15
        */
       void deleteIndex(String packageName);
     }
    
  • plugins/nexus-repository-pypi/src/main/java/org/sonatype/nexus/repository/pypi/internal/PyPiPathUtils.java+1 1 modified
    @@ -103,7 +103,7 @@ static String normalizeName(final String name, final String replace) {
        * @param path for an asset
        * @return {@code true} if the {@code path} represents the root index
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       static boolean isRootIndexPath(final String path) {
         return path.equals(INDEX_PATH_PREFIX);
    
  • plugins/nexus-repository-pypi/src/main/java/org/sonatype/nexus/repository/pypi/internal/UiPluginDescriptorImpl.java+1 1 modified
    @@ -23,7 +23,7 @@
     /**
      * Rapture {@link org.sonatype.nexus.rapture.UiPluginDescriptor} for {@code nexus-repository-pypi}
      *
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • plugins/nexus-repository-pypi/src/main/java/org/sonatype/nexus/repository/pypi/repair/PyPiRepairIndexComponent.java+1 1 modified
    @@ -33,7 +33,7 @@
     import static org.sonatype.nexus.repository.storage.AssetEntityAdapter.P_ASSET_KIND;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named
     @Singleton
    
  • plugins/nexus-repository-pypi/src/main/resources/static/rapture/NX/pypi/app/PluginConfig.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * PyPI plugin configuration.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.pypi.app.PluginConfig', {
       '@aggregate_priority': 100,
    
  • plugins/nexus-repository-pypi/src/main/resources/static/rapture/NX/pypi/controller/PyPiDependencySnippetController.js+1 1 modified
    @@ -15,7 +15,7 @@
     /**
      * PyPI controller.
      *
    - * @since 3.next
    + * @since 3.15
      */
     Ext.define('NX.pypi.controller.PyPiDependencySnippetController', {
       extend: 'NX.app.Controller',
    
  • plugins/nexus-repository-raw/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-repository-raw</artifactId>
    
  • plugins/nexus-repository-raw/src/main/java/org/sonatype/nexus/repository/raw/RawContentFacet.java+2 2 modified
    @@ -43,7 +43,7 @@ public interface RawContentFacet
        * Accepts an {@link AssetBlob}, creates an {@link Asset} if one doesn't already exist at {@code path},
        * and returns it.
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       Asset put(String path, AssetBlob assetBlob, @Nullable AttributesMap contentAttributes);
     
    @@ -61,7 +61,7 @@ public interface RawContentFacet
       /*
        * Check for the existence of an {@link Asset} with {@code name}.
        *
    -   * @since 3.next
    +   * @since 3.15
        */
       boolean assetExists(String name);
     }
    
  • plugins/nexus-restore-maven/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-restore-maven</artifactId>
    
  • plugins/nexus-restore-npm/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-restore-npm</artifactId>
    
  • plugins/nexus-restore-pypi/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-restore-pypi</artifactId>
    
  • plugins/nexus-restore-raw/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-restore-raw</artifactId>
    
  • plugins/nexus-restore-raw/src/main/java/org/sonatype/nexus/blobstore/restore/raw/internal/RawRestoreBlobData.java+1 1 modified
    @@ -16,7 +16,7 @@
     import org.sonatype.nexus.blobstore.restore.RestoreBlobDataSupport;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     public class RawRestoreBlobData
         extends RestoreBlobDataSupport
    
  • plugins/nexus-restore-raw/src/main/java/org/sonatype/nexus/blobstore/restore/raw/internal/RawRestoreBlobStrategy.java+1 1 modified
    @@ -36,7 +36,7 @@
     import static org.sonatype.nexus.common.hash.HashAlgorithm.SHA1;
     
     /**
    - * @since 3.next
    + * @since 3.15
      */
     @Named("raw")
     @Singleton
    
  • plugins/nexus-script-plugin/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-script-plugin</artifactId>
    
  • plugins/nexus-ssl-plugin/pom.xml+1 1 modified
    @@ -21,7 +21,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-ssl-plugin</artifactId>
    
  • plugins/nexus-task-log-cleanup/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.plugins</groupId>
         <artifactId>nexus-plugins</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>nexus-task-log-cleanup</artifactId>
    
  • plugins/pom.xml+35 35 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-parent</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <groupId>org.sonatype.nexus.plugins</groupId>
    @@ -56,7 +56,7 @@
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-all</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
    @@ -67,13 +67,13 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-audit-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-audit-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -83,13 +83,13 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-blobstore-tasks</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-blobstore-tasks</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -99,13 +99,13 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-coreui-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-coreui-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -114,21 +114,21 @@
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-coreui-plugin</artifactId>
             <classifier>sources</classifier>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <!-- repository-httpbridge -->
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-httpbridge</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-httpbridge</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -138,27 +138,27 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-maven</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-maven</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-maven</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-maven</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -168,27 +168,27 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-npm</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-npm</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-npm</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-npm</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -198,27 +198,27 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-pypi</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-pypi</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-pypi</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-pypi</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -228,27 +228,27 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-raw</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-repository-raw</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-raw</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-restore-raw</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -258,13 +258,13 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-ssl-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-ssl-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -274,13 +274,13 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-script-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-script-plugin</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    @@ -290,13 +290,13 @@
           <dependency>
               <groupId>org.sonatype.nexus.plugins</groupId>
               <artifactId>nexus-task-log-cleanup</artifactId>
    -          <version>3.15.0-SNAPSHOT</version>
    +          <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
               <groupId>org.sonatype.nexus.plugins</groupId>
               <artifactId>nexus-task-log-cleanup</artifactId>
    -          <version>3.15.0-SNAPSHOT</version>
    +          <version>3.15.0-01</version>
               <classifier>features</classifier>
               <type>xml</type>
           </dependency>
    @@ -306,13 +306,13 @@
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-blobstore-s3</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-blobstore-s3</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
    
  • pom.xml+65 64 modified
    @@ -29,7 +29,7 @@
       <name>${project.groupId}:${project.artifactId}</name>
       <packaging>pom</packaging>
     
    -  <version>3.15.0-SNAPSHOT</version>
    +  <version>3.15.0-01</version>
     
       <inceptionYear>2008</inceptionYear>
       <url>http://nexus.sonatype.org/</url>
    @@ -88,7 +88,7 @@
         Define nexus versions.  The 'nexus.version' property always refers to the version of the current project.
         These values must always be constants; 'nexus.version' will get update automatically by set-version.
         -->
    -    <nexus.version>3.15.0-SNAPSHOT</nexus.version>
    +    <nexus.version>3.15.0-01</nexus.version>
         <nexus2.version>2.14.10-01</nexus2.version>
     
         <!-- logging configuration used in logback config files to control test logging -->
    @@ -143,384 +143,384 @@
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-audit</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-base</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-blobstore</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-blobstore-api</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-blobstore-file</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>com.sonatype.nexus.plugins</groupId>
             <artifactId>nexus-blobstore-group</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-bootstrap</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-capability</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-cleanup</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-commands</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-common</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-core</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-crypto</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-orient</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-orient-console</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-cache</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-elasticsearch</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-email</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-extdirect</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-extender</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-httpclient</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-jmx</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-scheduling</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-formfields</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-guice-servlet</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-main</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-mime</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-oss-edition</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-oss-edition</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-pax-logging</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-plugin-api</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-quartz</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-rapture</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-rapture</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>sources</classifier>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-repository</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-repository</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>tests</classifier>
             <scope>test</scope>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-rest</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-rest-client</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-rest-jackson2</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-script</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-security</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-selector</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-servlet</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-siesta</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-ssl</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-supportzip-api</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-swagger</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-task-logging</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-thread</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-transaction</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-upgrade</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-validation</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-webhooks</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-webresources-api</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <!-- testsupport -->
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-pax-exam</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus</groupId>
             <artifactId>nexus-test-common</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
           <!-- assemblies -->
     
           <dependency>
             <groupId>org.sonatype.nexus.assemblies</groupId>
             <artifactId>nexus-startup-feature</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.assemblies</groupId>
             <artifactId>nexus-boot-feature</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.assemblies</groupId>
             <artifactId>nexus-base-feature</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.assemblies</groupId>
             <artifactId>nexus-core-feature</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <classifier>features</classifier>
             <type>xml</type>
           </dependency>
     
           <dependency>
             <groupId>org.sonatype.nexus.assemblies</groupId>
             <artifactId>nexus-base-template</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <type>zip</type>
           </dependency>
     
    @@ -770,6 +770,7 @@
                   <id>httpclient</id>
                   <id>jaxb-core</id>
                   <id>jaxb-impl</id>
    +              <id>quartz</id>
                   <id>resteasy-jaxrs</id>
                   <id>resteasy-atom-provider</id>
                   <id>resteasy-jackson2-provider</id>
    @@ -803,7 +804,7 @@
             <plugin>
               <groupId>org.sonatype.nexus.buildsupport</groupId>
               <artifactId>extjs-maven-plugin</artifactId>
    -          <version>3.15.0-SNAPSHOT</version>
    +          <version>3.15.0-01</version>
               <executions>
                 <execution>
                   <goals>
    
  • revision.txt+1 1 modified
    @@ -1 +1 @@
    -b=master,r=eafdd59328222f7829cb98f42a67e3315d4a08a2,t=2019-01-06-1232-49871
    \ No newline at end of file
    +b=release-3.15.0,r=3b85d3ee15426f92ba2eb146ea492f3f142ba677,t=2019-01-10-1624-34502
    \ No newline at end of file
    
  • thirdparty-bundles/elasticsearch/pom.xml+1 1 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus.bundles</groupId>
         <artifactId>nexus-thirdparty-bundles</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <artifactId>org.sonatype.nexus.bundles.elasticsearch</artifactId>
    
  • thirdparty-bundles/pom.xml+3 3 modified
    @@ -20,7 +20,7 @@
       <parent>
         <groupId>org.sonatype.nexus</groupId>
         <artifactId>nexus-parent</artifactId>
    -    <version>3.15.0-SNAPSHOT</version>
    +    <version>3.15.0-01</version>
       </parent>
     
       <groupId>org.sonatype.nexus.bundles</groupId>
    @@ -41,7 +41,7 @@
             <groupId>org.sonatype.nexus.buildsupport</groupId>
             <artifactId>nexus-buildsupport-all</artifactId>
             <type>pom</type>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
             <scope>import</scope>
           </dependency>
     
    @@ -50,7 +50,7 @@
           <dependency>
             <groupId>org.sonatype.nexus.bundles</groupId>
             <artifactId>org.sonatype.nexus.bundles.elasticsearch</artifactId>
    -        <version>3.15.0-SNAPSHOT</version>
    +        <version>3.15.0-01</version>
           </dependency>
     
         </dependencies>
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

1

News mentions

0

No linked articles in our index yet.