This note is to announce the release of Batik 1.6.
The main points of this release are the initial support
of SVG 1.2 features (many more to come).  A vast performance
improvement for Mac OS X, and many smaller performance tweaks
for all platforms. As well as the normal load of bug fixes and
specification conformance improvements.

   All users are encouraged to upgrade to Batik 1.6. However, all the
builds that were offered earlier are still available in the apache
archives.

   http://xmlgraphics.apache.org/batik

1.5.1 -> 1.6
--------------

1. Bugzilla problem reports fixed:

         28035, 28188, 28429, 28432, 28487, 29110, 29891, 30580, 30584,
         30739, 30923, 30925, 30948, 31603, 32108, 32435, 32872, 32951,
         33242, 33733, 33890, 33923, 33986, 34030, 34041, 34115


2. SVG 1.2 Features:

 * All SVG 1.2 elements/features have been moved from
   the Batik namespace into the SVG 1.2 namespace (except for
   flowText which remains, due to some loss of functionality
   with the current flowRoot and potential spec instability).
 * Implementation of SVG 1.2 flowRoot element (text flow into
   arbitrary regions with bidi support).
 * There is now an SVG12CSSEngine which has support for new
   properties in SVG 1.2


3. Improvements:

 * Massive performance improvement (>10X) for drawing on Mac OS X.
 * Document.getElementById now uses a Hashtable to speedup lookups.
 * JavaScript can now be used in an Applet out of the box.
 * Added support for 'font' shorthand property.
 * Added support for 'deselectAll' SVG DOM call.
 * getEncolsureList and getIntersectionList are implemented.
 * Added support for get[Screen]PixelUnitToMillimeterX/Y
 * SVG DOM getTotalLength, and getPointAtLength are now implemented.
 * Support for preserveAspectRatio DOM methods.
 * Squiggle browser now has a 'Save As' menu item.
   * Can toggle if xml:base should be added to saved SVG.
   * Can 'pretty print' saved XML for readability.
 * ExtensibleSVGDOMImplementation no longer exists,
   the SVGDOMImplementation is now extensible.  There is a
   new baseclass ExtensibleDOMImplementation that provides
   extension capabilities to any DOMImplementation subclass.
   As a result the name of the services meta-file has moved to:
    'org.apache.batik.dom.DomExtension'
   from:
    'org.apache.batik.dom.svg.DomExtension'.
   People with DOM extension will have to update the service file
   accordingly.
 * ExtensibleDOMImplementation now allows 'extension' elements in
   the SVG Namespace (they are always lower priority than 'built ins').
 * When a new Document is loaded a new BridgeContext is created for it.
   As a result each document now get's it's own CSS engine.
 * ttf2svg now supports 'auto ranging' so it looks at the font
   to decide what to output.
 * DOM will now detect when the child passed to insert/remove
 * AbstractParentNode will now throw a DOM Hierarchy exception
   if you try to append a node as a child of it's self (PR 34030)
 * Anti-aliased clips (hqClip patch).  This can be disabled by setting
   the transcoding hint to vector or print (so content doesn't get
   rasterized). PR 29110.
 * Control of tiled image rendering based on rendering hint.
   Using this hint may greatly increase the amount of memory used.
 * The Marker interface now has a 'getCharIndex()' method to
   get the index of the character the Mark is associated with.
   node is not the child of the node insert/remove is called on.
 * DrawImage now defaults color model to sRGB_Unpre if the destination
   doesn't include alpha.
 * The pattern element now shares one rendering tree across all
   references.
 * Some improvements for Kerning in SVG Font (faster)
 * Arabic diacritics are now positioned relative to the right edge
   of the base glyph. Bug 28429
 * Basic DocumentType implementation, if present DOMUtilities will
   now emit a proper doctype specification
 * GVT Tree walker can now be given any node in the GVT tree and it
   walk just that subtree.
 * Many places now use getResource as Stream instead of Resource
   bundles where localization is not wanted/needed.
 * Tweaked UpdateManager repaint scheduling alg.
   It now tracks when the rendering goes 'out of date'
   with the document and runs runnables until it is out of
   them or MIN_REPAINT_TIME is exceeded.
 * Arc2D now translated to path with elliptical arc commands
   in SVGGraphics2D interface.
 * JSVGScrollPane now uses bbox of geometry if no viewBox is provided.
 * Refactored the text and flow bridges so make things cleaner.
 * Implemented textLength to return the value of
   getComputedTextLength when the textLength attribute is not
   set.
 * Potentially large optimization in BBox generation
 * The DOM tree viewer now has an option to hide text nodes that
   only contain whitespace.
 * The DOM tree viewer now includes the id of an element in the
   tree view if it has one.
 * Improvements to empty bounds handling, should decrease update areas.
 * GVT Render requests are now compressed.  This helps when doing
   live resize of large documents.
 * Some refactoring/restructuring of svggen.XmlWriter to potentially
   make it a pretty printing DOM serializer.
 * Latest pdf-transcoder from FOP which supports '-dpi' switch.
 * ScrollPane now should do a better job of fitting document w/o
   scrollbars
 * title and desc changes are now dynamically tracked.
 * ScriptFactorys now loaded via Services interface.
 * Made the JDK image loading Mediatracker static
   (so others could use it easier).
 * ParsedURL now uses the current Batik version as it's default
   UserAgent
 * Rationalized Text Selection code.  Copy to clipboard is now done
   by JGVTComponent only if 'unix style' text selection is requested
   (default).

4. Bug Fixes:

* Fixed all known memory leaks with loading images.
* Changing documents in JSVGScrollPane now works properly.
* Fixed a small memory leak when changing xlink:href on a
use referencing a local element.
* No longer uses Thread.interrupt. On some JVM's this can confuse the
class loader.
* Adding elements in the 'null' namespace nolonger causes a NPE exception.
* Fixed colorspace error in ColorMatrixRed.
* Line element no longer has a fill associated with it.
* Fixed bug #29416 - problem with empty quotes in CSS.
* Fixed bug #34210 - element selectors are now case sensitive
* Index out of bounds error fixed in linear gradient.
* AOI problem in PrintTranscoder now fixed.
* Null Pointer exception when PrintingTranscoding documents
using SVG fonts is fixed (the BridgeContext was being
disposed of too early).
* PrintTranscoder now uses UserAgent to report exceptions
rather than silently swallowing them.
* Fixed some minor bugs in the GlyphLayout code for flow regions.
* Very minor tweaks in JSVGScrollPane.
* Applied patch 28188, fixed tooltip text & title text, thanks Glen
* Applied patch 28487, fixed enabled/disabled state for
toolbar buttons, thanks Glen
* Fixed bug in text selection (programatically selected text wouldn't
clear properly.
* Fixed bug 23035 - Xlink attributes initialized with wrong values.
* Fixed Bug 28785 - 'a' element not clickable with namespace prefix.
* Bug 30584 - Concurrent Modification believed fixed (couldn't get
test case to fail after fix).
* Bug 29891 - Rasterizer problem if w/h == viewBox w/h
* No more 'flicker' when panning a dynamic document.
* CmapFormat4 now clips charCode 0->65534.
* All Object.wait calls are now in while loops to prevent spurious wakeups.
* DOM keypress events will now be generated for so called
Java 'action' keyEvents (previously only keydown/up were
generated).
* Fixed a bug in the PNG Encoder for some 1,2 or 4 bit/pixel images.
* Fixed bug in PackBits TIFF files with multiple IFD's
* The 'debug' messages are now synced with GUI messages. Also they
are localizable.
* Tweaked the way we generate paths to avoid a bug
in the Mac OS X Java implemention where a close
followed by a moveto didn't join the path properly.
* Fixed width/height change onload bug in transcoders submitted
by Simon Mieth. Thanks!
* Fixed a bug with CSS shorthand properties not being set by presentation
attributes.
* DOMImplementations now return empty documents if
qualifiedName in createDocument is null (PR 32108)
* Fixed 'flashing' with JSVGScrollPane.
* Fixed PR: 30923. Text children now respect display and
visibility properties (including dynamic changes).
* Fixed visibility update bug reported by George Armhold.
* Fixed visibility bug on image elements.
* getBBox should now work per the specification.
a) fill="none" will still give bbox
b) It is now the tight bounds of the geometry
c) It does not include the stroke anymore.
d) When called on 'undisplayed' elements returns null (not sure
what the spec really says about this).
* Modification of use element's width/height now works.
* Fixed potential interrupted bug in the RunnableQueue class.
* The document loader cache now uses soft references to avoid
being a memory leak.
* Improved the xml:space support.
* textPath no longer supports 'position attributes' on it's self
* textPath now supports progression position attributes provided
by parent/child tspan/text nodes.
* systemLanguage, requiredFeatures, requiredExtensions now all fail
to match when given an empty string (as specified by the SVG
specification). Bug #33242 (thanks Rick Graham).
* Fixed potential synchronization issues in JavaScript intervals.
* Small optimization in Event dispatch.
* Removed debug print from SVGOMAnimatedPreserveAspectRatio.java
* Synchronization fix in SoftReferenceCache.
* SAXParser now includes 'ignorableWhitespace' when building the
DOM tree. I also tweaked the way text and CDATA sections are
created.
* UpdateManager is now always the 'source' of UpdateManagerEvents
previously in some cases it was an inner class.
* Fix for masks when using Alpha Premultiplied (Mac OS X).
* Improved consistency of events from the RunnableQueue.
Calling suspend/resumeExecution should now always generate
a runHandler event (although the events may be "compressed"
so suspend/resume may only generate one resume event).
* Fixed bug in handling kerning elements with multiple glyph entries
in g/u 1or2.
* Removed use of 'getTagName' to use 'getLocalName' to avoid issues with
prefixed svg elements.
* Fixed a mistake in the generation of SVG fonts that include
arabic forms (PR 33733)
* Fixed handling of complex paint types (base types with
fallbacks).
* Fixed CSS SVG DOM interfaces for complex paint types
(see bug 33923). Added new test for same.
* Text Selection events are now generated even when the
done event is not over a graphics node.
* The double '#' bug is gone in the SVG Pretty Printer. PR 33890
* The worst of the 'extra spaces' problem with the pretty printer
is solved.
* Fixed updates to SVG Font based text (PR 34041)
* Bug fix in NumberParser (thanks dvholten)
* Fixed bug 34115 - CSSStyleDecl doesn't collapse properties.
* JSVGCanvas no longer holds cached viewBox so it responds
properly when viewBox is updated in SVG content.


5. Misc:

  Documentation updates
  JavaDoc will now reference W3 and JDK docs
  Updated MAINTAIN file
  Splash/startup screen now embed font (a little simpler SVG as well).
  Some Rhino improvements.
  New Tests for bugs.

  Thanks to everyone on batik-dev/users for reporting problems and
  working on finding solutions.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to