GD module is an interface to the GD library written by Thomas Bouttel.
"It allows your code to quickly draw images complete with lines,
arcs, text, multiple colors, cut and paste from other images, and
flood fills, and write out the result as a .PNG file. This is
particularly useful in World Wide Web applications, where .PNG is
the unencumbered format used for inline images."
It has been extended in some ways from the original GD library.
1.6.6 (27 Nov 2008)
--------------------
* Fixed issue that caused all images to be 570x570 on some systems, due to a
change in the python2.5 C API.
* Improved setup.py and Makefiles.
* Contours can now be used with PlotKey.
* Added Labels component. Similar to Points, but with text labels instead
of symbols.
1.6.5 (20 Mar 2007)
-------------------
* Replaced Numeric with numpy.
1.6.4 (08 Mar 2004)
-------------------
* Phil Kromer contributed the new ColoredPoints and Density components.
See example9.py for details.
* Todd Fox contributed Makefiles for building with MS Visual C++.
* Can now specify the width/height of postscript output, by passing (e.g.)
width="5in" or height="10in" to the functions which produce postscript
output. Default values are in the [postscript] section of config.ini.
The old [printer]/paper option is now [postscript]/paper.
* Added UpperLimits, LowerLimits components. These produce symbols
with half-arrows indicating the true value is below/above the
point.
* Added TeX codes \`,\',\^,\",\~ for character accents.
The configure script determines the availability of libXxf86dga only by the existence of X11/extensions/xf86dga.h. This leads to a linkage error on platforms (e.g. Darwin) where the header in question can be found in the system default path but the corresponding library is installed elsewhere. The problem goes away if we had the library buildlinked, and I see no reason for not enabling DGA input anyway.
The main motivation is that index.theme now mentions "scalable"
directories, so symbolic icons have a chance of being found.
The licence has changed from GPL2 to CCBYSA3 and LGPL3.
Many icons were added, and a few have been removed:
- logviewer.png which is distributed by gnome-utils
- battery-charging.png which now has a variety of charging states
and some which can be replaced by more generic icons:
- palm-pilot-sync.png -> emblem-synchronizing.png
- palm-pilot.png -> pda.png
- visor.png -> pda.png
upstream or submitted for upstream. Import changes:
A new hidden wire display option was added to help with retopology. Mesh
Bisect is a new tool to cut meshes in half. The Bridge, Edgenet fill,
Grid fill and Symmetrize tools were improved. New curve and lattice
editing tools were added too.
Hair rendering was improved with a new Hair shader and reorganized
settings. Subsurface scattering uses a new sampling algorithm and now
supports bump mapping and texture blurring. Sky rendering now uses a
more accurate sky model. New blackbody, vector transform and HSV nodes
were added. The non-progressive integrator was renamed to Branched Path
Integrator, and is now available for GPU rendering.
The Motion tracker now supports plane tracking, which can be used to
replace billboards, screens and other flat things in footage.
Lists in the user interface can now be resized, sorted and filtered.
Further there are small improvements for vertex parenting, empty
objects, the shrinkwrap modifier, mask editing, armatures, f-curves and
drivers.
FBX Import support has been added and FBX/OBJ can now export split
normals (without the need for the edge split modifier).
In addition to the new features, over 270 bugs that existed in previous
releases have been fixed.
2013-12-30 6.8.8-1 Cristy <quetzlzacatenango@image...>
* New version 6.8.8-1, SVN revision 14087.
2013-12-27 6.8.8-1 Cristy <quetzlzacatenango@image...>
* Support points argument for draw MSL element.
* Fix misplaced closing parenthesis for strncmp() call in magick/xml-tree.c.
* The -page option now correctly sets the image page offset (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24701).
* The -evaluate-sequence sum returns a proper alpha channel now (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24704).
2013-12-26 6.8.8-1 Dirk Lemstra <dirk@snakeware...>
* Added support for reading zip compressed PSD files. (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24676).
2013-12-25 6.8.8-0 Cristy <quetzlzacatenango@image...>
* New version 6.8.8-0, SVN revision 14027.
2013-12-23 6.8.8-0 Cristy <quetzlzacatenango@image...>
* Blurring with transparency no longer returns a halo (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24665).
* Eliminate ICC profile memory leak for JP2 coder (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=24679).
2012-12-21 6.8.8-0 Dirk Lemstra <dirk@snakeware...>
* Made librsvg the default svg library for the windows distribution.
2013-12-10 6.8.7-10 Cristy <quetzlzacatenango@image...>
* New version 6.8.7-10, SVN revision 13965.
2013-12-10 6.8.7-10 SiuChi Chan <...>
* Fix crash when using -resize with GPU acceleration (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24603).
2013-12-08 6.8.7-9 Cristy <quetzlzacatenango@image...>
* New version 6.8.7-9, SVN revision 13950.
2013-12-05 6.8.7-9 SiuChi Chan <...>
* Silence warning related to GPU memory issues.
* Check if OpenCL is disabled in checkOpenCLEnvironment() method.
* Turn off OpenCL path for Intel OpenCL to avoid crash when not enough memory.
* Fixed a bug for OpenCL convolution.
* Reduce compiler warnings.
2013-12-03 6.8.7-9 Glenn Randers-Pehrson <glennrp@image...>
* Fixed bug in coders/png.c that caused -define png:color-type=0 to
fail (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=24568).
2013-11-30 6.8.7-9 Dirk Lemstra <dirk@snakeware...>
* Fixed bug in automatic selection of OpenCL device (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24542).
* Fixed transparency for 32 bits BMP.
2013-11-28 6.8.7-9 Cristy <quetzlzacatenango@image...>
* The -type bilevel option sometimes returned an all white image (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24444).
* Check blue channel threshold for -solarize option (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24473).
2013-11-27 6.8.7-8 Cristy <quetzlzacatenango@image...>
* New version 6.8.7-8, SVN revision 13850.
2013-11-27 6.8.7-8 SiuChi Chan <...>
* Add an OpenCL-accelerated analog of AddNoiseImage().
2013-11-23 6.8.7-7 Cristy <quetzlzacatenango@image...>
* New version 6.8.7-7, SVN revision 13827.
2013-11-23 6.8.7-7 SiuChi Chan <...>
* Simplified interface to initialize the OpenCL environment.
* Automatic OpenCL device selection algorithm.
* Support ModulateImage() acceleration.
* Reduce the memory requirement for accelerated blur and unsharp mask.
2013-11-16 6.8.7-6 Cristy <quetzlzacatenango@image...>
* New version 6.8.7-6, SVN revision 13767.
2013-11-14 6.8.7-6 Cristy <quetzlzacatenango@image...>
* Fix possible memory corruption when writing PSD images (bug report from
Justin Grant).
* Constrain color reduction acceleration to positive integers (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=24459).
* fx:maxima.a now returns the alpha value rather than opacity (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24461).
2013-11-08 6.8.7-5 Cristy <quetzlzacatenango@image...>
* New version 6.8.7-5, SVN revision 13682.
2013-11-03 6.8.7-5 Cristy <quetzlzacatenango@image...>
* The jpeg:extent option no longer returns double-free exception (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24366).
* Turn off arch-specific optimisations (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24353).
* The -type bilevel option no longer returns black image (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=24394).
2013-11-03 6.8.7-5 Dirk Lemstra <dirk@snakeware...>
* Added support for pangocairo to the windows distribution.
* Added /OpenCL option to configure.exe to enable OpenCL.
2013-10-31 6.8.7-5 Glenn Randers-Pehrson <glennrp@image...>
* Fixed cut-and-paste error in version.c that caused the "png" delegate
to be listed twice by the "convert -version" command.
Ruby-GNOME 2 is a set of Ruby language bindings for the various
application development libraries included with the GNOME/GTK+
environment.
Ruby/ClutterGTK is a Ruby binding of Clutter-GTK.
Ruby-GNOME 2 is a set of Ruby language bindings for the various
application development libraries included with the GNOME/GTK+
environment.
Ruby/Clutter is a Ruby binding of Clutter.
Clutter-GTK 1.4.4 19/03/2013
===============================================================================
Changes since 1.4.2:
• Bump the dependency on GTK, to remove a workaround for broken state
propagation in the style code.
• Bump the dependency on Clutter, to enable using the accessibility
support in GTK without conflicting with the one in Clutter.
• Improve the multi-backend support, to prepare ourselves for the
shiny Wayland future.
List of bugs fixed:
#691468, #695685, #692399
Many thanks to:
Bastien Nocera, Cosimo Cecchi, Alejandro Piñeiro
Clutter-GTK 1.4.2 17/12/2012
===============================================================================
Changes since 1.4.0:
• Remove annotation from constructor function. [Guillaume Desmottes]
• Ensure the event filter installed by GtkClutterEmbed works correctly
when multiple embeds are realized/unrealized. [Cosimo Cecchi]
• Fix links in the DOAP file.
List of bugs fixed:
#686697, #689879
Many thanks to:
Guillaume Desmottes, Cosimo Cecchi
Clutter-GTK 1.4.0 17/10/2012
===============================================================================
Changes since 1.3.2:
• Drop deprecated Clutter API usage from classes and examples.
• Ensure that GtkClutterEmbed works with GTK+ < 3.4.
• Documentation fixes.
• Track the size requests from the embedded ClutterStage. [Tristan Van
Berkom]
• Translation updates.
List of bugs fixed:
#681462, #669877, #684171
Many thanks to:
Piotr Drąg, Takeshi AIHANA, Tristan Van Berkom
Clutter-GTK 1.3.2 05/06/2012
===============================================================================
Changes since 1.2:
• Ensure that redraws follow resizing, to avoid the contents of the
Stage "lagging" behind. [Alexander Larsson]
• Allow GtkClutterEmbed to use the embedded stage layout manager to
request its size. [Alexander Larsson]
• Avoid warnings when hiding or removing GtkWidgets embedded inside
a GtkClutterActor. [Bastien Nocera, Alexander Larsson]
• Make GtkClutterActor reactive by default. [Alexander Larsson]
List of bugs fixed:
#675867, #677282, #677493
Many thanks to:
Alexander Larsson, Bastien Nocera, Colin Walters
Clutter-GTK 1.2.0 23/03/2012
===============================================================================
Changes since 1.1.2:
• Ensure that style changes are propagated to embedded widgets
• Avoid segfaults when unrealizing.
• Introspection fixes.
List of bugs fixed:
#670662 - Gtk-CRITICAL **: gtk_widget_unrealize: assertion
`GTK_IS_WIDGET (widget)' failed
#667742 - entries argument of gtk_clutter_init_with_args not
annotated as array
Many thanks to:
Cosimo Cecchi, Evan Nemerson, Guillaume Desmottes, Ryan Lortie
Clutter-GTK 1.1.2 23/11/2011
===============================================================================
Changes since 1.0:
• Drop all flavours
Since Clutter 1.9 and GTK+ 3.0 support multiple backends with
selection at run-time, Clutter-GTK can drop the multiple flavours,
and support the current Clutter and GDK backend. This is still a
work in progress, so not every Clutter or GDK backend provide the
same set of features. Basic Clutter embedding works with the X11,
GDK, and Windows backends. GTK+ widgets embedding inside Clutter
works only on the X11 backend.
• Do not disable multi-device
Clutter was fixed to support XI2 events coming from GDK without
destroying the event cookie; this means that Clutter-GTK can
stop disabling multi-device support in GDK. If your code was
calling gdk_disable_multi_device() (something that shouldn't have
been done in the first place) this means that event handling
will be broken.
• Make GtkClutterEmbed expand by default
The GtkClutterEmbed widget should expand by default on both#
orientations; this allows using the default size negotiation
mechanisms in GTK, and drop the hack of setting a minimum size
on the widget.
Many thanks to:
Marc-André Lureau, Matthias Clasen
Clutter-GTK 1.0.4 27/09/2011
===============================================================================
Changes since 1.0.2:
• Build fixes
- Link against libm [Andre Klapper, Frédéric Péters]
- Fix build on non-X11 systems [Chun-wei Fan]
- Fix out of tree builds [Colin Walters]
Clutter-GTK 1.0.2 26/07/2011
===============================================================================
Changes since 1.0.0:
• Build fixes
• Make sure that GtkClutterActor works with GTK+ ≥ 3.1 [Cosimo Cecchi]
• Check before unmapping the stage [Raluca Elena Podiuc]
• Fix for introspection annotations [Simon Wenner]
Clutter-GTK 1.0.0 05/04/2011
===============================================================================
Changes since 0.91.8:
• Depend on gtk+ ≥ 3.0.0.
• Depend on clutter ≥ 1.4.0.
• Fix build for GLES environments. [Andreas Mueller]
• Use a global filter for GDK events.
• Fix various compiler warnings.
• Allow calling gtk_clutter_init* multiple times.
• Fix build on Windows.
• Append the API version to the API reference. [Marvin Schmidt]
• Do not export private symbols from the shared
library. [Emilio Pozuelo Monfort]
Clutter-GTK 0.91.8 14/01/2011
===============================================================================
Changes since 0.91.6:
• Depend on gtk+ ≥ 2.91.7.
• Disable multi-device support in GDK to unbreak the event
filter function we use to dispatch events from GDK to
Clutter.
• Update to the new StyleContext API.
• Remove the GdkColor/GtkStyle/ClutterColor utility API: the
old GtkStyle colors have been deprecated in GTK+.
• Use gettext to localize messages.
Clutter-GTK 0.91.6 22/12/2010
===============================================================================
Changes since 0.91.4:
• General clean up of the code.
• Introspection fixes.
• Moved the texture integration with gtk+ types into a separate
class, GtkClutterTexture.
• Fixes to work with gtk+ ≥ 2.91.7.
• Added translation domain.
Clutter-GTK 0.91.4 11/11/2010
===============================================================================
Changes since 0.91.2:
• Update after the removal of gtk_widget_hide_all()
http://bugzilla.clutter-project.org/show_bug.cgi?id=2377
Many thanks to:
Flo Gravo
Clutter-GTK 0.91.2 05/10/2010
===============================================================================
Changes since 0.90.2:
• Depend on gtk+ ≥ 2.91.1
• Use cairo surfaces to replace the deprecated GdkPixmap.
• Remove GdkColormap.
• Use GtkWidget instead of GtkSizeRequest.
• Introspection and build fixes.
Many thanks to:
Lucas Rocha
Clutter-GTK 0.90.2 09/08/2010
===============================================================================
Changes since 0.10:
• Depend on Clutter 1.3 and GTK+ 2.90, in preparation for the
1.4 and 3.0 cycles, respectively.
• Allow embedding GTK+ widgets inside the ClutterStage provided
by GtkClutterEmbed.
• Whenever possible, use a GDK filter function to let Clutter
update its internal state.
• Allow retrieving the GOptionGroup for Clutter-GTK, to defer
the initialization.
• Remove GtkClutterScrollable and GtkClutterViewport.
Many thanks to:
Danielle Madeley
Alexander Larsson
Christian Persch
Gord Allott
Gustavo Noronha Silva
Javier Jardón
Clutter-GTK is a library providing facilities to integrate Clutter into GTK+
applications. It provides a GTK+ widget, GtkClutterEmbed, for embedding the
default ClutterStage into any GtkContainer.
while here, enable introspection option by default.
Clutter 1.16.2 2013-11-18
===============================================================================
• List of changes since Clutter 1.16.0
- Allow creating intervals and transitions from ClutterScript
ClutterInterval now implements ClutterScriptable.
- X11 backend improvements
Update the device coordinate handling; remove the dependency on
the XFixes extension.
- Wayland backend improvements
Implement the ClutterStage:cursor-visible property.
- Apply the correct opacity when painting ClutterImage
- Throttle touch update events
- Fix preferred size of TableLayout
Take account of the visibility of the children when computing the
preferred size of a ClutterActor using a ClutterTableLayout as its
layout manager.
- Documentation fixes
- Translation updates
Hungarian, Slovak, Greek, Catalan (Valencian)
• List of bugs fixed since Clutter 1.16.0
#707071 - Remove use of XFixes for showing/hiding the cursor
#709762 - ClutterDragAction can mix pointer and touch events
#709590 - wayland: Implement support for 'cursor-visible' stage property
#709761 - Implement touch update event throttling
#709620 - ClutterEvent: Mention _get_source_device() in docs
#708922 - actor: Correct setting the offscreen-redirect property
#709434 - [REGRESSION] clutter_box_layout_allocate:
Process /usr/bin/gnome-shell was killed by signal 5 (SIGTRAP)
#708850 - DragAction warning when setting handle to null
Many thanks to:
Jasper St. Pierre, Lionel Landwerlin, Bastian Winkler, Bastien Nocera,
Florian Müllner, Balázs Úr, Carles Ferrando, Efstathios Iosifidis, Jonas
Ådahl, Pavol Klačanský
Clutter 1.16.0 2013-09-23
===============================================================================
• List of changes since Clutter 1.15.96
- Fix a division by zero in the X11 backend
- Translation updates
Portuguese, Danish
• List of bugs fixed since Clutter 1.15.96
#707033 - Hidden division by zero in examples/basic-actor.c
Many thanks to:
Duarte Loreto, Kenneth Nielsen.
Clutter 1.15.96 2013-09-20
===============================================================================
• List of changes since Clutter 1.15.94
- Fix a crasher bug happening on X11
Some events coming from the system would result in a segmentation fault.
• List of bugs fixed since Clutter 1.15.94
#708439 - clutter-xi2: don't access the stage if we don't have one
Clutter 1.15.94 2013-09-19
===============================================================================
• List of changes since Clutter 1.15.92
- Improve the evdev input backend
The evdev input backend is used when writing applications and compositors
that directly drive the frame buffer on Linux. By ensuring that the evdev
input backend works correctly it is possible to manage input sources like
pointers, keyboards, and touch devices using the raw evdev device nodes.
Clutter now depends on libevdev in order to poll the evdev interfaces.
- Allow scaling windowing surfaces
The main part of the work to support high resolution displays is to make
sure that windowing surfaces can be created with a scaling factor, while
trasparently handling the new size from an application's perspective. The
scaling factor is currently set manually, but it in the near future it will
be automatically set by the environment.
- Translation updates
Serbian, Aragonese, Russian, Latvian, Belarusian, Assamese, Indonesian,
German, Hebrew.
• List of bugs fixed since Clutter 1.15.92
#706652 - evdev: add callback to constrain the pointer position
#706543 - evdev: use monotonic times for the events
#706494 - an assortment of wayland and evdev related changes
#707377 - wayland: Check for NULL surface on pointer leave events
#707808 - box-layout: Fix floating point truncation when calculating a
child's size
#707774 - ClutterClickAction can trigger a crash if disposes at
inappropriate time
#707869 - Add API to restrict the windowing backend to load
#708079 - Clutter clutter-1.16 branch fails to commit after commit
da3e6988
#708383 - ClutterEvent: preserve extended state across
clutter_event_copy()
Many thanks to:
Giovanni Campagna, Emmanuele Bassi, Lionel Landwerlin, Andika Triwidada,
Chun-wei Fan, Florian Müllner, Ihar Hrachyshka, Jasper St. Pierre, Jorge
Pérez Pérez, Nilamdyuti Goswami, Rob Bradford, Rūdolfs Mazurs, Yuri
Myasoedov, Мирослав Николић.
Clutter 1.15.92 2013-09-02
===============================================================================
• List of changes since Clutter 1.15.90
- Fix regression in BoxLayout for RTL text direction
- Update Visual Studio build files
- Translation updates
Polish, French, Slovak, Lithuanian, Catalan
• List of bugs fixed since Clutter 1.15.90
#706450 - box-layout: Fix RTL layout swapping with non-zero container
offsets
Many thanks to:
Chun-wei Fan, Jasper St. Pierre, Alexandre Franke, Aurimas Černius, Gil
Forcada, Ján Kyselica, Piotr Drąg
Clutter 1.15.90 2013-08-19
===============================================================================
• List of changes since Clutter 1.15.2
- Update the Wayland backend
Use the new 1.2 behaviour and API, and improve the coverage of windowing
system features, alongside a slew of bugs.
- Drop support for XInput 1.x
The XInput 1.x extension was never really used after the introduction of
the 2.x version.
- Fix event and device handling when using evdev
- Allow using ClutterContent on a ClutterStage
- Fixes for the Windows backend
The build script has also been updated with the required dependencies.
- Documentation fixes
- Translations updated
• List of bugs fixed since Clutter 1.15.2
#703809 - Some LayoutManager fixes
#704625 - Cannot assign a ClutterContent to a stage
#698836 - Add interactive test for ClutterZoomAction/ClutterRotateAction
#705739 - Crash when removing a ClutterActor from a scene at the end of
an animation
#705710 - evdev: fix X11 to evdev keycode translation
#704269 - evdev: add a way for applications to tweak how devices are
opened
#704457 - Setting the size of the stage causes it to not be shown on
wayland
#699578 - Implement foreign surface support for stages
#704279 - wayland: Add API for disabling the event dispatching
#703336 - clutter-actor: Make clutter_actor_has_mapped_clones public
#701356 - Update the windows backend to work with latest Cogl
#703969 - Select for events with XIAllMasterDevices under XI2
#703878 - wayland: Don't pass the shell and compositor down to Cogl
#703608 - Update ClutterWaylandSurface to use a resource instead of
wl_buffer
#703877 - Bump the required Cogl version to 1.15.1
Many thanks to:
Giovanni Campagna, Neil Roberts, Florian Müllner, Jasper St. Pierre, Rob
Bradford, Matej Urbančič, Adel Gadllah, Chao-Hsiung Liao, Chris Cummins,
Chun-wei Fan, Lionel Landwerlin, Rafael Ferreira
Clutter 1.15.2 2013-07-10
===============================================================================
• List of changes since Clutter 1.14
- Improve state tracking and short circuiting
ClutterActor now tracks clones and unmapped actors more aggressively, to
reduce the amount of work necessary when updating the scene graph.
- Wayland backend improvements and updates
- Documentation updates
Clean up the API reference for readability, and improve the comments in
the inlined example code. Also, include the cookbook in the distribution
tarball.
- Allow installation of conformance tests
Clutter now allows installing its conformance tests into a well-known
location; this allows running the conformance test suite against an
installed version of Clutter.
- Add ClutterFlowLayout:snap-to-grid
ClutterFlowLayout users can now ask the layout manager to not align the
actors to a grid.
- Improve gesture recognizers
- Deprecations
ClutterText::cursor-event has been replaced by ClutterText::cursor-changed;
ClutterGeometry has been deprecated; ClutterActor::realize and ::unrealize,
along with their virtual functions, have been deprecated.
• List of bugs fixed since Clutter 1.14
#682789 - Deprecate ClutterGeometry (and remove it for 2.0)
#698668 - A few improvements to ClutterGestureAction
#698669 - Fix "trigger edge after" behavior with more than 1 touch point
#698671 - Refactor event handling code in ClutterGestureAction
#698674 - Improve ClutterZoomAction behavior
#698783 - Add a paint callback for ClutterStage
#698766 - Implicit transitions queued on invisible actors should be ignored
#648873 - Feature request: ClutterFlowLayout not aligning on a grid
#699675 - Offscreen effects allocating too much memory
#692706 - Frequent crash in cally_stage_notify_key_focus_cb
#701974 - x11: trap errors when calling XIQueryDevice
#696813 - clutter_actor_set_child_above/below_sibling leaking a reference
on the actor
#701208 - deform-effect: correctly set the cull-face mode of the back
pipeline
#700980 - Tap action now longer works
#702016 - ClutterText reset font when dpi changes and font was set using
a pango description
#702610 - text: relayout on cursor visibility change
#702941 - Install conformance tests
RH#975171 - gnome-shell: screen magnifier can cause crash with Cogl error
#702202 - conform tests hang on wayland
#703188 - Stage doesn't appear when running under Wayland
#703476 - tests/actor-offscreen-redirect: Fix race condition
#703566 - Need to be able to share Wayland display between GTK and Clutter
#697285 - Inconsistent setting of the time member on the events
#703882 - Prevent buffer/text/max-length properties notification in the
allocation cycle
Many thanks to:
Lionel Landwerlin, Chris Cummins, Matthias Clasen, Rob Bradford, Alejandro
Piñeiro, Jasper St. Pierre, Bastian Winkler, Colin Walters, Craig R. Hughes,
Daniel Mustieles, Marek Černocký, Adel Gadllah, Ask H. Larsen, Bastien
Nocera, Cosimo Cecchi, Dimitris Spingos, Duarte Loreto, Emanuele Aina, Fran
Diéguez, Gil Forcada, Matej Urbančič, Milo Casagrande, Neil Roberts, Rui
Matos, Samuel Degrande, Sebastian Keller, Sjoerd Simons.
while here, enable introspection option by default.
Cogl 1.16.0 2013-09-23
• List of changes since Cogl 1.15.10
» MSVC build updates
» Correctly mark CoglAtlasTexture api as public
» Lots of gtk-doc/introspection annotation fixes
• Gnome Bugzilla bugs closed since 1.15.10:
#704750 - egl: don't bind the wayland display if the extension is
not available
Many thanks to:
Lionel Landwerlin
Robert Bragg
Chun-wei Fan
Giovanni Campagna
Neil Roberts
Cogl 1.15.10 2013-09-02
• List of changes since Cogl 1.15.8
» Added API to set the onscreen template on a CoglDisplay outside of
the constructor.
» Added public API to configure the layout of displays when using
the KMS winsys.
» Added a cogl_point_coord builtin variable for snippets which can
be used to render point sprites in more dynamic ways.
» cogl_texture_new_with_size now returns NULL on failure. This
behaviour was accidentally changed in 1.14.0.
» Fixed a problem with setting the precision specifiers on GLES2
which was causing a lot of problems with the latest Mesa.
» Added a “webgl” driver to manage the differences in GLES2 when
compiling with emscripten.
» Fixed a bug with paths which was causing Clutter's texture-fbo
test to crash.
» Some issues with introspecting the cogl-pango API were fixed.
» Added an example using point sprites.
» Build fixes for building with MinGW32.
» Updates to the MSVC build files.
» Documentation fixes to the snippets API.
• Gnome Bugzilla bugs closed since 1.15.8:
#705837 - kms: add public API to override the default configuration
of outputs
Many thanks to:
Chun-wei Fan
Robert Bragg
Jasper St. Pierre
Damien Lespiau
Giovanni Campagna
Cogl 1.15.8 2013-08-20
• List of changes since Cogl 1.15.6
Brown bag release to fix a problem with including cogl-path.h from
cogl.h that meant only code defining
COGL_ENABLE_EXPERIMENTAL_2_0_API would get access to the CoglPath
API.
We now ignore whether COGL_ENABLE_EXPERIMENTAL_2_0_API is defined so
clutter which does define it will see the api and so will clutter
users that don't define it.
Cogl 1.15.6 2013-08-19
• List of changes since Cogl 1.15.4
» Fixed runtime selection of egl-kms backend
» Split out the CoglPath api in-line with cogl master to reduce
divergence, but updated to not break the 1.x API/ABI
» Reverted the semantic change to cogl_offscreen_new_to_texture to
make it synchronously allocate as it did in cogl-1.14. A
replacement cogl_offscreen_new_with_texture api has been
introduced to support the asynchronous allocation behaviour
required to allow configuration of a framebuffer before
allocation.
» Fixed a problem with binding attribute locations with desktop GL
drivers, required to work with the latest Mesa.
» Some configure.ac documentation fixes
» In cogl-gst we make sure to only emit the "pipeline-ready" signal
once the new textures have actually been uploaded.
» Various MSVC build fixes
Note: we took some care to try and avoid breaking the ABI and
chaning the soname relative to the last 1.15.4 snapshot.
• Gnome Bugzilla bugs closed since 1.15.4:
#703500 - 49 Conform Tests Regressed (FAIL)
#703174 - Crash when switching user with gnome 3.8 using nvidia drivers
#705836 - egl-kms: set the EGL_PLATFORM explicitly
#705591 - SIGSEGV in various conformance tests on wayland
Many thanks to:
Chun-wei Fan
Neil Roberts
Robert Bragg
Adel Gadllah
Fan Chun-wei
Giovanni Campagna
Lionel Landwerlin
Cogl 1.15.4 2013-07-30
• List of changes since Cogl 1.15.2
» Added experimental API to directly expose atlas textures.
» Added new_from_file/data/bitmap APIs for sliced textures.
» Added new_from_file APIs for 2D textures.
» Added cogl_primitive_draw as a new name for the
cogl_framebuffer_draw_primitive function.
» Removed the attribute drawing APIs. Instead applications should
create a primitive and draw that.
» Fixed bug where Cogl would busy-wait with 100% CPU if the Wayland
compositor is closed.
» The COGL_FRAME_EVENT_SYNC events are now sent based on the frame
callback with the Wayland backend.
» New cogl_gst_video_sink_is_ready() function to determine whether a
Cogl-GST video sink is ready to have the pipeline queried.
» Fixed a potential bug with the blending enabled state when copying
a pipeline.
» Fixed detecting the Mesa vendor when GL 3 is used.
» Fixed a reference leak on the CoglRenderer.
» Fixes to the Visual Studio build files.
Many thanks to:
Robert Bragg
Chun-wei Fan
Damien Lespiau
Cogl 1.15.2 2013-07-09
• List of changes since Cogl 1.14.0
» Lots of Wayland backend work, including updated compositor support
» Updated cogland, a simple example wayland compositor using Cogl
» Made the onscreen resize callback work the same as the frame callback
» New cogl_onscreen_swap_buffers_with_damage api
» New fence API
» New Emscripten support (only basic at the moment)
» Improved blend state tracking
» New cogl_onscreen_add_dirty_callback() api for window systems
that need to notify application of dirty/damaged regions that must
be redrawn by the application
» Started adding internal unit tests to complement the conformance
tests
» New support for per-vertex point sizes
» New cogl-gst sub-library added enabling gstreamer integration into
Cogl based applications. Notably the design is compatible with
applications adding custom shader snippets to a CoglPipeline that
handles video sampling so application will be able to chain
together shader based affects without requiring intermediate
renderers.
» Adds HSL color conversion apis
» The Conformance test suite can now be installed with a .test file
enabling them to be run by the gnome-desktop-testing-runner for example.
• Bugzilla bugs closed since 1.14.0:
#691752 - add fence/sync API
#696730 - Compile failure with 1.14.0 due to extra arg in bitmap functions
#697330 - Fails to build with the gold linker due to missing reference to libm
#699431 - [PATCH] xlib: Don't crash just because the display doesn't expose RANDR
#700088 - compile failure: 'wayland_surface' has incomplete type
#702570 - cogl 1.16: Regression with event propagation in champlain
#702942 - Install conformance tests
#702999 - undefined reference to `wl_buffer_is_shm'
#703553 - Add support for automake 1.14
Many thanks to:
Neil Roberts
Robert Bragg
Andreas Oberritter
Chris Cummins
Damien Lespiau
Emanuele Aina
Plamena Manolova
Roy.Li
Adam Jackson
Daniel Stone
Inaki Larranaga Murgoitio
Lionel Landwerlin
Matthias Clasen
Milo Casagrande
Rico Tzschichholz
Yosef Or Boczko
It is for clock_gettime with CLOCK_REALTIME and also changed to use
CLOCK_REALTIME for other than OS X.
Back to use CLOCK_MONOTONIC and use patch for OS X from MacPorts instead.
Bump PKGREVISION.
Security Fixes:
EPT: Fix crash observed when Ghostscript fails to produce useful output. This was particularly noticeable when Ghostscript was not installed. This crash could be used to cause denial of service.
PNG: With libpng 1.6.X, avoid a crash while copying a PNG with a "known incorrect ICC profile". This crash could be used to cause denial of service.
Bug fixes:
Build: Fix cross-compilation for MinGW64 on Linux build machine.
Build: configure FreeType test no longer insists that <freetype/freetype.h> can be included.
CMS profile: Only delete the CMS transform if it is non-null. Fixes assersion observed when lcms returned a null profile and GraphicsMagick attempted to deallocate it.
Drawing: Improve error handling logic so that drawing returns quickly on pixel access errors rather than plowing on ahead. This avoids problems with SVGs which take seemingly forever to render.
Drawing via C/C++ APIs: BevelJoin no longer causes a MVG parsing error.
EPT: Fix crash observed when Ghostscript fails to produce useful output. This was particularly noticeable when Ghostscript was not installed.
OpenMP: Revert use of omp_set_dynamic() since it caused performance issues when using GCC's GOMP implementation and the number of threads to use is specified.
EXIF profile: Support the SubjectArea EXIF tag.
MIFF writer: PseudoClass format was written incorrectly for depth greater than 8.
MIFF writer: RLE compressed format used inverted alpha from the other subformats and contrary to the MIFF specification.
MIFF reader: Fixes Fixes to be able to read MIFF written by ImageMagick 6.X, including DirectClass grayscale images (except for RLE compressed).
Mosaic: Fixed unsigned underflow problem with -mosaic when page offset is negative and exceeds image width or height, resulting in assertions, out of memory errors, or pixel cache limit errors.
PDF: Consistently initialize Image page width and height to image width and height. While general to all of GraphicsMagick, this change is to assure that the PDF writer computes page dimensioning consistently. PDF page dimensioning was wrong if the image had been resized with -geometry "100%".
PAM: Fix MAXVAL scaling when reading PAM images. PAM was only working correctly for images with 256 or 64k levels.
PNM: PGM "P2" format writer wrote bad output for 8-bit depth.
PNG: With libpng 1.6.X, avoid a crash while copying a PNG with a "known incorrect ICC profile".
PNG: Q8 GM build now correctly reads 16-bit PNG files.
TIFF writer: Try to avoid writing more than 32k strips per image by increasing rows-per-strip since some programs fail to read images with more than 32k strips per image.
TIM reader: PSX TIM reports 8-bit depth (rather than 16).
TTF font rendering: Improve FreeType rendering error logic so that rendering returns immediately on pixel access errors rather than plowing on ahead.
TTF font rendering: Support rendering UTF-8 up to 21-bit code points. Was only supporting 16-bit code points.
Wand API: DrawSetStrokeDashArray() / DrawGetStrokeDashArray(), fix failure to work properly due to this code path never being tested.
Windows Ghostscript: 64-bit GraphicsMagick no longer requires both 32-bit and 64-bit builds of Ghostscript to be installed in order to read Postscript and PDF formats.
XPM reader: Reported depth now depends on the colormap rather than always claiming to be 16-bit.
New Features:
JPEG: Add support for writing 'XMP' profile.
PNM: As a simple non-standard extension to the standard PNM and PAM formats, support writing and reading 32-bit sample depth. Writing such files is only supported by the Q32 build although they may be read by any build.
WebP: Now supports reading and writing Google's WebP format. This feature is not currently supported by the Windows Visual Studio build.
Version 1.6.8beta01 [November 24, 2013]
Moved prototype for png_handle_unknown() in pngpriv.h outside of
the #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED/#endif block.
Added "-Wall" to CFLAGS in contrib/pngminim/*/makefile
Conditionally compile some unused functions reported by -Wall in
pngminim.
Fixed 'minimal' builds. Various obviously useful minimal configurations
don't build because of missing contrib/libtests test programs and
overly complex dependencies in scripts/pnglibconf.dfa. This change
adds contrib/conftest/*.dfa files that can be used in automatic build
scripts to ensure that these configurations continue to build.
Enabled WRITE_INVERT and WRITE_PACK in contrib/pngminim/encoder.
Fixed pngvalid 'fail' function declaration on the Intel C Compiler.
This reverts to the previous 'static' implementation and works round
the 'unused static function' warning by using PNG_UNUSED().
Version 1.6.8beta02 [November 30, 2013]
Removed or marked PNG_UNUSED some harmless "dead assignments" reported
by clang scan-build.
Changed tabs to 3 spaces in png_debug macros and changed '"%s"m'
to '"%s" m' to improve portability among compilers.
Changed png_free_default() to free() in pngtest.c
Version 1.6.8rc01 [December 12, 2013]
Tidied up pngfix inits and fixed pngtest no-write builds.
Version 1.6.8rc02 [December 14, 2013]
Handle zero-length PLTE chunk or NULL palette with png_error()
instead of png_chunk_report(), which by default issues a warning
rather than an error, leading to later reading from a NULL pointer
(png_ptr->palette) in png_do_expand_palette(). This is CVE-2013-6954
and VU#650142.
Version 1.6.8 [December 19, 2013]
Release 1.12.8 (2013-12-23) Kouhei Sutou <kou@cozmixng.org>
===========================================================
Fixes
-----
* Bundled missing libwinpthread-1.dll into gem for Windows.
[Reported by Masafumi Yokoyama]
Thanks
------
* Masafumi Yokoyama
Release 1.12.7 (2013-12-23) Kouhei Sutou <kou@cozmixng.org>
===========================================================
Improvements
------------
* Added paper sizes of ISO B series and JIS B series.
[Patch by 5.5]
* Added Windows binary for Ruby 2.1.0.
* Updated bundled cairo to 1.12.16 from 1.12.14 for Windows.
Fixes
-----
* Fixed a bug that Cairo::ImageSurface.new(cloned_data, ...)
changes both the original data and the cloned data.
[Patch by Naoyuki Hirayama]
Thanks
------
* 5.5
* Naoyuki Hirayama
/usr/X11R7 on its own, and then the PLIST doesn't match, so pass in
${BUILDLINK_PREFIX.freetype2} explicitly.
Also, because if you have tk installed it finds it and then fails
because it isn't buildlinked, pull in tk and add the tk library to the
PLIST.
PKGREVISION -> 1
This release includes a refactoring of the optimised read paths for RGBA data, optimisations for some of the python bindings to Imath, improvements to the cmake build environment as well as additional documentation describing deep data in more detail.
Note that we built with --disable-gtk-theme, so there is no change now that
the old theme engine is removed.
Version 2.40.1
- Build fixes
- Crash fixes
Version 2.40
- Add support for parsing rgba() colours and improve colour parsing
- rsvg-filter: Fix memory leak
- Remove support for GTK+2 along with the old theme engine
- Require at least version 3.2 of GTK+
- Remove support for old versions of gdk-pixbuf
- Add eps support to rsvg-convert
Version 2.39.0
- don't load resources from the net (#691708, CVE-2013-1881)
Version 2.37.0
- bump pango requirement to 1.32.6
- mark pixbuf loader as threadsafe
* Only use RLIMIT_AS when available (#708666)
* Only use setrlimit when available (#710690)
* Avoid a bashism (#711600)
* Visual C++ build fixes
* Use GLib setup for installed tests
* Make installed tests find data files
* Install some tests
* ANI: Set an error if we fail to produce an animation
* Add gdk_pixbuf_loader_write_bytes (696917)
* Update GIcon implementation (688820)
* Fix libpng linking issues (698093)
* Translation updates
Pillow is the "friendly" PIL fork.
The Python Imaging Library (PIL) adds image processing capabilities to your
Python environment. This library provides extensive file format support, an
efficient internal representation, and powerful image processing capabilities.
History
=======
1.0.0 (2013-10-05)
------------------
* Support python 3.2 and 3.3 (thanks to @masayuko)
* Drop supports for python 2.4 and 2.5
* Replace dependency: PIL -> Pillow
History
=======
0.5.1 (2013-10-22)
------------------
* Fix bugs
0.5.0 (2013-10-05)
------------------
* Support python 3.2 and 3.3 (thanks to @masayuko)
* Drop supports for python 2.4 and 2.5
* Replace dependency: PIL -> Pillow
History
=======
0.9.0 (2013-10-05)
------------------
* Support python 3.2 and 3.3 (thanks to @masayuko)
* Drop supports for python 2.4 and 2.5
* Replace dependency: PIL -> Pillow
Produce Encapsulated PostScript Files (EPS/EPSF) from a one-
page PostScript document, or any PostScript document. A correct
Bounding Box is calculated for the EPS files and some
PostScript command sequences that can produce errorneous
results on printers are filtered. The input is cropped to
include just the image contained in the PostScript file. The
EPS files can then be included into TeX documents. Other
programs like ps2epsi (a script distributed with ghostscript)
don't always calculate the correct bounding box (because the
values are put on the PostScript stack which may get corrupted
by bad PostScript code) or they round it off, resulting in
clipping the image. Therefore ps2eps uses a resolution of 144
dpi to get the correct bounding box.
changes:
Copy and paste color adjustments between photos
Highlights detail adjustment
YouTube plugin now uses OAuth / OpenID
Videos in Missing Files now re-import properly
Improvements when thumbnailing videos
Numerous bug fixes
changes:
* Make code compatible with python3
* Separation of python module and resources in source package
(packagers may need to consult INSTALL)
* Move to v2 of PyQt API
* Remove deprecated numpy API from helpers module
* Allow FITS dataset names to be blank if prefix/suffix are not
* New ast-based code security checker
* Picker uses 1-based index for consistency
* Allow non-text datasets to be used for labels
* Add number->text conversion dataset plugin
* Add binning dataset plugin
* Allow more significant figures in float values
* Intelligent choice of significant figures when interactively
changing axis range
* Decrease minimum range of axis
* Add notes setting to document, pages and graphs
* Add option to disable scaling of marker border with point scaling
* Implement label at-minimum/at-maximum for ternary plot
* Add border and background fill settings for text label widget
* Enable FITS support with astropy
+bugfixes
Changes:
* New command line argument --(no)safer which allows setting
-dNOSAFER instead of -dSAFER (only for non-restricted).
* New command line argument --pdfsettings for
Ghostscript's -dPDFSETTINGS.
* New command line argument --(no)quiet.
* New command line argument --device for specifying a differnt
Ghostscript device (limited set of devices for restricted mode).
* New command line arguments --gsopts and --gsopt for adding
Ghostscript options.
* Full support of ghostscript's option -r, DPIxDPI added.
* Support for DOS EPS binary files (TN 5002) added.
* Removes PJL commands at start of file.
* explain option naming conventions (= defaults for Getopt::Long).
* use /usr/bin/env, since Ruby has apparently required #! for years,
and we rely on it for our other scripts, so why not.
* uselessly placate -w. Debian bug 672281.
Core:
- Set manifest as Windows 8 compatible
GUI:
- Indicate if a file was exported in the Quit dialog
- Add shortcuts and hint labels to the close and quit dialogs
that make closing and quitting easier and more consistent
- Rename the File->Export menu labels to match Save/Save as
- Fix keyboard shortcuts on OSX Mavericks
- Don't open lots of progress popups when opening many files
- Correctly restore the hidden state of docks in single window mode
Libgimp:
- Fix exporting an image consisting of a single layer group
- Don't attempt to pick transparent colors
Plug-ins:
- Fix crash in LCMS plugin if RGB profile was missing
General:
- Fix compile on NetBSD (missing -lexecinfo)
- Bug fixes
- Translation updates
2.14 Fri Nov 9 16:06:00 2012
- No code changes.
- Patch t/foo.t to not assume text appears on specific lines of the output test files.
2.13 Fri Nov 9 08:27:00 2012
- No code changes.
- Re-package distro because users get errors during testing. See RT#80709.
Since I had this same error during my testing, I assume the uploaded version contains un-patched
code. The errors are not in GraphViz, they are in the test code which has hard-coded line numbers
where it looks for strings in the output. The output has been reformatted recently, and no longer
matches those assumptions. See t/foo.t for details. Note: I did not write those tests :-).
2.12 Thu Nov 8 12:38:00 2012
- No code changes.
- For pre-reqs such as strict, warnings, etc, which ship with Perl, set the version # to 0.
Reported as RT#80663 by Father Chrysostomos for Tree::DAG_Node.
2.11 Tue Sep 18 08:22:00 2012
- Add VDX as an output format.
2.10 Mon Mar 26 10:11:00 2012
- Accept a patch kindly supplied by Alexander Kriegisch, to change handling of the rankdir attribute.
The valid values are BT, LR, RL or TB, or their lower-case equivalents.
Previously, only a true value was accepted, which meant LR. Now, any value not in that list defaults to LR.
Files changed: README, CHANGES, Changelog.ini, GraphViz.pm, GraphViz/Regex.pm and simple.t.
- Patch this file to replace BST with GMT, since both DateTime::Format::HTTP and DateTime::Format::Strptime
fail to recognize BST.
These modules are used by Module::Metadata::Changes to transform this file into Changelog.ini.
2.09 Thu Dec 15 11:08:00 2011
- Adopt Flavio Poletti's suggestion of trying to pipe to dot, in Build.PL/Makefile.PL, rather than using File::Which,
to see if dot (Graphviz) is installed. This (hopefully) solves the problem of using File::Which on systems where it is
not installed, before Build.PL/Makefile.PL has a chance to tell the user that File::Which is required. See: RT#73077.
2.08 Tue Nov 1 10:55:00 2011
- Wind back pre-reqs for various modules to match what was shipped with Perl V 5.8.1.
Many thanx to Brian Cassidy for the error report: https://rt.cpan.org/Ticket/Display.html?id=72068.
2.07 Sun Oct 30 16:08:00 2011
- Rewrite Build.PL and Makefile.PL to try loading File::Which rather than assuming it is installed.
This avoids the chicken-and-egg problem whereby these 2 programs need File::Which::which to find 'dot'.
Many thanx to Richard Clamp for the error report: https://rt.cpan.org/Public/Bug/Display.html?id=71971.
2.06 Tue Oct 25 08:09:00 2011
- Add File::Which to the pre-reqs in Build.PL and Makefile.PL.
2.05 Thu Oct 20 10:52:00 2011
- Add 'Deprecated. See GraphViz2' to the docs.
- Add Build.PL.
- Add ability to set ORIENTATION. Thanx to Christian Lackas for the patch. See RT#71787.
- Add Changelog.ini.
- Add META.json, MYMETA.json and MYMETA.yml.
- Add MANIFEST.SKIP.
- Ensure all modules contain a version number.
- Update the docs regarding the list of modules shipped in this distro.
- Remove examples/remote.pl because GraphViz::Remote is no longer shipped.
- Clean up examples/clusters2.pl.
- Clean up Makefile.PL.
* fixed estimated number of images
* only hide cursor when fullscreen
* default to best available video depth.
* handle missing or bad files better
* experimental "scaling" keys added
* fixed off by one bug in zooming
* Check for NULL return from malloc().
* Undefine CLOCKS_PER_SECOND "1000" found in some version of MinGW.
* Replaced most "atoi(argv[++i])" with "pngcrush_get_long" which does
"BUMP_I; strtol(argv[i],ptr,10)" and added pngcrush_check_long macro
to detect malformed or missing parameters (debian bug 716149).
* Added global_things_have_changed=1 when reading -bkgd.
* The "-bit_depth N" option did not work reliably and has been removed.
Version 1.6.7beta01 [September 30, 2013]
Revised unknown chunk code to correct several bugs in the NO_SAVE_/NO_WRITE
combination
Allow HANDLE_AS_UNKNOWN to work when other options are configured off. Also
fixed the pngminim makefiles to work when $(MAKEFLAGS) contains stuff
which terminates the make options (as by default in recent versions of
Gentoo).
Avoid up-cast warnings in pngvalid.c. On ARM the alignment requirements of
png_modifier are greater than that of png_store and as a consequence
compilation of pngvalid.c results in a warning about increased alignment
requirements because of the bare cast to (png_modifier*). The code is safe,
because the pointer is known to point to a stack allocated png_modifier,
but this change avoids the warning.
Fixed default behavior of ARM_NEON_API. If the ARM NEON API option was
compiled without the CHECK option it defaulted to on, not off.
Check user callback behavior in pngunknown.c. Previous versions compiled
if SAVE_UNKNOWN was not available but did nothing since the callback
was never implemented.
Merged pngunknown.c with 1.7 version and back ported 1.7 improvements/fixes
Version 1.6.7beta02 [October 12, 2013]
Made changes for compatibility with automake 1.14:
1) Added the 'compile' program to the list of programs that must be cleaned
in autogen.sh
2) Added 'subdir-objects' which causes .c files in sub-directories to be
compiled such that the corresponding .o files are also in the
sub-directory. This is because automake 1.14 warns that the
current behavior of compiling to the top level directory may be removed
in the future.
3) Updated dependencies on pnglibconf.h to match the new .o locations and
added all the files in contrib/libtests and contrib/tools that depend
on pnglibconf.h
4) Added 'BUILD_SOURCES = pnglibconf.h'; this is the automake recommended
way of handling the dependencies of sources that are machine generated;
unfortunately it only works if the user does 'make all' or 'make check',
so the dependencies (3) are still required.
Cleaned up (char*) casts of zlib messages. The latest version of the Intel C
compiler complains about casting a string literal as (char*), so copied the
treatment of z_const from the library code into pngfix.c
Simplified error message code in pngunknown. The simplification has the
useful side effect of avoiding a bogus warning generated by the latest
version of the Intel C compiler (it objects to
condition ? string-literal : string-literal).
Make autogen.sh work with automake 1.13 as well as 1.14. Do this by always
removing the 1.14 'compile' script but never checking for it.
Version 1.6.7beta03 [October 19, 2013]
Added ARMv8 support (James Yu <james.yu at linaro.org>). Added file
arm/filter_neon_intrinsics.c; enable with -mfpu=neon.
Revised pngvalid to generate size images with as many filters as it can
manage, limited by the number of rows.
Cleaned up ARM NEON compilation handling. The tests are now in pngpriv.h
and detect the broken GCC compilers.
Version 1.6.7beta04 [October 26, 2013]
Allow clang derived from older GCC versions to use ARM intrinsics. This
causes all clang builds that use -mfpu=neon to use the intrinsics code,
not the assembler code. This has only been tested on iOS 7. It may be
necessary to exclude some earlier clang versions but this seems unlikely.
Changed NEON implementation selection mechanism. This allows assembler
or intrinsics to be turned on at compile time during the build by defining
PNG_ARM_NEON_IMPLEMENTATION to the correct value (2 or 1). This macro
is undefined by default and the build type is selected in pngpriv.h.
Version 1.6.7rc01 [November 2, 2013]
No changes.
Version 1.6.7rc02 [November 7, 2013]
Fixed #include in filter_neon_intrinsics.c and ctype macros. The ctype char
checking macros take an unsigned char argument, not a signed char.
Version 1.6.7 [November 14, 2013]
Technically this change should bump PKGREVISION (as it changes the
binary package ever so slightly for platforms where the ceill() didn't
cause a build failure) but I'm going to let it slide.
digiKam 3.5.0 - Release date: 2013-09-29
NEW FEATURES:
General : new RAW cameras supported : Richon GR, Panasonic LF1,
Canon EOS 70D, Sony RX100II, Sony RX1R, Olympus E-P5.
BUGFIXES FROM KDE BUGZILLA (alias B.K.O | http://bugs.kde.org):
001 ==> Removing tags limited to 250 selected pictures.
002 ==> Kipi-plugins cannot be deselected or digiKam not reading digikamrc.
003 ==> undo/redo does not take effect in the image.
004 ==> Feature request: Setting in digiKam to only detect faces, not
trying to recognize them automatically.
005 ==> digiLam crashed when validating face tag with button.
Core:
- Make sure indexed images always have a colormap
- Fix language selection via preferences on Windows
- Don't crash on setting a large text size
GUI:
- Keep the same image active when switching between MWM and SWM
- Make sure all dockables are properly resizable (particularly shrinkable)
- Add links to jump directly to Save/Export from the Export/Save
file extension warning dialogs
Libgimp:
- Fix GimpPickButton on OSX
Plug-ins:
- Properly document plug-in-autocrop-layer's PDB interface
- Fix importing of indexed BMPs
General:
- Fix lots of places to use GIO to get proper file sizes and times on windows
- Add an AppData file for GIMP
- Backport lcms2 support from master, because lcms1 is not getting
bug fixes any longer
- Lots of bug fixes
- Lots of translation updates
At configure time, guile --version is parsed to see if guile is new
enough, and our guile 1.8 is new enough. But the sed expression,
documented to use BREs, wrongly uses \+ which is a modern RE
construct. gsed interprets \+, and is hereby awarded a "test =="
badge of shame. To fix this, change \+ to *.
* major improvements to the OpenCL infrastructure.
* new OpenCL accelerated algorithms (function image, blur, radial blur,
unsharp mask, resize, contrast, equalize, despeckle).
* added a new checkbox to enable OpenCL in the configure program.
* NEW Ctrl-Break interrupts fitting run in wgnuplot
* CHANGE treat empty fields in a csv file as "missing" rather than "bad"
* CHANGE allow reference to more than one column header in 'using' or 'title'
* CHANGE install-info is no longer a default "make install" target
* CHANGE if a polar plot is autoscaled, try to place the origin at the center
* FIX svg and canvas terminal mousing of inverted axis coordinates
* FIX emf failed to initialize font correctly on some systems
* FIX timedata columns can now be referred to via column(N) and column("HEAD")
* FIX qt terminal toggling of enhanced text elements in plot with labels
* FIX color/pattern generated for key entries of columnstacked histograms
* FIX hitting ^C twice forces temination of wxt session hung by lost X-server
* FIX win terminal failed to properly adjust plot border after window resize
* FIX several conditions in which macros were not expanded during command input
* FIX promote a string containing only digits to INTGR rather than CMPLX
* FIX 'set grid front' caused failure to initialize location of axis zero point
* FIX very poor precision in mouse coords reported by x11 in -persist mode
* FIX parsing of $# (the number of arguments in a "call"). It's not a comment!
* FIX memory leak of cropped images using pngcairo terminal
* FIX "lc variable" now iterates over linetype colors (not styles) as documented
* FIX rtics were sometimes drawn with length 0
** Bug Fixes
- [Enblend and Enfuse] Fix a bug in the highlight-recovery that caused
Enfuse to bail out with the uncaught exception
"Minimizer1D::set_bracket: minimum not bracketed".
This addresses LaunchPad Bug 1214004.
- [Enfuse] Clean up seemingly random, bright-colored pixels that
sometimes show up when fusing images with high contrast and "large"
color profiles.
Changelog:
Release 1.2.2 (1 Oct 2013)
--------------------------
* New features:
* New oiiotool --siappend : append subimages of top two images on stack.
* Utilities: added Strutil::contains() and icontains().
* Fixes:
* Fixes in handling XMP & IPTC metadata.
* oiiotool --origin and --fullpixels did not correctly propagate their
changes to the output images.
* oiiotool --colorconvert (and the underlying ImageBufAlgo::colorconvert)
could crash if given a color conversion recognized as a no-op.
* DPX output could crash when writing crop images.
* DPX input was not recognizing the proper image offset or originalsize.
* oiiotool --fit wasn't padding correctly or modifying offsets properly.
* Build fixes:
* Fix compiler error on MIPS platform.
* Add FIELD3D_HOME description to 'make help'
* Always use the HDF5 release libraries (for Field3D), not the debug ones.
Release 1.2.1 (5 Aug 2013)
---------------------------
* oiiotool: Fix memory leak when processing frame range.
* Docs improvement: full documentation of ImageBufAlgo.
* oiiotool --help now returns a success error code, not a failure.
* oiiotool: fix incorrect help message about --ociolook.
* oiiotool: Fix typo in "oiio:Colorspace" attribute name that interfered
with correct color space conversion in --colorconvert.
* Many fixes for compiler warnings on various platforms: fmath_test.cpp,
field3dinput.cpp, sysutil.cpp, argparse.cpp, oiiotool.cpp.
* Fixes problems on little-endian architecture with texture3d.cpp.
* Fix compilation problems on architectures with gcc, but no 'pause'
instruction.
* Fix build search path for correctly finding libopenjpeg 1.5.
* Work around bug in older MSVC versions wherein Filesystem::open needed
to explicitly seek to the beginning of a file.
* Build fixes for FreeBSD.
* Fix testsuite/oiiotool on Windows -- windows shell doesn't expand wildcards.
Release 1.2 (8 July 2013)
-------------------------
Major new features and improvements:
* New oiiotool commands:
--swap Exchanges the top two items on the image stack.
--fit Resize image to fit into a given resolution (keeping aspect).
--ch Select/cull/reorder/add channels within an image.
--chappend Merge two images by appending their color channels.
--chnames Rename some or all of the color channels in an image.
--zover Depth compositing
--cadd Add constant per-channel values to all pixels
--cmul Multiply an imge by a scalar or per-channel constant.
--fillholes Smoothly interpolate for hole filling.
--resample Similar to --resize, but just uses closest pixel lookup.
--clamp Clamp pixel values
--rangeexpand Expand range for certain HDR processing
--rangecompress Compress range for certain HDR processing
--unpremult Divide colors by alpha (un-premultiply).
--premult Multiply colors by alpha.
--kernel Make a convolution kernel using a filter name.
--convolve Convolve two images.
--blur Blur an image.
--unsharp Sharpen an image using an unsharp mask.
--paste Paste one image on another.
--mosaic Create a rectilinear image mosaic.
--transpose Transpose an image (flip along the diagonal axis)
--chsum Sum all channels in each pixel
--cshift Circular shift an image pixels
--fft --ifft Forward and inverse Fourier transform
--colorcount Counts how many pixels are one of a list of colors.
--rangecheck Counts how many pixels fall outside the given range.
--ociolook Apply OpenColorIO "looks"
--autotrim Shrinks pixel data window upon output to trim black edges.
* oiiotool can loop over entire numeric frame ranges by specifying
wildcard filenames such as "foo.#.tif" or "bar.1-10#.exr".
* oiiotool --frames and --framepadding give more explicit control over
frame range wildcards.
* Significant performance improvements when reading and writing images
using the ImageBuf::read and ImageCache::get_pixels interfaces, and in
some cases also when using regular ImageInput. This also translates
to improved performance and memory use for oiiotool and maketx.
* At least doubled the performance of maketx for large images when run
on multi-core machines.
* Significant performance improvements when using ImageBuf::Iterator
or ConstIterator to traverse the pixels in an ImageBuf, and the iterators
now support "wrap" modes (black, clamp, periodic, mirror).
* maketx --hicomp does "highlight compensation" by compressing the
HDR value range prior to inter-MIP resizes, then re-expanding the range.
* Field3D writer (it could read f3d files before, but not write them).
* idiff can now compare that are not the same size (treating pixels
beyond the pixel data window is being 0 valued).
* maketx --lightprobe turns a "lightprobe" iamge into a latlong environment
map.
* Significant improvements and fixes to EXIF, IPTC, and XMP metadata
reading and writing.
* Significant thread scalability improvements to TextureSystem and
ImageCache.
* Huge overhaul of functionality, style, and performance of the
entire ImageBufAlgo set of functions (see the "Public API changes"
section below, and the imagebufalgo.h file for details).
Public API changes:
* ImageOutput semantics change: If the spec passed to open() has
spec.format set fo UNKNOWN, then select a default data format for the
output file that is "most likely to be able to be read" and/or "most
typical for files of that format in the wild." Also,
ImageOutput::open() will never fail because a requested data format is
unavailable; if the requested format is not supported, a reasonable
alternate will always be chosen.
* ImageBuf has been changed to a "PIMPL" idiom, wherein all the
internals are no longer exposed in the public API. This allows us to
change ImageBuf internals in the future without breaking API or link
compatibility (and thus giving us more freedom to backport important
improvements to prior releases).
* Overhaul of ImageBufAlgo functions: they all take an ROI parameter;
use the DISPATCH macros to make them work with all pixel data types
where practical (previously, many supported float only); use Iterator
rather than getpixel/setpixel, leading to huge speed improvements;
multithread when operating on enough pixels, leading to huge speed
improvements; work on 3D (volume) images where applicable; always
gracefully handle uninitialized dest image or undefined ROI.
* New ImageBufAlgo functions: channels(), channel_append(), mul(),
paste(), zover(), add() and mul() varieties that that add/multiply a
constant amount to all pixels, fillholes_pp(), resample(), clamp(),
rangecompress(), rangeexpand(), make_kernel(), unsharp_mask(),
transpose(), channel_sum(), circular_shift(), fft(), ifft(),
color_count(), color_range_check(), nonzero_region().
[look in imagebufalgo.h for documentation.]
* ImageBufAlgo::make_texture() allows you to do the same thing that
maketx does, but from inside an application and without launching a
shell invocation of maketx. Two varieties exist: one that takes a
filename and reads from disk, another that takes an ImageBuf already
in memory.
* ImageBuf Iterator/ConstIterator now take "wrap" mode parameters that
allow out-of-range iterators to be able to retrieve valid data. Supported
wrap modes include black, clamp, periodic, and mirror. This simplifies
a lot of algorithms using IB::Iterator, they can now be written to
rely on wrap behavior rather than being cluttered with checks for
"if (it.exits())" clauses.
* ImageBufAlgo::computePixelHashSHA1 has been refactored to take ROI,
a block size, and thread count, and thus can be parallelized with threads.
The block size means that rather than computing a single SHA-1 for all
the pixels, it computes separate (parallel) SHA-1 for each group of
blocksize scanlines, then returns the SHA-1 of all the individual SHA-1
hashed blocks. This is just as strong a hash as before, thought the value
is different than doing the whole thing at once, but by breaking it into
blocks the computation can be multithreaded.
* ImageBuf::swap() makes it easy to swap two ImageBuf's.
* ImageSpec::get_channelformats is now const (and always should have been).
Fixes, minor enhancements, and performance improvements:
* TextureSystem improvements:
* Make sure "black" wrap wins out over "fill" value when they conflict
(looking up an out-of-range channel beyond the pixel data window).
* "mirror" wrap mode was slightly incorrect and has been fixed.
* oiiotool improvements:
* oiiotool -v breaks down timing by individual function.
* oiiotool has been sped up by forcing read of the whole image up front
for reasonably-sized files (instead of relying on ImageCache).
* oiiotool does not write output images if fatal errors have occurred.
* oiiotool --diff: Better error handling, better error printing, and
now it can compare images with differing data windows or channel
numbers ("missing" channels or pixels are presumed to be 0 for the
purposes of comparing).
* oiiotool --resize (and --fit): properly handle the case of resizing
to the same size as the original image.
* oiiotool -d CHAN=TYPE can set the output for just one channel.
* ImageBufAlgo improvements:
* Internal overhaul of IBA::resize to greatly speed it up.
* Improve IBA::resize to handle the image edge better -- instead of
clamping, just don't consider nonexistant pixels.
* More careful selection of filter when resizing (IBA::resize, oiiotool
--resize and --fit, and maketx).
* Fix IBA::paste() error when the foreground image runs off the end of
the background image.
* Bug fix when computing SHA-1 hash of 0-sized images.
* Image format support improvements:
* Bug fix where some format readers (PNM, SGI, and IFF) would leave the
file handle opened if the ImageInput was destroyed without calling
close() first. Now we guarantee that destroying the II always causes
the file to close().
* DPX: output allocation bug fix; properly set pixel aspect ratio for
DPX write.
* IFF: bug fix for endian swap for IFF file input.
* JPEG2000: fix warnings, make sure event manager transfer object
remains valid.
* OpenEXR: when reading, was botching the ordering of per-channel data
formats.
* SGI write: bug fix for the case of 15 bpp RLE encoding, was
double-swapping bytes.
* Targa: more robust check for presence of alpha channels; bug fix where
R and B channels were reversed for certain kinds of palette images.
* TIFF: Store the orientation flag properly when outputting a TIFF file.
* maketx improvements:
* maketx --chnames allows you to rename the channels when you create a
texture.
* maketx bug fixes: incorrect weighting when resizing MIP levels for
latlong environment map images that could make visible artifacts
on some intermediate MIP levels.
* encode_exif() didn't copy the right number of bytes.
* Python bindings: ImageSpec extra_attribs now properly responds to
iterator calls.
* Fix bug in sRGB -> linear conversion.
* iv: make pixelview display coordinates & color even when outside the
data window.
Build/test system improvements:
* Many fixes to improve builds and eliminate warnings on Windows and MinGW.
* Fix missing InterlockedExchangeAdd64 for Windows XP.
* New make/cmake boags: OIIO_BUILD_TOOLS=0 will exclude building of the
command line tools (just build libraries), OIIO_BUILD_TESTS=0 will
exclude building of unit test binaries.
* Improved matching of testsuite reference images on different platforms.
* Lots of fixes to compiler warnings on newer gcc and clang releases.
* Unit tests for Timer class.
* libOpenImageio/imagespeed_test benchmarks various methods of reading
and writing files and iterating image pixels (to help us know what to
optimize).
* If OpenSSL is available at build time, OIIO will use its SHA-1
implementation instead of our own (theirs is faster). We still fall
back on ours if OpenSSL is not available or when OIIO is built with
USE_OPENSSL=0.
* Allow default the shared library suffix to be overridden with the
CMake variable OVERRIDE_SHARED_LIBRARY_SUFFIX.
* Eliminated all uses of the custom DEBUG symbol, and instead use the
more standard idiom "#ifndef NDEBUG".
* Compatibility fixes for Python3.
* MSVC 2008: Prevent a redefinition error when using boost::shared_ptr.
* Fixes for compatibility with libtiff 4.0.
* Fixes for MSVC debug mode having out-of-bound exceptions.
* Fixes for libjpeg 9.x.
* Compile to treat warnings as errors (you can disable this with
STOP_ON_WARNING=0).
* New filter: "sharp-gaussian".
* Fix various Windows build errors.
* Improvements to the build when finding IlmBase/OpenEXR.
* Various fixes to compile on ARM architecture.
* Fixes to compile on ESA/390 mainframe (!).
* testtex --threadtimes, --trials, --iters, --nodup, --wedge. These
are helpful in using testtext to benchmark the texture system.
* Improvements to make more tests work properly on Windows.
Developer goodies:
* Improved ASSERT and DASSERT macros to not generate warning for certain
debug compiles; key their debug behavior by the absence of the standard
NDEBUG idiom rather than presence of a custom DEBUG symbol; rename the
message variants ASSERT_MSG and DASSERT_MSG.
* Change the default for Sysutil::memory_used to report resident memory
rather than virtual process size.
* Multithread/parallel version of utility function convert_image().
* imagebufalgo.h improvements and expansion of the various DISPATCH_*
macros.
* New Filesystem utilities: parent_path(), get_directory_entries().
* New Strutil utilities: extract_from_list_string
* spinlock tweaks make it faster than TBB's spin locks!
* By default, we no longer build or use TBB (it's considered deprecated,
but in 1.2 can still be turned on with USE_TBB=1).
* In fmath.h, added definitions for safe_inversesqrt, safelog, safe_log2,
safe_log10, safe_logb.
* In typedesc.h, added TypeDesc::tostring() function.
* unordered_map_concurrent.h contains a template for a thread-safe
unordered_map that is very efficient even for large number of threads
simultaneously accessing it.
* Documentation: Finally, a chapter in the PDF docs that fully describes
the ImageBuf class.
Release 1.1.13 (24 Jun 2013)
----------------------------
* Texture: make sure wrap mode "black" wins over "fill" value when they
conflict.
Release 1.1.12 (20 Jun 2013)
----------------------------
* Fix oiiotool '#' wildcard, was broken on Windows.
* Fix an overflow problem that plagued 'maketx' when running on input
larger than 32k x 32k (among other possible failures).
Release 1.1.11 (29 May 2013)
----------------------------
* IFF input: bug in endian swap of 16 bit IFF files.
* oiiotool: fix a minor bug where tiled files were output inappropriately.
(Had been patched in master some time ago.)
* fmath.h additions: safe_inversesqrt, safe_log, safe_log2, safe_log10,
safe_logb. These are versions that clamp their inputs so that they
can't throw exceptions or return Inf or NaN.
* Fix to not incorrectly print ImageCache stats for certain broken files.
Release 1.1.10 (13 Apr 2013)
----------------------------
* IBA::fillholes() and oiiotool --fillholes can smoothly fill in alpha
holes with nearby colors. Great for extrapolating the empty areas of
texture atlas images so that filtered texture lookups pull in a plausible
color at part edges.
* IBA::clamp and oiiotool --clamp clamp pixel values to a scalar or
per-channel min and/or max, or clamp alpha to [0,1].
* IBA::rangecompress()/rangeexpand(), and oiiotool --rangecompress /
--rangeexpand compress the excess >1 values of HDR images to a log
scale (leaving the <= 1 part linear), and re-expand to the usual
linear scale. This is very helpful to reduce ringing artifacts that
can happen when an HDR image is resized with a good filter with negative
lobes (such as lanczos3), by doing a range compression, then the resize,
then range expansion. It's not mathematically correct and loses energy,
but it often makes a much more pleasing result.
* maketx --hicomp does highlight compression -- automatically doing a
range compress before each high-quality resize step, and then a
range expansion and clamp-to-zero (squash negative pixels) after
each resize.
* DPX - when writing DPX files, properly set the pixel aspect ratio.
Release 1.1.9 (2 Apr 2013)
--------------------------
* IBA::resize and oiiotool --resize/--fit: Bug fixes to resize filter
size selection fix artifacts wherein extreme zooms could end up with
black stripes in places where the filters fell entirely between samples.
* oiiotool --fit: fix subtle bugs with aspect ratio preservation for
images with differing data and display windows; and allow "filter=..."
to override the default filter used for fit.
* Resize improvement: fix potential artifacts at the image edges resulting
from odd clamping behavior.
* Even more frame range wildcard flexibility with oiiotool --frames and
--framepadding options.
* oiiotool --resize and --fit (and the underlying IBA::resize()) have been
sped up significantly and are now also multithreaded.
Release 1.1.8 (15 Mar 2013)
---------------------------
* oiiotool --chappend (and ImageBufAlgo::channel_append() underneath) allow
you to take two files and concatenate their color channels.
* oiiotool --chnames allows you to rename some or all of a file's color
channels.
* oiiotool can loop over entire frame ranges by specifying wildcard
filenames such as "foo.#.tif" or "bar.1-10#.exr".
* Cmake: OVERRIDE_SHARED_LIBRARY_SUFFIX allows the shared library suffix
to be overridden (e.g., if you need to force .so names on OSX rather
than the usual default of .dylib).
Now depends on lcms2 instead of lcms, and the major version was
bumped (recursive bump following next).
2.0.1 (19.01.2013)
---------------------------
[szukw000@arcor.de] There has been a change in JPEG version 9:
added some code in libmng_types.h before
#include <jpeglib.h>
2.0.0 (dd.mm.2012)
---------------------------
Allows lcms1/lcms2:
./configure --with-lcms2
cmake -DWITH_LCMS2:bool=on
Cnf. the sample files
'Configure.libmng'
and 'build-mng-cmake.sh'
and 'cmake-compile.bat' resp. 'clean.bat'
szukw000@arcor.de
== 1.4.2 / 2013-06-30
Maintenance:
* Modernized Hoe installation of Color, removing some dependencies.
* Switched to Minitest.
* Turned on Travis CI.
* Started using Code Climate.
* Small code formatting cleanup that touched pretty much every file.
libpng-1.6.5 has been released, to remove two stray lines in arm/arm_init.c
that caused libpng to fail to compile when ARM support is enabled. This
problem was apparently due to a cut-and-paste error of some sort on my part.
Changes since the last public release (1.6.3):
Added information about png_set_options() to the manual.
Delay calling png_init_filter_functions() until a row with nonzero filter
is found.
Fixed inconsistent conditional compilation of png_chunk_unknown_handling()
prototype, definition, and usage. Made it depend on
PNG_HANDLE_AS_UNKNOWN_SUPPORTED everywhere.
New features (July 2013)
Graphviz now supports the star node shape and a variation of linear
gradient fill with no gradient (thus, two solid colors) where the
user can specify the proportion using a colorList type for fillcolor.
New Release 2.30 (January-February 2013)
The 2.30 Release marks the switch over from the original Graphviz
graph library to the new cgraph library. If this works as planned,
the user should see no differences. The advantage of the library
is that it is much more flexible for the programmer, with a cleaner
API and support for dynamic data structures. This latter, in addition
to allowing easier mixing of algorithms, has the potential to
greatly reduce memory use in Graphviz.
One side-effect of the new library is a new level ranking algorithm
for dot. This algorithm has fewer constraints, so it is now possible
for a node to be in a cluster and be involved in a rank=same
constraint.
New features (November 2012)
We have provided Graphviz with some additional graphics, which can
be used to provide more semantic information in a graph or enhance
its aesthetics. These include gradient fill for nodes and graphs;
striped and wedged fills, so the amount of each color can be used
to represent some percentage; new node shapes pertinent to the
synthetic biology community (Thanks to Jenny Cheng); and curved
edge routing.
New features (September 2011)
We added lightweight edge labels (xlabel) and tapered edges (as a
style). There was a recent paper by Holten et al about a study of
the readability of various edge styles. We're working on some
examples and documentation. Here are some examples. (We need a
better example for xlabels, because they can float, and aren't
stuck to the upper left of the node.)
New Release 2.28 (Summer 2011)
The 2.28 release of Graphviz incorporates GvMap (formerly GMap, or
"graphs as maps"), an invention by Emden Gansner, Yifan Hu, and
Stephen Kobourov. Try the cool interactive demos showing maps of
music, TV, books, and more.
For people (like us) that care about such matters, we worked pretty
hard to tweak the font rendering code, to eliminate glitches causing
off-center labels or the ransom-note effect.
John Ellson finished porting Graphviz to Solaris OpenCSW.
We changed our license to the EPL (Eclipse Public License). (A
wikipedia article attempts to explain the differences, which we
believe to be fairly limited but the change may help some commercial
licensees.)