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
  `final int`
  `bugfix`
  Bugfix number, incremented on release branches
  `static final Version`
  `LATEST`
  WARNING: if you use this setting, and then upgrade to a newer release of Lucene, sizable changes may happen.
  `static final Version`
  `LUCENE_10_0_0`
  Deprecated.
  (10.1.0) Use latest
  `static final Version`
  `LUCENE_10_1_0`
  Deprecated.
  (10.2.0) Use latest
  `static final Version`
  `LUCENE_10_2_0`
  Deprecated.
  (10.3.0) Use latest
  `static final Version`
  `LUCENE_10_2_1`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_10_2_2`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_10_3_0`
  Deprecated.
  (10.3.1) Use latest
  `static final Version`
  `LUCENE_10_3_1`
  Deprecated.
  (10.3.2) Use latest
  `static final Version`
  `LUCENE_10_3_2`
  Match settings and bugs in Lucene's 10.3.2 release.
  `static final Version`
  `LUCENE_9_0_0`
  Deprecated.
  (9.1.0) Use latest
  `static final Version`
  `LUCENE_9_1_0`
  Deprecated.
  (9.2.0) Use latest
  `static final Version`
  `LUCENE_9_10_0`
  Deprecated.
  (9.11.0) Use latest
  `static final Version`
  `LUCENE_9_11_0`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_11_1`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_12_0`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_12_1`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_12_2`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_12_3`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_12_4`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_2_0`
  Deprecated.
  (9.3.0) Use latest
  `static final Version`
  `LUCENE_9_3_0`
  Deprecated.
  (9.4.0) Use latest
  `static final Version`
  `LUCENE_9_4_0`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_4_1`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_4_2`
  Deprecated.
  Use latest
  `static final Version`
  `LUCENE_9_5_0`
  Deprecated.
  (9.6.0) Use latest
  `static final Version`
  `LUCENE_9_6_0`
  Deprecated.
  (9.7.0) Use latest
  `static final Version`
  `LUCENE_9_7_0`
  Deprecated.
  (9.8.0) Use latest
  `static final Version`
  `LUCENE_9_8_0`
  Deprecated.
  (9.9.0) Use latest
  `static final Version`
  `LUCENE_9_9_0`
  Deprecated.
  (9.9.1) Use latest
  `static final Version`
  `LUCENE_9_9_1`
  Deprecated.
  (9.9.2) Use latest
  `static final Version`
  `LUCENE_9_9_2`
  Deprecated.
  (9.10.0) Use latest
  `static final Version`
  `LUCENE_CURRENT`
  Deprecated.
  Use `LATEST`
  `final int`
  `major`
  Major version, the difference between stable and trunk
  `static final int`
  `MIN_SUPPORTED_MAJOR`
  Constant for the minimal supported major version of an index.
  `final int`
  `minor`
  Minor version, incremented within the stable branch
  `final int`
  `prerelease`
  Prerelease version, currently 0 (alpha), 1 (beta), or 2 (final)

- ## Method Summary

  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 Details

  - ### LUCENE_9_0_0

    @Deprecated public static final Version LUCENE_9_0_0
    Deprecated.
    (9.1.0) Use latest
    Match settings and bugs in Lucene's 9.0.0 release.

  - ### LUCENE_9_1_0

    @Deprecated public static final Version LUCENE_9_1_0
    Deprecated.
    (9.2.0) Use latest
    Match settings and bugs in Lucene's 9.1.0 release.

  - ### LUCENE_9_2_0

    @Deprecated public static final Version LUCENE_9_2_0
    Deprecated.
    (9.3.0) Use latest
    Match settings and bugs in Lucene's 9.2.0 release.

  - ### LUCENE_9_3_0

    @Deprecated public static final Version LUCENE_9_3_0
    Deprecated.
    (9.4.0) Use latest
    Match settings and bugs in Lucene's 9.3.0 release.

  - ### LUCENE_9_4_0

    @Deprecated public static final Version LUCENE_9_4_0
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.4.0 release.

  - ### 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
    Match settings and bugs in Lucene's 9.5.0 release.

  - ### LUCENE_9_6_0

    @Deprecated public static final Version LUCENE_9_6_0
    Deprecated.
    (9.7.0) Use latest
    Match settings and bugs in Lucene's 9.6.0 release.

  - ### LUCENE_9_7_0

    @Deprecated public static final Version LUCENE_9_7_0
    Deprecated.
    (9.8.0) Use latest
    Match settings and bugs in Lucene's 9.7.0 release.

  - ### LUCENE_9_8_0

    @Deprecated public static final Version LUCENE_9_8_0
    Deprecated.
    (9.9.0) Use latest
    Match settings and bugs in Lucene's 9.8.0 release.

  - ### LUCENE_9_9_0

    @Deprecated public static final Version LUCENE_9_9_0
    Deprecated.
    (9.9.1) Use latest
    Match settings and bugs in Lucene's 9.9.0 release.

  - ### 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

    @Deprecated public static final Version LUCENE_9_10_0
    Deprecated.
    (9.11.0) Use latest
    Match settings and bugs in Lucene's 9.10.0 release.

  - ### LUCENE_9_11_0

    @Deprecated public static final Version LUCENE_9_11_0
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.11.0 release.

  - ### LUCENE_9_11_1

    @Deprecated public static final Version LUCENE_9_11_1
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.11.1 release.

  - ### LUCENE_9_12_0

    @Deprecated public static final Version LUCENE_9_12_0
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.12.0 release.

  - ### LUCENE_9_12_1

    @Deprecated public static final Version LUCENE_9_12_1
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.12.1 release.

  - ### LUCENE_9_12_2

    @Deprecated public static final Version LUCENE_9_12_2
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.12.2 release.

  - ### LUCENE_9_12_3

    @Deprecated public static final Version LUCENE_9_12_3
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.12.3 release.

  - ### LUCENE_9_12_4

    @Deprecated public static final Version LUCENE_9_12_4
    Deprecated.
    Use latest
    Match settings and bugs in Lucene's 9.12.4 release.

  - ### LUCENE_10_0_0

    @Deprecated public static final Version LUCENE_10_0_0
    Deprecated.
    (10.1.0) Use latest

  - ### LUCENE_10_1_0

    @Deprecated public static final Version LUCENE_10_1_0
    Deprecated.
    (10.2.0) Use latest

  - ### LUCENE_10_2_0

    @Deprecated public static final Version LUCENE_10_2_0
    Deprecated.
    (10.3.0) Use latest

  - ### LUCENE_10_2_1

    @Deprecated public static final Version LUCENE_10_2_1
    Deprecated.
    Use latest

  - ### LUCENE_10_2_2

    @Deprecated public static final Version LUCENE_10_2_2
    Deprecated.
    Use latest

  - ### LUCENE_10_3_0

    @Deprecated public static final Version LUCENE_10_3_0
    Deprecated.
    (10.3.1) Use latest

  - ### LUCENE_10_3_1

    @Deprecated public static final Version LUCENE_10_3_1
    Deprecated.
    (10.3.2) Use latest

  - ### LUCENE_10_3_2

    public static final Version LUCENE_10_3_2
    Match settings and bugs in Lucene's 10.3.2 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 Details

  - ### 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`.