Skip to content

Releases: cicirello/JavaPermutationTools

JavaPermutationTools, v2.6.2

10 Sep 19:06
Compare
Choose a tag to compare

[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

13 May 19:54
Compare
Choose a tag to compare

[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

02 Apr 17:31
Compare
Choose a tag to compare

[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

29 Mar 21:32
Compare
Choose a tag to compare

[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

15 Feb 21:12
10b0ae8
Compare
Choose a tag to compare

[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

30 Jan 19:57
86657d3
Compare
Choose a tag to compare

[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

18 Sep 19:13
6340876
Compare
Choose a tag to compare

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

JPT, version 2.1.3

16 Sep 17:06
1a1450e
Compare
Choose a tag to compare

[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

15 Sep 19:47
b729b2a
Compare
Choose a tag to compare

[2.1.2] - 2020-09-15

Fixed

  • Workflow for publishing to Maven Central (bug in signing)

JPT, version 2.1.1

15 Sep 19:39
b729b2a
Compare
Choose a tag to compare

[2.1.1] - 2020-09-15

Fixed

  • Workflow for publishing to Maven Central