2026-07-24: Version 3.0-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Integrating kmunionclosure() method into new kmclosure() method
  - Adding kmclosure() variants for attribution functions and relations
* Making kmspace() a more general constructor method
* Deprecating several functions
* New kmqspace() S3 method and kmqspace class for  quasi-ordinal knowledge spaces
* New kmunion() and kmintersection() S3 methods computing the "union" and
  "intersection", respectively, of knowledge structures, surmise relations,
  and surmise functions
* New function kmexpand() expanding an attribution function to a larger
  set of items
* New function kmrefine() to dissolve notions
* Moving binarymatrixproduct() from CDSS to kstMatrix
* New functions/methods taken over from KST-Tools programs: kmheights(),
  kmprettyprint(), kmsubstructure()
* Expanding plot() methods
* Additional functionality for learning paths

2026-06-17: Version 2.3-4 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Bugfix in kmminimalfamset() caused by copying wrong/old version

2026-06-17: Version 2.3-3 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* New utility function kmminimalfamset() (primarily for use in CbKST package)

2026-04-26: Version 2.3-2 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Correcting rownames and class of kmnotions() result
* Setting basis rownames to NULL in kmbasis.kmsurmiserelation()
* Revision of  plot.kmsurmiserelation() for equivalent items
* Name items in plot.kmsurmiserelation() if is.null(colnames)

2026-04-02: Version 2.3-1 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Making package DiagrammeRsvg an optional dependency
* Additional directory name parameter for kmassess() and kmsassess()
* Switching from knitr to litedown for vignette

2026-02-27: Version 2.3-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Correcting a minor bug in kmfamset.R (returned wrong variable)
* Correcting a typo in kmunionclosure.R
* Providing kmunionclosure as a method for object classes kmfamset, kmdata,
  kmsurmiserelation, and kmsurmisefunction.
* Omitting optional parameters from kmbasis() methods because they are
  nowhere used.
* Extending documentation for plot() w.r.t. Shiny

2026-01-23: Version 2.2-1 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Re-programmed edge-determination in plot functions to allow for larger
  structures.

2025-12-18: Version 2.2-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Re-implementing horizontal mode in plot() functions which got lost
  in the changes for versions 2.0-0 and 2.1-0
  In this context: additional optional parameter arrowtail for plot()
* New function kmbasisfringe(), kmbasisinnerfringe(), kmbasisouterfringe(),
  and kmbasisneighbourhood() implementing the algorithm by Hockemeyer
  (1997, JMP)

2025-11-21: Version 2.1-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* New functions kmlearningpaths() and kmgradations()
* New utiity function kmsetiselement()
* New method plot.kmneighbourhood()
* New method kmbasis.kmsurmisefunction()
* Fixed bug in kmiita2SR for isolated items in surmise relations
* Vignette updates
* Including PHSG data

2025-10-24: Version 2.0-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Introducing classes for KST objects
* kmbasis() S3 method
* New functions kmiita2SR()
* Reworking of the graphical functions; plot() S3 method, obsoleting
  the old functions kmbasisdiagram(), kmSRdiagram(), and kmhasse()
* include flag for kmneighbourhood() and kmnneighbourhood()
* Some bug fixes around column naming

2025-09-30: Version 1.3-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Added functions for probabilistic knowledge assessment
* New utility function kmdoubleequal()

2025-04-02: Version 1.2-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Documentation updates
* Additional functions kmSRdiagram & kmSRvalidate
* Extending the xpl data set by two components sf and sr (surmise
  function and surmise relation)

2025-01-26: Version 1.1-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* New function kmgenerate()

2024-10-03: Version 1.0-1 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Re-implmenting kmsurmisefunction() partially re-using the kmbasis() C code.
* Copying colnames in kmunionclosure from orginal to computed structure.

2024-08-26: Version 1.0-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Re-implementing the computationally intensive functions
  kmunionclosure(), kmdist(), and kmbasis() in C.

2023-10-12: Version 0.2-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Adding kmsurmisefunction() (requiring packages sets and pks)
* Setting horizontal default to FALSE in kmhasse() and kmbasisdiagram()
* Adding kmbasisdiagram()

2023-01-23: Version 0.1-5 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Adding kmeqreduction()

2022-10-24: Version 0.1-4 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Refining kmhasse()
* Adding kmnneighbourhod()

2022-03-24: Version 0.1-3 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Adding kmhasse() based on Wai Wong's waiplot()) function

2019-06-09: Version 0.1-2 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Optimized kmunionclosure() and kmsurmiserelation()
* Deleted kmconstrDowling()
* All data are in integer format now

2019-03-27: Version 0.1-1 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Corrected a bug in kmvalidate()

2018-09-10: Version 0.1-0 (Cord Hockemeyer, cord.hockemeyer@uni-graz.at)
* Creation of the package
