Jogamp Versioning and Releases
Releases
Current Aliases
- jogamp-current -> v2.1.0
- jogamp-next -> v2.1.0
- webstart -> v2.1.0
- webstart-next -> v2.1.0
Release Classification
Releases follow the above mentioned versioning scheme.
The following list is ordered from stable and oldest to experimental and newest.
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.
- Archive folder containing platform ZIP files for manual installation.
- this section
- See instructions for downloading and installing.
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).
- Platform ZIP archive's URL for manual installation.
- Archive folder containing platform ZIP files for manual installation.
- See instructions for downloading and installing.
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).
- Archive folder containing platform ZIP files for manual installation.
- See instructions for downloading and installing.
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.
Autobuilds
What others call nightlies, we call it autobuild. Autobuilds are provided by our Jenkins build server:
- For each project build reports are available:
- They are triggered by git commits
- Here is a list of all JOGL changes.
- These builds are also tested on all supported platforms automatically with junit, see a complete test report from one platform.
- Autobuild URL containing platform ZIP files for manual installation.
Archived builds
- Contains archived builds and releases.
- May be signed.
- archive URL containing platform ZIP files for manual installation.
Version Classification
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:
<module>-<base_version>-b<build_number>-<yyyymmdd>
artifact.properties
The version fingerprint is available in the artifact.properties file:
gluegen.build.number=200 gluegen.build.id=2010-11-09_22-30-24 gluegen.build.branch=master gluegen.build.commit=92e1e8b24d128e08f13b05bd630ad7b0bf1cbf9f jogl.build.number=209 jogl.build.id=2010-11-09_22-35-00 jogl.build.branch=master jogl.build.commit=4ea473a2cbf59fcbd8e82d26da389cd8c2b4a291
We deploy artifacts.properties in the online 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.0 Created-By: 1.6.0_21-b06 (Sun Microsystems Inc.) Specification-Title: Java Bindings for OpenGL API Specification Specification-Version: 2.0 Specification-Vendor: JogAmp community Implementation-Title: Java Bindings for OpenGL Runtime Environment Implementation-Version: 2.0-b209-20101110 Implementation-Branch: master Implementation-Commit: 4ea473a2cbf59fcbd8e82d26da389cd8c2b4a291 Implementation-Vendor: JogAmp community Extension-Name: javax.media.opengl Implementation-Vendor-Id: com.jogamp Trusted-Library: true
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 getInstance()
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:
- sh etc/test.sh (Unixoid), or
- etc\test.bat (Windows)
you will see the full dump of the runtime platform and the above mentioned version footprint.
----------------------------------------------------------------------------------------------------- Platform: LINUX / Linux 3.7.1-x64-k10-nlb-jau01 (os), 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.6.0_38, VM: Java HotSpot(TM) 64-Bit Server VM, Runtime: Java(TM) SE Runtime Environment Platform: Java Vendor: Sun Microsystems Inc., http://java.sun.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.0 Implementation Title: GlueGen Run-Time Implementation Vendor: JogAmp Community Implementation Vendor ID: com.jogamp Implementation URL: http://jogamp.org/ Implementation Version: 2.0-b646-20130313 Implementation Branch: master Implementation Commit: 1a4514accc8f61ab7ff5fe8c82d22a5ef356c865 ----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- Package: javax.media.opengl Extension Name: javax.media.opengl Specification Title: Java Bindings for OpenGL API Specification Specification Vendor: JogAmp Community Specification Version: 2.0 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.0-b930-20130313 Implementation Branch: master Implementation Commit: 58f6f4e5665ae2c72ec6bbd86ad5a36bef00de07 ----------------------------------------------------------------------------------------------------- Default Profiles on device X11GraphicsDevice[type .x11, connection :0, unitID 0, handle 0x0, owner false, ResourceToolkitLock[obj 0x4430d82d, isOwner false, <62c09554, 518bf072>[count 0, qsz 0, owner <NULL>]]] Native GL4bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)] GL4 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)] GL3bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)] GL3 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)] GL2 true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)] GL2ES1 true GLES1 true [1.0 (ES profile, FBO, software)] GL2ES2 true GLES2 true [2.0 (ES profile, ES2 compatible, FBO, software)] Profiles GLProfile[GL2ES2/GL4bc.hw] GLProfile[GL2ES1/GL4bc.hw] GLProfile[GL2/GL2.hw] GLProfile[GL4/GL4.hw] GLProfile[GL3/GL3.hw] GLProfile[GL4bc/GL4bc.hw] GLProfile[GL4bc/GL4bc.hw] GLProfile[GLES2/GLES2.sw] GLProfile[GLES1/GLES1.sw] GLProfile[GL2GL3/GL4bc.hw] GLProfile[GL3bc/GL3bc.hw] default GLProfile[GL4bc/GL4bc.hw] Desktop Capabilities: GLCaps[glx vid 0x21, fbc 0x105: rgba 0x8/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 [r2t 0, r2tr 0, float 0], bitmap]] GLCaps[glx vid 0x22, fbc 0x106: rgba 0x8/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 [r2t 0, r2tr 0, float 0], bitmap]] ... EGL Capabilities: GLCaps[egl cfg 0x19, vid 0x21: rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono , sw, GLProfile[GLES2/GLES2.sw], on-scr[fbo, pbuffer [r2t 0, r2tr 0, float 0], bitmap], [0xd: GL, GLES1, GLES2, VG]] GLCaps[egl cfg 0x1a, vid 0x21: rgba 0x8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms: 0/0/0, dbl, mono , sw, GLProfile[GLES2/GLES2.sw], on-scr[fbo, pbuffer [r2t 0, r2tr 0, float 0], bitmap], [0xd: GL, GLES1, GLES2, VG]] ... ----------------------------------------------------------------------------------------------------- X11GraphicsDevice[type .x11, connection :0]: Native GL4bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)] GL4 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)] GL3bc true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)] GL3 true [4.2 (Core profile, arb, ES2 compatible, FBO, hardware)] GL2 true [4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware)] GL2ES1 true GLES1 true [1.0 (ES profile, FBO, software)] GL2ES2 true GLES2 true [2.0 (ES profile, ES2 compatible, FBO, software)] Profiles GLProfile[GL2ES2/GL4bc.hw] GLProfile[GL2ES1/GL4bc.hw] GLProfile[GL2/GL2.hw] GLProfile[GL4/GL4.hw] GLProfile[GL3/GL3.hw] GLProfile[GL4bc/GL4bc.hw] GLProfile[GL4bc/GL4bc.hw] GLProfile[GLES2/GLES2.sw] GLProfile[GLES1/GLES1.sw] GLProfile[GL2GL3/GL4bc.hw] GLProfile[GL3bc/GL3bc.hw] default GLProfile[GL4bc/GL4bc.hw] Swap Interval -1 GL Profile GLProfile[GL4bc/GL4bc.hw] CTX VERSION 4.2 (Compatibility profile, arb, ES2 compatible, FBO, hardware) - 4.2.0 NVIDIA 310.32 GL jogamp.opengl.gl4.GL4bcImpl@6f9bb25a GL_VENDOR NVIDIA Corporation GL_RENDERER GeForce GTX 660/PCIe/SSE2 GL_VERSION 4.2.0 NVIDIA 310.32 GLSL true, has-compiler: true, version: 4.20 NVIDIA via Cg compiler GL_EXTENSIONS 302 GL_ARB_arrays_of_arrays GL_ARB_base_instance ... GLX_EXTENSIONS 27 GLX_ARB_fbconfig_float GLX_ARB_create_context_robustness ... ----------------------------------------------------------------------------------------------------- Requested: GLCaps[rgba 0x8/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 0x8/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[.]]
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:
- sh etc/test_dbg.sh (Unixoid), or
- etc\test_dbg.bat (Windows)
which produces the file
test_dbg.log
and should be send to us to complete the bugreport as well.
Retrieve Release Version Tag from GIT Hash
git-show-tags-of-commit.sh
#! /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
Autobuild Platform ZIP files for each module follow the versioning scheme plus contain the platform identifier OS and ARCH:
jogl-2.0-b210-20101110-linux-amd64.zip
Release and Archived Files
The 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 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
- joal-javadoc.zip