Upstream changes:
0.13 2016-04-17
- Eliminate a warning "Negative repeat count does nothing" in recent
perl5s in the test suite.
- https://rt.cpan.org/Ticket/Display.html?id=113841
- Thanks to KENTNL for the report and SREZIC for some guidance.
Upstream changes:
Version 2016060801 Wed Jun 8 14:40:04 CEST 2016
+ Removed the optional leading 0 from Australian postal codes -- use -lax
to enable this feature.
+ Improved the patterns for Belgian, Danish, Greenlandic, Swiss, Italian,
German, French, and Norwegian postal codes, only matching actual
valid codes.
This implies rewriting their tests from scratch.
+ Added patterns for postal codes for Liechtenstein, Luxembourg,
Monaco, San Marino, and Vatican City.
+ 2315992 tests in 73 files.
Upstream changes:
1.9739 [2016-06-28]
- the upcoming macOS 10.12 (Sierra, the operating system formerly
known as OS X, or Darwin) has implemented the clock_gettime()
and clock_getres() interfaces but not the clock_nanosleep()
1.9738 [2016-06-26]
- fix the dates in the Changes, it's not July yet
[rt.cpan.org #115553]
- in cygwin, drop the utime.t expected timestamp resolution
- documented for utime that the actual timestamp resolution depends
on the operating system and the filesystem, just like for stat
- looks like in gnukfreebsd 10.1 neither futimens or utimensat work
even though they exist, skipping utime tests there for now
- demodernize the Test::More use in utime.t (no subtest) to
better support older Perl installations
- for all the tests, drop the Test::More 0.82 requirement,
the only "modern" thing used is the note routine which
can be replaced with print("# ...\n") (or printf),
with this works back at least with Test::More 0.54 (perl 5.8.7)
1.9737 [2016-06-22]
- utime in HiRes.xs had dXSARGS which was unnecessary, leading
to two markstack pops, panic, and two-minute wait for the watchdog
(thanks to Dave Mitchell for the eagle-eye)
- even though 5.10.x should have the Perl_ck_warner, many CPAN
smokes proved otherwise, so requiring now at least 5.12 for
Perl_ck_warner use in IS_SAFE_PATHNAME()
1.9736 [2016-06-22]
- the IS_SAFE_PATHNAME() emulation was too modern for Perl 5.10
- make it so that only one value is set for -DTIME_HIRES_STAT
even on systems that support many options
- the 1.9734 (only released in blead, and as part of the development
release 5.25.2) fix for Darwin's clock_gettime was wrong under
threaded builds, leading into mutex panics in clock.t
- the d_hires_utime determination was made more precise
- the utime.t was failing in platforms where only one of
futimens/utimensat was present (neither or both was okay)
1.9735 [2016-06-20]
- Time::HiRes should override `utime` to allow setting hires
(futimens and utimensat support)
[rt.perl.org #114809]
- the utime patch used IS_SAFE_PATHNAME() which isn't available in
too old Perls, so emulate (in case the Devel::PPPort is too old)
1.9734 [2016-06-17]
- fix Darwins with clock_gettime: blead 2d41a263
[rt.perl.org #128427]
1.9733 [2016-04-23]
- C90 declaration-after-statement error with darwin threads: blead de1003b4
[rt.cpan.org #113856]
Upstream changes:
1.006 2016-05-24 02:55:20Z
- fix failing tests with other locales, environment settings
1.005 2016-05-20 02:39:52Z
- mark App::Nopaste::Service::Codepeek as deprecated in metadata
- the Gist command also looks in ~/.github for credentials
- many additional tests; thanks David J. Shultz!
Quote from release note:
Note that according to our release schedule, PHP 5.5.38 is the last release
of the PHP 5.5 branch. There may be additional release if we discover
important security issues that warrant it, otherwise this release will be
the final one in the PHP 5.5 branch. If your PHP installation is based on
PHP 5.5, it may be a good time to start making the plans for the upgrade to
PHP 5.6 or PHP 7.0.
21 Jul 2016, PHP 5.5.38
- BZip2:
. Fixed bug #72613 (Inadequate error handling in bzread()). (Stas)
- Core:
. Fixed bug #70480 (php_url_parse_ex() buffer overflow read). (Stas)
. Fixed bug #72513 (Stack-based buffer overflow vulnerability in
virtual_file_ex). (loianhtuan at gmail dot com)
. Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session
Deserialization). (taoguangchen at icloud dot com)
. Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and
applications). (CVE-2016-5385) (Stas)
- EXIF:
. Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE).
(Stas)
. Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment).
(Stas)
- GD:
. Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read
access). (Pierre)
. Fixed bug #72519 (imagegif/output out-of-bounds access). (Pierre)
. Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()).
(CVE-2016-6207) (Pierre)
- Intl:
. Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (Stas)
- ODBC:
. Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns)
- SNMP:
. Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and
unserialize()). (taoguangchen at icloud dot com)
- Xmlrpc:
. Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c).
(Stas)
- Zip:
. Fixed bug #72520 (Stack-based buffer overflow vulnerability in
php_stream_zip_opener). (loianhtuan at gmail dot com)
GeoLite2 databases are free IP geolocation databases comparable to,
but less accurate than, MaxMind's GeoIP2 databases. GeoLite2
databases are updated on the first Tuesday of each month.
IP geolocation is inherently imprecise. Locations are often near the
center of the population. Any location provided by a GeoIP database
should not be used to identify a particular address or household.
Use the Accuracy Radius as an indication of geolocation accuracy for
the latitude and longitude coordinates we return for an IP address.
The actual location of the IP address is likely within the area
defined by this radius and the latitude and longitude coordinates.
These are presented as straight CSV files, and can be manipulated with standard
tools.
Update DEPENDS
Upstream changes:
2.01 2016-06-24
- Version numbering now handled in dzil
- Example and internal code uses Moose conventions
2.00 2016-06-01
- Silence MooseX::Attribute::Chained warnings with HTML::FormFu 2.0+.
- Packaging tweaks including adding travis CI support
- Updated version to 2.x to match other modules, requires HTML-FormFu v2.00
PyODE is a set of open-source Python bindings for The Open Dynamics Engine, an
open-source physics engine. PyODE also includes an XODE parser.
Originally packaged in pkgsrc-wip by:
- Kamel Ibn Aziz Derouiche,
- Thomas Klausner,
and
- myself.
Upstream changes:
5.90111 - 2016-07-20
- Improved documentation around some of the unicode changes; tests (melmothx++)
5.90110 - 2016-07-20
- Better catching of HTTP style exceptions so that you can reliable use one to
override many core method.
- Documention on better ways to catch and handle Unicode errors
- We now check the unicode in your URL request queries and raise an error if the
check fails. This was done to be consistent with what we do in other parts of
the code (such as in args, or POSTed parameters). If this breaks your code in
ways you don't want to fix, you may disable this using the global configuration
setting, "do_not_check_query_encoding".
- Removed configuration setting, "decode_query_using_global_encoding" since it no
longer does anything useful. Query decoding follows from whatever you set the
global encoding to, unless you specify an alternative or to not decode.
5.90106 - 2016-07-05
- Fixed regression in debug screen rendering of the private names in chained
actions caused by commit 5dd46e24eedec447bdfbc4061ed683b5a17a7b0c.
- Fixed incorrect date entered for the release of 5.90105
- Fixed some incorrect code in a test case that might be causing test fails
in some configurations.
5.90105 - 2016-06-08
- Tweak some test cases to try and prevent them from failing in limited cases.
- Changed how we compose traits onto the response, request, and stats class so
that we compose just once at setup time (performance optimization). Also added
a debug screen at startup to display composed classes to help with debugging.
- Fixed a regressed caused by the changes we made to the way ->state works so that
now when you forward to an action and that action throws an exception, $c->state
is set to 0, instead of the value of the exeption (this is to be as indicated by
the documentation). (cventers++ for reported bug and test case).
- Changed the code that detects if you try to set HTTP headers after headers are
finalized to not warn if you are just requested the response header state. Tweaked
this error message a bit to help people understand it.
5.90104 - 2016-04-04
- Merged pull request #131, fix for noisy debug logs when used type constraints
in your actions. Additional changes to the developer debug screen output to
improve reporting details.
- Merged pull request #133, fix for case when a file upload filename contains
wide characters which caused the filename to not appear in the uploads hash.
pkgsrc changes:
- set license
- revamp build definitions
- revamp blk3.mk and bump API_DEPENDS to 0.13 (recent software depends on new ode-config)
- drop all local patches as not needed
upstream changes:
Changes for 0.13
New features:
Stable, implicit gyroscopic forces (patch #185 by Joseph Cooper). Bodies with gyroscopic forces won't gain energy anymore.
New joint: transmission joint (patch #182 by Dimitris Papavasiliou).
Contacts now have rolling friction (patch #184 by Joseph Cooper).
Removed the need for defining dSINGLE/dDOUBLE; this is stored now in the generated ode/precision.h header.
New joint: Double Ball (AKA "distance joint").
New joint: Double Hinge.
Threaded execution support interface added. Optional built-in threading implementation added. Internal threading implementation is excluded by default and to be used, it must be enabled with configure/premake: --disable-threading-intf (--no-threading-intf for Windows/Premake). This allows disabling threading interface support.
Bug fixes
Joint feedback forces application fixed in QuickStep implementation
Bug #89 by Luc: (dJointAddSliderForce() adds a zero force when the parent body is NULL)
Bug #88 by Luc: heightfield data assigned to a wrong field in dGeomHeightfieldSetHeightfieldData
Fixed cylinder AABB computation.
Removed ALLOCA calls from dHashSpace; it should not depend on stack size limits anymore.
Bugs in AMotor joint (patch #181)
Bugs in PU joint (patch #186)
Fixed issue with friction and non-friction constraints being intermixed during constraints random reordering in QuickStep.
Fixed matrix inversion bug (patch #183).
Fixed issue with some kinds of joints (Ball, DBall, DHinge, Fixed) might overwrite world ERP value with their custom ERP during getInfo2() call and that inappropriate value would then be passed to subsequent joints in solver instead of world ERP.
Fixed issues reported in patches #151 and #22 (collisions with SAPSpace and QuadTreeSpace might not work because geometries list was misused in them).
Fixed IsPointInPolygon in convex.cpp (patch #160 by Janis Rucis)
Fixed zero comparisons in OPCODE to use relative error instead of absolute epsilon value (found by Bill Sellers)
Fixed dhinge's last constraint to properly handle rotations.
Fixed plane2d joint: uninitialized variables (reported by Dimitris Papavasiliou)
Bug #80 by Georg Martius: better handling of capsule-box with deep penetrations.
Fixed zero-mu issues: now either mu or mu2 can be set to zero.
Other changes
Public headers cleaned to cause less pollution of typedefs and macros.
Changes for 0.12
Added python bindings, contributed by Gideon Klompje.
Integrated libccd from Daniel Fiser, provides new colliders based on GJK, EPA and MPR. Now cylinders can collide with cylinders!
New functions have been added:
dWorldUseSharedWorkingMemory()
dWorldCleanupWorkingMemory()
dWorldSetStepMemoryReservationPolicy()
dWorldSetStepMemoryManager()
dGeomLowLevelControl(): change/query OPCODE trimesh-sphere contact merging behavior at runtime.
dGeomGetRelPointPos() (patch #2991622)
dGeomGetPosRelPoint() (patch #2991622)
dGeomVectorToWorld() (patch #2991622)
dGeomVectorFromWorld() (patch #2991622)
dWorldStepFast1 API removed along with dWorld[Get/Set]AutoEnableDepthSF1
dWorldStep() and dWorldQuickStep() have been changed to return boolean success status, and avoid allocation on stack.
dInitODE2() changed to automatically call AllocateODEDataForThread(dAllocateFlagBasicData) after library initialization.
Made sure neither dSINGLE or dDOUBLE is defined by default; the user should always explicitly specify the precision.
Fixed a bug in dGeomCopyOffsetRotation().
Macros changed to static inline functions in odemath.h and related files.
Improvement for trimesh-plane collision.
odecpp classes changed to be inheritable and easily expandable
QuadTreeSpace implementation corrected to avoid object-block relation ambiguity due to numeric errors.
Fixed bug affecting disabled joints and dWorldStep.
Added extern "C" wrapper to dWorldExportDIF().
Fixed bug #2937076: don't try to build demos if drawstuff is disabled.
Applied patch #2931174 to make demos work for recent MacOS.
Applied patch #2931177 to fix the demos' framerate on X11.
Applied patch #2995450 to generate up to four contacts for box-plane collision test and fix contact depths.
Applied patch #3030783 to fix drawstuff dimensions being ignored in OSX GLUT port.
Applied patch #3429454: fix compilation on some platforms.
Heightfield zone boundaries calculation code fixed to also consider whole next cell after the AABB if the AABB ends exactly at the cell boundary.
New demo: demo_tracks.
Fixed a box-capsule bug: more reasonable normal for deep penetrations.
Many internal fixes to world stepping and collision detection code.
Changes for 0.11.1
Made the new trimesh collider the default.
Added a "-texturepath" option to drawstuff.
Heightfield rotation fixed to avoid NaNs while rotating infinite MIN/MAX heights.
Incorrect parameter order fixed on contact merging in Sphere-Trimesh collisions.
Fixed bug #2685170: use the C99 __func__ instead of __FUNCTION__ when a C99 implementation is available.
Remove unused code in demo_joints.cpp.
Fix bug in collision categories in demo_jointPU.
Added a possibility to initialize/close ODE multiple times recursively has been added. Also, now a call to dSpaceSetManualCleanup() is required for each space right after creation if ODE has been initialized in thread data manual cleanup mode.
Thread local data has been cleaned up from OPCODE and OdeTls.
New house of cards demo, which stresses the friction handling stability.
Changes for 0.11
This release contains many joint-related bug fixes, and some new features like kinematic bodies, better convex-convex collision detection and some extra functions.
Fix bug: Fix problem when attaching no body to a joint.
Fix problem with dJointGetUniversalAngle2 when the joint is attached to only a body 2. The sign was inverted.
Fix bug reported by Tilman: dxJointPU::getInfo1 was setting twice the limit of limot1 to zero and not limot2.
Fixed a bug in dSpaceCollide2: if both geoms are not in spaces they would not have valid AABBs.
Swapped geometries returned in contacts for OPCODE Trimesh-Plane collisions as they were returned in unnatural order being different from that in GIMPACT
Fixed an inverted sign problem on positions of joints PU and PR.
Fix bug: when a slider, piston, pu or pr joint had only one body attached to position 2, dJointAttach(jId, 0, bId). The body was not push in the right direction to move back between the limits.
Fix bug in dJointGetPUAxis2: the axis was not multiplied with the the rotation matrix of the good body.
Fix bug if there is only one body on the PU joint the axis returned was not the right one.
New functions: dJointSetUniversalAxis1Offset and dJointSetUniversalAxis2Offset.
New functions: dJointEnable, dJointDisable, dJointIsEnabled (patch #2454764).
New functions: dGeomTriMeshSetTriMergeCallback/dGeomTriMeshGetTriMergeCallback.
New function: void dJointSetPUAnchorOffset (deprecating dJointSetPUAnchorDelta).
New functions: dJointGetPRAngle and dJointGetPRAngleRate.
New functions: dBodyGetGyroscopicMode and dBodySetGyroscopicMode (patch #2019242).
Applied patch #2538046: Heightfield AABB bounds patch.
Applied patch #2381592, which adds support for Kinematic Bodies.
Applied a patch to make GIMPACT trimesh-ray collisions to be consistent with those in OPCODE (bug #2214623).
Applied a patch to make side1, side2 fields of contact structure be always initialized.
Applied patch #2158425: This patch enable GIMPACT to work on 64-bit machine.
Applied patch #2080674: Improved dBodySetRotation; now exact rotation matrices are preserved until the next simulation step.
Enable the motor on the rotoide part of the PR joint.
Added Blender script to create ODE convex geoms under tools.
Convex-Convex collision detection code is finally (nearly) stable.
Changes for 0.10.1
This is a bugfix release, so you shouldn't expect anything to stop working from 0.10.
New function: dJointSetPistonAnchorOffset
Add new function dJointSetHingeAxisDelta
Fix problem with dJointGetPistonPosition and dJointGetPistonPositionRate when the joint is attached to only a body 2. The sign was inversed.
Update the slider joint to have the same behavior as the other joint when there is only a body2 attached to it.
Rename the new function dJointSetHingeAxisDelta to dJointSetHingeAxisOffset. This will remove confusion with the old function dJointSetHingeAnchorDelta.
Bug fix: Max Correcting Vel behavior is now the same as before 0.10.
Changes for 0.10
New functions: dInitODE2(), dAllocateODEDataForThread(), dCleanupODEAllDataForThread(). This adds support for ability to run collision detection from multiple threads for separate spaces.
New functions: dCheckConfiguration(), dGetConfiguration(), to test how ODE was compiled.
New function: dJointGetNumBodies (patch #1901550).
New function: dSpaceGetClass (patch #1901637).
New function: dSetColliderOverride(), to register custom collision handling functions.
Added damping and MaxAngularVel() functions.
Applied patch #1335202: Contact Joint Motion (see demo_motion.cpp).
Applied patch #1851394: support for GIMPACT with double precision, dCollide fix.
Applied patch #1813079 (moved callback).
Added possibility to collide a space of lower sublevel as a geometry against another space of a higher level with dSpaceCollide2. dSpaceSetSublevel/dSpaceGetSublevel are used for sublevel assignment/retrieval.
Fixed a bug in dJointXXXGetInfo. The value in limot.limit was not always updated. (Ex: If hi and lo limit were changed).
New Joint: Prismatic Universal (patch #1828454).
New Joint: Piston, with demo.
Disabled building shared library by default with autotools. ODE shouldn't be installed as a system library.
Fixed drawstuff build issues on OSX.
Removed release and debug flags for configure.in: CPPFLAGS, CFLAGS, CXXFLAGS should be set by the user to their liking, respecting autotools policies.
Added 'Sweep and Prune' collision space.
Optimizations, many bug fixes, and code cleanup.
Changes from 0.8 to 0.9
New Feature: CONTACTS_UNIMPORTANT flag added for dCollide() to allow canceling any contact improvements and return any contacts found as soon as possible
New feature: Add erp/cfm parameters to fixed and ball joint. SF PATCH 1478244
Assert on zero normalizations, add dSafeNormalize. Added boolean result for dNormalize3() and dNormalize4() so that normalization success could be checked
SF Patch 1808007: fix gimpact compiler warning
Apply SF patch 1800579: dGeomTriMeshSetData does not work with GIMPACT
Fix: heightfield collision could return less contacts than was possible
Fix: the deepest contact might be not selected if there was a lack of contact slots in trimesh-trimesh and trimesh-box cases (function exited immediately and did not check for possible contact coincidences).
Improvement: optimizations for GIMPACT versions of trimesh-capsule, trimesh-trimesh, trimesh-plane, trimesh-sphere
Improvement: dCollideConvexPlane optimized
Fix: cylinder-box collision did not respect requested contact count limit
Fix SF issue 1729096 by adding dMassSetTrimeshTotal
Apply SF patch 1685107: Enforce 1 contact request
Apply SF Patch 1697014: Update JointPR code
Catch SF BUG 1621938: gimpact only does stride 12.
patch 1769851 by Jon Watte: recalc aabb when new setting new data
Added Richard Barrington's model loader for XNA (to be used with ODE.NET)
1586733 collision_trimesh_trimesh.cpp OPCODE fix Added Francisco Leon's alternate trimesh-trimesh collider.
1691402 Heighfield performance patch patch
1696933 Fix bug in dWorldExportDIF when joint in "limbo"
Renamed "tests" to "demos" and split out unit test project. Updated premake scripts and Visual Studio files; automake files still need to be updated.
Make building demos optional. SF patch 1650563
lib64 fixes, SF patch 1646598
Warn against using double precision with gimpact
Many more bug fixes and optimizations.
Changes from 0.7 to 0.8
New Rotoide - Prismatic Joint
Optimisation when dGYROSCOPIC is disabled (default)
dJointGetUniversalAngles to efficiently get both angles at once.
Changes from 0.6 to 0.7
New heightfield primitive for terrains.
Trimesh-Plane collision.
Ray-Cylinder collision.
Integration of the plane-2d joint.
Improved support for convex hulls.
Fix for joint limit handling.
Half-space optimisation for axis aligned planes.
Changes from 0.5 to 0.6
Added flat-capped cylinders.
CCylinder has been renamed as Capsule.
Added support for geom offsets.
Improved stepping function (dWorldQuickStep)
Much improved support for trimesh collision shapes
Added support for 64-bit systems
Started support for convex hulls
New and improved build system
Lots of bug fixes, stability, and performance improvements
Geom Offset Overview
Geom offsets allow geom objects to be offset from a body's position. This is useful for cases where an object has an offset centre of mass, or is made up out of several geoms each with their own local position. Native support for geom offsets means that the geomTransform container is now obselete.
The real advantage over geomTransform is that there is a much easier interface for setting, getting, and modifying a geom's offset from its body. The elimination of geomTransform simplifies callbacks which no longer have to special case that geom class type. In terms of performance, the new code has a negligible performance difference and a memory improvement compared to using a geomTransform.
Geom Offset and Bodies
An offset only makes sense for geoms which are connected to bodies. It is an error to attempt to set an offset for a geom which is not connected to a body. When a geom is disconnected from a body, any offset will be automatically eliminated. Thus, the possible states a geom can be in are:
Geom
Geom on body
Geom on body, with an offset
To create an offset, just call on of the geomSetOffset functions. The offset will be automatically created if it does not yet exist. Geom offsets are normally set by specifying the offset in local coordinates. An extra set of functions are provided to allow an offset to be determined by providing world coordinates and subtracting them from the current body position. These second set of functions, geomSetOffsetWorldPosition(),etc, allow the user to essentially say "keep the body where it is, and move its geom to this position in the world".
Geom Offset API
This is defined in the doxygen documentation.
Geom Offset affect on existing API
The following functions have been updated such that they transparently work with offsets.
void dGeomSetPosition (dGeomID, dReal x, dReal y, dReal z)
void dGeomSetRotation (dGeomID, const dMatrix3 R)
void dGeomSetQuaternion (dGeomID, const dQuaternion)
const dReal * dGeomGetPosition (dGeomID)
const dReal * dGeomGetRotation (dGeomID)
void dGeomGetQuaternion (dGeomID, dQuaternion result)
void dGeomGetAABB (dGeomID, dReal aabb[6])
The functions that get a geom's position will return its final position in world coordinates. If a geom is offset, it is no longer true that dGeomGetPosition()==dBodyGetPosition(). Instead, each will return its own world position, with the geom being offset from the body.
The functions that set a geom's position will move the body to the position such that the geom will have the position passed in. So if the geom has a positional offset of (0,0,1), and we call dGeomSetPosition(g,10,10,10), the end result will be the body's position being set to (10,10,9). As such, either dGeomSetPosition or dBodySetPosition can be used, depending on which is more convenient. The other position is automatically updated.
Geom Offset and geomTransform
GeomTransforms are still supported, and all existing code transparently works. When writing new code, however, it is far easier to work with geoms and offsets.
The change eliminates a large amount of special casing needed to do when working with geomTransforms. Setting an offset is trivial, and does not require inserting or removing new GeomTransforms from spaces. There is no need to special case getting an offset geom's world position, or setting an offset geom's world position.
It is especially useful in the collide callback. The old way required getting the object as the real geom (but without being able to easily grab its Transform, or even its body!), or as its Transform (forcing special casing code to extract the real geom in that case).
Package changes:
- drop unneeded patch
- set MASTER_SITES to MASTER_SITE_PYPI
- set LICENSE
- add preliminary notes about running tests (at the moment not functional)
Upstream changes:
Mike C. Fletcher has released PyOpenGL 3.1.1a1.
Change log:
Python 3.4 compatibility fixes
new data-type declarations to match current Khronos
ability to use opaque pointers as keys in dictionaries (osmesa fix)
removing a few now-redundant hand-written wrappers
fix for a missing import on gles2 wrapper
tweaked error-message for debugging clarity
allow for the shader convenience function to skip validate-on-compile
PyOpenGL 3.1.0 (final) is now available. Headline changes:
* Generation of wrappers substantially more automatic and based on
Khronos source-files with annotations from the Chromium/regal project
* Common code-base for Python 2.6, 2.7, 3.3 and 3.4, Python 2.5 is no
longer supported
* Better isolation and pervasive lazy-loading behaviour to prevent
loading unused libraries (e.g. GLUT in non-GLUT contexts or GLES in
OpenGL contexts)
* Automated wrappers now (generally) allow passing in output arrays
rather than having them generated
* Experimental support for GLES and EGL
* Many bug-fixes and minor improvements
Installation can be done from PyPI:
pip install PyOpenGL PyOpenGL_accelerate
Source code is available on Launchpad:
bzr branch lp:pyopengl
The homepage, including documentation, remains:
http://pyopengl.sourceforge.net/
PyOpenGL 3.0.2 (final, finally) has been released. The major changes since 3.0.1 (released in 2010!) are:
* OpenGL core support up to 4.3 level [1]
* OpenGL extension support from the current registry [1]
* Some missing FreeGLUT extensions added
* OpenGL.GL.framebufferobjects providing ARB/EXT alternates for framebuffer operations
* Experimental OSMesa (Offscreen Mesa) context (use the environment variable PYOPENGL_PLATFORM=osmesa)
Codebase changes:
* Experimental Python 3.2 and PyPy support
* Win64 Support (including OpenGL_accelerate)
* Numarray (the ancient transitional module between Numeric and numpy) is no longer supported as an array type
* More compact auto-generated wrappers
* Large numbers of bug fixes
Downloads are at:
http://pypi.python.org/pypi/PyOpenGL/3.0.2http://pypi.python.org/pypi/PyOpenGL-accelerate/3.0.2
Future Compatibility Notes:
* This will be the last release of PyOpenGL to support Python 2.5 (and
it supports Python 2.5 in source-release only mode).
o PyOpenGL will be moving to a "shared code" approach for Python
2/3 support, which makes supporting the older Python releases
problematic
* This will be the last release to support the use of bare numbers as
number-array data-types
o i.e. passing 1.00 to a function expecting an array/address of an
float
o Use Glfloat( 1.00 ) to pass in an array-compatible value
o Passing in an int/long will generate a GLvoidp( I ) to allow for
easy offset-address-style API usage
* The ancient Numeric package (as distinct from Numpy) will be dropped
as a supported array format
o Numeric itself has long since been deprecated, use Numpy
Upstream changes:
1.06 12 May 2016 Added title tag to <a> elements RT 83302
Fixed a bug in the mailto regex RT 87872 (thanks to ANDK and SysPete)
Fixed an unclosed { in the _hss_attval_size regex RT 98110, RT 104221,
RT 107247, (thanks to fraserbn, jplesnik, dtenney, and SysPete)
Fixed a spelling mistake (thanks to gregoa and SysPete)
Add LICENSE
Upstream changes:
Sun May 29 2016 Michael South <msouth@cpan.org>
o CPAN Release 2.62
o Fix HTTPS support with newer LWP versions, a HUGE thanks
to Sebastian Willing <sewi@cpan.org> for taking care of this.
Mon Feb 18 2013 Michael South <msouth@cpan.org>
o CPAN Release 2.61
o Correcting error in Makefile.PL :(
Mon Feb 18 2013 Michael South <msouth@cpan.org>
o CPAN Release 2.60
o using 'localhost' when creating daemons for any local/*.t
tests. Some machines don't return a reachable domain
for `hostname`. This may need further refinement.
o exiting explicitly from daemon in local/*.t code that
creates them. This was already done in timeouts.t,
adding it to the other two locations.
o attempting a fix for https://rt.cpan.org/Ticket/Display.html?id=46821
without having reproduced. Should at least do no harm, though.
o applied (some of) the patch for https://rt.cpan.org/Ticket/Display.html?id=35775
by CHORNY@cpan.org (issue with use of `pwd` on Win32)
o adding (generated) META.yml and META.json
Fri Feb 15 2013 Michael South <msouth@cpan.org>
o CPAN Release 2.59
o some tests were failing due to prerequisites that were not specified
o a little more robustness/info in debug mode of t/local/compatibility.t
Tue Dec 11 2012 Michael South <msouth@cpan.org>
o CPAN Release 2.58
o updates for newer versions of libwww (tests now pass with libwww 6.04)
o "harder" deprecation of some (previously deprecated) UA shadow methods
o removed some deprecated constructs that were throwing warnings