Draw chemical structure diagrams with Metafont/MetaPost
Add tex-roundrect{,-doc} 1.0
Metapost macros for highly configurable rounded rectangles
Add tex-shapes{,-doc} 1.0
Draw polygons, reentrant stars, and fractions in circles with Metapost
gphoto2 2.5.8 release
* --keep-raw option added, which leaves non-JPEG files on camera during
capture or wait-event-and-download
* --show-preview option split out of --capture-preview. --show-preview
now displays the ascii art preview, --capture-preview no longer does.
* updated translations: french, ukrainian, vietnamese, russian, polish,
dutch, hungarian, esperanto, serbian, danish
gphoto2 2.5.6
* --wait-event / --wait-event-and-download can now wait for strings
--wait-event=CAPTURECOMPLETE
--wait-event=FILEADDED
--wait-event="Property 5001"
* updated translations: french, ukrainian, dutch, polish, russian, vietnamese, hungarian, serbian
gphoto2 2.5.5
* manpage updated
* updated translations
* bugfix for DST usage in handling date/time widgets
* adjusted wait time heuristics after capture
* --debug-loglevel=(debug|verbose|data|all) option added to select debug verbosity
* fixed --filename with cross-device usage
gphoto2 2.5.4
* --skip-existing option that skips if a local file would already exist
* %F for foldername inclusion added to format strings for --filename
* add the commandline arguments to the debug log
gphoto2 2.5.3
* translations updated: dutch, polish, ukrainian, russian, taiwanese
* small --show-info bugfix
gphoto2 2.5.2
* new --reset option to reset usb devices.
* using --filename, if the camera reports 1. Jan 1970, fall back to
use the current date/time.
* translations updated: french, polish, vietnamese, russian, simplified chinese, danish
gphoto2 2.5.1
* Fixed that the meaning of --keep and --no-keep was switched.
* Allow passing absolute filenames to
-p, -d, -r/--rmdir, -m/--mkdir, -t, --show-info, --get-metadata,
--get-raw-data, --get-audio-data,
like e.g.:
gphoto2 -p /store_00010001/DCIM/100D7000/DSC_0001.JPG
* -L --quiet now prints a list of all files, 1 per line.
* -l --quiet now prints a list of all folders, 1 per line.
gphoto2 2.5.0
* Added "--keep" and "--no-keep" options for capture tethered
and capture image.
* --wait-event and --capture-tethered can now do:
* nr of events (200)
* seconds (100s)
* milliseconds (200ms) (1/1000 of a second)
* frames (50f) (number of images)
* New --list-all-config gives the full config tree.
gphoto2 2.4.99.2
* Updated for new GPPortInfo in libgphoto2 2.5.0
* Updated for various changed file interfaces in libgphoto2 2.5.0
* Capture mainloop changed to handle JPEG+RAW capture (one release
resulting in 1 or more files).
(Also: refactored and rewritten to be more beautiful)
* Capture mainloop uses trigger capture + waitevent if present.
* Fixed use-after-free problem in file save
* Fixed %n to use an incremental counter, instead of a filesystem index.
gphoto2 2.4.10.1
* Switched %n behaviour to be linear increasing, instead of
a folder index.
gphoto2 2.4.10
* Event loop handling non-waitevent able cameras.
* --capture-movie (optional arguments: frames, or seconds)
now loops over preview capture as fast as possible
and writes the frames continously.
The resulting file is "MotionJPEG" and can be postprocessed
or displayed (by mplayer).
Also output to stdout is possible for pipeing like:
gphoto2 --stdout --capture-movie | someotherprogram
gphoto2 2.4.9
* Capture main event loop rewritten to always use wait event
to also support multiple image captures. (JPEG+RAW)
* Fixed various bugs and memory leaks.
* Translation updates.
gphoto2 2.4.8
* Output CAPTURECOMPLETE on waitevent
* On --filename "foo/bar/berk.jpg" create subdirectories if
not yet present.
* New shell command:
capture-preview
* Added Bulb Mode in interval capture with -B / --bulb <seconds>
gphoto2 2.4.7
* New cmdline options: --set-config-index and --set-config-value
to avoid ambiguity of the --set-config supporting both modes.
* --wait-event can take "5s" as argument for 5 seconds of event taking
* added --wait-event-and-download=x (same as --wait-event but with download)
* New shell commands:
wait-event (events or seconds)
wait-event-and-download (events or seconds)
capture-tethered
set-config-index entry=choiceindex
set-config-value entry=value
* Enhanced --quietness.
* Added AC_SYS_LARGEFILE, enabling support to download files > 2GB.
* Updated translations.
* Various bugfixes.
gphoto2 2.4.5
* Updated translations.
* Handle ctrl-c on tethered capture.
gphoto2 2.4.4
* Updated translations.
* SIGUSR2 added ... "exit interval capture after next shot"
gphoto2 2.4.3
* Updated translations.
* For multiple cameras, specifying with --port usb:xxx,yyy is now
sufficient (previously needed --port and --camera).
* fixed: added installation of octave-based scripts: pfsoctavelum pfsoctavergb pfsstat
* fixed: libraries installed in lib64 if needed (thanks to Orion for the patch)
* fixed: added "so" version to the pfs.so library (thanks to Orion for the patch)
* fixed: Replaced depreciated OctaveMap for compatibility with octave 4.0.0
Header location and library names changed, so bump API version.
No users in pkgsrc (yet).
Changes in GEGL 0.3.0
---------------------
• Improvements to thread safety and parallelism.
• Lower overhead graph travesal due from rewrite of visitors
• OpenCL support now enabled by default when detected.
• Experimental multithreading, enable by setting
GEGL_THREADS=<number of threads> in the environment.
• Experimental mipmap rendering, which permits transparent rendering of
previews on smaller sized versions, enable by setting
GEGL_MIPMAP_RENDERING=true in the environment.
• Operations:
• new operations: alien-map, antialias, apply-lens, bilateral-filter,
bump.map, cartoon, channel-mixer, color-enhance, color-exchange,
color-reduction, color-rotate, convolution-matrix, copy-buffer, cubism,
deinterlace, diffraction-patterns, distance-transform, displace, edge,
emboss, engrave, exposure, fractal-trace, high-pass, image-compare,
illusion, invert-gamma, lens-flare, linear, linear-gradient, mosaic,
motion-blur-circular, motion-blur-zoom, noise-cell noise-cie-lch,
noise-hsv, noise-hurl, noise-pick, noise-rgb, noise-simplex, noise-spread,
n-point deformation ops, oilify, panorama-projection, photocopy, plasma,
radial-gradient, red-eye-removal, scale-size-keep-aspect, softglow,
stretch-contrast, texturize-canvas, tile-glass, tile-seamless, tile-paper,
tile, warp, whirl-pinch, wind, cache, cast-format, lcms-from-profile,
npy-save, webp-load, webp-save, scale-ratio, scale-size, seamless-clone,
sinus, supernova, value-propagate, video-degradation
• reimplementation of gaussian-blur faster and more accurate
• support for using URIs in image loaders
• Buffer:
• New default tile backend, doing disk writes in a separate thread.
GEGL (Generic Graphics Library) is a graph based image processing
framework.
GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl it provides
support for a wide range of color models and pixel storage formats for
input and output.
gexiv2 is a GObject-based wrapper around the Exiv2 library. It makes
the basic features of Exiv2 available to GNOME applications.
Update for libgexiv2. Changes from previous libgexiv2:
gexiv2 0.10.3 - 23 March 2015
-----------------------------
* Retrieve XMP tag's structure type (#736799)
* Generate XMP packet as NUL-terminated string (#736587)
* Retrieve tag's raw value as GBytes (#730136)
* Fix gexiv2_metadata_get_fnumber() (#745347)
gexiv2 0.10.2 - 16 September 2014
---------------------------------
* Use all EXIF tags for interpreted strings (#734861)
* Automake fixes
gexiv2 0.10.1 - 25 April 2014
-----------------------------
* Fix Python bindings (GObject Introspection issue)
gexiv2 0.10.0 - 17 March 2014
-----------------------------
* Build system fixes
* Updated links in documentation
gexiv2 0.9.1 - 5 February 2014
------------------------------
* Fixed tarball compilation problem
* Updated configure.ac
* Fixed introspection generation
gexiv2 0.9.0 - 4 February 2014
------------------------------
* Ported to Autotools
* Added compile and runtime version number checks
* Fixed bugs and resource leaks
* Updated GTK-Docs and GI annotations
gexiv2 0.7.0 - 3 October 2013
-----------------------------
* Fixed Python date/time getter/setter bindings
* Fixed latitude translation code
* New calls for getting underlying Exiv2 tag types
Aug. 18, 2015 - Version 10.00 (production release)
- Added a few new CanonModelID's
- Added a few new Nikon LensID's (thanks Jaap Voets and Robert Rottmerhusen)
- Added a new Canon LensType (thanks Jos Roost)
- Decode a number of new Sony tags (thanks Jos Roost)
- Decode a couple more RIFF tags and extract Unknown RIFF tags
- Changed -b option to avoid splitting PDF List-type tag values
- API Changes:
- Added NoPDFList option
July 23, 2015 - Version 9.99
- Added support for the Leica Q (Typ 116) maker notes
- Added two new SonyModelID's (thanks Jos Roost for one)
- Added two new Sony LensType2 values (thanks Jos Roost)
- Added a new Pentax LensType
- Extract a number of new File System tags when SystemTags API option is set
- Decode a new FujiFilm tag (thanks TonyB)
- Decode a number of new Sony tags (thanks Jos Roost)
- Disabled writing of XMP to PostScript-format Adobe Illustrator files
- SourceFile values in -csv and -json input/output are now converted to/from
filename character set (set by -charset filename option) when
reading/writing
- Renamed Flash:FileAttributes to FlashAttributes
- Renamed FujiFilm:AFPointSet to AFMode and improved decoding
- Fixed problem where a partial command could be executed if the -stay_open
option was used and the command is aborted due to an error in arguments
- Fixed problem with OS X installer on El Capitan (now installs in
/usr/local/bin instead of /usr/bin)
- API Changes:
- Added SystemTags option
June 26, 2015 - Version 9.98
- Added read support for DSS and DS2 file formats
- Added write support for XMP-mwg-rs:Rotation (seen in XMP from LR6)
- Added a new Sigma LensType (thanks Niels Kristian Bech Jensen)
- Decode Pentax DiffractionCorrection
- Decode Olympus ID3 XOLY frame
- Decode a few more Sony tags
- Improved reliability of decoding Nikon D810 ShotInfo and custom settings
- Changed name of Pentax VignettingCorrection to PeripheralIlluminationCorr
- Fixed problem with user parameters in tag name expressions when copying
June 2, 2015 - Version 9.97
- Added a new Pentax Quality value
- Added a new Panasonic AdvancedSceneMode (thanks Horst Wandres)
- Minor improvement to lens identification logic based on XMP information
- Changed a few DR4 tag names
- Fixed improper scoping of XMP namespace prefixes (so conflicting prefixes
are now properly resolved)
May 20, 2015 - Version 9.96
- Added support for CanonVRD version 4 information and DR4 files
- Added two new Canon LensType values (thanks Norbert Wasser)
- Added two new Olympus LensType values (thanks Niels Kristian Bech Jensen)
- Added a new Minolta/Sony LensType and fixed another one (thanks Jos Roost)
- Added a new Nikon LensID (thanks John Helour)
- Added a few new QuickTime tags
- Added a new PentaxModelID and a new Pentax PictureMode
- Added a few new XMP-aux tags
- Decode a couple more DPX tags
- Decode NikonCustom tags for D810 firmware version 1.02
- Improved -htmlDump output for extended XMP and some other JPEG segments
- Improved a Canon lens name
- Documented the -userParam command-line option (which has existed since 9.90)
- Changed default behaviour to ignore extended XMP with an incorrect GUID (as
per the XMP specification)
- Changed the case of a few tag names for consistency
- Patched problem with Sony cameras giving incorrect LensInfo for some third
party lenses, leading to an incorrect LensID by ExifTool (thanks Jos Roost)
- Patched problem where GPS minutes or seconds could round up to 60
- Fixed picasa_faces.config to rotate regions if necessary for RAW file types
(thanks Stargeek)
- API Changes:
- Added ExtendedXMP option
May 9, 2015 - Version 9.95
- Added a few new Minolta/Sony lenses (thanks Jos Roost)
- Added config_files/photoshop_paths.config to the full distribution
- Avoid rebuilding maker notes when using -tagsFromFile with -fast2 option
- Validate tag names when redirecting (ie. "-DSTTAG<SRCTAG")
May 3, 2015 - Version 9.94
- Added Geotag support for Bramor gEO log files
- Added support for iCalendar ICS files
- Added support for Leica M Monochrom (Type 246) maker notes
- Added new "Preview" group for all embedded preview images
- Added a new PentaxModelID (thanks Louis Granboulan)
- Added a new Canon LensType (thanks Niels Kristian Bech Jensen)
- Added tag name to "Invalid EXIF text encoding" warning
- Decode ColorData for Canon EOS 5DS and EOS 5DS R (thanks LibRaw)
- Changed ListItem option so that it also applies when copying tags
- Enhanced FileTypeExtension to return an uppercase extension when the print
conversion is disabled (eg. the -n option)
- Fixed incorrect FileTypeExtension for virtual device drivers
- Fixed an improperly formatted warning for duplicate PDF entries
- Fixed bug creating extended XMP in JPEG images when deleting all XMP and
adding back in the same step
Apr. 25, 2015 - Version 9.93
- Added FileTypeExtension tag
- Added a few new CanonModelID values
- Added a new Olympus CameraType
- Added a few new Minolta/Sony lenses (thanks Jos Roost)
- Updated arg_files/iptcCore.args for IPTC Extension version 1.2 tags
- Improved VCard parsing/decoding
- Improved -fast3 file identification logic
- Remove "px" string from SVG ImageWidth/Height tags
- Changed DOF calculation to use ApproximateFocusDistance
- Fixed missing FileType for MOI files
- Fixed potential "Internal Error" bug when writing XMP structures
Apr. 11, 2015 - Version 9.92
- Added support for PRISM pmi and prm tags, and updated to PRISM 3.0
- Added read support for Audible .AA files
- Added support for Adobe XMP-creatorAtom tags
- Added a couple of new XMP-xmpDM tags
- Added a new CanonModelID and a new Ricoh WhiteBalance (thanks LibRaw)
- Added a new Olympus CameraType
- Added a new Nikon LensID (thanks Jurgen Sahlberg)
- Updated to XMP PLUS 1.2.1 specification
- Enhanced DOF calculation to use AverageFocusDistance or
FocusDistanceUpper/Lower if available
- Patched to tolerate different version numbers in XMP namespace URI's
Apr. 7, 2015 - Version 9.91
- Added read support for VCard files
- Added support for AAX files
- Added --sort option
- Added a number of new QuickTime GenreID values (thanks Francois Bonzon)
- Added new Canon, Nikon, Olympus and Samsung lenses (thanks LibRaw and Niels
Kristian Bech Jensen)
- Added a new Olympus CameraType
- Added a new Sony FlashMode value
- Decode a new Apple makernote tag
- Decode a number of new QuickTime tags found in Audible audio books
- Improved the naming of a FujiFilm tag (thanks LibRaw)
- Removed "not yet tested" warning when writing FujiFilm RAF version 0200
- Renamed distribution file config_files/ExifTool_config to example.config
- Increased maximum metadata atom size for QuickTime files and added warning
if an atom is larger than the limit
- Changed writing of filesystem date/time tags to override the -P option
- Fixed problem writing FileCreateDate in Windows when the -o option was used
2.5.11 @ 2015-07-14
Minor documentation improvements.
Autotools cruft has been removed, the build is now a simple makefile.
New project logo.
pkgsrc change:
manually fix the stuff that was handled by "autotools cruft" automatically.
ok wiz@.
Changes:
* Significant enhancements to pixma, genesys, kodakaio, fujitsu, canon_dr.
* Minor updates, bugfixes or scanners added in several backends.
* Added new testsuite
* 51 new scanner models supported.
* USB support improvements.
* Improved build system (mingw64, bug fixes, default pthread on Linux).
* Documentation updates.
* Bugfixes.
(libreoffice still builds.)
02/08/2015 - GLM 0.9.7.0 released
Features:
Added GTC_color_space: convertLinearToSRGB and convertSRGBToLinear functions
Added 'fmod' overload to GTX_common with tests #308
Added left handed perspective and lookAt functions #314
Added functions eulerAngleXYZ and extractEulerAngleXYZ #311
Added GTX_hash to perform std::hash on GLM types #320#367
Added GTX_wrap for texcoord wrapping
Added static components and precision members to all vector and quat types #350
Added .gitignore #349
Added support of defaulted functions to GLM types, to use them in unions #366
Improvements:
Changed usage of __has_include to support Intel compiler #307
Specialized integer implementation of YCoCg-R #310
Don't show status message in 'FindGLM' if 'QUIET' option is set. #317
Added master branch continuous integration service on Linux 64 #332
Clarified manual regarding angle unit in GLM, added FAQ 11 #326
Updated list of compiler versions
Fixes:
Fixed default precision for quat and dual_quat type #312
Fixed (u)int64 MSB/LSB handling on BE archs #306
Fixed multi-line comment warning in g++ #315
Fixed specifier removal by 'std::make_pair' #333
Fixed perspective fovy argument documentation #327
Removed -m64 causing build issues on Linux 32 #331
Fixed isfinite with C++98 compilers #343
Fixed Intel compiler build error on Linux #354
Fixed use of libstdc++ with Clang #351
Fixed quaternion pow #346
Fixed decompose warnings #373
Fixed matrix conversions #371
Deprecation:
Removed integer specification for 'mod' in GTC_integer #308
Removed GTX_multiple, replaced by GTC_round
Download: GLM 0.9.7.0 (ZIP, 4.2 MB) (7Z, 2.8 MB)
15/02/2015 - GLM 0.9.6.3 released
Fixes:
Fixed Android doesn't have C++ 11 STL #284
Download: GLM 0.9.6.3 (ZIP, 4.1 MB) (7Z, 2.7 MB)
15/02/2015 - GLM 0.9.6.2 released
Features:
Added display of GLM version with other GLM_MESSAGES
Added ARM instruction set detection
Improvements:
Removed assert for perspective with zFar < zNear #298
Added Visual Studio natvis support for vec1, quat and dualqual types
Cleaned up C++11 feature detections
Clarify GLM licensing
Fixes:
Fixed faceforward build #289
Fixed conflict with Xlib #define True 1 #293
Fixed decompose function VS2010 templating issues #294
Fixed mat4x3 = mat2x3 * mat4x2 operator #297
Fixed warnings in F2x11_1x10 packing function in GTC_packing #295
Fixed Visual Studio natvis support for vec4 #288
Fixed GTC_packing *pack*norm*x* build and added tests #292
Disabled GTX_scalar_multiplication for GCC, failing to build tests #242
Fixed Visual C++ 2015 constexpr errors: Disabled only partial support
Fixed functions not inlined with Clang #302
Fixed memory corruption (undefined behaviour) #303
Download: GLM 0.9.6.2 (ZIP, 4.1 MB) (7Z, 2.7 MB)
10/12/2014 - GLM 0.9.6.1 released
GLM 0.9.6.0 came with its set of major glitches: C++98 only mode, 32 bit build, Cuda and Android support should all be fixed in GLM 0.9.6.1 release.
Features:
Added GLM_LANG_CXX14_FLAG and GLM_LANG_CXX1Z_FLAG language feature flags
Added C++14 detection
Improvements:
Clean up GLM_MESSAGES compilation log to report only detected capabilities
Fixes:
Fixed scalar uaddCarry build error with Cuda #276
Fixed C++11 explicit conversion operators detection #282
Fixed missing explicit convertion when using integer log2 with *vec1 types
Fixed 64 bits integer GTX_string_cast to_string on VC 32 bit compiler
Fixed Android build issue, STL C++11 is not supported by the NDK #284
Fixed unsupported _BitScanForward64 and _BitScanReverse64 in VC10
Fixed Visual C++ 32 bit build #283
Fixed GLM_FORCE_SIZE_FUNC pragma message
Fixed C++98 only build
Fixed conflict between GTX_compatibility and GTC_quaternion #286
Fixed C++ language restriction using GLM_FORCE_CXX**
Download: GLM 0.9.6.1 (ZIP, 4.1 MB) (7Z, 2.7 MB)
30/11/2014 - GLM 0.9.6.0 released
GLM 0.9.6.0 is available with many changes.
Transition from degrees to radians compatibility break and GLM 0.9.5.4 help
One of the long term issue with GLM is that some functions were using radians, functions from GLSL and others were using degrees, functions from GLU or legacy OpenGL.
In GLM 0.9.5, we can use GLM_FORCE_RADIANS to force all GLM functions to adopt radians.
In GLM 0.9.5 in degrees:
#include <glm/mat4.hpp>
#include <glm/gtc/matrix_tansform.hpp>
glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInRadians)
{
return glm::rotate(m, glm::degrees(angleInRadians), glm::vec3(0.0, 0.0, 1.0));
}
In GLM 0.9.5 in radians:
#define GLM_FORCE_RADIANS
#include <glm/mat4.hpp>
#include <glm/gtc/matrix_tansform.hpp>
glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInRadians)
{
return glm::rotate(m, angleInRadians, glm::vec3(0.0, 0.0, 1.0));
}
In GLM 0.9.6 in radians only:
#include <glm/mat4.hpp>
#include <glm/gtc/matrix_tansform.hpp>
glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInRadians)
{
return glm::rotate(m, angleInRadians, glm::vec3(0.0, 0.0, 1.0));
}
In GLM 0.9.6 if you what to use degrees anyway:
#include <glm/mat4.hpp>
#include <glm/gtc/matrix_tansform.hpp>
glm::mat4 my_rotateZ(glm::mat4 const & m, float angleInDegrees)
{
return glm::rotate(m, glm::radians(angleInDegrees), glm::vec3(0.0, 0.0, 1.0));
}
GLM 0.9.5 will show warning messages at compilation each time a function taking degrees is used.
GLM: rotate function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.
If you are using a version of GLM older than GLM 0.9.5.1, update to GLM 0.9.5.4 before transitioning to GLM 0.9.6 to get this help in that process.
Make sure to build and run successfully your application with GLM 0.9.5 with GLM_FORCE_RADIANS, before transistioning to GLM 0.9.6
Finally, here is a list of all the functions that could use degrees in GLM 0.9.5.4 that requires radians in GLM 0.9.6: rotate (matrices and quaternions), perspective, perspectiveFov, infinitePerspective, tweakedInfinitePerspective, roll, pitch, yaw, angle, angleAxis, polar, euclidean, rotateNormalizedAxis, rotateX, rotateY, rotateZ and orientedAngle.
Using GLM template types
There are a lot of reasons for using template types: Writing new template classes and functions or defining new types. Unfortunately, until GLM 0.9.5, GLM template types were defined into the detail namespace indicating there are implementation details that may changed.
With GLM 0.9.6, template types are accessible from the GLM namespace and guarantee to be stable onward.
Example of template functions, GLM 0.9.5 and 0.9.6 style:
#include <glm/geometry.hpp>
#include <glm/exponential.hpp>
template <typename vecType>
typename vecType::value_type normalizeDot(vecType const & a, vecType const & b)
{
return glm::dot(a, b) * glm::inversesqrt(glm::dot(a, a) * glm::dot(b, b));
}
#include <glm/vec4.hpp>
int main()
{
return normalizeDot(glm::vec4(2.0), glm::vec4(2.0)) > 0.0f ? 0 : 1
}
Example of template functions, alternative GLM 0.9.6 style:
#include <glm/geometry.hpp>
#include <glm/exponential.hpp>
template <typename T, template <typename, glm::precision> class vecType>
T normalizeDot(vecType<T, P> const & a, vecType<T, P> const & b)
{
return glm::dot(a, b) * glm::inversesqrt(glm::dot(a, a) * glm::dot(b, b));
}
#include <glm/vec4.hpp>
int main()
{
return normalizeDot(glm::vec4(2.0), glm::vec4(2.0)) > 0.0f ? 0 : 1
}
Example of typedefs with GLM 0.9.6:
#include <cstddef>
#include <glm/vec4.hpp>
#include <glm/mat4.hpp>
typedef glm::tvec4<std::size_t> size4;
typedef glm::tvec4<long double, glm::highp> ldvec4;
typedef glm::tmat4x4<long double, glm::highp> ldmat4x4;
Optimizations
With GLM 0.9.5, the library started to tackle the issue of compilation time by introducing forward declarations through <glm/fwd.hpp> but also by providing an alternative to the monolithic <glm/glm.hpp> headers with <glm/vec2.hpp>, <glm/mat3x2.hpp> and <glm/common.hpp>, etc.
With GLM 0.9.6, the library took advantage of dropping old compilers to replace preprocessor instantiation of the code by template instantiation. The issue of preprocessor instantiation (among them!) is that all the code is generated even if it is never used resulting in building and compiling much bigger header files.
Furthermore, a lot of code optimizations have been done to provide better performance at run time by leveraging integer bitfield tricks and compiler intrinsics. The test framework has been extended to include performance tests. The total code size of the tests is now 50% of the library code which is still not enough but pretty solid.
Compilers support
GLM 0.9.6 removed support for a lot of old compiler versions. If you are really insisting in using an older compiler, you are welcome to keep using GLM 0.9.5.
Supported compilers by GLM 0.9.6:
Apple Clang 4.0 and higher
CUDA 4.0 and higher
GCC 4.4 and higher
LLVM 3.0 and higher
Intel C++ Composer XE 2013 and higher
Visual Studio 2010 and higher
Any conform C++98 compiler
Lisence
Finally, GLM is changing Lisence to adopt the Happy Bunny Lisence.
Release note
Features:
Exposed template vector and matrix types in 'glm' namespace #239, #244
Added GTX_scalar_multiplication for C++ 11 compiler only #242
Added GTX_range for C++ 11 compiler only #240
Added closestPointOnLine function for tvec2 to GTX_closest_point #238
Added GTC_vec1 extension, *vec1 support to *vec* types
Updated GTX_associated_min_max with vec1 support
Added support of precision and integers to linearRand #230
Added Integer types support to GTX_string_cast #249
Added vec3 slerp #237
Added GTX_common with isdenomal #223
Added GLM_FORCE_SIZE_FUNC to replace .length() by .size() #245
Added GLM_FORCE_NO_CTOR_INIT
Added 'uninitialize' to explicitly not initialize a GLM type
Added GTC_bitfield extension, promoted GTX_bit
Added GTC_integer extension, promoted GTX_bit and GTX_integer
Added GTC_round extension, promoted GTX_bit
Added GLM_FORCE_EXPLICIT_CTOR to require explicit type conversions #269
Added GTX_type_aligned for aligned vector, matrix and quaternion types
Improvements:
Rely on C++11 to implement isinf and isnan
Removed GLM_FORCE_CUDA, Cuda is implicitly detected
Separated Apple Clang and LLVM compiler detection
Used pragma once
Undetected C++ compiler automatically compile with GLM_FORCE_CXX98 and GLM_FORCE_PURE
Added not function (from GLSL specification) on VC12
Optimized bitfieldReverse and bitCount functions
Optimized findLSB and findMSB functions
Optimized matrix-vector multiple performance with Cuda #257, #258
Reduced integer type redifinitions #233
Rewrited of GTX_fast_trigonometry #264#265
Made types trivially copyable #263
Removed iostream in GLM tests
Used std features within GLM without redeclaring
Optimized cot function #272
Optimized sign function #272
Added explicit cast from quat to mat3 and mat4 #275
Fixes:
Fixed std::nextafter not supported with C++11 on Android #217
Fixed missing value_type for dual quaternion
Fixed return type of dual quaternion length
Fixed infinite loop in isfinite function with GCC #221
Fixed Visual Studio 14 compiler warnings
Fixed implicit conversion from another tvec2 type to another tvec2 #241
Fixed lack of consistency of quat and dualquat constructors
Fixed uaddCarray #253
Fixed float comparison warnings #270
Deprecation:
Removed degrees for function parameters
Removed GLM_FORCE_RADIANS, active by default
Removed VC 2005 / 8 and 2008 / 9 support
Removed GCC 3.4 to 4.5 support
Removed LLVM GCC support
Removed LLVM 2.6 to 2.9 support
Removed CUDA 3.0 to 4.0 support
- Keyboard shortcuts can now be edited from MComix' preference dialog
in a new tab "Shortcuts". (by Valentin Gologuzov)
Please not that the arrow keys, Backspace and Escape cannot be bound
to actions right now, unless you're manually editing the config file.
- During database upgrade, MComix did not consider that books in the
"Last read" database might no longer exist, leading to program crash.
This has been fixed.
- Adding a collection with a numeric name to the library made the library
unusable. This has been fixed.
- Fixed win32 builds missing the 'calendar' module.
- Fixed bookmarks not being displayed in the Ubuntu Unity global menu.
- Fixed 'Continue reading' not working when files are opened from
the command line (by Boris Bogar).
- Improved page extraction and caching algorithm, leading to much better
responsiveness, especially for viewing large archives. (by Benoit Pierre)
- MComix will now always hide the mouse cursor after a period of
inactivity, even when not in fullscreen mode. (by Benoit Pierre)
- The ALT+Left and ALT+Right keys will now either advance one page,
or go back one page, depending on the user being in manga mode.
- CTRL plus mouse wheel will now zoom in/out one level.
- Manual zooming will now use a logarithmic scale instead of a linear
spline.
- The library will now use natural sorting for "Sort by name" and
"Sort by path" instead of alphanumeric sorting, bringing it in line
with most other sorting done by MComix.
- Adding a book to a collection with the same book already existing
in another collection did not immediately show the book in the
library main view when the new collection was already selected.
- MComix can now use the '7z' executable to read .tar.xz and .tar.lzma
archives.
- ZIP archives using BZIP2 compression will now fall back to external
unzip/7z instead of failing (by Awad Mackie).
- MComix can now read PDF files using tools provided by mupdf,
namely mutool and mudraw. (by Benoit Pierre)
- Double page mode will not implicitly resize images anymore.
- The smart scrolling algorithm has been improved.
- Some issues with the magnifying glass have been fixed.
- Some new variables have been introduced that you can use when running
external commands. See the documentation for details:
https://sourceforge.net/p/mcomix/wiki/External_Commands
- MComix will now use the current GTK theme's icons for
Next/Previous buttons.
- Added AppData meta information for software repositories.
- Updated traditional Chinese translation (by Wayne Su).
2.61
The main package pstricks now defines two optional arguments
for pasting code into PostScript: precode=.. and postcode=.... Both can
beused by other packages to get rid of an \pstVerb before calling a
macro.
2.62
New optional argument "bgcolor" for the background of
the pspicture environment. See pst-news15.pdf for more
information.
---------------------
(From the file RELEASE_NOTE)
GNUPLOT Version 5.0.1 Release Notes
===================================
Gnuplot version 5.0 was initially released in January 2015.
Please see the NEWS and ChangeLog files for a complete list of bug fixes
and minor changes accummulated since then.
These release notes are for version 5.0 patchlevel 1 (5.0.1).
Release Notes date: 04-Jun-2015
This patchlevel 5.0.1 incremental release includes
==================================================
* NEW "set mono" (full command "set monochrome {linetype lt <line-properties>})
* NEW "set fit nolog" suppresses output to log file
* NEW sixel terminal supports RGB and palette colors, but only 16 at a time :-(
* NEW command "printerr" acts exactly like "print" but always outputs via stderr
* CHANGE autoconfigure of Qt5 support now looks for --variable=host_bins
* CHANGE reevaluate fill color for each polygon in data for "with filledcurves"
* CHANGE gstrptime(): always check validity of %y %Y %d %B %b input fields
* CHANGE track text properties for key title separately from key entries
* CHANGE "smooth kdensity" now handles logscale y and explicit x range
* CHANGE order of margins in the "set margin" command to left, right, bottom, top
* CHANGE guarantee color of key sample for "lc variable" plots matches 1st point
* CHANGE "set term fig color" can use predefined linetype colors and named colors
* CHANGE skip all preprocessing for input lines beginning with shell escape char
* CHANGE build system to suppress dvi as an automake-generated target
* CHANGE in hidden3d mode, the 'nosurface' suppresses both surface grid directions
* FIX replace palette color value NaN with background color
* FIX improved handling of boxplot data with multiple factors (categories)
* FIX save_textcolor was not handling "tc variable"
* FIX apply numeric locale when reading ascii matrix data
* FIX handling of ascii matrix data
* FIX reinitialize brush used to draw dotted lines in gd terminal
* FIX failure to clear bold/italic text attributes in cairo terminals
* FIX tabular output of time data when the axis format has not been set
* FIX breakage in plot style filledcurves {above|below} y1=<yval>
* FIX dashtypes after "set term {e}pslatex mono"
* FIX report and enforce maximum number of parallel axes without faulting
* FIX smooth mcsplines for a curve containing multiple y values at a single x
* FIX several bugs evident for log-scaled color axis
* FIX regression in color support for pbm/sixel/hpgl terminals (no RGB color)
* FIX accummulated round-off error in dotted lines drawn by libgd terminals
* FIX incorrect colorbox axis labels in polar plots
* FIX AquaTerm framework name is case-sensitive
* FIX strip enhanced text markup from plot titles embedded in svg output
* FIX error in retrieving matrix column headers as strings
* FIX error in calculating absolute deviation (stats command)
* FIX allocation error from "set fit covariancevariables"
* FIX tkcanvas terminal handling of blank (default) font family name
* FIX off-by-one-error in color of contours when hidden3d is active
* FIX adjust WIN32 encoding used by text output from "pause" command
* FIX qt terminal 3D rotation mode tendency to get stuck "on"
* FIX dash pattern rendering in contour lines
NOTABLE NEW FEATURES IN VERSION 5.0.1
=====================================
Incremental releases 5.0.1, 5.0.2, etc are primarily intended to provide bug
fixes, but 5.0.1 also contains several adjustments resulting from feedback on
changes and new features in version 5. The most notable is addition of a new
command "set monochrome" that allows emulation of the terminal-specific "mono"
option that was lost in version 5. The new commands "set mono" and "set color"
switch between two parallel sets of default linetypes. Six monochrome
linetypes are pre-defined; these can be altered or new ones added using the
command "set monochrome linetype N <line-properties>". Although these do not
exactly duplicate those of any particular pre-version 5 terminal, approximate
backwards compatibility is provided by automatically switching to the
monochrome linetypes if the "mono" keyword is present in "set term".
I.e., "set term pdf mono" is equivalent to "set term pdf; set mono".
Clutter 1.22.2 2015-05-12
===============================================================================
• List of changes since Clutter 1.22.0
- Improve touchpad detection in the X11 backend
The X11 backend now uses the same heuristics as GDK.
- Fix handling of SwapBuffersWithDamage on EGL
Use the correct arguments for the Cogl API, which is mapped on the
corresponding EGL extension.
- Fix ClutterStage:use-alpha
Painting the stage with the use-alpha property is now working on all
backends.
- Fix detection of an ARGB visual in the GDK backend
• List of bugs fixed since Clutter 1.22.2
#749256 - clutter-backend-gdk: Only set setting on successful
gdk_screen_get_setting call
#747436 - Clutter should use the same heuristics as gtk+ to determine
touchpads
Many thanks to:
Jasper St. Pierre, Matthieu Bouron
Clutter 1.22.0 2015-03-23
===============================================================================
• List of changes since Clutter 1.21.8
- Improve pointer tracking in the evdev input backend
Do not use the events after the queue processing, to avoid dropping events
due to compression.
- Fix handling of multiple stages with the GDK backend
A regression introduced when the GDK backend implemented its own master
clock using GdkFrameClock prevented applications with multiple stages to
be updated properly.
- Updated translations
Kazakh, Aragonese, Indonesian, Danish, Turkish.
• List of bugs fixed since Clutter 1.21.8
#746575 - cally-actor: Don't assume X11 backend is used when supported
#746328 - evdev: Keep track of the pointer coordinate ourself
Many thanks to:
Muhammet Kara, Andika Triwidada, Ask H. Larsen, Baurzhan Muftakhidinov,
Daniel Martinez, Florian Müllner, Jonas Ådahl
Clutter 1.21.8 2015-03-15
===============================================================================
• List of changes since Clutter 1.21.6
- Documentation updates
The messages for most of the deprecated API list the intended replacement
classes or approaches to be used when porting code.
- Update the MSVC build files
- Improve damage tracking on ClutterStage
This should improve performance, especially when paired with the
buffer_age extension.
- Updated translations
Greek, Polish, Ukrainian, Italian, Slovak, Latvian, Bosnian.
• List of bugs fixed since Clutter 1.21.6
#745512 - Improve damage tracking and use swap_buffers_with_damage
Many thanks to:
Chun-wei Fan, Chris Wilson, Daniel Korostil, Dušan Kazik, Milo Casagrande,
Piotr Drąg, Rūdolfs Mazurs, Samir Ribic, Tom Tryfonidis.
Clutter 1.21.6 2015-03-03
===============================================================================
• List of changes since Clutter 1.21.4
- Support quad-buffer stereo displays on X11/GLX
This allows using Clutter to draw on GLX framebuffers with the stereo
bit set.
- Add a Mir windowing system backend
This allows using Clutter applications natively on systems using the
Mir display server.
- Depend on Cogl ≥ 1.19 and Cairo ≥ 1.12
Cogl 1.19 is needed for the newly added Mir windowing system backend,
as well as the quad-buffer stereo display on X11. Cairo 1.12 is needed
for dropping the ad hoc check for the device scale parameter used with
ClutterStage implementations as well as the ClutterCanvas content.
- Improvements in the evdev input backend
- Use the GdkFrameClock to drive the ClutterMasterClock
When using the GDK backend, we want the ClutterMasterClock to be driven
by the GdkFrameClock, as the latter is automatically frame limited by
the compositor, which gives better results for client applications.
- Updated translations
Spanish, Hebrew, Hungarian, Czech, Basque, Russian, Slovenian, Galician,
Chinese (Taiwan), French, Brazilian Portuguese, Lithuanian, Serbian.
• List of bugs fixed since Clutter 1.21.4
#743355 - gdk: report an error when initialization fails
#743615 - evdev: Ignore non seat wide button or key events
#744058 - gdk: Disable cogl wayland event dispatching if requested
#743865 - MetaSurfaceActorWayland: unset the surface when it goes away
#744604 - stage: Process state update event immediately
#744668 - GDK: integrate the MasterClock mechanism with GdkFrameClock
#732706 - Allow setting up quad-buffer stereo output
Many thanks to:
Lionel Landwerlin, Jonas Ådahl, Alexandre Franke, Aurimas Černius,
Balázs Úr, Chao-Hsiung Liao, Daniel Mustieles, Fran Dieguez,
Giovanni Campagna, Inaki Larranaga Murgoitio, Jasper St. Pierre,
Marco Trevisan (Treviño), Marek Černocký, Matej Urbančič, Owen W. Taylor,
Rafael Ferreira, Rui Matos, Yosef Or Boczko, Yuri Myasoedov,
Мирослав Николић
Clutter 1.21.4 2015-01-22
===============================================================================
• List of changes since Clutter 1.21.2
- Use the GDK backend by default when possible
Instead of using the X11 or the Wayland backend by default, Clutter now
uses the GDK backend for both input and output. This improves the
integration with the windowing system. Backends can still be selected
programmatically, or via environment variables. On Windows and MacOS, we
still prefer the native backend, if available, because of asymmetries in
the GDK API.
- Use libinput 0.8
For the evdev input backend, the dependency for libinput has been bumped
to the newly released 0.8, which improves wheel and scroll events.
- Allow access to vendor and product ID for input devices
- Allow ClutterConstraint implementations to change the preferred size
ClutterConstraint classes can now update an actor's preferred size,
along with its allocation; this means that querying the preferred size
of actors using constraints will take constraints into consideration, and
improves the integration of constraints inside the layout system.
- Improve the GDK backend
Properly support high DPI displays, as well as Wayland.
- Updated translations
Czech, Basque, Spanish, Hungarian.
• List of bugs fixed since Clutter 1.21.2
#730815 - Mouse events limited to upper left rectangle
#740759 - Add getters for input device vendor/product IDs
#734587 - Position gdk backend before x11/wayland/egl ones
#742829 - Update to new libinput API for pointer_axis events
Many thanks to:
Jonas Danielsson, Carlos Garnacho, Peter Hutterer, Marek Černocký,
Inaki Larranaga Murgoitio, Daniel Mustieles, Balázs Úr.
Clutter 1.21.2 2014-12-15
===============================================================================
• List of changes since Clutter 1.20.0
- Improve input device handling
Both on the evdev input backend, and the XInput2 backend for X11.
- Allow content implementations to drive actors preferred size
If a ClutterActor is only used to paint a ClutterContent implementation,
it should be possible to allow the actor to have the same preferred size
of its content. We use a ClutterRequestMode to specify this behaviour.
- Documentation fixes
• List of bugs fixed since Clutter 1.20.0
#738520 - evdev: Flush event queue before removing device(s)
#739050 - Fix some weird graphical glitches in RTL
#741350 - Improve touchpad detection on libinput
#740997 - Easing modes are not used when computing the value of a
KeyframeTransition
#676326 - actor: Add a :request-content-size property
#711182 - Incorrect drawing behaviour with clutter content centered
#709252 - ensure that all deprecated symbols are correctly annotated for
gtk-doc
#669743 - ObjectInfo property is_actor not correctly set when updating
existing actor using ClutterScriptParser
#719962 - clutter/osx: add clutter_osx_disable_event_retrieval
#681300 - Miss CLUTTER_INPUT_BACKEND description in doc
#729462 - DeviceManagerXi2: Update cached core pointer in getter if NULL
Many thanks to:
Carlos Garnacho, Jasper St. Pierre, Jonas Ådahl, Rico Tzschichholz,
Samuel Degrande, Sjoerd Simons, cee1.
Version 1.6.18beta01 [April 1, 2015]
Removed PNG_SET_CHUNK_[CACHE|MALLOC]_LIMIT_SUPPORTED macros. They
have been combined with PNG_SET_USER_LIMITS_SUPPORTED (resolves
bug report by Andrew Church).
Fixed rgb_to_gray checks and added tRNS checks to pngvalid.c. This
fixes some arithmetic errors that caused some tests to fail on
some 32-bit platforms (Bug reports by Peter Breitenlohner [i686]
and Petr Gajdos [i586]).
Version 1.6.18beta02 [April 26, 2015]
Suppressed some warnings from the Borland C++ 5.5.1/5.82 compiler
(Bug report by Viktor Szaka'ts).
Version 1.6.18beta03 [May 6, 2015]
Replaced "unexpected" with an integer (0xabadca11) in pngset.c
where a long was expected, to avoid a compiler warning when PNG_DEBUG > 1.
Added contrib/examples/simpleover.c, to demonstrate how to handle
alpha compositing of multiple images, using the "simplified API"
and an example PNG generation tool, contrib/examples/genpng.c
(John Bowler).
Version 1.6.18beta04 [May 20, 2015]
PNG_RELEASE_BUILD replaces tests where the code depended on the build base
type and can be defined on the command line, allowing testing in beta
builds (John Bowler).
Avoid Coverity issue 80858 (REVERSE NULL) in pngtest.c PNG_DEBUG builds.
Avoid a harmless potential integer overflow in png_XYZ_from_xy() (Bug
report from Christopher Ferris).
Version 1.6.18beta05 [May 31, 2015]
Backport filter selection code from libpng-1.7.0beta51, to combine
sub_row, up_row, avg_row, and paeth_row into try_row and tst_row.
Changed png_voidcast(), etc., to voidcast(), etc., in contrib/tools/pngfix.c
to avoid confusion with the libpng private macros.
Fixed old cut&paste bug in the weighted filter selection code in
pngwutil.c, introduced in libpng-0.95, March 1997.
Version 1.6.18beta06 [June 1, 2015]
Removed WRITE_WEIGHTED_FILTERED code, to save a few kbytes of the
compiled library size. It never worked properly and as far as we can
tell, no one uses it. The png_set_filter_heuristics() and
png_set_filter_heuristics_fixed() APIs are retained but deprecated
and do nothing.
Version 1.6.18beta07 [June 6, 2015]
Removed non-working progressive reader 'skip' function. This
function has apparently never been used. It was implemented
to support back-door modification of png_struct in libpng-1.4.x
but (because it does nothing and cannot do anything) was apparently
never tested (John Bowler).
Fixed cexcept.h in which GCC 5 now reports that one of the auto
variables in the Try macro needs to be volatile to prevent value
being lost over the setjmp (John Bowler).
Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler).
Fix g++ build breaks (John Bowler).
Quieted some Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c,
pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt
would only work with iTXt chunks with length 255 or less.
Added #ifdef's to contrib/examples programs so people don't try
to compile them without the minimum required support enabled
(suggested by Flavio Medeiros).
Version 1.6.18beta08 [June 30, 2015]
Eliminated the final two Coverity defects (insecure temporary file
handling in contrib/libtests/pngstest.c; possible overflow of
unsigned char in contrib/tools/png-fix-itxt.c). To use the "secure"
file handling, define PNG_USE_MKSTEMP, otherwise "tmpfile()" will
be used.
Removed some unused WEIGHTED_FILTER macros from png.h and pngstruct.h
Version 1.6.18beta09 [July 5, 2015]
Removed some useless typecasts from contrib/tools/png-fix-itxt.c
Fixed a new signed-unsigned comparison in pngrtran.c (Max Stepin).
Replaced arbitrary use of 'extern' with #define PNG_LINKAGE_*. To
preserve API compatibility, the new defines all default to "extern"
(requested by Jan Nijtmans).
Version 1.6.18rc01 [July 9, 2015]
Belatedly added Mans Rullgard and James Yu to the list of Contributing
Authors.
Version 1.6.18rc02 [July 12, 2015]
Restored unused FILTER_HEURISTIC macros removed at libpng-1.6.18beta08
to png.h to avoid compatibility warnings.
Version 1.6.18rc03 [July 15, 2015]
Minor changes to the man page
Version 1.6.18 [July 23, 2015]
No changes.
While here, update to cogl to 1.20.0
Cogl 1.20.0 2015-03-23
List of changes since Cogl 1.18.2
Support for "quad buffer" based stereo rendering
Support for Mir window system
A number of updates for the Wayland support
Improved vblank sync when using glXWaitForMSC
Many thanks to:
Marco Trevisan (Trevino)
Owen W. Taylor
Robert Bragg
Rui Matos
Adel Gadllah
Chris Wilson
Necdet Yuel
Sebastian Rasmussen
Seong-ho Cho
Ting-Wei Lan