Changelog:
Version 5.0.4
=============
Fix for a rare misrendering bug when a GIF overruns the decompression-code
table. The image on which this was spotted was a relatively long-running
animated GIF; still images of ordinary size should have been immune.
Version 5.0.3
=============
Fix a build-system glitch so it will install manpages.
Version 5.0.2
=============
Documentation and polish
------------------------
* Partial build is now possible on systems without xmlto.
Code Fixes
----------
* Change unused return of EGifSetGifVersion() to void.
* Buffer overrun prevention in gifinto.
Version 5.0.1
=============
Documentation and polish
------------------------
* There is now an installable manual page for the GIFLIB utility kit.
Retirements
-----------
* gifinter is gone. Use convert -interlace from the ImageMagic suite.
Code Fixes
----------
* In 5.0.0 the private gif89 bit wasn't being guaranteed cleared at
the beginning of EGifGetGifVersion(); this occasionally led to an
incorrect version prefix being issued dependent on the state of
malloced memory.
* An EGifSetGifVersion() function taking a GifFile argument has been
added for use with the low-level sequential API. This change requires
a bump of the library revision number.
Version 5.0.0
=============
Changes to the API require a library major-version bump. Certain
initialization functions have acquired an integer address argument for
passing back an error code, in order to avoid thread-unsafe static
storage. Application code using extension blocks will require minor
changes. A few functions have been renamed.
Code Fixes
----------
* Fixes applied for CVE-2005-2974 and CVE-2005-3350
This closes Debian bug #337972.
New API Features
----------------
Thread Safety
~~~~~~~~~~~~~
The library is now completely re-entrant and thread-safe.
* Library error handling no longer uses a static cell to store the last
error code registered; that made the library thread-unsafe. For functions
other than GIF file openers, the code is now put in an Error member of
the GifFileType structure. The GifError() amd GifLastError() functions
that referenced that static cell are gone, and the GifErrorString()
function introduced in the 4.2 release now takes an explicit error code
argument.
* GIF file openers - DGifOpenFileName(), DGifOpenFileHandle(), DGifOpen(),
EGifOpenFileName(), EGifOpenFileHandle(), and EGifOpen() - all now take
a final integer address argument. If non-null, this is used to pass
back an error code when the function returns NULL.
Extensions
~~~~~~~~~~
The ExtensionBlock API has been repaired, solving some problems with GIF89
extension handling in earlier versions.
* DGifSlurp() and EGifSpew() now preserve trailing extension blocks with
no following image file.
* Three documented functions - EGifPutExtensionFirst(), EGifPutExtensionNext(),
and EGifPutExtensionLast() - have been relaced by new functions
EGifPutExtensionLeader(), EGifPutExtensionBlock(), and
EGifPutExtensionTrailer(). See the Compatibility section of
the library API documentation for details.
* New functions DGifSavedExtensionToGCB() and EGifGCBToSavedExtension()
make it easy to read and edit GIF89 graphics control blocks in saved images.
Namespacing
~~~~~~~~~~~
All functions exported by giflib now have DGif, EGif, or Gif as a name prefix.
* Three documented functions - MakeMapObject(), FreeMapObject(), and
UnionColorMap() - have been renamed to GifMakeMapObject(),
GifFreeMapObject(), and GifUnionColorMap() respectively.
* The library Draw* functions are now prefixed GifDraw*, and the
text-drawing ones are suffixed with "8x8". This fixes a conflict
with the Windows API and leaves the door open for more general text-drawing
functions with different font sizes.
Other changes
~~~~~~~~~~~~~
* DGifSlurp() and EGifSpew() now read and write interlaced images properly.
* The amazingly obscure colormap sort flag and pixel aspect ratio
features of GIF are now read and preserved, for whatever good that
may do.
* Six undocumented functions have been renamed; five of these take additional
or slightly different argument types. See the Compatibility section of
the library API documentation for details.
* There's now an EGifGetGifVersion() that computes the version EGifSpew()
will write.
* QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer()
- turns out some important applications (notably mplayer) were using it.
* TRUE and FALSE macros are gone, also VoidPtr. No more namespace pollution.
* Various arguments have been made const where possible.
Retirements
-----------
* The (undocumented) gifinfo utility is gone. Use giftool -f instead.
* The gifburst utility is gone. Everybody has image viewers that
can pan now, and removing it gets rid of a dependency on Perl.
* gifcompose is gone. It was a decent idea when I wrote it in 1989,
but I did the same thing better and cleaner a decade later with
PILdriver in the PIL package. Removing it gets rid of a dependency
on shell.
* gif2x11 gifasm, gifcomb, gifflip, gifovly, gifpos, gifresize, and gifrotate
are all gone. The ImageMagick display(1)/convert(1) utilities and PILdriver
do these things better and in a format-independent way.
* Lennie Araki's Windows C++ wrapper is gone. It's eight years old,
unmaintained, he has dropped out of sight, and a better one needs to
be written to use the high-level GIFLIB API and GIF89 graphics
control extension support. We'll carry such a wrapper when we have
a maintainer for it.
* EGifSetVersion(), introduced in 4.2, is gone. The library always
writes GIF87 or GIF89 as required by the data. This change helps
with thread safety.
Utilities
---------
* Several utilities have been renamed to (a) fix last-century's habit
of arbitarily smashing vowels out of names to make them just one or two
characters shorter, (b) ensure that every utility in this set has 'gif'
as a name prefix. Here's the list:
giffiltr -> giffilter
gifspnge -> gifsponge
icon2gif -> gifbuild
text2gif -> gifecho
raw2gif -> gif2raw
* To go with its new name, gif2raw now dumps raw pixels from a GIF if the
(previously required) size option is missing.
* Standalone rgb2gif is gone; the same capability is now a mode of gif2rgb.
* giftext displays the parsed contents of GIF89 graphics control blocks.
* gifbuild handles GIF89 graphics control blocks and Netscape animation
loop blocks; it can can display and update either.
* gifrotate and other filter utilities now preserve extension blocks,
including the graphics control information for transparency and delay time.
* A new utility, giftool, supports a wide variety of filtering operations
on GIFs, including: setting background and transparency colors, changing
interlacing, setting image delays, setting the user-input flag, and setting
the aspect-ratio byte. It can sequence multiple operations.
* The test-pattern generators gifbg, gifcolor, gihisto and gifwedge and the
code templates giffilter and gifsponge are no longer installed by default.
Documentation and polish
------------------------
* The history.txt and build.txt and files from 4.2.0 now have .asc extensions
to indicate that they use asciidoc markup, contrasting with the txt
standards files from CompuServe.
* The documentation now includes "What's In A GIF", a very detailed narrative
description of the file format.
* The -A option of gifasm (for inserting a loop control block) is documented.
* The documentation directory includes a copy of the original GIF87
specification as well as GIF89's.
* The project now has a logo.
Version 4.2.0
=============
Now maintained by ESR again after handoff by Toshio Kuratomi.
Code Fixes
----------
* Code updated internally to C99 to enable more correctness checks by
the compiler. Compiles under GCC 4.6.1 without errors or warnings.
* A rare resource leak in the colormap-object maker was found with
Coverity and fixed.
* The code now audits clean under Coverity and cppcheck.
* splint cleanup begun, there's a lot of work still to do on this.
New API Features
----------------
* The default GIF version to write is now computed at write time from
the types of an image's extension blocks, but can be overridden with
EGifSetGifVersion().
* EGifSpew() is now thread-safe.
* Two new functions, GifError() and GifErrorString(),
return the error state in a form that can be used by programs.
* Two library functions - EGifOpenFileName() and EGifPutImageDesc() -
now have bool rather than int flag arguments. Since bool is a
typedef of int and TRUE/FALSE have been redefined to true/false,
both source and object compatibility with older library versions
should be preserved.
* GAGetArgs(), used only in the utilities, now returns bool rather
than int.
* The undocumented GIF_LIB_VERSION symbol is gone from the library header.
It has been replaced with three documented symbols: GIFLIB_MAJOR,
GIFLIB_MINOR, and GIFLIB_RELEASE.
Retirements
-----------
* The gif2epsn and gif2iris utilities are gone. They were full of
platform dependencies for platforms long dead. There are enough
platform-independent GIF viewers in the world that these weren't
adding any value. Removing these gets rid of a dependency on GL.
* The rle2gif, gif2rle, and gif2ps utilities are also gone. There are enough
multiformat image converters in the world that these weren't adding
any value either. Removing them reduces the codebase's dependencies.
* The undocumented DumpScreen2Gif() is gone from the library. The
only non-obsolete capture mode it supported was through X, and that
probably hasn't been used in years and is replaceable by any number
of capture utilities. Dropping this code makes the library's
portability issues go away.
* QuantizeBuffer(), GifQprintf(), PrintGifError(), GIF_ERROR()
and GIF_MESSAGE() have been removed from the core library.
They were used only by the utilities. QuantizeBuffer() has been
inlined where it was used and the latter three are now part of the
utility support library.
* The Game Boy Advanced test code is gone. The platform was discontinued
in 2008; more to the point, nobody ever documented the code's assumptions
or expected results.
* The Changelog file is now retained for archival purposes only, and because
autotools throws a hissy fit if there isn't one. The single point of
truth about changes and the reasons for them is the repository history.
Behavior changes
----------------
* The -q option of the utilities is replaced by an opposite -v (verbose)
option; the default is now quiet for all platforms. Defaulting to chattiness
on MSDOS made sense in a world of slow text consoles, but not today.
Testing
-------
* There is now a proper regression-test suite; run 'make' in tests/.
The old test-unx script is now tests/visual-check and can be run
occasionally for a check with the Mark One Eyeball.
Documentation
-------------
* Build instructions now live in build.txt
* An overview of the giflib API now lives in api.txt.
* Documentation is now in DocBook-XML, so either HTML or man pages can
be generated from it.
Core:
- Fix saving to URIs, it was broken to only allow exporting, and fix
save/export of compressed files
- Fix brush spacing for drawing in any direction
- Increase the maximum size of clipboard brushes and patterns to 1024x1024
- Make sure data objects are saved when only their name was changed
GUI:
- Don't allow single-window docks to shrink smaller than their requisition
- Make sure a single-window's right docks keep their size across sessions
- Allow to change the spacing of non-generated brushes again
- In single-window mode, make Escape move the focus to the canvas,
and beep if the focus is already there
- Be smarter about unavailable fonts, and don't crash
- Make clicking the single-window's close button quit GIMP
- Make view-close (Ctrl+W) only close image windows and tabs, not docks
Libgimp:
- Add SIGNED_ROUND() which also rounds negative values correctly
Plug-ins:
- Make GIMP_PLUGIN_DEBUG work again after GLib changed logging
- Fix zealous crop for transparent borders
Installer:
- Add Hungarian translation
Data:
- Add a default "Color from Gradient" dynamics and tool preset
General:
- Lots of bug fixes
- Lots of translation updates
* Update MASTER_SITES.
* Hardcode PLOTICUS_PREFABS environment values.
Changelog:
Ploticus 2.42 - May 2013
Maintenance release with these bug fixes:
various code updates to reduce warnings arising from newer gcc versions / lint in strict mode.
chron prefab - fixes to the error bars; data point symbols
heatmap prefab - wasn't obeying the legend=no parameter... fixed.
proc boxplot - incorrect error message on number of statfields supplied, and likely other erratic behavior, when doing median-based bars plus a mean symbol.
the 'legendlabel' attribute was only accepting first whitespace-delimited token... should accept entire line. Affected these procs: bars, curvefit, lineplot, scatterplot, and vector.
Version 2.41 (May 2009) - new features:
New proc: proc pvalue for computing pvalues associated with t-test.
proc scatterplot - new attribute colorfield allows you to control data point color directly from a data field (not involving the legend-driven technique).
proc areadef - new attributes clickmapadjust for tweaking the overall position of grid clickmap, and catbinsadjust useful in setting up a plotting area with categories that are slid -0.5.
proc print - new variable that is set called FOUNDROW, which lets you determine which data row contains a given value, then pass the row number to the $datarow() function
proc catlines - column bars
category names having embedded whitespace can now be used for positioning (use underscores in the location spec)
prefabs - new parameters xgridskip, ygridskip, xgridblocks, ygridblocks, firststub, laststub
2.41 bug fixes
Thanks to all those who reported and/or supplied fixes for these bugs...
C coding issue - string pointer comparisons, was ok on gcc but failed on sun C compiler and others
clickmap - double url encoding bug
tokncpy() fix affecting win32 builds
proc processdata action: breaks not setting NRECORDS to 0 on eof
proc processdata - result field names are set later, allowing current field names to be used in select statements
on clickmap tags, alt= attribute added so that output passes xml validation
numgroup() function - contributed bugfix installed
datetime stubs - seconds were incorrect
clickmap urlencoding - spaces are now urlencoded to %20 (previously was +)
direct pixel data points are now influenced by -scale
proc catlines able to function with just one subcat (use to require at least two)
instability related to field name headers, getfname()
memory leak in grgd.c, Gptlist
date stubs dislaying garbage when given unrecognized date format string
lineplot XFINAL was incorrect
Version 2.40 (Jan 2008) New features:
A revision pass was done affecting all script and attribute parsing, with the goal of eliminating attribute length restrictions where possible, and reducing string copy operations.
proc catlines
proc tree
proc getdata ... data sets using the bar character (|) as field delimiter are now supported. Also, there's now delim: auto which tries to automatically determine data field delimitation.
proc processdata ... new actions: summary, summaryplus, raccum ... new attributes binsize, binmod
proc boxplot (formerly proc rangebar) ... functionality change.. it now produces a set of boxplots in a similar way to how other procs (such as proc bars) operate. Any existing scripts using proc rangebar will require attention.
new pl(1) command line options -pixsize (to set exact size of result image in pixels), and -cputime (to set cputime resource limit). As usual these have equivalent settings in proc page and/or proc settings
axis autorange now supports the following: nearest=Nminute nearest=second nearest=Nsecond
proc image (formerly called proc import)... gifs can be imported. Images can now be incorporated into SVG plot results. Clickmap support.
symboldetails ... imgfile, imgwidth, imgheight
color ... color specifications using notation such as xFEDCBA now supported
Slanted axis stubs are now supported. See proc axis stubvert parameter
A number of other new attributes that are specialized or of minor interest
2.40 Bug fixes
bug related to legend-driven bar graphing
direct pixel data points inherit current line dashing .. symboldetails needs to set linetype to plain
segfault occuring after error 12040 "DISPLAY=" ?
svg compile and swf segfault bugs
proc getdata - recent fix related to #field names and #data fields needs to take filters into account
proc categories - when cats specified literally, trailing whitespace is taken as part of category
proc image segfaults with -x11
proc lineplot - gapmissing autozero not working right
segfault when -csmap is used with long urls
proc processdata MIN, MAX - not affected by 'resultformat' but should be
First x stub is a little higher than the others
gd color bug when degenerate data row encountered [color change bug - lineplot gapmissing and fill options]
prefab chunk_title - align= was giving backward results
proc bars - segments - code bug demonstrated by gallery/timeline2.htm
proc bars - instability related to color change optimization (wild draw location)
prefab cumufrac - no curve produced for certain input data (see msg 1974)
clickmap - the clickmap entries for plot elements sitting on top of a clickmap grid are written too late in the map and mouse doesn't respond. For gif/png/jpg imagemaps, need to write map entires in this order: 1) plot element regions 2) xy grid regions 3) single-dimention grid regions. (svg uses the opposite order)
scripts having embedded CSV data (w rows > 255) can break script processor causing instability.
proc annotate instability on filled rectangle draw caused by unitialized bd* vars
proc curvefit - xfield was required, but doesn't need to be
legend - repeated use of legends eventually gives "Sorry, too much legend content" msg
prefab overlays - each run needs to output a code into the dumpfile that tells pcode to do a graphics init. Otherwise, run 2 inherits current color (other settings?) left behind by run1
proc axis - stubround - 1st stub seems to be often omitted even when it is a round value (snps/distplot)
URL encoding shouldn't encode '.' or other normal punctuation chars..
floating bars weirdness
instability when trying to #set a var to length > 334 chars
instability when supplying a long perl script with #proc getdata commandmr
ticus 2.33 (June 2006) New features
direct pixel data point symbols for gd and x11, to provide sharp non-distorted data points. In the example below the first two rows use the new direct pixel data points, while the 3rd row shows the vector-based data points that have always been available.
proc venndisk - some new attributes to support "vennmag" plots (a series of disks resting on X axis to compare magnitudes). Here's an example:
clickmaps - new clickmapurl syntax to allow deployment in a new window, etc. Syntax is like this:
clickmapurl: [target=new]http://abc.com/cgi-bin/...
SVG - proc settings / config files - svg_linkparms attribute discontinued. Use the new clickmapurl syntax (see above)
proc axis - stubround attribute - solves the old problem of getting stubs at round number locations when plot area minima is not at a round location.
proc lineplot - gapmissing: autozero
proc bars - new attributes for better control of bar labels: labelmustfit, labelmaxlen, labelselect
pl command line -ping option
proc scatterplot - cluster attribute - default will now be 'no'
prefab scat - new parm ptstyle= filled or outline ..... and changed to use the new direct pixel data point symbols.
2.33 Bug fixes
clickmap - url encoding is now performed on variable contents and axis values that are substituted into clickmapurls
proc categories - uniqueness check wasn't applied when categories listed literally. Useful in apps where the list is generated by another program or whatever.
improved handling of very long command line args - each arg is silently truncated to 255 chars. var=value parameters cannot begin with a dash as may have been previously tolerated. var=value parameters are now intercepted before entering the arg name big decision structure.
$dategroup() function didn't know about datetime separator characters other than '.'
issue where the "circuit breaker tripped" message was appearing when autorange is used but no stubs / no tics were being generated
ploticus api code bug - prefabs were not usable via api
made adjustments to improve rounding error when axis begins in negative space and reaches zero, zero was shown a very tiny scientific notation number
proc processdata - percents - resulting data values were written as enclosed in quotes which made them unplottable.
fixed many compile warnings when building w/ gcc4 -Wall
drawing to out-of-bounds locations (GD) resulted in huge image. The pl bounding box was set to a huge rectangle due to a wild draw op.. then the final GD crop operation used the huge bounding box to set the size for the cropped result. Fixed by limiting final result to 'pagesize'.
proc bars - longways labels on bars that travel beyond plot area boundary weren't being shown/centered properly.
in the -scale parameter, if you used -scale 1,2 the scale did not change but -scale 1.01,2 does work. Fixed- some code was only taking action if x scale != 1.0
svg - opening <svg> tag didn't have xmlns:xlink parameter (always); font size didn't have "pt" on end (firefox 1.5 / easytimeline)
proc getdata - instability when there were more field names than available data fields. Fixed - number of field names now sets the 'nfields' idea of how many fields there are. This only happens when nfields is not explicitly specified.
scatterplot - short line segments as symbols - no legend entries were appeariing
proc legend - longer line segments were colliding with other entries in "across" format
proc rangesweep - instability when bad values encountered in data
proc annotate - box outline color not being set properly
proc bars - showvalues - conflict between "backbox" and "labeldetails: color="
pl -errfile stdout (w/ no other args) gave seg fault
prefab scat - new maxinpoints= parameter (for curvefit)
heatmaps - with contentfield= and values 0.0 -> 1.0 .. cutoff table was not automatically created properly.
prefabs - some prefab parameters cannot be set in a data file.. because they are set in the prefab script before getting the data. More detailed explaination in docs.
-tag command line arg wasn't generating the <embed> tag for svg
scatterplot - heatmap-related cell coloring bug
draw prefab - win32 issue with dumpfile
autorange - code bug involving nearest=hours
Ploticus 2.32 (Aug 2005) - New features
proc legend - support for multi-column or multi-row legends, word wrap for legend entries, backing box, title, and others. Thanks to Philippe Jalaber and Tobias Minich who suggested some of these features. Examples
proc venndisk - new proc for producing venn diagrams.
example
textdetails - new linesep attribute to control line spacing.
mousover/tooltip labels can now be up to 1500 chars. Also any proc that had a clickmaplabel attribute now also has a clickmaplabeltext multiline attribute. This is to accomodate chunks of javascript code as used with SVG mouseover/tooltip method #2.
proc axis - month stub inc with datetime scaletype now supported.
proc pie - new wraplen attribute to wordwrap pie slice labels
new function - $rewritenum(f) which takes a numeric quantity f and returns it rewritten for display purposes, applying numbernotation (as specified in your proc settings or config file)
new function - $textwidth(f) returns horizontal width of FreeType bounding box. Useful only with freetype fonts, otherwise it returns 0. Suggested/contributed by Erik Zachte.
autorange - if user doesn't specify numformat, %f is now automatically used to build result with high magnitude low variance data sets (such as where the min is 1,000,000 and the max is 1,000,003).
Prefab parameters for access to some of the new proc legend features; and some other prefab items. More info
2.32 Bug fixes
date notations involving dots (such as dd.mm.yy) weren't being handled properly
gd16.c gcc 4 compile issue (static int cost, static int sint)
crosshatch lines were too thin w/ svg
proc bars - with 'truncate', bar completely out of range was suppressed but label still appears
drawcommands ignored cm units - fixed. Also, mark and cblock now accept posex specifications.
heatmap prefab - now supports title and related parameters.
superscripts in X axis stubs showed up on Y axis - fixed
autorange - now handles degenerate case where all data are 0
proc vector - instability if start and end points of a vector are same
proc getdata no longer does a popen( cat filename ) in CGI mode
strange color change problem - related to certain degenerate lineplots that don't draw anything. Bug in proc_lineplot.c fixed.
proc legend width attribute now supports cm
heatmap prefab - yaxis=none didn't have any effect. Fixed.
proc pie - with outlinedetails: none the labels and any associated lines disappeared
proc scatterplot - default clustermethod was horizontal when ylocation given.. and vertical when xlocation given.. seems like it should be the other way round.. so I changed it.
with datetime (others?) xautorange nearest=exact wasn't working
command line option -prefab is now disabled when operating in direct cgi mode
command line option -drawdumpa displayed to x11 but shouldn't
== 2.1.0: 2013-06-16
A bug fix release of 2.0.9.
=== Improvements
==== rabbit
* Ignored backup files when detecting a README file.
[GitHub:#21] [Reported by TOMITA Masahiro]
* Added Ruby version check on RubyGems install.
If you install with Ruby 1.8, RubyGems reports an error.
=== Fixes
==== rabbit
* Fixed a bug that encoding conversion error handling is bad.
[Reported by Junichi Oya]
* Supported Ruby/GLib2 2.0.2 or ealier.
=== Thanks
* TOMITA Masahiro
* Junichi Oya
libraries and enlightenment 0.17.3 itself.
Upstream changes of Eina (to get an impression):
Eina 1.7.7
Changes since Eina 1.7.6:
-------------------------
No changes, just updating to keep in sync with last release.
Changes since Eina 1.7.5:
-------------------------
Improvements:
* Honor tile size in Eina_Tiler.
Fixes:
* Prevent denial of service on Eina_Hash function.
* Fix map leak in Eina_File infrastructure.
* Fix portability issue on 64bits system for Eina_CList.
* Fix magic failure in eina_value_array_count when array has not been allocated
Changes since Eina 1.7.4:
-------------------------
No changes, just updating to keep in sync with last release.
Changes since Eina 1.7.3:
-------------------------
Fixes:
* Fix EINA_INLIST_FOREACH_SAFE macro
* Add XML output to doc
* Add installation rule for doc
* Fix build for Windows platforms.
Changes since Eina 1.7.2:
-------------------------
* Fix Solaris build.
* Don't leak fd after exec.
Changes since Eina 1.7.1:
-------------------------
No changes, just updating to keep in sync with last release.
== 2.0.9: 2013-06-16
Boot related fix release.
=== Improvements
==== rabbit
* Migrated to Ruby's encoding converter from GLib's encoding converter.
==== Theme
* tag: Supported style change tags
(('tag:normal:XXX'))
(('tag:oblique:XXX'))
(('tag:italic:XXX'))
=== Fixes
==== rabbit
* Fixed boot failure on some environments.
[shocker-ja:1128] [Reported by znz]
[GitHub:#19] [Reported by Steve Klabnik]
* Fixed command line option help isn't displayed on non UTF-8 encoding.
[shocker-ja:1109] [Reported by OBATA Akio]
[Patch by Masafumi Yokoyama]
=== Thanks
* znz
* Steve Klabnik
* Masafumi Yokoyama
* OBATA Akio
== 2.0.8: 2013-06-01
Minor theme improving release.
=== Improvements
==== rabbit
* Accepted .rbt as RD source.
[socker-ja:1109] [Reported by OBATA Akio]
* Accepted absolute path for image file path.
* Added Rabbit::Element::Base#have_tag?.
It is a convenience method to find a custom tag in an element.
For example:
if element.have_tag?("as-large-as-possible")
elsement.as_large_as_possible
end
==== Theme
* Accepted files in the current directory for directory theme style.
Directory theme style is specialy theme that name is ".":
: theme
.
* Accepted THEME_DIR/data/ as data directory for theme in $LOAD_PATH.
It is the same rule for gemified theme.
* syntax-highlighting: Added more supported syntaxes.
* tag: Supported "left" tag.
* tag: Supported "margin-top * N" tag. margin-left, margin-bottom
and margin-right were also supported.
=== Thanks
* OBATA Akio
* Masafumi Yokoyama
2.4.5
April, 2013
Experimental WinRT support (build for WindowsRT guide)
the new video super-resolution module has been added that
implements the following papers:
- S. Farsiu, D. Robinson, M. Elad, P. Milanfar. Fast and robust
Super-Resolution. Proc 2003 IEEE Int Conf on Image Process,
pp. 291â294, 2003.
- D. Mitzel, T. Pock, T. Schoenemann, D. Cremers. Video super
resolution using duality based TV-L1 optical flow. DAGM, 2009.
CLAHE (adaptive histogram equalization) algorithm has been
implemented, both CPU and GPU-accelerated versions (in imgproc
and gpu modules, respectively)
there are further improvements and extensions in ocl module:
- 2 stereo correspondence algorithms: stereobm (block matching)
and stereobp (belief propagation) have been added
- many bugs fixed, including some crashes on Intel HD4000
The tutorial on displaying cv::Mat inside Visual Studio 2012
debugger has been contributed by Wolf Kienzle from Microsoft
Research. See
http://opencv.org/image-debugger-plug-in-for-visual-studio.html
78 pull requests have been merged. Big thanks to everybody who
contributed!
At least 25 bugs have been fixed since 2.4.4 (see
http://code.opencv.org/projects/opencv/issues select closed
issues with target version set to "2.4.5").
2.4.4
March, 2013
This is the biggest news in 2.4.4 - we've got full-featured
OpenCV Java bindings on a desktop, not only Android! In fact
you can use any JVM language, including functional Java or
handy Groovy. Big thanks to Eric Christiansen for the contribution!
Check the tutorial for details and code samples.
Android application framework, samples, tutorials, OpenCV
Manager are updated, see Android Release Notes for details.
Numerous improvements in gpu module and the following new
functionality & optimizations:
Optimizations for the NVIDIA Kepler architecture
NVIDIA CARMA platform support
HoughLinesP for line segments detection
Lab/Luv <-> RGB conversions
Let us be more verbose here. The openCL-based hardware acceleration
(ocl) module is now mature, and, with numerous bug fixes, it
is largely bug-free. Correct operation has been verified on
all tested platforms, including discrete GPUs (tested on NVIDIA
and AMD boards), as well as integrated GPUs (AMD APUs as well
as Intel Ivy Bridge iGPUs). On the host side, there has been
exhaustive testing on 32/64 bit, Windows/Linux systems, making
the ocl module a very serious and robust cross-platform GPU
hardware acceleration solution. While we currently do not test
on other devices that implement OpenCL (e.g. FPGA, ARM or other
processors), it is expected that the ocl module will work well
on such devices as well (provided the minimum requirements
explained in the user guide are met).
Here are specific highlights of the 2.4.4 release:
The ocl::Mat can now use âspecialâ memory (e.g. pinned
memory, host-local or device-local).
The ocl module can detect if the underlying hardware supports
âintegrated memory,â and if so use âdevice-localâ memory
by default for all operations.
New arithmetic operations for ocl::Mat, providing significant
ease of use for simple numerical manipulations.
Interop with OpenCL enables very easy integration of OpenCV
in existing OpenCL applications, and vice versa.
New algorithms include Hough circles, more color conversions
(including YUV, YCrCb), and Hu Moments.
Numerous bug fixes, and optimizations, including in:
blendLinear, square samples, erode/dilate, Canny, convolution
fixes with AMD FFT library, mean shift filtering, Stereo
BM.
Platform specific bug fixes: PyrLK, bruteForceMatcher,
faceDetect now works also on Intel Ivy Bridge chips (as
well as on AMD APUs/GPUs and NVIDIA GPUs); erode/dilate
also works on NVIDIA GPUs (as well as AMD APUs/GPUs and
Intel iGPUs).
Many people contributed their code in the form of pull requests.
Here are some of the most interesting contributions, that were
included into 2.4 branch:
>100 reported problems have been resolved since 2.4.3
Oscar Deniz submitted smile detector and sample.
Alexander Smorkalov created a tutorial on cross-compilation
of OpenCV for Linux on ARM platforms.
* Update buildlink3.mk.
* Restrict hack.mk for GCC 3.* only.
* Set LICENSE.
Changelog:
New in Coin v3.1.3 (2010-03-02):
* new:
- Pickup simage debug instead of release runtime library on Windows
- SoGetMatrixAction handling for SoTextureUnit
- Support for rendering quads and triangles with VBOs and glDrawArrays
* bugfixes:
- Vertex Array rendering fix
- Binary file import fix
- Various SoExtSelection fixes
- OpenGL extension detection fixes
- glGenerateMipmap robustness fixes
- Avoid drifting away from the projector's plane in SoTranslate2Dragger
- SoGLVBOElement updating fix
- Text rendering fix
- Notify fix in SoIndexedMarkerSet
- Vertex attribute fix for quads and polygons
- SoGetPrimitiveCountAction fix
- VBO rendering caching fixes
- setProjectorEpsilon() fix for SbLine/PlaneProjector affecting SoDragger
* build system:
- Updated autotools to autoconf-2.65, automake-1.8.3, libtool-1.5.26
- Changed default location for generated HTML documentation
* other:
- Improved documentation for SoGeo nodes
New in Coin v3.1.2 (2009-10-14):
* bugfixes:
- removePoint() bugfix for SbBSPTree
- divide-by-zero fix for SoNurbs
- Fix SoLazyElement handling in SoPrimitiveVertexCache.
- Refix NURBS picking according to the GLU specification.
- ShadowGroup fixes
- Bugfix for closed extrusions.
- Bugfix for using SoPrimitiveVertexCache for other actions than SoGL RenderAction.
- Increase upper limits for creating VBOs/caches.
New in Coin v3.1.1 (2009-09-08):
* bugfixes:
- Fixed NURBS bugs
- Fixed some issues in SoIndexedPointSet.
- Fixed a configure problem which made it impossible to create release builds on Windows.
New in Coin v3.1.0 (2009-05-27):
* new:
- shape node classes SoIndexedPointSet, SoIndexedMarkerSet
- made build configurations available for building without
manipulators, draggers, and nodekits, for slimmed down Coin
binaries
- support in SoRenderManager for superimpositions and multipass
antialiasing
- offscreen OpenGL contexts for Mac OS X now uses CGL, instead of
the deprecated QuickDraw API
- direct support for non-power-of-two textures if the OpenGL driver
has it
- SoOffscreenRenderer::getDC() available under MSWindows for fast
transfer from internal buffer to Win32 bitmaps / DCs
* bugfixes:
- font rendering through FreeType library functional again
- SoQuadMesh rendering for PER_FACE bindings
- SoCalculator engine's atan2() and dot() were not working properly
- more robust and more capable SoToVRML2Action
- node leaks when copying nodekits
- name-dictionary memory fill (leaks) when copying scene graphs
- more robust copying of VRML 2 scene graphs
- ambigious typing under 64-bit MS Windows
- some array out-of-bounds and other memory access errors in obscure
corners of the API
- SoProfilerElement API exported as part of the public DLL API for
Windows builds
- SoVRMLText, SoText3 and SoAsciiText's get primitive count operation
- SoVertexAttribute::copy()
- SoLineHighlightRenderAction polygon offset set-up
- SoShadowGroup heeds SoClipPlane
- handle transparency in all texture units when multi-texturing
- SoNurbsCurve, picking on rational curves, and corrected for weighted
coordinates
* optimizations:
- use a lot less mutex resources for common case scene graphs, by
using class-wide mutexes instead of per-instance mutexes for shape
nodes
* build system:
- C++ exceptions enabled by default
* other:
- SoVRMLBackground, better depth buffer handling
- SbString new methods lower() and upper(), for better Open Inventor
compatibility
- increased adherence to modern C++ conventions and programming
practices
- more robust offscreen GL buffer / context creation
- various API documentation improvements
- all environment variables heeded by Coin shown in API documentation
New in Coin v3.0.0 (2008-09-11):
* new:
- Scene graph performance profiling subsystem
- SoDepthBuffer node for constrolling Z-buffer settings
- Shaders: SoVertexAttribute and SoVertexAttributeBinding nodes
- Shadows: SoShadowSpotLight node
- SoHeightMapToNormalMap texture conversion engine
- SoPickStyle: new styles SHAPE_ON_TOP, BOUNDING_BOX_ON_TOP, SHAPE_FRONTFACES
- New XML-based GL driver feature database for tagging buggy/slow features
in specific drivers
- Statechart XML engine (2007-draft based), used to implement examiner viewer
mode at the Coin level
- Foreign file format support through SoForeignFileKit w. example SoSTLFileKit
- Draggers: minTranslation/maxTranslation fields in SoTranslate1Dragger and
SoTranslate2Dragger
- OS X: Coin has become more bundle-aware and will loads external libs bundled
with Inventor.framework or the application bundle (better encapsulation)
- SoLineHighlightRenderAction and SoBoxHighlightRenderAction now only
supports one SoSelection node (performance and OIV-compatibility)
- SoBumpMap will now detect height maps stored as rgb(a)
- SoRayPickAction picking precision improvements
- Include SoFieldContainer userdata when doing a deep node copy
- Anti-aliasing is now done around the center of each pixel
- Boost.Test-based testsuite
* bugfixes:
- ATi driver workarounds (VBO rendering related)
- Fixed SoToVRML2Action Transform handling bug
- SoTimeCounter now handles frequency == 0.0
- SoSceneTexture2 now properly restores the previous context
- Fix for remote rendering in SoGLDisplayList
- Workaround for nVidia texture format bug
- SoPathList::uniquify() now properly removes all paths that goes through
another path, not just one
- SoVRMLAppearance now checks material on the state
- SoComposeRotation. Default axis is now (0,0,1)
- Various SoShadowGroup fixes
- 3ds loader will no longer normalize the model (still not enabled by default)
- Workaround for nVidia line pattern bug
- Fixes for SoVRMLBillboard
- SoFile-SoSearchAction bugfix
- Correctly load bold/italic version of fonts with a single ttf file
- Bugfix for anti aliasing with numpasses > 16
- New Visual Studio 9 build files and other VS-related fixes
... and more
New in Coin v2.5.0 (2007-10-01):
* new:
- geo nodes: SoGeoOrigin, SoGeoCoordinate, SoGeoLocation, SoGeoSeparator
- shader nodes: SoVertexShader, SoFragmentShader, SoGeometryShader,
SoShaderProgram, SoShaderParameter
- shadow generation: SoShadowGroup, SoShadowCulling, SoShadowStyle
- new camera node SoFrustumCamera
- new node SoTextureCubeMap
- a lot of new SbVec and SbBox classes
- a lot of new field classes (mostly Vec and Box fields)
- implemented stubbed SoSimplifyAction,
added SoGlobalSimplifyAction and SoShapeSimplifyAction as stub classes
- SoReorganizeAction improvements
- SoFile:: setSearchOK(), getSearchOK()
- SoGLRenderAction::setSortedObjectOrderStrategy()
- SbTypeInfo.h template type information library
* bugfixes:
- GlobalField cleanup bugfix
- SoFaceDetail faceIndex bugfix
* optimizations:
- more rendering optimized with VBOs
- display list caching tweaks
* build system
- initial pkg-config support
- Visual Studio: build .pdb for release builds, tweaked optimization options
- Visual Studio: doc-generation project
New in Coin v2.4.6 (2007-04-03):
* new:
- implemented SbViewVolume::getAlignRotation()
- added support in SoToVRML2Action for SoUnits and SoVRMLTransform
* optimizations:
- fixed pathlist traversals, affecting most notably rendering w/transparency
DELAYED_BLEND/ADD mode
- added lazy shapehints evaluation to VRML97 rendering
- avoid probing glGetError() much (unless specified) since it kills
performance in certain remote rendering situations
- some optimizations in the reading of ascii vrml/iv files
* bugfixes:
- SoVRMLBillboard axis-of-rotation bugfix
- global field and SoUnknownNode I/O fixes
- SbDPMatrix::multVecMatrix(SbVec4f) bugfix
- implemented missing notification-filtering in SoSwitch/SoVRMLSwitch
- plugged more memory leaks
- set same default depth function as SGI Inventor
- VRML97 TimeSensor bugfix
- VRML97 Billboard bugfixes
- SoGroup offpath traversal bugfix
- fixed AMD64 warning issues
* other
- many Visual Studio build files improvements
- remove the Inventor/system/gl.h configure-run dependency
New in Coin v2.4.5 (2006-04-30): The Better-Than-Doing-Tax-Returns Release
* bugfixes:
- fixed 2D font "_" character
- minor axis MIDDLE (i.e. center) justification for VRML97's
FontStyle and Text nodes did previously not work as expected
- policy change on normalizing null-vector warning
- improved Inventor V1.0 import
- improved cleanup code (plugged many static one-off leaks)
- fixes for nurbs, VRML97 protos, routes...
- and a multitude of other bugfixes (see docs/ChangeLog.v2.4.5)
* optimizations:
- internal changes wrt use of vertex arrays and vertex buffer objects
* build fixes:
- upgraded to new version of libtool
- universal binaries support for Mac OS X
- misc TGS compatibility fixes
- added project files for Visual Studio 8 (2005)
Changelog:
New in v1.7.0 (2010-02-26):
* Added CGImage based backend on OS X.
* Added Quicktime based backend for older OS X versions.
* Added GDI+ based backend for Windows.
* Added Jasper/JPEG 2000 support.
* Added Visual Studio project files.
* Added Universal Binary support for OS X.
* Added pkg-config description.
* Added support for Windows 64-bit.
* Fixed QImage backend to work with Qt4.
* Fixed various memory leaks.
* Fixed various build system and compile/link issues.