Package org.apache.lucene.util

## Class Version

- java.lang.Object
- - org.apache.lucene.util.Version

-     public final class Version
      extends Object

  Use by certain classes to match version compatibility across releases of Lucene.

  WARNING: When changing the version parameter that you supply to components in Lucene, do not simply change the version at search-time, but instead also adjust your indexing code to match, and re-index.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `int` | `bugfix` | Bugfix number, incremented on release branches
    `static Version` | `LATEST` | WARNING: if you use this setting, and then upgrade to a newer release of Lucene, sizable changes may happen.
    `static Version` | `LUCENE_8_0_0` | Deprecated. (9.0.0) Use latest
    `static Version` | `LUCENE_8_1_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_1_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_10_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_10_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_11_0` | Deprecated. (8.11.1) Use latest
    `static Version` | `LUCENE_8_11_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_11_2` | Deprecated. Use latest
    `static Version` | `LUCENE_8_11_3` | Deprecated. Use latest
    `static Version` | `LUCENE_8_12_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_2_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_3_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_3_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_4_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_4_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_5_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_5_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_5_2` | Deprecated. Use latest
    `static Version` | `LUCENE_8_6_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_6_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_6_2` | Deprecated. Use latest
    `static Version` | `LUCENE_8_6_3` | Deprecated. Use latest
    `static Version` | `LUCENE_8_7_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_8_0` | Deprecated. Use latest
    `static Version` | `LUCENE_8_8_1` | Deprecated. Use latest
    `static Version` | `LUCENE_8_8_2` | Deprecated. Use latest
    `static Version` | `LUCENE_8_9_0` | Deprecated. Use latest
    `static Version` | `LUCENE_9_0_0` | Deprecated. (9.1.0) Use latest
    `static Version` | `LUCENE_9_1_0` | Deprecated. (9.2.0) Use latest
    `static Version` | `LUCENE_9_10_0` | Match settings and bugs in Lucene's 9.10.0 release.
    `static Version` | `LUCENE_9_2_0` | Deprecated. (9.3.0) Use latest
    `static Version` | `LUCENE_9_3_0` | Deprecated. (9.4.0) Use latest
    `static Version` | `LUCENE_9_4_0` | Deprecated. (9.5.0) Use latest
    `static Version` | `LUCENE_9_4_1` | Deprecated. Use latest
    `static Version` | `LUCENE_9_4_2` | Deprecated. Use latest
    `static Version` | `LUCENE_9_5_0` | Deprecated. (9.6.0) Use latest
    `static Version` | `LUCENE_9_6_0` | Deprecated. (9.7.0) Use latest
    `static Version` | `LUCENE_9_7_0` | Deprecated. (9.8.0) Use latest
    `static Version` | `LUCENE_9_8_0` | Deprecated. (9.9.0) Use latest
    `static Version` | `LUCENE_9_9_0` | Deprecated. (9.9.1) Use latest
    `static Version` | `LUCENE_9_9_1` | Deprecated. (9.9.2) Use latest
    `static Version` | `LUCENE_9_9_2` | Deprecated. (9.10.0) Use latest
    `static Version` | `LUCENE_CURRENT` | Deprecated. Use `LATEST`
    `int` | `major` | Major version, the difference between stable and trunk
    `static int` | `MIN_SUPPORTED_MAJOR` | Constant for the minimal supported major version of an index.
    `int` | `minor` | Minor version, incremented within the stable branch
    `int` | `prerelease` | Prerelease version, currently 0 (alpha), 1 (beta), or 2 (final)

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object o)` |
    `static Version` | `fromBits​(int major, int minor, int bugfix)` | Returns a new version based on raw numbers
    `static String` | `getPackageImplementationVersion()` | Return Lucene's full implementation version.
    `int` | `hashCode()` |
    `boolean` | `onOrAfter​(Version other)` | Returns true if this version is the same or after the version from the argument.
    `static Version` | `parse​(String version)` | Parse a version number of the form `"major.minor.bugfix.prerelease"`.
    `static Version` | `parseLeniently​(String version)` | Parse the given version number as a constant or dot based version.
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### LUCENE_8_0_0

          @Deprecated
          public static final Version LUCENE_8_0_0

      Deprecated.
      (9.0.0) Use latest
      Match settings and bugs in Lucene's 8.0.0 release.

    - #### LUCENE_8_1_0

          @Deprecated
          public static final Version LUCENE_8_1_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.1.0 release.

    - #### LUCENE_8_1_1

          @Deprecated
          public static final Version LUCENE_8_1_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.1.1 release.

    - #### LUCENE_8_2_0

          @Deprecated
          public static final Version LUCENE_8_2_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.2.0 release.

    - #### LUCENE_8_3_0

          @Deprecated
          public static final Version LUCENE_8_3_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.3.0 release.

    - #### LUCENE_8_3_1

          @Deprecated
          public static final Version LUCENE_8_3_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.3.1 release.

    - #### LUCENE_8_4_0

          @Deprecated
          public static final Version LUCENE_8_4_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.4.0 release.

    - #### LUCENE_8_4_1

          @Deprecated
          public static final Version LUCENE_8_4_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.4.1 release.

    - #### LUCENE_8_5_0

          @Deprecated
          public static final Version LUCENE_8_5_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.5.0 release.

    - #### LUCENE_8_5_1

          @Deprecated
          public static final Version LUCENE_8_5_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.5.1 release.

    - #### LUCENE_8_5_2

          @Deprecated
          public static final Version LUCENE_8_5_2

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.5.2 release.

    - #### LUCENE_8_6_0

          @Deprecated
          public static final Version LUCENE_8_6_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.6.0 release.

    - #### LUCENE_8_6_1

          @Deprecated
          public static final Version LUCENE_8_6_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.6.1 release.

    - #### LUCENE_8_6_2

          @Deprecated
          public static final Version LUCENE_8_6_2

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.6.2 release.

    - #### LUCENE_8_6_3

          @Deprecated
          public static final Version LUCENE_8_6_3

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.6.3 release.

    - #### LUCENE_8_7_0

          @Deprecated
          public static final Version LUCENE_8_7_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.7.0 release.

    - #### LUCENE_8_8_0

          @Deprecated
          public static final Version LUCENE_8_8_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.8.0 release.

    - #### LUCENE_8_8_1

          @Deprecated
          public static final Version LUCENE_8_8_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.8.1 release.

    - #### LUCENE_8_8_2

          @Deprecated
          public static final Version LUCENE_8_8_2

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.8.2 release.

    - #### LUCENE_8_9_0

          @Deprecated
          public static final Version LUCENE_8_9_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.9.0 release.

    - #### LUCENE_8_10_0

          @Deprecated
          public static final Version LUCENE_8_10_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.10.0 release.

    - #### LUCENE_8_10_1

          @Deprecated
          public static final Version LUCENE_8_10_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.10.1 release.

    - #### LUCENE_8_11_0

          @Deprecated
          public static final Version LUCENE_8_11_0

      Deprecated.
      (8.11.1) Use latest
      Match settings and bugs in Lucene's 8.11.0 release.

    - #### LUCENE_8_11_1

          @Deprecated
          public static final Version LUCENE_8_11_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.11.1 release.

    - #### LUCENE_8_11_2

          @Deprecated
          public static final Version LUCENE_8_11_2

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.11.2 release.

    - #### LUCENE_8_11_3

          @Deprecated
          public static final Version LUCENE_8_11_3

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.11.3 release.

    - #### LUCENE_8_12_0

          @Deprecated
          public static final Version LUCENE_8_12_0

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 8.12.0 release.

    - #### LUCENE_9_0_0

          @Deprecated
          public static final Version LUCENE_9_0_0

      Deprecated.
      (9.1.0) Use latest

    - #### LUCENE_9_1_0

          @Deprecated
          public static final Version LUCENE_9_1_0

      Deprecated.
      (9.2.0) Use latest

    - #### LUCENE_9_2_0

          @Deprecated
          public static final Version LUCENE_9_2_0

      Deprecated.
      (9.3.0) Use latest

    - #### LUCENE_9_3_0

          @Deprecated
          public static final Version LUCENE_9_3_0

      Deprecated.
      (9.4.0) Use latest

    - #### LUCENE_9_4_0

          @Deprecated
          public static final Version LUCENE_9_4_0

      Deprecated.
      (9.5.0) Use latest

    - #### LUCENE_9_4_1

          @Deprecated
          public static final Version LUCENE_9_4_1

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 9.4.1 release.

    - #### LUCENE_9_4_2

          @Deprecated
          public static final Version LUCENE_9_4_2

      Deprecated.
      Use latest
      Match settings and bugs in Lucene's 9.4.2 release.

    - #### LUCENE_9_5_0

          @Deprecated
          public static final Version LUCENE_9_5_0

      Deprecated.
      (9.6.0) Use latest

    - #### LUCENE_9_6_0

          @Deprecated
          public static final Version LUCENE_9_6_0

      Deprecated.
      (9.7.0) Use latest

    - #### LUCENE_9_7_0

          @Deprecated
          public static final Version LUCENE_9_7_0

      Deprecated.
      (9.8.0) Use latest

    - #### LUCENE_9_8_0

          @Deprecated
          public static final Version LUCENE_9_8_0

      Deprecated.
      (9.9.0) Use latest

    - #### LUCENE_9_9_0

          @Deprecated
          public static final Version LUCENE_9_9_0

      Deprecated.
      (9.9.1) Use latest

    - #### LUCENE_9_9_1

          @Deprecated
          public static final Version LUCENE_9_9_1

      Deprecated.
      (9.9.2) Use latest
      Match settings and bugs in Lucene's 9.9.1 release.

    - #### LUCENE_9_9_2

          @Deprecated
          public static final Version LUCENE_9_9_2

      Deprecated.
      (9.10.0) Use latest
      Match settings and bugs in Lucene's 9.9.2 release.

    - #### LUCENE_9_10_0

          public static final Version LUCENE_9_10_0

      Match settings and bugs in Lucene's 9.10.0 release.

      Use this to get the latest & greatest settings, bug fixes, etc, for Lucene.

    - #### LATEST

          public static final Version LATEST

      WARNING: if you use this setting, and then upgrade to a newer release of Lucene, sizable changes may happen. If backwards compatibility is important then you should instead explicitly specify an actual version.

      If you use this constant then you may need to re-index all of your documents when upgrading Lucene, as the way text is indexed may have changed. Additionally, you may need to re-test your entire application to ensure it behaves as expected, as some defaults may have changed and may break functionality in your application.

    - #### LUCENE_CURRENT

          @Deprecated
          public static final Version LUCENE_CURRENT

      Deprecated.
      Use `LATEST`
      Constant for backwards compatibility.

    - #### MIN_SUPPORTED_MAJOR

          public static final int MIN_SUPPORTED_MAJOR

      Constant for the minimal supported major version of an index. This version is defined by the version that initially created the index.

    - #### major

          public final int major

      Major version, the difference between stable and trunk

    - #### minor

          public final int minor

      Minor version, incremented within the stable branch

    - #### bugfix

          public final int bugfix

      Bugfix number, incremented on release branches

    - #### prerelease

          public final int prerelease

      Prerelease version, currently 0 (alpha), 1 (beta), or 2 (final)

  - ### Method Detail

    - #### parse

          public static Version parse​(String version)
                               throws ParseException

      Parse a version number of the form `"major.minor.bugfix.prerelease"`.

      Part `".bugfix"` and part `".prerelease"` are optional. Note that this is forwards compatible: the parsed version does not have to exist as a constant.

      Throws:
        `ParseException`
      NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

    - #### parseLeniently

          public static Version parseLeniently​(String version)
                                        throws ParseException

      Parse the given version number as a constant or dot based version.

      This method allows to use `"LUCENE_X_Y"` constant names, or version numbers in the format `"x.y.z"`.

      Throws:
        `ParseException`
      NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

    - #### fromBits

          public static Version fromBits​(int major,
                                         int minor,
                                         int bugfix)

      Returns a new version based on raw numbers
      NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

    - #### onOrAfter

          public boolean onOrAfter​(Version other)

      Returns true if this version is the same or after the version from the argument.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getPackageImplementationVersion

          public static String getPackageImplementationVersion()

      Return Lucene's full implementation version. This version is saved in Lucene's metadata at build time (JAR manifest, module info). If it is not available, an `unknown` implementation version is returned.
      Returns:
        Lucene implementation version string, never `null`.