Releases: jrtom/jung
Release 2.1.1
This is primarily a bugfix release based on v2.1; with one minor exception there are no new features here.
Bug fixes:
- Barabasi-Albert random graph generator fixed to work properly for undirected graphs (#55)
BasicVisualizationServernow correctly initializes itsPluggableRendererContextfor all constructors (#45)BasicEdgeLabelRenderer(and elsewhere) fixed to not provide a null graph to the parallel edge indexer (#47, #50)Lattice2DGenerator.getRow()logic fixed (#54)OrderedKAryTree.getSource()bug fixed (#56)- Maven dependencies cleaned up (#57, #62)
New feature:
GraphMLReader2now has anInputStreamconstructor, which allows it to handle different character sets (#46, discussion in #47)
Thanks to those who spotted, reported, and provided fixes for these bugs, including @dominic-jones, @takanori-ugai, @rondicus, @JMMarchant, @shatu, and @mletenay.
jung-2.1
Highlights:
- GitHub is now the new home of JUNG. You can continue to find versions of JUNG prior to 2.1 at SourceForge, but no new versions will be released there.
Now that it is easier to review - The commons-collections-generics library dependency has been replaced with Guava v19.
This change is not backwards-compatible with existing code. It was necessary because of a security issue, but we also decided that Guava was a much better
library to depend on in future for a variety of reasons (some of which will become apparent in future JUNG releases). - As of this version, JUNG now depends on Java v1.6 (up from 1.5).
- The matrix-related code has been removed, and with it the dependency on Colt.
- The (now unnecessary) woodstox dependency has been removed.
- JUNG now uses Travis to ensure that new code builds correctly before it is merged into the master branch.
- Everyone's favorite trivial change: the Maven artifact ID for JUNG is now
jung, notjung2.
Many thanks to @cgruber for his help in getting the release and testing machinery in place.
In terms of interfaces, the replacement of commons-collections with Guava has the following user-visible effects:
Predicate->PredicateFactory->SupplierTransformer->Function
There are also (of course) many internal changes related to this replacement, e.g.
ChainedTransformer->Functions.compose()Buffer,UnboundedFifoBuffer->Queue,LinkedListBidiMap->BiMap
(Note that some of the method signatures on these interfaces are different, e.g.,
Predicate.evaluate()->Predicate.apply().)
Bug fixes:
- Fixed path problem in TestGraphMLReader.java
General:
- Replaced uses of
assertwithPreconditionschecks. - Updated a lot of Javadoc to be standards-compliant with the latest formatter expectations.
- Removed some dead code.
- Replaced (almost all) uses of
MapMakerwithLoadingCache/CacheBuilder/CacheLoader StructurallyEquivalent: renamedcanPossiblyCompare()tocanBeEquivalentPajekNetIOTest: fixed a bug (improper use ofRandomLocationTransformer)- `MixedRandomGraphGenerator: removed unused ‘parallel’ param
AggregateLayout: madeisLocked()anddone()more efficient (early exit)DAGLayout:setRoot(): removed unused ‘g’ paramMinimumSpanningForest: converted internal Map to FunctionConstantMap: no longer used, removedDiscreteDistribution: replacedcheckLengths()byPreconditions.checkArgument()callsMapBinaryHeap: removed deprecatedpop()methodWeakComponentClustererTest, TestKStepMarkov, TestBetweennessCentrality, TestImageShaper: commented outprintln()
(note: these tests are not actually testing anything :P)TreeUtils: removed commented-outmergeForests(),addChildrenToForest()ToStringLabeller(): removed unnecessary type parameterDefaultVertexIconTransfomer: no longer needed, removedPluggableRendererDemo: removed unnecessary/unused guacamole inSeed{Draw,Fill}Colorinner classesFourPassImageShaper: mostly refactored into ImageShapeUtilsClassicPickSupport: removed, no longer neededSpatialRectangle: removed, not used- commented out a few System.out.println instances
- removed a few unused parameters
- fixed a lot of compilation warnings (missing generic types, etc.)