Releases: cicirello/JavaPermutationTools
Releases · cicirello/JavaPermutationTools
JavaPermutationTools, v4.1.0
[4.1.0] - 2022-08-03
Added
- PermutationFullUnaryOperator and PermutationFullBinaryOperator functional interfaces for the purpose of specifying custom operations on Permutation objects. These are variations of the existing PermutationUnaryOperator and PermutationBinaryOperator interfaces that were added in 3.2.0, but with both the raw int arrays and Permutation objects passed to the operators.
- Permutation.apply methods, one for each of the two new PermutationFullUnaryOperator and PermutationFullBinaryOperator interfaces, for applying such custom Permutation operators.
Dependencies
- Bump core from 2.1.0 to 2.2.2.
- Bump rho-mu from 2.3.0 to 2.3.2.
JavaPermutationTools, v4.0.0
[4.0.0] - 2022-06-02
BREAKING CHANGES: This is a major release that includes breaking changes. See
details below.
Added
- Support for all Java 17 random number generators in generating random Permutation objects.
Changed
- Minimum supported Java version is now Java 17 (breaking change).
- Utilized Java 17 RandomGenerator interface to eliminate redundant code.
Removed
- Permutation.Mechanic nested class previously deprecated in v3.2.0 (breaking change).
Dependencies
- Bumped core from 1.1.0 to 2.1.0 (breaking change).
- Bumped rho-mu from 1.2.0 to 2.3.0 (breaking change).
JavaPermutationTools, v3.3.0
[3.3.0] - 2022-06-01
Added
- CycleDistance: implementation of cycle distance described in https://doi.org/10.3390/app12115506
- CycleEditDistance: implementation of cycle edit distance described in https://doi.org/10.3390/app12115506
- KCycleDistance: implementation of k-cycle distance described in https://doi.org/10.3390/app12115506
Fixed
- ReversalDistance.max method now handles general case properly.
JavaPermutationTools, v3.2.0
[3.2.0] - 2022-03-17
Added
- PermutationUnaryOperator and PermutationBinaryOperator functional interfaces for the purpose
of specifying custom operations on Permutation objects. - Permutation.apply methods, one for each of the two new PermutationUnaryOperator
and PermutationBinaryOperator interfaces, for applying such custom Permutation operators.
Changed
- Various improvements to the documentation.
Deprecated
- The Permutation.Mechanic nested class, which will be removed in the next
major release 4.0.0. The new Permutation.apply methods should be used instead.
JavaPermutationTools, v3.1.1
[3.1.1] - 2022-02-17
Fixed
- Fixed inefficient memory usage in KendallTauDistance (issue #183)
- Fixed inefficient memory usage in KendallTauSequenceDistance (issue #184)
- Fixed inefficient memory usage in WeightedKendallTauDistance (issue #185)
- Fixed inefficiency in WeightedKendallTauDistance related to redundant computation (issue #182)
JavaPermutationTools, v3.1.0
[3.1.0] - 2022-02-15
Added
- WeightedKendallTauDistance: an implementation of a weighted version of Kendall tau distance
Changed
- Bumped dependency rho-mu to 1.2.0
- Bumped dependency org.cicirello.core to 1.1.0
- Migrated test cases to JUnit 5 (specifically JUnit Jupiter 5.8.2).
CI/CD
- Automated commenting of test coverage percentages on pull requests.
- Revised documentation workflow to deploy to API doc updates to website only
on releases to ensure consistent with latest library release.
Other
- Various updates to project website.
JavaPermutationTools, v3.0.0
[3.0.0] - 2021-09-24
Changed
- Minimum supported Java version is now Java 11+.
- The library now uses Java modules, providing the
moduleorg.cicirello.jpt
, which includes the
existing packagesorg.cicirello.permutations
and
org.cicirello.sequences
, as well as their
subpackages. - The randomization and other math utilities, previously
contained in the packageorg.cicirello.math
and its
subpackages have been moved to a new library
ρμ, within a module
org.cicirello.rho_mu
. That module is now a dependency
of jpt, declared with arequires transitive
to ease the
transition for existing users of JPT (they should only
need arequires org.cicirello.jpt
to get access to
that functionality as well). - Similar to the above, the package
org.cicirello.util
has been moved out of JPT to a new library
org.cicirello.core, within
a moduleorg.cicirello.core
. The package name of
org.cicirello.util
has been kept. This new module is
now a dependency of JPT. And just as in the case with the
math and randomization utilities, JPT declares the module
requires withrequires transitive
to ease the transition
of existing users. - We will now also publish a
jar-with-dependencies
for those
users of the library who do not use a dependency manager. This
fat jar contains the library and all dependencies. This fat
jar is not modularized (unlike the regular jar), as Java
only allows a single module per jar. However, it is still
built for a Java 11 target.
JavaPermutationTools, v2.6.5
[2.6.5] - 2021-09-10
Other
- Fixed Zenodo metadata. This release is
strictly to confirm correct integration with Zenodo. There are
no actual changes or additions, etc to the library itself.
JavaPermutationTools, v2.6.4
[2.6.4] - 2021-09-10
Other
- Configured a CITATION.cff file in repository. This release is
strictly to confirm correct integration with Zenodo. There are
no actual changes or additions, etc to the library itself.
JavaPermutationTools, v2.6.3
[2.6.3] - 2021-09-10
Other
- Configured a CITATION.cff file in repository. This release is
strictly to confirm correct integration with Zenodo. There are
no actual changes or additions, etc to the library itself.