Releases: cicirello/JavaPermutationTools
Releases · cicirello/JavaPermutationTools
JavaPermutationTools, v2.6.2
[2.6.2] - 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. Zenodo
only pulls on releases.
JavaPermutationTools, v2.6.1
[2.6.1] - 2021-05-13
Changed
- Various code improvements based on initial run of MuseDev static analysis.
Changes included eliminating error prone code, etc, but no actual bugs were
uncovered.
CI/CD
- Upgraded coverage reporting to JaCoCo 0.8.7.
- Enabled MuseDev code scanning on all pull requests.
JavaPermutationTools, v2.6.0
[2.6.0] - 2021-04-02
Added
- Added the
Permutation.Mechanic.set(Permutation, int[], int, int, int)
method.
Changed
- Refactored the SequenceDistanceMeasurer and SequenceDistanceMeasurerDouble interfaces
into a hierarchy, eliminated an abstract base class made obsolete by that change, and
changed all sequence distances in the library to use the new hierarchy. This is a non-breaking
change, as the only thing removed was a package-private abstract class, and the
change to the SequenceDistanceMeasurer interface was done in such a way that all inherited
methods have default implementations. - Refactored the PermutationDistanceMeasurer, PermutationDistanceMeasurerDouble,
NormalizedPermutationDistanceMeasurer, and NormalizedPermutationDistanceMeasurerDouble
interfaces, and all of the classes that implement them, to move default implementations
from an abstract base class into the appropriate subinterfaces in hierarchy. This is a
non-breaking change, as the only thing removed was a package-private abstract class, and the
changes to interfaces were done in such a way that all inherited methods have default
implementations.
JavaPermutationTools, v2.5.0
[2.5.0] - 2021-03-29
Added
- New methods added to the Permutation class.
- The cycle method creates a permutation cycle.
- Multiple variations of a scramble(int[] indexes) method that
randomizes the elements indicated by the array of indexes. The
variations of this method correspond to the different random number
generators supported by the library.
Changed
- Minor code improvements in Permutation class (e.g., refactoring to
reduce duplicated code, and some minor code optimizations).
CI/CD
- Started using CodeQL code scanning on all push/pull-request events.
JPT v2.4.0
[2.4.0] - 2021-02-15
Changed
- Minor optimizations to ReversalDistance and ReinsertionDistance.
- Refactored the RandomVariates.nextCauchy methods to remove redundancy.
- Refactored org.cicirello.math.rand.BTPE to remove redundancy.
- Refactored various methods of RandomIndexer to remove redundancy.
- Minor optimizations to RandomIndexer.sample methods.
Fixed
- Fixed large magnitude negative input case in MathFunctions.logGamma.
- Fixed but in JacobiDiagonalization in case when default epsilon is not used.
CI/CD
- Added test cases to improve test coverage to 100%.
JPT v2.3.0
[2.3.0] - 2021-01-30
Added
- Test cases added to improve test coverage.
Changed
- Modified API documentation website (https://jpt.cicirello.org/) to improve browsing on mobile devices.
- Minor optimizations in Permutation class.
Removed
- Moved the example programs to a new repository. They were previously found in directories examples and replication, both of which have been removed. All of the examples are now located in the repository: https://github.com/cicirello/jpt-examples.
- Removed jars of the library from the repo. These have been available from Maven Central, GitHub Packages, and GitHub Releases, for quite some time. No need to store in repo, and it is inefficient to do so.
- Removed the zip files generated by javadoc of the indexes for the api website. These are not needed for search functionality, as javadoc also stores and uses the js files contained in these zips. Later versions of javadoc no longer generate these. Also gitignored these to prevent future storage.
Fixed
- Bug in Permutation.toString which was inserting an extra space at end.
- Added validation checking for all permutation distance measures validating same length permutations (except for EditDistance which can handle that case).
- Bug in ReversalDistance.max in case when permutation length is 2, and also added missing parameter validation.
- Minor bug fix in KendallTauSequenceDistance in the case of distance between arrays of floats.
CI/CD
- Migrated build process from Ant to Maven, including GitHub workflows.
- Migrated workflow for generating library website from Ant to Maven.
- Added test coverage via JaCoCo.
JPT, version 2.2.0
About JavaPermutationTools
The JavaPermutationTools (JPT) library provides Java classes and interfaces, etc that enable representing and generating permutations and sequences, as well as performing computation on permutations and sequences. It includes implementations of a variety of permutation distance metrics as well as distance metrics on sequences (i.e., Strings, arrays, and other ordered data types).
[2.2.0] - 2020-09-18
Changed
- Modernized API documentation website (https://jpt.cicirello.org/) to html5 with search and no frames.
JPT, version 2.1.3
[2.1.3] - 2020-09-16
Changed
- Revised workflow for publishing packages to publish to both Maven Central and Github Packages using one pom.xml.
- Documentation updates
JPT, version 2.1.2
[2.1.2] - 2020-09-15
Fixed
- Workflow for publishing to Maven Central (bug in signing)
JPT, version 2.1.1
[2.1.1] - 2020-09-15
Fixed
- Workflow for publishing to Maven Central