=== polymake 4.3 ===

-- fan --
  * implement function to construct the union of cones/polytopes
    as a subcomplex of a chamber complex
  * HyperplaneArrangement: properties renamed CELL_* -> CHAMBER_*
  * HyperplaneArrangement: CHAMBER_SIGNATURES type changed to IncidenceMatrix

-- group --
  * documentation enhanced, several examples added

-- polytope --
  * Polytope: new property MINIMAL_BALL
  * Schlegel diagram: fixes for non-rational polytopes

-- topaz --
  * new client functions for Jockusch and Novik/Zheng spheres and balls

-- tropical --
  * add function augmented_bergman_fan

=== polymake 4.2 ===

-- general --
  * adjust c++ version check for compilers with incomplete c++17 support

-- common --
  * fix bug in back() of Bitset
  * implement p-adic valuation of rational numbers (via flint)
  * fix bug in normalization of QuadraticExtension

-- fan --
  * fix bug in HyperplaneArrangement when hyperplane is parallel to facet of
    SUPPORT cone

-- polytope --
  * fix bug in included_polyhedra for empty polyhedra
  * various ball containment functions for polytopes added: contains_ball,
    contained_in_ball, minimal_ball, maximal_ball
  * refactor containment checks

-- topaz --
  * documentation enhanced, several examples added
  * implement function to compute broken circuit complex of a matroid
  * fix bug in calculation of orientation of simplicial complexes

-- tropical --
  * refactor functions for computing tropical Pluecker vectors

=== polymake 4.1 ===

-- general --
  * Big object types and property types must have unique name within any application namespace

-- distribution --
  * add warning flags for clang 10 and gcc 10
  * adaptions for upcoming perl 5.32

-- interfaces --
  * flint:
    - required by default but can be disabled explicitly
    - used for normalization of QuadraticExtension
    - attach prime factorization as 'factor' and 'expand'
  * gmp:
    - support for gmp 6.2
  * normaliz: update bundled version to 3.8.5
  * lrslib: update to 7.1

-- common --
  * property type Graph renamed to GraphAdjacency on perl side, corresponding C++ class is still called Graph
  * QuadraticExtension can now be normalized if polymake was built with flint

-- graph --
  * Add rand_spanningtree returning a random spanning tree
  * Change output of all_spanningtrees to include a dictionary translating
    indices into edges

-- group --
  * more and improved examples

-- fan --
  * HyperplaneArrangement:
    - is now derived from polytope::VectorConfiguration
    - AMBIENT_DIM got renamed to HYPERPLANE_AMBIENT_DIM
    - Compute CELL_DECOMPOSITION via reverse search in C++
    - add visualization
  * SubdivisionOfPoints: new property UNIMODULAR
  * secondary_fan: fixes for points not in general position

-- polytope --
  * Add method rand_normal for n random points from the unit ball
  * Fix bugs in reverse_search_graph, renamed to simple_polytope_vertices_rs
  * lp2poly: various improvements for integer variables

-- tropical --
  * big object type RationalFunction tentatively renamed to TropicalRationalFunction, pending further refactoring
  * homology algorithm for patchworked hypersurface works with possibly non-regular triangulation as input

=== polymake 4.0 ===

-- general --
  * Data file format switched from XML to JSON
  * Basic datatype for all sizes and indexes in C++ is now 'Int' which is 'long int'
  * Object class in C++ renamed to BigObject

-- distribution --
  * support for clang 9

-- interfaces --
  * libnormaliz:
    - Update bundled version to 3.8.3
    - configure: check for extra libraries
  * cdd: Fix configure.pl for fedora installed cdd
  * porta: disable convex hull rules, can still be called via porta_primal and porta_dual
  * TOSimplex: various improvements

-- common --
  * PolyDB: new layout of collections and metadata, no XML or perl code stored with data anymore
  * PolyDB: using JSON schemas for collection definition
  * PolyDB: new object-oriented user interface

-- fan --
  * HyperplaneArrangement: Refactor
    - Remove property INPUT_HYPERPLANES
    - Property HYPERPLANES allows redundant hyperplanes now
    - Introduce simple version of facet_arrangement

-- fulton --
  * ToricDivisor: Introduce property VERY_AMPLE
  * New standard construction for weighted projective space

-- polytope --
  * Polytope: new property FACET_VOLUMES
  * beneath_beyond: fixed bug in corner-case for non-fulldimensional input
  * minkowski_sum_fukuda: improvements and cleanup

=== polymake 3.6 ===

-- common --
  * Remove basis_rows_integer, invalid functionality claim
  * Attach lattice_basis to toplevel to replace basis_rows_integer with valid variant
  * lattice_basis does not dehomogenize anymore

-- fan --
  * PolyhedralComplex: Introduce property COMPACTIFICATION for tropical
    compactification

-- graph --
  * random_graph: Extended to produce G(n,M) models of random graphs optionally
  * Fix bug when computing graph of SimplicialComplex not using all points

-- topaz --
  * New homology_flint function, using SNF from flint

-- tropical --
  * Polytope: Introduce property INEQUALITIES
  * Polytope: Introduce property FEASIBLE
  * Polytope: Introduce property VALID_POINT
  * better access to functions around tropical double description
  * fixed redundancy elimination for generators of tropical polytopes
  * Introduce object VoronoiDiagram

=== polymake 3.5 ===

-- distribution --
  * support for clang 8 and gcc 9
  * support for perl 5.30
  * better interrupt handling
  * improve callable library compatibility with threads:
    - remove access to perl interpreter via TLS
  * docs:
    - new script for json docs file
    - remove xml based docs generation

-- interfaces --
  * singular: Attach saturation function
  * TOSimplex: Fix bug in MILP solver for empty polytope
  * flint: new interface:
    - improved polynomial arithmetic for UniPolynomial<Rational,int>
    - new user function smith_normal_form_flint

-- common --
  * Visualization: improve bounding box and related functions

-- fan --
  * Introduce new object HyperplaneArrangement
  * SubdivisionOfVectors: new property MIN_WEIGHTS

-- polytope --
  * Introduce object SlackIdeal
  * Polytope: Introduce property SLACK_MATRIX
  * Polytope: Introduce property SLACK_IDEAL
  * Polytope: new user method LATTICE_HOLLOW

=== polymake 3.4 ===

-- interfaces --
  * TOSimplex: Add interface to MILP solver
  * jreality: support for java 12
  * Fix bookmarks to external software in documentation

-- general --
  * several improvements for x3d visualization (e.g. via blender)
  * fix callable library path deduction (thanks Antonio Rojas)
  * various improvements in ipynb tutorials

-- common --
  * all_subsets_of_k: c++ function now accessible from perl
  * polydb
    - support subobject arrays
    - add aggregate function

-- fan --
  * PolyhedralFan: fix in visualization method
  * SubdivisionOfVectors: add property ALTSCHULER_DET

-- polytope --
  * refactor MILP solvers to provide generic interface solve_MILP
  * Polytope: add property SPANNING, a polytope is spanning if the lattice points generate the lattice
  * PointConfiguration: add property MASSIVE_GKZ_VECTOR for triangulation subobject
  * rand_sphere: can sample rational points from the unit sphere
  * n_triangulations: Renamed to n_fine_triangulations, documentation adapted
    accordingly

-- tropical --
  * add functions: tregular, stregular, tsgn
  * Hypersurface: fix DOME for polynomials with only one term
  * Hypersurface: improve documentation concerning required homogenization
  * Hypersurface: add property DUAL_SUBDIVISION

=== polymake 3.3 ===

-- distribution --
  * C++ wrappers refactored into json format
    - requires perl JSON module
  * Add option --with-ccache for using ccache when building polymake
  * Mac OS X
	- removed fink as the default package manager
    - included support for the brew package manager
    - improve JuPyMake support
  * support for clang 6, 7 and gcc 8
  * support for java 10
  * adapt to changes in boost 1.67
  * improvements in java build/install process
  * improve callable library file structure
  * include INSTALL and COPYING in tarball again
  * fix JuPyMake installation for python3 older than 3.5
  * several improvements for polymake-in-container

-- interfaces --
  * SCIP: Add interface for solving mixed integer linear programs
  * TOSimplex: Add interface for computing lattice points
  * soplex: Use soplex from SCIP, if available
  * mptopcom: Add interface for computing triangulations of point
    configurations, optionally with group action
  * TOPCOM: If mptopcom.rules is configured, topcom.rules can inherit from this
  * normaliz interface: two minor fixes, added support for
    EHRHART_QUASI_POLYNOMIAL, update normaliz version
  * support for lrslib 070

-- general --
  * threejs is the default viewer if jreality is not configured
  * add x3d visualization (e.g. via blender)
  * matrix comparison is stricter now
  * various bug fixes

-- graph --
  * fix edge number of permuted graphs

-- fulton --
  * Migrate remaining code from Andreas Paffenholz to core. Add tests and
    bugfixes

-- group --
  * Add small object SwitchTable, used for finding lex-optimal vectors in
	orbits under permutation action
  * Add property SWITCH_TABLE to PermutationAction

-- polytope --
  * Add Billera-Lee construction for polytopes
  * Add property MILP to Polytope for mixed integer linear programs
  * Refactor convex hull solvers, introduce generic methods enumerate_facets and
    enumerate_vertices
  * Refactor LP solvers to generic interface
  * Add mptopcom.rules for interfacing mptopcom
  * vertex_figure: correct intermediate LP
  * BOUNDED_COMPLEX: correct ADJACENCY
  * Cone-VISUAL: fix incidences
  * tensor: dont compare example output
   (order depends on cdd version)
  * Introduce property EHRHART_POLYNOMIAL of type UniPolynomial<Rational, Int>
  * Change property EHRHART_POLYNOMIAL_COEFF into a user_method

-- tropical --
  * atint: Methods returning perl arrays for lines in tropical cubics now
    return BigObjectarrays
  * add tropical real hypersurfaces with geometrical realization method
  * improve implementations around tropical determinant


=== polymake 3.2 ===

-- distribution --
  * build system changed to ninja
  * support gcc 7 and clang 5
  * support for perl 5.26 and blead up to 5.27.7
  * tutorials available as jupyter notebooks

-- interfaces --
  * new python interface to callable library (thanks Sebastian Gutsche)
  * new jupyter-kernel interface (thanks Sebastian Gutsche)
    - threejs visualization now working again in jupyter
  * libnormaliz:
    - update bundled version to 3.5.0
	- support preexisting installation (version >= 3.1.0)
  * cdd and lrs: support debugging output
  * lrs: fix segfault with non-quiet lrslib
  * ppl: requires version >= 1.2
  * soplex: requires version >= 2.2.1
  * callable library: major improvements for emulating command line

-- general --
  * fixes and improvements for various visualization methods

-- common --
  * many improvements in polyDB interface including new database format
  * new substitute method for polynomials
  * replace rgb.txt by perl optional module Graphics::ColorNames
    - polymake includes a short list of fallback colors now
  * induced group actions on arbitrary containers

-- fan --
  * rename SymmetricFan to PolyhedralFan and incorporate SymmetricFan's properties there
  * fixes in regularity checks
  * new property PSEUDO_REGULAR

-- graph --
  * several fixes for props::Graph

-- group --
  * fixes for linear_symmetries
  * improved support of matrix group actions
  * rename MATRIX_GROUP_ACTION and MatrixGroupAction to MATRIX_ACTION and matrix_action, respectively

-- polytope --
  * fixed parser for LP file format
  * new property MAHLER_VOLUME for Polytope
  * new client for reduced 3-polytopes
  * user method Polytope::VISUAL now takes Transformation and Offset as optional arguments
  * zero vectors in input properties throw an exception
  * major refactoring of VoronoiDiagram
  * groups added to several basic constructions
  * improved support for root systems
  * beneath_beyond support for non-full-dim / non-pointed cases

-- topaz --
  * new big object type HyperbolicSurface
    - encoded via an doubly connected edge list

-- tropical --
  * tropical double description method
  * feasibility check for tropical linear inequality systems
  * several improvements to and refactoring of basic clients


=== polymake 3.1 ===

-- distribution --
  * polymake now requires C++ 14 to compile, in particular we need gcc >= 5 or clang >= 3.4 and perl >= 5.16.
  * support for perl 5.24.
  * fix endianness issue and update struct magic_state (thanks Jerry James)
  * support for gcc 6 and clang up to 4.0.
  * workaround for compile error under clang 3.8 / xcode 7.3.
  * fix incompatibility of the Integer type with libnormaliz on 32bit platforms.
  * fix several other minor compilation issues.
  * ship test-driver to allow example-code to be tested in the distribution
  * boost is now required for the polymake core (for permlib)
  * perl module Term-ReadKey is now a requirement

-- interfaces --
  * include beta jupyter-polymake kernel (thanks: Sebastian Gutsche)
  * include nauty interface in minimal tarball.
  * warn when neither bliss nor nauty are enabled.
  * polydb interface is now in the polymake core
  * updated bundled permlib to 0.2.9
  * improved interfaces for permlib and sympol:
    - both have (experimental) support for using non-bundled installations
    - permlib is now a core requirement
    - bundled:group disbanded into bundled:sympol / core functionality
    - bundled permlib headers are now installed with polymake unless external permlib is used
  * improved handling of matrices with zero cols xor zero rows in convex hull interfaces
  * improved singular configuration to support pkg-config (e.g. on Ubuntu)

-- general --
  * polymake can now generate xml schemes and validate the data files against those
  * completely refactored Polynomial related data types:
    - rings are now uniquely identified by coefficient type, exponent type and number of variables
    - variable names are only used for pretty printing and parsing (and can be customized)
    - improved parser for polynomials
    - types Monomial, Term and Ring are gone
  * improved visualization with graphviz and ThreeJS.
  * new and improved visualization client svg.
  * basic support for output of 3-polytopes in STL file format (common in 3d printing).
  * new mechanism for "twin" properties (such as Matroid.DUAL).
  * many more example code fragments, in particular for construction of big object types.
  * improvements for map and set types:
	- only accept ordered types as keys / elements
  * various bugfixes and code optimizations.
  * fixes for find_permutation with unordered types
  * fixes for the TikZ visualization:
    - for drawing PointConfigurations.
    - for drawing lattice points in polytopes.
    - for drawing subobjects
  * fixes in singular value decomposition

-- fan --
  * new big object types SubdivisionOfPoints and SubdivisionOfVectors.
  * new subobject SubdivisionOfPoints.TIGHT_SPAN with method VISUAL_METRIC_TIGHT_SPAN for metric tight spans.
  * new functions metric_extended_tight_span and metric_tight_span
  * new client to compute the k-skeleton of a fan
  * secondary_cone is now a method of SubdivisionOfVectors.
  * improved heuristics for planar nets of 3-polytopes.
  * improved visualization for fans
  * fix in regularity client (thanks: Sebastian Gutsche).
  * another fix in regularity client.
  * fixed issues with empty matrices

-- graph --
  * completely rewritten and modularized Hasse diagram data types and functions
  * new client all_spanningtrees, which finds all spanning trees in a connected graph.
  * new properties for bi-,weak and strong connectedness of a (directed) graph.
  * new property EIGENVALUES_LAPLACIAN, containing the eigenvalues of the discrete Laplacian of a graph.
  * new client for graph homomorphisms
  * fixes in hungarian method and tropical::tdet


-- group --
  * major refactoring of symmetries on objects:
    - new big object types Action, PermutationAction, PermutationActionOnSets, ImplicitActionOnSet, MatrixGroupActionOnVector.
    - objects with symmetries now contain multiple subobjects of type Group, which in turn can contain different kinds of Actions as properties.
  * boost_dynamic_bitset replaced with polymake Bitset

-- ideal --
  * new client pluecker_ideal, computing the Plücker ideal of the Grassmannian.
  * new property INITIAL_FORMS in Ideal.

-- matroid --
  * refactoring of dual matroids:
    - each matroid has a twin property DUAL, which is a matroid again.
    - there are various rules, which compute properties in a matroid from its dual.
  * new big object type ValuatedMatroid.
  * added many new properties to Matroid: AUTOMORPHISM_GROUP, CATENARY_G_INVARIANT, G_INVARIANT, IDENTICALLY_SELF_DUAL, LAMINAR, LATTICE_OF_CYCLIC_FLATS, N_CONNECTED_COMPONENTS, N_CYCLIC_FLATS, N_FLATS, NESTED, SELF_DUAL, SIMPLE, SPLIT, SPLIT_FLACETS, SPARSE_PAVING, TRANSVERSAL, UNIFORM.
  * various clients for matroid operations: various lifts and extensions, truncation, union, intersection.
  * replaced client "oxley_matroids" by client "special_matroids", where matroids can be selected by name.
  * matroids can now be defined via their flats or cyclic flats.

-- polytope --
  * updated bundled extension libnormaliz to version 3.1.3.
  * new properties in Polytope for excess vertex and facet degree.
  * new client face to create Polytope from a face of a polytope
  * new visualization for cones
  * revived OrbitPolytope type as object specialization PointOrbit
  * improved handling of matrices with zero cols xor zero rows
  * improved initial rules for polytopes and cones
  * improved computation of separating hyperplanes, which allows for weak separation as well.
  * improved computation of whether a point lies in (the interior of) a polytope. In particular, this works now for generic polytopes, not just over the rationals.
  * removed Object TightSpan. Functionality is now in fan:
    - moved functions min_metric, max_metric, thrackle_metric into application fan.
    - splitstree is moved to fan as a userfunction
  * fix for degenerate hypersimplices (thanks: Charles Wang).
  * fixes for solving LPs with lineality
  * fixes in TOPCOM interface.
  * fixed loading of old data files with OrbitPolytope and SymmetricPolytope

-- topaz --
  * homology can be computed for arbitrary chaincomplexes, represented by their boundary matrices.
  * new clients for computing Vietoris-Rips complexes and filtrations.
  * new client for computing persistent homology, both over arbitrary fields and the integers.
  * new function to compute boundary matrices of simplicial complexes
  * new function to compute betti numbers of chaincomplexes and simplicial complexes
  * added property VERTEX_MAP for subcomplexes (e.g. BOUNDARY)
  * various fixes and improvements regarding subcomplexes

-- tropical --
  * renamed tropical::Cone to tropical::Polytope.
  * new clients for tropical distance, perimeter, Cramer's rule and variants of the determinant.
  * new clients for computing the star of a cycle in bundled extension atint.
  * new big object type MatroidRingCycle in bundled extension atint, which represents linear combinations of matroid fans.
  * new client for computing tropical linear spaces of arbitrary valuated matroids.
  * refactoring of function linear_space


=== polymake 3.0 ===

-- distribution --
  * support for libc++
  * better support for compiling on MacOS X
  * support compilation with C++11 enabled
  * fix for gcc-5.x
  * fix rare build issues
  * support for perl 5.22
  * fix build issue with gmp-6.1
  * fixes for build-reproducibility

-- general --
  * significant improvement in rule scheduling
  * examples for various properties and clients:
    - in online help
    - in HTML documentation
    - focused on application polytope
  * various bugfixes and improvements, especially in documentation and visualization
  * fixes and improvements in TAB-completion and F1-help
  * merge github pull #2 (fix -Werror=format-security issues)
  * fix jReality visualization on various Intel HD Graphics (updated jogl)
  * fix jReality startup issues

-- common --
  * add new coordinate type PuiseuxFraction
  * new client for Hermite normal form
  * basic numerical linear algebra for double coordinates:
    - new client for QR-decomposition
    - new client for singular value decomposition
    - better solving of linear systems with double coordinates
  * improvements for FacetList type
  * matrix element access now via ->elem(,)

-- fan --
  * new client planar_net, including visualization and flaps generation
  * new clients for dual fans of graph associahedra and manipulating tubings
  * new objects SubdivisionOfPoints and -Vectors:
	  - some refactoring of related properties

-- group --
  * refactored orbit and group action
  * new client for generic orbit computations
  * improvements / fixes for linear symmetries computation

-- matroid --
  * new client for rank of arbitrary sets
  * new client for minimum weight bases
  * new client for free extensions
  * new property transversal_presentation
  * new property splitting_flacets
  * fixed bug in check_basis_exchange_axiom

-- polytope --
  * clients for all Johnson solids:
    - with correct combinatorics
    - many with exact QuadraticExtension or Rational coordinates
  * clients and wrappers for Platonic, Archimedean and Catalan solids
  * new client to count triangulations for 2-dim. point configurations (Alvarez,Seidel)
  * new client long_and_winding
  * new client goldfarb_sit
  * new client for lattice width
  * new client for decomposing a polytope into direct summands
  * LatticePolytope is now a specialization of Polytope instead of a separate type
  * renamed several integer programming related clients to fractional_
  * fixed some problems with Minkowski sum client
  * wythoff client now produces maximally symmetric polytopes whenever possible, i.e. except for G2
  * fixes for h^*-vector and Ehrhart polynomial computation

-- topaz --
  * new client random_discrete_morse, used for improved heuristic sphere recognition
  * new header tools for dealing with posets (construction, homomorphisms, etc)
  * new properties UNIMODULAR and  N_UNIMODULAR for GeomertricSimplicialComplex
  * renamed P_sum_triangulation client to sum_triangulation and improved functionality
  * new auxiliary clients for supporting sum-triangulations

-- tropical --
  * Major refactoring:
    - new object type Cycle, based on polyhedral complex
    - templated hypersurface client for Min/Max
    - renamed TropicalPolytope to Cone
  * added atint as a bundled extension for tropical intersection theory
  * added support for infinite coordinates
  * new client covector
  * new data type CovectorLattice
  * cleanup of obsolete functionality

-- interfaces --
  * new interface to LP-solver SoPlex 2.2.0
  * update lrs to 6.0
  * update cdd to 094h
  * update nauty to 2.5r9
  * update libnormaliz to 3.0.90
  * update threejs to 73
  * singular:
    - division of polynomials by ideals
    - contains monomial test
    - access to singular polynomials as matrix / vector pair
  * sympol:
    - convex hull computation up to symmetry now supports ppl
  * improvements in TOPCOM interface
  * normaliz2 file based interface removed


=== polymake 2.14 ===

-- General --
  * support for perl 5.20
  * support for MacOS 10.10 (Bundle)
  * utf-8 encoding for java build recipes (merges github pull request #1)
  * libpolymake improvements
  * fixed equal_bases (thanks to ChoF @polymake-forum)
  * new client for hadamard product of matrices
  * many minor bugfixes and improvements
  * documentation improvements
  * substantial further modularization of configuration and installation

-- fan --
  * new client for product of fans
  * new client for mixed subidivions
  * proper handling of empty and trivial fans

-- graph --
  * new client for Johnson graphs
  * new client for the complement of graphs

-- group --
  * new client for converting action on columns to action on rows

-- matroid --
  * new properties for matroids
  * renaming of some properties (e.g. POINTS is now called VECTORS)
  * lattice of flats
  * improvements on basis exchange test
  * new client for direct and 2-sum
  * new client for parallel and series extensions
  * new client for lexicographic extensions
  * new client for modular cut check
  * computation of circuits via 4ti2

-- polytope --
  * added vector configurations
  * lp2poly returns a polytope with rational coordinates by default instead of float coordinates
  * new client for cayley embeddings
  * new client for regular simplex and fano simplex
  * new client for weighted digraph polyhedron
  * new client for archimedian solids
  * new client for quotient of triangulations
  * new client for del Pezzo and pseudo del Pezzo polytopes
  * corrected handling of COORDINATE_LABELS in print_constraints
  * added flag for computing the outer normal cone
  * added combinatorial versions of product and join
  * added E6 and E7 to wythoff client
  * new script for converting boolean circuits to polytopes
  * new script 'analyze_this'. Creates a .tex file with basic information about a polytope

-- topaz --
  * new client for calculating a P-Sum-Triangulation
  * new client for independence complex of a matroid

-- tropical --
  * new coordinate type TropicalNumber

-- visualization --
  * new visualization backend: ThreeJS (view in browser)
  * improvements in TikZ and Sketch interfaces
  * TikZ supports face lattices (it is the new default)
  * visualization for unbounded polyhedra
  * fixes in fan visualization

-- interfaces --
  * singular interface:
    - compatibility
    - support for more term orders
  * libnormaliz interface updated to v2.12.2
  * TOSimplex: OpenMP support and other improvements
  * interfaces of cdd and lrs:
    - moved to bundled extensions
    - support for external cdd and lrs installations

=== older versions ===
see http://polymake.org/doku.php/news
