Jogamp Versioning and Releases

Releases

 * 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0
 * 2.0.2
 * 2.0.2-rc12,2.0-rc11,2.0-rc10, 2.0-rc9, 2.0-rc8, 2.0-rc7, 2.0-rc6, 2.0-rc5, 2.0-rc4, 2.0-rc3, 2.0-rc2, 2.0-rc1

Android Packages

Current Aliases

 * jogamp-current -> v2.1.4
 * jogamp-next -> v2.1.4
 * webstart -> v2.1.4
 * webstart-next -> v2.1.4

Release Classification
Releases follow the above mentioned versioning scheme.

The following list is ordered from stable and oldest to experimental and newest.

[/deployment/jogamp-current/ Signed Release]

 * This is our current signed release, IE a manual promoted and signed autobuild.
 * It is suitable for JNLP and Applets (with or without JNLP).
 * This is the most stable and recommended version.
 * [/deployment/jogamp-current/archive/ Archive folder] containing platform ZIP files for manual installation.
 * this section
 * See instructions for downloading and installing.

[/deployment/jogamp-next/ Signed Release Candidate]

 * This is our signed release candidate, IE a manual promoted and signed autobuild.
 * It is suitable for JNLP and Applets (with or without JNLP).
 * [/deployment/jogamp-next/archive/ Platform ZIP archive's URL] for manual installation.
 * [/deployment/jogamp-next/archive/ Archive folder] containing platform ZIP files for manual installation.
 * See instructions for downloading and installing.

[/deployment/v2.0-rc3/ Signed Release Specific Version]

 * This is a specific signed release, IE a manual promoted autobuild.
 * It is suitable for JNLP and Applets (with or without JNLP).
 * [/deployment/v2.0-rc3/archive/ Archive folder] containing platform ZIP files for manual installation.
 * See instructions for downloading and installing.

[/deployment/archive/master/?C=M;O=D Latest Aggregated Autobuild]

 * This is our latest aggregated autobuild, which we seem fit for broad testing and submitting a bugreport.
 * It is not signed and hence not suitable for JNLP and Applets.
 * See instructions for downloading and installing.

[/deployment/autobuilds/ Autobuilds]
What others call nightlies, we call it autobuild. Autobuilds are provided by our [/chuck/job/jogl/ Jenkins build server]:
 * For [/chuck/job/jogl/ each project build reports] are available:
 * [/chuck/job/jogl/lastSuccessfulBuild/ Last Successful JOGL Build]
 * [/chuck/job/jogl/476/ JOGL Build 476]
 * They are [/chuck/job/jogl/476/changes#detail0 triggered by git commits]
 * Here is a [/chuck/job/jogl/changes list of all JOGL changes].
 * These builds are also tested on all supported platforms automatically with junit, see a [/chuck/job/jogl/label=win7-x86_64-nvida/lastCompletedBuild/testReport/ complete test report from one platform].
 * [/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/ Autobuild URL] containing platform ZIP files for manual installation.

[/deployment/archive/ Archived builds]

 * Contains archived builds and releases.
 * May be signed.
 * [/deployment/archive/rc/gluegen_28-joal_17-jogl_41-jocl_25/archive/ archive URL] containing platform ZIP files for manual installation.

Version Fingerprint
You can get the get the source code via git, hence all references of a JogAmp module version boils down to:


 * module base version
 * git commit sha1 hash
 * build number
 * module OS and ARCH

We construct a full version string as follows: --b-

artifact.properties
The version fingerprint is available in the [/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/artifact.properties artifact.properties] file: gluegen.build.branch=origin/master gluegen.build.commit=3fec08a69de571cf2939e6028487faea8a23ccaa gluegen.build.id=2013-11-01_05-57-23 gluegen.build.number=741 gluegen.build.version=2.1.2 jogl.build.branch=origin/master jogl.build.commit=3ed74abaddb90cb537897b9928e923be50f7f99f jogl.build.id=2013-11-01_19-08-47 jogl.build.number=1135 jogl.build.version=2.1.2

We deploy artifacts.properties in the online [/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/ build folder] and within the platform ZIP archives.

JAR Manifest
The version fingerprint is also included within each JAR Manifest file, where the Specification-Version equals the module base version and the Implementation-Version equals the above mentioned full version string Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.2 Created-By: 1.7.0_45-b18 (Oracle Corporation) Application-Name: Java Bindings for OpenGL Specification-Title: Java Bindings for OpenGL API Specification Specification-Version: 2.1 Specification-Vendor: JogAmp Community Implementation-Title: Java Bindings for OpenGL Runtime Environment Implementation-Version: 2.1.2 Implementation-Build: 2.1-b1135-20131101 Implementation-Branch: origin/master Implementation-Commit: 3ed74abaddb90cb537897b9928e923be50f7f99f Implementation-Vendor: JogAmp Community Implementation-URL: http://jogamp.org/ Extension-Name: javax.media.opengl Implementation-Vendor-Id: com.jogamp Trusted-Library: true Permissions: all-permissions Codebase: *.jogamp.org

Each module has also a base version, like major and minor, ie 2.0, which we may change to emphasize major feature and API changes.

Runtime Version Check
Each module has a build in JogampVersion specialization with a static  method to access the singleton instance, eg. for the GlueGenVersion or JoglVersion. You may utilize the version information from within your application in a programmatic manner. For the latter you may find the Platform information useful as well.

Each module's JogampVersion specialization also contain a static main entry allowing you to retrieve the version information at runtime as described below.

When invoked, ie via JOGL's platform ZIP file: you will see the full dump of the runtime platform and the above mentioned version footprint.
 * sh etc/test.sh (Unixoid), or
 * etc\test.bat (Windows)

- Platform: LINUX / Linux 3.11.6-x64-k10-nlb-jau01 (3.11.6), amd64 (arch), GENERIC_ABI, 8 cores MachineDescription: runtimeValidated true, littleEndian true, 32Bit false, primitive size / alignment: int8   1 / 1, int16   2 / 2 int    4 / 4, long    8 / 8 int32  4 / 4, int64   8 / 8 float  4 / 4, double  8 / 8, ldouble 16 / 16 pointer 8 / 8, page   4096 Platform: Java Version: 1.7.0_45 (1.7.0u45), VM: Java HotSpot(TM) 64-Bit Server VM, Runtime: Java(TM) SE Runtime Environment Platform: Java Vendor: Oracle Corporation, http://java.oracle.com/, JavaSE: true, Java6: true, AWT enabled: true - - Package: com.jogamp.common Extension Name: com.jogamp.common Specification Title: GlueGen Java Bindings Generator Specification Vendor: JogAmp Community Specification Version: 2.1 Implementation Title: GlueGen Run-Time Implementation Vendor: JogAmp Community Implementation Vendor ID: com.jogamp Implementation URL: http://jogamp.org/ Implementation Version: 2.1.2 Implementation Build: 2.1-b741-20131101 Implementation Branch: origin/master Implementation Commit: 3fec08a69de571cf2939e6028487faea8a23ccaa - Package: javax.media.opengl Extension Name: javax.media.opengl Specification Title: Java Bindings for OpenGL API Specification Specification Vendor: JogAmp Community Specification Version: 2.1 Implementation Title: Java Bindings for OpenGL Runtime Environment Implementation Vendor: JogAmp Community Implementation Vendor ID: com.jogamp Implementation URL: http://jogamp.org/ Implementation Version: 2.1.2 Implementation Build: 2.1-b1135-20131101 Implementation Branch: origin/master Implementation Commit: 3ed74abaddb90cb537897b9928e923be50f7f99f -

GLProfiles on device X11GraphicsDevice[type .x11, connection :0, unitID 0, handle 0x0, owner false, ResourceToolkitLock[obj 0x207fd4ec, isOwner false, <2873e29f, 50234978>[count 0, qsz 0, owner ]]] Natives GL4bc  true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GL4 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GLES3  false GL3bc  true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GL3 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GL2 true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GLES2  true [2.0 (ES profile, ES2 compat, FBO, software)] GLES1  true [1.0 (ES profile, FP32 compat, software)] Count  7 / 8 Common GL4ES3 true GL2GL3 true GL2ES2 true GL2ES1 true Mappings GL2ES2 GLProfile[GL2ES2/GL4.hw] GL2ES1 GLProfile[GL2ES1/GL4bc.hw] GL2 GLProfile[GL2/GL4bc.hw] GL4 GLProfile[GL4/GL4.hw] GL3 GLProfile[GL3/GL4.hw] GL4bc  GLProfile[GL4bc/GL4bc.hw] GLES2  GLProfile[GLES2/GLES2.sw] GLES1  GLProfile[GLES1/GLES1.sw] GL4ES3 GLProfile[GL4ES3/GL4.hw] GL2GL3 GLProfile[GL2GL3/GL4bc.hw] GL3bc  GLProfile[GL3bc/GL4bc.hw] default GLProfile[GL4bc/GL4bc.hw] Count  11 / 12

Desktop Capabilities: GLCaps[glx vid 0x21, fbc 0x105: rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/8/0, dbl, mono, hw, GLProfile[GL4bc/GL4bc.hw], on-scr[fbo, pbuffer, bitmap]] .....

Requesting: GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono, hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]] - X11GraphicsDevice[type .x11, connection :0]: Natives GL4bc  true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GL4 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GLES3  false GL3bc  true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GL3 true [4.4 (Core profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GL2 true [4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware)] GLES2  true [2.0 (ES profile, ES2 compat, FBO, software)] GLES1  true [1.0 (ES profile, FP32 compat, software)] Count  7 / 8 Common GL4ES3 true GL2GL3 true GL2ES2 true GL2ES1 true Mappings GL2ES2 GLProfile[GL2ES2/GL4.hw] GL2ES1 GLProfile[GL2ES1/GL4bc.hw] GL2 GLProfile[GL2/GL4bc.hw] GL4 GLProfile[GL4/GL4.hw] GL3 GLProfile[GL3/GL4.hw] GL4bc  GLProfile[GL4bc/GL4bc.hw] GLES2  GLProfile[GLES2/GLES2.sw] GLES1  GLProfile[GLES1/GLES1.sw] GL4ES3 GLProfile[GL4ES3/GL4.hw] GL2GL3 GLProfile[GL2GL3/GL4bc.hw] GL3bc  GLProfile[GL3bc/GL4bc.hw] default GLProfile[GL4bc/GL4bc.hw] Count  11 / 12

GL Profile    GLProfile[GL4bc/GL4bc.hw] GL Version    4.4 (Compat profile, arb, ES2 compat, ES3 compat, FBO, hardware) - 4.4.0 NVIDIA 331.13 [GL 4.4.0, vendor 331.13.0 (NVIDIA 331.13)] Quirks        [] Impl. class   jogamp.opengl.gl4.GL4bcImpl GL_VENDOR     NVIDIA Corporation GL_RENDERER   GeForce GTX 660/PCIe/SSE2 GL_VERSION    4.4.0 NVIDIA 331.13 GLSL          true, has-compiler-func: true, version: 4.40 NVIDIA via Cg compiler / 4.40.0 GL FBO: basic true, full true GL_EXTENSIONS 292 GLX_EXTENSIONS 28 - Requested: GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono, hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]] Chosen  : GLCaps[glx vid 0x27, fbc 0x10d: rgba 8/8/8/0, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/0, dbl, mono , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]] GL impl. class jogamp.opengl.gl4.GL4bcImpl GL4ES3 retrieved, impl. class jogamp.opengl.gl4.GL4bcImpl GL3 retrieved, impl. class jogamp.opengl.gl4.GL4bcImpl

The dump is hold in the file test.log which you should send to us in case of a bugreport.

Runtime Debug Logs
You may also like to send us the debug version: which produces the file test_dbg.log and should be send to us to complete the bugreport as well.
 * sh etc/test_dbg.sh (Unixoid), or
 * etc\test_dbg.bat (Windows)

Retrieve Release Version Tag from GIT Hash
git-show-tags-of-commit.sh
 * 1) ! /bin/sh

sha1=$1 shift

git show-ref --tags -d | grep ^$sha1 | sed -e 's,.* refs/tags/,,' -e 's/\^{}//'

JOGL example: > git-show-tags-of-commit.sh 9ff0b0dafea2a03a915c97eb1513c39c27b6a7ae v2.0-rc8

GlueGen example: > git-show-tags-of-commit.sh 4ce601b38ca8418eddbe8cca4d531e6161fae26b v2.0-rc7 v2.0-rc8

Maven
See the maven instructions for a guide to using Jogamp in Maven projects.

Autobuild Files
[/deployment/autobuilds/master/jogl-b485-2011-09-20_08-30-36/ Autobuild Platform ZIP files] for each module follow the versioning scheme plus contain the platform identifier [/jogl/doc/deployment/JOGL-DEPLOYMENT.html#NativeJARFileNameConvention OS and ARCH]: jogl-2.0-b210-20101110-linux-amd64.zip

Release and Archived Files
The [/deployment/jogamp-current/archive/ release archive folder] contains 7z archive files for each platform containing all modules, ie. jogamp-linux-os.and.arch.7z. The os.and.arch refers to the [/jogl/doc/deployment/JOGL-DEPLOYMENT.html#NativeJARFileNameConvention native file naming convention].

For example:
 * jogamp-linux-amd64.7z
 * jogamp-linux-i586.7z
 * jogamp-windows-amd64.7z
 * jogamp-windows-i586.7z

The folder also contains the Java API document ZIP files:
 * gluegen-javadoc.zip
 * jogl-javadoc.zip
 * jocl-javadoc.zip</tt>
 * joal-javadoc.zip</tt>