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`
Match settings and bugs in Lucene's 10.0.0 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_13_0`
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_13_0

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

### LUCENE_10_0_0

public static final Version LUCENE_10_0_0
Match settings and bugs in Lucene's 10.0.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 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`.