| file: | This file is part of the pgRouting project. |
|---|---|
| Copyright: | Copyright (c) 2016-2026 pgRouting developers |
| license: | Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0 |
To see the full list of changes check the list of Git commits on Github.
Minors 4.x
Contents
To see all issues & pull requests closed by this release see the :milestone:`4.1.0`
Code enhancements
- :issue:`3049`: Use enumeration on drivers and process.
- :issue:`3054`: Change error message when edges_sql is empty
- :issue:`3055`: bdDijkstra: use the shortest_path process and driver
- :issue:`3056`: edwardMoore: use the shortest_path process and driver
- :issue:`3060`: dagShortestPath: use the shortest_path process and driver
- :issue:`3064`: Astar: create and use a process and driver for Astar
- :issue:`3075`: Spanning tree: create and use a process and driver
- :issue:`3086`: MaxFlow: create and use a process and driver
- :issue:`3089`: edgeDisjoint and bellmanFord use shortestPath driver and process
- :issue:`3100`: Coloring: create and use a process & driver
- :issue:`3113`: Components: Integrate into existing process/driver pair
- :issue:`3129`: breadthFirstSearch: Reorganize into traversal
- :issue:`3131`: binaryBreadthFirstSearch: Integrate into existing process/driver pair
Bug Fixes
- :issue:`3101`: pgr_edgeColoring not building graph correctly
New experimental functions.
- Flow
issue:3136: pgr_maxWeightedMatching
Summary of changes by function
- pgr_maxWeightedMatching
- pgr_edgeColoring
To see all issues & pull requests closed by this release see the :milestone:`4.0.2`
- pgr_dijkstraVia
- pgr_drivingDistance
- pgr_withPointsDD
- pgr_withPointsVia
- :issue:`3110`: pgr_dijkstraVia throws std::bad_alloc when a node does not exist
- :issue:`3091`: Catchment functions when negative distance do not have a standardized behaviour
To see all issues & pull requests closed by this release see the :milestone:`4.0.1`
Bug Fixes
- :issue:`2966`: pgr_withPoints does not pick optimal route when fraction = 1
- :issue:`3034`: metrics driver should not be using new
- :issue:`3010`: Performance issue with pgr_separateTouching()
Code enhancements
- :issue:`3044`: Check and fix assert.hpp for cppcoreguidelines-explicit-virtual-functions
- :issue:`3040`: Check and fix cppcoreguidelines-virtual-class-destructor
- :issue:`3039`: Check and fix cppcoreguidelines-special-member-functions
- :issue:`3038`: Check and fix cppcoreguidelines-prefer-member-initializer
- :issue:`3037`: Check and fix cppcoreguidelines-init-variables
- :issue:`3035`: Pass by reference on existing drivers
- :issue:`3031`: pgtap license to Creative commons and License texts standardization
To see all issues & pull requests closed by this release see the :milestone:`4.0.0`
Contents
- Build
- Documentation build
- Summary of changes by function
- Functions promoted to official
- Signatures promoted to official
- New experimental functions.
- SQL signatures and output standardization
- Removal of SQL deprecated signatures
- Removal of SQL deprecated functions
- Removal of SQL deprecated internal functions
- Summary of functions and signatures no longer on pgrouting
- Code enhancements
- C++ standard is std17
- Using this standard, all supported toolchains across our CI matrix will work.
- The code is not yet modified to use std17:
- If needed:
-DCMAKE_CXX_STANDARD=14to lower the standard.
- If needed:
- The user's documentation is built by default.
- The doxygen documentation is built by default.
For developers:
- Set -DUSE_CLANG_TIDY=ON for clang tidy checks.
- Tidy checks are done on CI.
- The doxygen documentation is built by default
- The HTML documentation is built by default
- The translated languages (en, es, sv, zh_Hans) HTML documentation are built by default
- WITH-DOC is not used anymore
User Documentation is not built when
- Sphinx is not found
- When all Sphinx formats are OFF
- To not build HTML default format: -DBUILD_HTML=OFF
- When all languages are OFF
- To build only English: -DES=OFF -DSV=OFF -DZH_HANS=OFF
- Documentation output location:
build/doc/_build/<format>- For example: for HTML output is on build/doc/_build/html directory
Developers' Documentation is not built when
- Doxygen is not found
- To not build Doxygen documentation: -DBUILD_DOXY=OFF
- pgr_aStar
- pgr_aStarCost
- pgr_bandwidth
- pgr_bdAstar
- pgr_bdAstarCost
- pgr_bdDijkstra
- pgr_bdDijkstraCost
- pgr_bellmanFord
- pgr_binaryBreadthFirstSearch
- pgr_bipartite
- pgr_boykovKolmogorov
- pgr_breadthFirstSearch
- pgr_contraction
- pgr_dagShortestPath
- pgr_depthFirstSearch
- pgr_dijkstra
- pgr_dijkstraCost
- pgr_dijkstraNear
- pgr_dijkstraNearCost
- pgr_dijkstraVia
- pgr_edgeColoring
- pgr_edgeDisjointPaths
- pgr_edmondsKarp
- pgr_edwardMoore
- pgr_kingOrdering
- pgr_KSP
- pgr_maxCardinalityMatch
- pgr_maxFlow
- pgr_pushRelabel
- pgr_sequentialVertexColoring
- pgr_sloanOrdering
- pgr_topologicalSort
- pgr_transitiveClosure
- pgr_trsp
- pgr_trspVia
- pgr_trspVia_withPoints
- pgr_trsp_withPoints
- pgr_TSP
- pgr_TSPeuclidean
- pgr_turnRestrictedPath
- pgr_withPoints
- pgr_withPointsCost
- pgr_withPointsCostMatrix
- pgr_withPointsDD
- pgr_withPointsKSP
- pgr_withPointsVia
- :issue:`2701`: pgr_trsp
- :issue:`2701`: pgr_trsp
- :issue:`2701`: pgr_trspVia
- :issue:`2701`: pgr_trspVia_withPoints
- :issue:`2701`: pgr_trsp_withPoints
- :issue:`2700`: pgr_withPoints
- :issue:`2700`: pgr_withPointsCost
- :issue:`2700`: pgr_withPointsCostMatrix
- :issue:`2700`: pgr_withPointsDD
- :issue:`2700`: pgr_withPointsKSP
- :issue:`2700`: pgr_withPointsVia
- :issue:`2983`: pgr_dijkstraNear
- :issue:`2983`: pgr_dijkstraNearCost
- :issue:`2983`: pgr_dijkstraVia
- :issue:`2718`: pgr_aStar(Combinations)
- :issue:`2718`: pgr_aStarCost(Combinations)
- :issue:`2718`: pgr_bdAstar(Combinations)
- :issue:`2718`: pgr_bdAstarCost(Combinations)
- :issue:`2718`: pgr_bdDijkstra(Combinations)
- :issue:`2718`: pgr_bdDijkstraCost(Combinations)
- :issue:`2718`: pgr_dijkstra(Combinations)
- :issue:`2718`: pgr_dijkstraCost(Combinations)
- :issue:`2718`: pgr_KSP(All signatures)
- :issue:`2718`: pgr_boykovKolmogorov(Combinations)
- :issue:`2718`: pgr_edmondsKarp(Combinations)
- :issue:`2718`: pgr_maxFlow(Combinations)
- :issue:`2718`: pgr_pushRelabel(Combinations)
- Metrics
- :issue:`2951`: pgr_bandwidth
- Ordering
- :issue:`2954`: pgr_kingOrdering
- :issue:`2955`: pgr_sloanOrdering
- :issue:`2904`: Standardize output columns of functions with different output
- columns within overloads
Standardized to |short-generic-result|
- :issue:`2905`: pgr_withPoints
- :issue:`2906`: pgr_bdDijkstra
- :issue:`2907`: pgr_bellmanFord
- :issue:`2908`: pgr_binaryBreadthFirstSearch
- :issue:`2910`: pgr_edwardMoore
- :issue:`2913`: pgr_dagShortestPath
Standardized to |matrix-result|
- :issue:`2905`: pgr_withPointsCost
- :issue:`2905`: pgr_withPointsCostMatrix
Standardized to |generic-result|
- :issue:`2909`: pgr_edgeDisjointPaths
- :issue:`2909`: pgr_turnRestrictedPath
Standardized to |result_edge_color|
- :issue:`2924`: pgr_edgeColoring
Standardized to |result_node_color|
- :issue:`2924`: pgr_bipartite
- :issue:`2927`: pgr_sequentialVertexColoring
Standardized to |result-spantree|
- :issue:`2931`: pgr_breadthFirstSearch
- :issue:`2931`: pgr_depthFirstSearch
Standardized to |result_node_order|
- :issue:`2934`: pgr_topologicalSort
Standardized to |result-closure|
- :issue:`2934`: pgr_transitiveClosure
- :issue:`2798`: pgr_contraction
- :issue:`2683`: pgr_trsp
- :issue:`2683`: pgr_trspVia
- :issue:`2700`: pgr_withPointsVia
- :issue:`2888`: pgr_findCloseEdges
- pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)
- pgr_findcloseedges(text,geometry[],double precision,integer,boolean,boolean)
- :issue:`2890`: pgr_withPointsDD
- :issue:`2895`: pgr_withPointsKSP
- :issue:`2899`: pgr_maxCardinalityMatch
- :issue:`2901`: pgr_TSP
- :issue:`2901`: pgr_TSPeuclidean
- :issue:`2681`: pgr_trspViaedges
- :issue:`2682`: pgr_trspViaVertices
- :issue:`2748`: pgr_alphaShape
- :issue:`2751`: pgr_createTopology
- :issue:`2752`: pgr_analyzeGraph
- :issue:`2755`: pgr_analyzeOneWay
- :issue:`2827`: pgr_createVerticesTable
- :issue:`2886`: pgr_nodeNetwork
- :issue:`2748` _pgr_alphaShape(text,double precision)
- :issue:`2861` _pgr_checkVertTab(text,text[],integer,text)
- :issue:`2861` _pgr_createIndex(text,text,text,integer,text)
- :issue:`2861` _pgr_createIndex(text,text,text,text,integer,text)
- :issue:`2913` _pgr_dagShortestPath(text,anyarray,anyarray,boolean,boolean)
- :issue:`2913` _pgr_dagShortestPath(text,text,boolean,boolean)
- :issue:`2730` _pgr_dijkstraNear(text,anyarray,anyarray,bigint,boolean)
- :issue:`2730` _pgr_dijkstraNear(text,anyarray,bigint,bigint,boolean)
- :issue:`2730` _pgr_dijkstraNear(text,bigint,anyarray,bigint,boolean)
- :issue:`2730` _pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint)
- :issue:`2730` _pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint,boolean)
- :issue:`2730` _pgr_dijkstra(text,text,boolean,boolean,bigint,boolean)
- :issue:`2730` _pgr_dijkstra(text,text,boolean,boolean,boolean)
- :issue:`2735` _pgr_drivingDistance(text,anyarray,double precision,boolean,boolean)
- :issue:`2861` _pgr_endPoint(geometry)
- :issue:`2861` __pgr_getColumnName(text,text,integer,text)
- :issue:`2861` __pgr_getColumnName(text,text,text,integer,text)
- :issue:`2861` __pgr_getColumnType(text,text,integer,text)
- :issue:`2861` __pgr_getColumnType(text,text,text,integer,text)
- :issue:`2861` __pgr_getTableName(text,integer,text)
- :issue:`2861` _pgr_isColumnIndexed(text,text,integer,text)
- :issue:`2861` _pgr_isColumnIndexed(text,text,text,integer,text)
- :issue:`2861` _pgr_isColumnIntable(text,text)
- :issue:`2745` _pgr_kruskal(text,anyarray,text,bigint,double precision)
- :issue:`2897` _pgr_ksp(text,anyarray,anyarray,integer,boolean,boolean,boolean)
- :issue:`2897` _pgr_ksp(text,bigint,bigint,integer,boolean,boolean)
- :issue:`2897` _pgr_ksp(text,text,integer,boolean,boolean)
- :issue:`2899` _pgr_maxCardinalityMatch(text,boolean)
- :issue:`2861` _pgr_msg(integer,text,text)
- :issue:`2861` _pgr_onerror(boolean,integer,text,text,text,text)
- :issue:`2861` _pgr_pointtoid(geometry,double precision,text,integer)
- :issue:`2743` _pgr_prim(text,anyarray,text,bigint,double precision)
- :issue:`2861` _pgr_quote_ident(text)
- :issue:`2861` _pgr_startPoint(geometry)
- :issue:`2683` _pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)
- :issue:`2683` _pgr_trsp(text,text,anyarray,anyarray,boolean)
- :issue:`2683` _pgr_trsp(text,text,anyarray,bigint,boolean)
- :issue:`2683` _pgr_trsp(text,text,bigint,anyarray,boolean)
- :issue:`2683` _pgr_trsp(text,text,bigint,bigint,boolean)
- :issue:`2682` _pgr_trspViaVertices(text,integer[],boolean,boolean,text)
- :issue:`2919` _pgr_trspVia_withPoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)
- :issue:`2919` _pgr_trsp_withPoints(text,text,text,anyarray,anyarray,boolean,character,boolean)
- :issue:`2919` _pgr_trsp_withPoints(text,text,text,text,boolean,character,boolean)
- :issue:`2901` _pgr_tspEuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)
- :issue:`2901` _pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)
- :issue:`2861` _pgr_versionLess(text,text)
- :issue:`2890` _pgr_withPointsDD(text,text,anyarray,double precision,boolean,character,boolean,boolean)
- :issue:`2895` _pgr_withPointsKSP(text,text,anyarray,anyarray,integer,character,boolean,boolean,boolean,boolean)
- :issue:`2895` _pgr_withPointsKSP(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)
- :issue:`2895` _pgr_withPointsKSP(text,text,text,integer,character,boolean,boolean,boolean)
- :issue:`2741` _pgr_withPointsVia(text,bigint[],double precision[],boolean)
- :issue:`2741` _pgr_withPointsVia(text,text,anyarray,boolean,boolean,boolean,character,boolean)
- :issue:`2683` _trsp(text,text,anyarray,anyarray,boolean)
- :issue:`2683` _v4trsp(text,text,anyarray,anyarray,boolean)
- :issue:`2683` _v4trsp(text,text,text,boolean)
- :issue:`2748` pgr_alphashape(geometry,double precision)
- :issue:`2752` pgr_analyzegraph(text,double precision,text,text,text,text,text)
- :issue:`2755` pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text)
- :issue:`2798` pgr_contraction(text,bigint[],integer,bigint[],boolean)
- :issue:`2751` pgr_createtopology(text,double precision,text,text,text,text,text,boolean)
- :issue:`2827` pgr_createverticestable(text,text,text,text,text)
- :issue:`2888` pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)
- :issue:`2888` pgr_findcloseedges(text,geometry[],double precision,integer,boolean,boolean)
- :issue:`2899` pgr_maxCardinalityMatch(text,boolean)
- :issue:`2886` pgr_nodenetwork(text,double precision,text,text,text,text,boolean)
- :issue:`2683` pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)
- :issue:`2683` pgr_trsp(text,integer,integer,boolean,boolean,text)
- :issue:`2681` pgr_trspViaedges(text,integer[],double precision[],boolean,boolean,text)
- :issue:`2682` pgr_trspViaVertices(text,anyarray,boolean,boolean,text)
- :issue:`2919` pgr_trspVia_withPoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)
- :issue:`2919` pgr_trsp_withPoints(text,text,text,anyarray,anyarray,boolean,character,boolean)
- :issue:`2919` pgr_trsp_withPoints(text,text,text,anyarray,bigint,boolean,character,boolean)
- :issue:`2919` pgr_trsp_withPoints(text,text,text,bigint,anyarray,boolean,character,boolean)
- :issue:`2919` pgr_trsp_withPoints(text,text,text,bigint,bigint,boolean,character,boolean)
- :issue:`2919` pgr_trsp_withPoints(text,text,text,text,boolean,character,boolean)
- :issue:`2901` pgr_tspEuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)
- :issue:`2901` pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)
- :issue:`2919` pgr_withPointsCostMatrix(text,text,anyarray,boolean,character)
- :issue:`2919` pgr_withPointsCost(text,text,anyarray,anyarray,boolean,character)
- :issue:`2919` pgr_withPointsCost(text,text,anyarray,bigint,boolean,character)
- :issue:`2919` pgr_withPointsCost(text,text,bigint,anyarray,boolean,character)
- :issue:`2919` pgr_withPointsCost(text,text,bigint,bigint,boolean,character)
- :issue:`2919` pgr_withPointsCost(text,text,text,boolean,character)
- :issue:`2890` pgr_withPointsDD(text,text,anyarray,double precision,boolean,character,boolean,boolean)
- :issue:`2890` pgr_withPointsDD(text,text,bigint,double precision,boolean,character,boolean)
- :issue:`2895` pgr_withPointsKSP(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)
- :issue:`2919` pgr_withPoints(text,text,anyarray,anyarray,boolean,character,boolean)
- :issue:`2919` pgr_withPoints(text,text,anyarray,bigint,boolean,character,boolean)
- :issue:`2919` pgr_withPoints(text,text,bigint,anyarray,boolean,character,boolean)
- :issue:`2919` pgr_withPoints(text,text,bigint,bigint,boolean,character,boolean)
- :issue:`2919` pgr_withPoints(text,text,text,boolean,character,boolean)
- :issue:`2919` pgr_withPointsVia(text,text,anyarray,boolean,boolean,boolean,character,boolean)
- Removal of unused C/C++ code
- Refactor the Script to build the update PostgreSQL file.
- One process & driver for:
- allpairs: johnson and Floyd-Warshall
- Shortest path: Dijkstra and withPoints using Dijkstra
Deprecation of internal C/C++ functions
Deprecated functions are substituted by new function.
- _pgr_drivingDistance => _pgr_drivingDistancev4
- _pgr_withPointsDD => _pgr_withPointsddv4
- _pgr_kruskal => _pgr_kruskalv4
- _pgr_prim => _pgr_primv4
- _pgr_dijkstra => _pgr_dijkstra_v4
- _pgr_withPointsKSP => _pgr_withPointsKSP_v4
- _pgr_trspVia_withPoints => _pgr_trspVia_withPoints_v4
- _pgr_trsp_withPoints => _pgr_trsp_withPoints_v4
- _pgr_withPointsVia => _pgr_withPointsvia_v4
Internal C/C++ functions in legacy
- :issue:`2683` _trsp
- :issue:`2683` _v4trsp
- :issue:`2748` _pgr_alphaShape
- :issue:`2913` _pgr_dagShortestPath
Minors 3.x
Contents
To see all issues & pull requests closed by this release see the :milestone:`3.8.0`
Promotion to official function of pgRouting.
Metric
- :issue:`2760`: Promoted to official pgr_degree in version 3.8
Utilities
- :issue:`2772`: Promoted to official pgr_extractVertices in version 3.8
- :issue:`2774`: Promoted to official pgr_findCloseEdges in version 3.8
- :issue:`2873`: Promoted to official pgr_separateCrossing in version 3.8
- :issue:`2874`: Promoted to official pgr_separateTouching in version 3.8
Proposed functions
Contraction
- :issue:`2790`: pgr_contractionDeadEnd new contraction function
- :issue:`2791`: pgr_contractionLinear new contraction function
- :issue:`2536`: Support for contraction hierarchies (pgr_contractionHierarchies)
Utilities
- :issue:`2848`: Create pgr_separateCrossing new utility function
- :issue:`2849`: Create of pgr_separateTouching new utility function
Official functions changes
- :issue:`2786`: pgr_contraction(edges) new signature
C/C++ code enhancements
- :issue:`2802`: Code reorganization on pgr_contraction
- Other enhancements:
SQL code enhancements
- :issue:`2850`: Rewrite pgr_nodeNetwork
Deprecation of SQL functions
- :issue:`2749`: Deprecate pgr_AlphaShape in 3.8
- :issue:`2750`: Deprecate pgr_CreateTopology in 3.8
- :issue:`2753`: Deprecate pgr_analyzeGraph in 3.8
- :issue:`2754`: Deprecate pgr_analyzeOneWay in 3.8
- :issue:`2826`: Deprecate pgr_createVerticesTable in 3.8
In the deprecated functions:
- Migration section is created.
- The use of the functions is removed in the documentation.
Contents
To see all issues & pull requests closed by this release see the :milestone:`3.7.3`
- :issue:`2731`: Build Failure on Ubuntu 22
To see all issues & pull requests closed by this release see the :milestone:`3.7.2`
Build
- :issue:`2713`: cmake missing
some policies and min version
- Using OLD policies: CMP0148, CMP0144, CMP0167
- Minimum cmake version 3.12
Bug fixes
- :issue:`2707`: Build failure in pgRouting 3.7.1 on Alpine
- :issue:`2706`: winnie crashing on pgr_betweennessCentrality
To see all issues & pull requests closed by this release see the :milestone:`3.7.1`
Bug fixes
- :issue:`2680`: fails to compile under mingw64 gcc 13.2
- :issue:`2689`: When point is a vertex, the withPoints family do not return results.
C/C++ code enhancemet
- TRSP family
To see all issues & pull requests closed by this release see the :milestone:`3.7.0`
Support
- :issue:`2656`: Stop support of PostgreSQL12 on pgrouting v3.7
- Stopping support of PostgreSQL 12
- CI does not test for PostgreSQL 12
New experimental functions.
- Metrics
- pgr_betweennessCentrality
Official functions changes
- :issue:`2605`: Standardize spanning tree functions output
- Functions:
pgr_kruskalDDpgr_kruskalDFSpgr_kruskalBFSpgr_primDDpgr_primDFSpgr_primBFS
- Functions:
Experimental promoted to proposed.
- :issue:`2635`: pgr_LineGraph ignores directed flag and use negative values for
identifiers.
pgr_lineGraph
Code enhancement
- :issue:`2599`: Driving distance cleanup
- :issue:`2607`: Read postgresql data on C++
- :issue:`2614`: Clang tidy does not work
Contents
To see all issues & pull requests closed by this release see the :milestone:`3.6.3`
Build
- Explicit minimum requirements:
- postgres 11.0.0
- postgis 3.0.0
- g++ 13+ is supported
Code fixes
- Fix warnings from cpplint.
- Fix warnings from clang 18.
CI tests
- Add a clang tidy test on changed files.
- Update test not done on versions: 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.1.0, 3.1.1, 3.1.2
Documentation
- Results of documentation queries adujsted to boost 1.83.0 version:
- pgr_edgeDisjointPaths
- pgr_stoerWagner
pgtap tests
- bug fixes
To see all issues & pull requests closed by this release see the :milestone:`3.6.2`
Upgrade fix
- The upgrade was failing for same minor
Code fixes
- Fix warnings from cpplint
Others
- Adjust NEWS generator
- Name change to NEWS.md for better visualization on GitHub
To see all issues & pull requests closed by this release see the :milestone:`3.6.1`
- :issue:`2588`: pgrouting 3.6.0 fails to build on OSX
To see all issues & pull requests closed by this release see the :milestone:`3.6.0`
Official functions changes
- :issue:`2516`: Standardize output pgr_aStar
- Standardize output columns to |short-generic-result|
- pgr_aStar(One to One) added
start_vidandend_vidcolumns. - pgr_aStar(One to Many) added
end_vidcolumn. - pgr_aStar(Many to One) added
start_vidcolumn.
- pgr_aStar(One to One) added
- Standardize output columns to |short-generic-result|
- :issue:`2523`: Standardize output pgr_bdAstar
- Standardize output columns to |short-generic-result|
- pgr_bdAstar(One to One) added
start_vidandend_vidcolumns. - pgr_bdAstar(One to Many) added
end_vidcolumn. - pgr_bdAstar(Many to One) added
start_vidcolumn.
- pgr_bdAstar(One to One) added
- Standardize output columns to |short-generic-result|
- :issue:`2547`: Standardize output and modifying signature pgr_KSP
- :issue:`2548`: Standardize output pgr_drivingDistance
Proposed functions changes
- :issue:`2544`: Standardize output and modifying signature pgr_withPointsDD
- :issue:`2546`: Standardize output and modifying signature pgr_withPointsKSP
C/C++ code enhancements
- :issue:`2504`: To C++ pg data get,
fetch and check.
- Stopping support for compilation with MSVC.
- :issue:`2505`: Using namespace.
- :issue:`2512`: [Dijkstra] Removing duplicate code on Dijkstra.
- :issue:`2517`: Astar code simplification.
- :issue:`2521`: Dijkstra code simplification.
- :issue:`2522`: bdAstar code simplification.
Documentation
- :issue:`2490`: Automatic page history links.
- ..rubric:: Standardize SQL
- :issue:`2555`: Standardize deprecated messages
- On new internal function: do not use named parameters and default parameters.
To see all issues & pull requests closed by this release see the :milestone:`3.5.1`
Documentation fixes
Changes on the documentation to the following:
- pgr_degree
- pgr_dijkstra
- pgr_ksp
- Automatic page history links
- using bootstrap_version 2 because 3+ does not do dropdowns
Issue fixes
- :issue:`2565`: pgr_lengauerTarjanDominatorTree triggers an assertion
SQL enhancements
- :issue:`2561`: Not use wildcards on SQL
pgtap tests
- :issue:`2559`: pgtap test using sampledata
Build fixes
- Fix winnie build
Code fixes
- Fix clang warnings
- Grouping headers of postgres readers
To see all issues & pull requests closed by this release see the :milestone:`3.5.0`
Official functions changes
- Dijkstra
- Standardize output columns to |short-generic-result|
- pgr_dijkstra(One to One) added
start_vidandend_vidcolumns. - pgr_dijkstra(One to Many) added
end_vidcolumn. - pgr_dijkstra(Many to One) added
start_vidcolumn.
- pgr_dijkstra(One to One) added
- Standardize output columns to |short-generic-result|
To see all issues & pull requests closed by this release see the :milestone:`3.4.2`
Issue fixes
- :issue:`2394`: pgr_bdAstar accumulates heuristic cost in visited node cost.
- :issue:`2427`: pgr_createVerticesTable & pgr_createTopology, variable should be of type Record.
To see all issues & pull requests closed by this release see the :milestone:`3.4.1`
Issue fixes
- :issue:`2401`: pgRouting 3.4.0 do not build docs when sphinx is too low or missing
- :issue:`2398`: v3.4.0 does not upgrade from 3.3.3
To see all issues & pull requests closed by this release see the :milestone:`3.4.0`
Issue fixes
- :issue:`1891`: pgr_ksp doesn't give all correct shortest path
New proposed functions.
- With points
- pgr_withPointsVia(One Via)
- Turn Restrictions
- Via with turn restrictions
- pgr_trspVia(One Via)
- pgr_trspVia_withPoints(One Via)
- pgr_trsp
- pgr_trsp(One to One)
- pgr_trsp(One to Many)
- pgr_trsp(Many to One)
- pgr_trsp(Many to Many)
- pgr_trsp(Combinations)
pgr_trsp_withPoints- pgr_trsp_withPoints(One to One)
- pgr_trsp_withPoints(One to Many)
- pgr_trsp_withPoints(Many to One)
- pgr_trsp_withPoints(Many to Many)
- pgr_trsp_withPoints(Combinations)
- Via with turn restrictions
- Topology
- pgr_degree
- Utilities
- pgr_findCloseEdges(One point)
- pgr_findCloseEdges(Many points)
New experimental functions.
- Ordering
- pgr_cuthillMckeeOrdering
- Unclassified
- pgr_hawickCircuits
Official functions changes
- Flow functions
- pgr_maxCardinalityMatch(text)
- Deprecating: pgr_maxCardinalityMatch(text,boolean)
- pgr_maxCardinalityMatch(text)
Deprecated Functions
- Turn Restrictions
- pgr_trsp(text,integer,integer,boolean,boolean,text)
- pgr_trsp(text,integer,float8,integer,float8,boolean,boolean,text)
- pgr_trspViaVertices(text,anyarray,boolean,boolean,text)
- pgr_trspViaEdges(text,integer[],float[],boolean,boolean,text)
Contents
To see all issues & pull requests closed by this release see the :milestone:`3.3.5`
Documentation
- :issue:`2401`: pgRouting 3.4.0 do not build docs when sphinx is too low or missing
To see all issues & pull requests closed by this release see the :milestone:`3.3.4`
Issue fixes
- :issue:`2400`: pgRouting 3.3.3 does not build in focal
To see all issues & pull requests closed by this release see the :milestone:`3.3.3`
Issue fixes
- :issue:`1891`: pgr_ksp doesn't give all correct shortest path
Official functions changes
- Flow functions
- pgr_maxCardinalityMatch(text,boolean)
- Ignoring optional boolean parameter, as the algorithm works only for undirected graphs.
- pgr_maxCardinalityMatch(text,boolean)
To see all issues & pull requests closed by this release see the :milestone:`3.3.2`
Revised documentation
Simplifying table names and table columns, for example:
edgesinstead ofedge_table- Removing unused columns
category_idandreverse_category_id.
- Removing unused columns
combinationsinstead ofcombinations_table
- Using PostGIS standard for geometry column.
geominstead ofthe_geom
Avoiding usage of functions that modify indexes, columns etc on tables.
- Using
pgr_extractVerticesto create a routing topology
- Using
Restructure of the pgRouting concepts page.
Issue fixes
- :issue:`2276`: edgeDisjointPaths issues with start_vid and combinations
- :issue:`2312`: pgr_extractVertices error when target is not BIGINT
- :issue:`2357`: Apply clang-tidy performance-*
To see all issues & pull requests closed by this release see the :milestone:`3.3.1`
Issue fixes
- :issue:`2216`: Warnings when using clang
- :issue:`2266`: Error processing restrictions
To see all issues & pull requests closed by this release see the :milestone:`3.3.0`
Issue fixes
- :issue:`2057`: trspViaEdges columns in different order
- :issue:`2087`: pgr_extractVertices to proposed
- :issue:`2201`: pgr_depthFirstSearch to proposed
- :issue:`2202`: pgr_sequentialVertexColoring to proposed
- :issue:`2203`: pgr_dijkstraNear and pgr_dijkstraNearCost to proposed
New experimental functions.
- Coloring
- pgr_edgeColoring
Experimental promoted to Proposed
- Dijkstra
- pgr_dijkstraNear
- pgr_dijkstraNear(Combinations)
- pgr_dijkstraNear(Many to Many)
- pgr_dijkstraNear(Many to One)
- pgr_dijkstraNear(One to Many)
- pgr_dijkstraNearCost
- pgr_dijkstraNearCost(Combinations)
- pgr_dijkstraNearCost(Many to Many)
- pgr_dijkstraNearCost(Many to One)
- pgr_dijkstraNearCost(One to Many)
- pgr_dijkstraNear
- Coloring
- pgr_sequentialVertexColoring
- Topology
- pgr_extractVertices
- Traversal
- pgr_depthFirstSearch(Multiple vertices)
- pgr_depthFirstSearch(Single vertex)
To see all issues & pull requests closed by this release see the :milestone:`3.2.2`
Issue fixes
- :issue:`2093`: Compilation on Visual Studio
- :issue:`2189`: Build error on RHEL 7
To see all issues & pull requests closed by this release see the :milestone:`3.2.1`
Issue fixes
- :issue:`1883`: pgr_TSPEuclidean crashes connection on Windows
- The solution is to use Boost::graph::metric_tsp_approx
- To not break user's code the optional parameters related to the TSP Annaeling are ignored
- The function with the annaeling optional parameters is deprecated
To see all issues & pull requests closed by this release see the :milestone:`3.2.0`
Build
- :issue:`1850`: Change Boost
min version to 1.56
- Removing support for Boost v1.53, v1.54 & v1.55
New experimental functions.
- pgr_bellmanFord(Combinations)
- pgr_binaryBreadthFirstSearch(Combinations)
- pgr_bipartite
- pgr_dagShortestPath(Combinations)
- pgr_depthFirstSearch
- Dijkstra Near
- pgr_dijkstraNear
- pgr_dijkstraNear(One to Many)
- pgr_dijkstraNear(Many to One)
- pgr_dijkstraNear(Many to Many)
- pgr_dijkstraNear(Combinations)
- pgr_dijkstraNearCost
- pgr_dijkstraNearCost(One to Many)
- pgr_dijkstraNearCost(Many to One)
- pgr_dijkstraNearCost(Many to Many)
- pgr_dijkstraNearCost(Combinations)
- pgr_dijkstraNear
- pgr_edwardMoore(Combinations)
- pgr_isPlanar
- pgr_lengauerTarjanDominatorTree
- pgr_makeConnected
- Flow
- pgr_maxFlowMinCost(Combinations)
- pgr_maxFlowMinCost_Cost(Combinations)
- pgr_sequentialVertexColoring
New proposed functions.
- Astar
- pgr_aStar(Combinations)
- pgr_aStarCost(Combinations)
- Bidirectional Astar
- pgr_bdAstar(Combinations)
- pgr_bdAstarCost(Combinations)
- Bidirectional Dijkstra
- pgr_bdDijkstra(Combinations)
- pgr_bdDijkstraCost(Combinations)
- Flow
- pgr_boykovKolmogorov(Combinations)
- pgr_edgeDisjointPaths(Combinations)
- pgr_edmondsKarp(Combinations)
- pgr_maxFlow(Combinations)
- pgr_pushRelabel(Combinations)
- pgr_withPoints(Combinations)
- pgr_withPointsCost(Combinations)
Contents
To see all issues & pull requests closed by this release see the :milestone:`3.1.4`
Issues fixes
- :issue:`2189`: Build error on RHEL 7
To see all issues & pull requests closed by this release see the :milestone:`3.1.3`
Issues fixes
- :issue:`1825`: Boost versions are not honored
- :issue:`1849`: Boost 1.75.0 geometry "point_xy.hpp" build error on macOS environment
- :issue:`1861`: vrp functions crash server
To see all issues & pull requests closed by this release see the :milestone:`3.1.2`
Issues fixes
- :issue:`1304`: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function
- :issue:`1356`: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed
- :issue:`1725`: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd
- :issue:`1760`: TSP server crash on ubuntu 20.04 #1760
- :issue:`1770`: Remove warnings when using clang compiler
To see all issues & pull requests closed by this release see the :milestone:`3.1.1`
Issues fixes
- :issue:`1733`: pgr_bdAstar fails when source or target vertex does not exist in the graph
- :issue:`1647`: Linear Contraction contracts self loops
- :issue:`1640`: pgr_withPoints fails when points_sql is empty
- :issue:`1616`: Path evaluation on C++ not updated before the results go back to C
- :issue:`1300`: pgr_chinesePostman crash on test data
To see all issues & pull requests closed by this release see the :milestone:`3.1.0`
New proposed functions.
- pgr_dijkstra(combinations)
- pgr_dijkstraCost(combinations)
Build changes
- Minimal requirement for Sphinx: version 1.8
Contents
To see all issues & pull requests closed by this release see the :milestone:`3.0.6`
Issues fixes
- :issue:`2189`: Build error on RHEL 7
To see all issues & pull requests closed by this release see the :milestone:`3.0.5`
Backport issue fixes
- :issue:`1825`: Boost versions are not honored
- :issue:`1849`: Boost 1.75.0 geometry "point_xy.hpp" build error on macOS environment
- :issue:`1861`: vrp functions crash server
To see all issues & pull requests closed by this release see the :milestone:`3.0.4`
Backport issue fixes
- :issue:`1304`: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function
- :issue:`1356`: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed
- :issue:`1725`: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd
- :issue:`1760`: TSP server crash on ubuntu 20.04 #1760
- :issue:`1770`: Remove warnings when using clang compiler
To see all issues & pull requests closed by this release see the :milestone:`3.0.3`
Backport issue fixes
- :issue:`1733`: pgr_bdAstar fails when source or target vertex does not exist in the graph
- :issue:`1647`: Linear Contraction contracts self loops
- :issue:`1640`: pgr_withPoints fails when points_sql is empty
- :issue:`1616`: Path evaluation on C++ not updated before the results go back to C
- :issue:`1300`: pgr_chinesePostman crash on test data
To see all issues & pull requests closed by this release see the :milestone:`3.0.2`
Issues fixes
- :issue:`1378`: Visual Studio build failing
To see all issues & pull requests closed by this release see the :milestone:`3.0.1`
Issues fixes
- :issue:`232`: Honor client cancel requests in C /C++ code
To see all issues & pull requests closed by this release see the :milestone:`3.0.0`
Fixed Issues
- :issue:`1153`: Renamed pgr_eucledianTSP to pgr_TSPeuclidean
- :issue:`1188`: Removed CGAL dependency
- :issue:`1002`: Fixed contraction issues:
- :issue:`1004`: Contracts when forbidden vertices do not belong to graph
- :issue:`1005`: Intermideate results eliminated
- :issue:`1006`: No loss of information
New Functions
- Kruskal family
- pgr_kruskal
- pgr_kruskalBFS
- pgr_kruskalDD
- pgr_kruskalDFS
- Prim family
- pgr_prim
- pgr_primDD
- pgr_primDFS
- pgr_primBFS
Proposed moved to official on pgRouting
- aStar Family
- pgr_aStar(One to Many)
- pgr_aStar(Many to One)
- pgr_aStar(Many to Many)
- pgr_aStarCost(One to One)
- pgr_aStarCost(One to Many)
- pgr_aStarCost(Many to One)
- pgr_aStarCost(Many to Many)
- pgr_aStarCostMatrix
- bdAstar Family
- pgr_bdAstar(One to Many)
- pgr_bdAstar(Many to One)
- pgr_bdAstar(Many to Many)
- pgr_bdAstarCost(One to One)
- pgr_bdAstarCost(One to Many)
- pgr_bdAstarCost(Many to One)
- pgr_bdAstarCost(Many to Many)
- pgr_bdAstarCostMatrix
- bdDijkstra Family
- pgr_bdDijkstra(One to Many)
- pgr_bdDijkstra(Many to One)
- pgr_bdDijkstra(Many to Many)
- pgr_bdDijkstraCost(One to One)
- pgr_bdDijkstraCost(One to Many)
- pgr_bdDijkstraCost(Many to One)
- pgr_bdDijkstraCost(Many to Many)
- pgr_bdDijkstraCostMatrix
- Flow Family
- pgr_pushRelabel(One to One)
- pgr_pushRelabel(One to Many)
- pgr_pushRelabel(Many to One)
- pgr_pushRelabel(Many to Many)
- pgr_edmondsKarp(One to One)
- pgr_edmondsKarp(One to Many)
- pgr_edmondsKarp(Many to One)
- pgr_edmondsKarp(Many to Many)
- pgr_boykovKolmogorov (One to One)
- pgr_boykovKolmogorov (One to Many)
- pgr_boykovKolmogorov (Many to One)
- pgr_boykovKolmogorov (Many to Many)
- pgr_maxCardinalityMatching
- pgr_maxFlow
- pgr_edgeDisjointPaths(One to One)
- pgr_edgeDisjointPaths(One to Many)
- pgr_edgeDisjointPaths(Many to One)
- pgr_edgeDisjointPaths(Many to Many)
- Components family
- pgr_connectedComponents
- pgr_strongComponents
- pgr_biconnectedComponents
- pgr_articulationPoints
- pgr_bridges
- Contraction:
- Removed unnecessary column seq
- Bug Fixes
New experimental functions.
- pgr_maxFlowMinCost
- pgr_maxFlowMinCost_Cost
- pgr_extractVertices
- pgr_turnRestrictedPath
- pgr_stoerWagner
- pgr_dagShortestpath
- pgr_topologicalSort
- pgr_transitiveClosure
- VRP category
- pgr_pickDeliverEuclidean
- pgr_pickDeliver
- Chinese Postman family
- pgr_chinesePostman
- pgr_chinesePostmanCost
- Breadth First Search family
- pgr_breadthFirstSearch
- pgr_binaryBreadthFirstSearch
- Bellman Ford family
- pgr_bellmanFord
- pgr_edwardMoore
Moved to legacy
- Experimental functions
- pgr_labelGraph - Use the components family of functions instead.
- Max flow - functions were renamed on v2.5.0
- pgr_maxFlowPushRelabel
- pgr_maxFlowBoykovKolmogorov
- pgr_maxFlowEdmondsKarp
- pgr_maximumcardinalitymatching
- VRP
- pgr_gsoc_vrppdtw
- TSP old signatures
- pgr_pointsAsPolygon
- pgr_alphaShape old signature
Minors 2.x
Contents
To see all issues & pull requests closed by this release see the :milestone:`2.6.3`
Bug fixes
- :issue:`1219`: Implicit cast for via_path integer to text
- :issue:`1193`: Fixed pgr_pointsAsPolygon breaking when comparing strings in WHERE clause
- :issue:`1185`: Improve FindPostgreSQL.cmake
To see all issues & pull requests closed by this release see the :milestone:`2.6.2`
Bug fixes
- :issue:`1152`: Fixes driving distance when vertex is not part of the graph
- :issue:`1098`: Fixes windows test
- :issue:`1165`: Fixes build for python3 and perl5
To see all issues & pull requests closed by this release see the :milestone:`2.6.1`
- Fixes server crash on several functions.
- pgr_floydWarshall
- pgr_johnson
- pgr_aStar
- pgr_bdAstar
- pgr_bdDijstra
- pgr_alphashape
- pgr_dijkstraCostMatrix
- pgr_dijkstra
- pgr_dijkstraCost
- pgr_drivingDistance
- pgr_KSP
- pgr_dijkstraVia (proposed)
- pgr_boykovKolmogorov (proposed)
- pgr_edgeDisjointPaths (proposed)
- pgr_edmondsKarp (proposed)
- pgr_maxCardinalityMatch (proposed)
- pgr_maxFlow (proposed)
- pgr_withPoints (proposed)
- pgr_withPointsCost (proposed)
- pgr_withPointsKSP (proposed)
- pgr_withPointsDD (proposed)
- pgr_withPointsCostMatrix (proposed)
- pgr_contractGraph (experimental)
- pgr_pushRelabel (experimental)
- pgr_vrpOneDepot (experimental)
- pgr_gsoc_vrppdtw (experimental)
- Fixes for deprecated functions where also applied but not tested
- Removed compilation warning for g++8
- Fixed a fallthrugh on Astar and bdAstar.
To see all issues & pull requests closed by this release see the :milestone:`2.6.0`
New experimental functions.
- pgr_lineGraphFull
Bug fixes
- Fix pgr_trsp(text,integer,double precision,integer,double
precision,boolean,boolean[,text])
- without restrictions
- calls pgr_dijkstra when both end points have a fraction IN (0,1)
- calls pgr_withPoints when at least one fraction NOT IN (0,1)
- with restrictions
- calls original trsp code
- without restrictions
Internal code
- Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [,
text])
- Removed the use of pointers
- Internal code can accept BIGINT
- Cleaned the internal code of withPoints
Contents
To see all issues & pull requests closed by this release see the :milestone:`2.5.5`
Bug fixes
- Fixes driving distance when vertex is not part of the graph
- Fixes windows test
- Fixes build for python3 and perl5
To see all issues & pull requests closed by this release see the :milestone:`2.5.4`
- Fixes server crash on several functions.
- pgr_floydWarshall
- pgr_johnson
- pgr_aStar
- pgr_bdAstar
- pgr_bdDijstra
- pgr_alphashape
- pgr_dijkstraCostMatrix
- pgr_dijkstra
- pgr_dijkstraCost
- pgr_drivingDistance
- pgr_KSP
- pgr_dijkstraVia (proposed)
- pgr_boykovKolmogorov (proposed)
- pgr_edgeDisjointPaths (proposed)
- pgr_edmondsKarp (proposed)
- pgr_maxCardinalityMatch (proposed)
- pgr_maxFlow (proposed)
- pgr_withPoints (proposed)
- pgr_withPointsCost (proposed)
- pgr_withPointsKSP (proposed)
- pgr_withPointsDD (proposed)
- pgr_withPointsCostMatrix (proposed)
- pgr_contractGraph (experimental)
- pgr_pushRelabel (experimental)
- pgr_vrpOneDepot (experimental)
- pgr_gsoc_vrppdtw (experimental)
- Fixes for deprecated functions where also applied but not tested
- Removed compilation warning for g++8
- Fixed a fallthrugh on Astar and bdAstar.
To see all issues & pull requests closed by this release see the :milestone:`2.5.3`
Bug fixes
- Fix for postgresql 11: Removed a compilation error when compiling with postgreSQL
To see all issues & pull requests closed by this release see the :milestone:`2.5.2`
Bug fixes
- Fix for postgresql 10.1: Removed a compiler condition
To see all issues & pull requests closed by this release see the :milestone:`2.5.1`
Bug fixes
- Fixed prerequisite minimum version of: cmake
To see all issues & pull requests closed by this release see the :milestone:`2.5.0`
enhancement:
- pgr_version is now on SQL language
Breaking change on:
- pgr_edgeDisjointPaths:
- Added path_id, cost and agg_cost columns on the result
- Parameter names changed
- The many version results are the union of the One to One version
New Signatures
- pgr_bdAstar(One to One)
New proposed functions.
- pgr_bdAstar(One to Many)
- pgr_bdAstar(Many to One)
- pgr_bdAstar(Many to Many)
- pgr_bdAstarCost(One to One)
- pgr_bdAstarCost(One to Many)
- pgr_bdAstarCost(Many to One)
- pgr_bdAstarCost(Many to Many)
- pgr_bdAstarCostMatrix
- pgr_bdDijkstra(One to Many)
- pgr_bdDijkstra(Many to One)
- pgr_bdDijkstra(Many to Many)
- pgr_bdDijkstraCost(One to One)
- pgr_bdDijkstraCost(One to Many)
- pgr_bdDijkstraCost(Many to One)
- pgr_bdDijkstraCost(Many to Many)
- pgr_bdDijkstraCostMatrix
- pgr_lineGraph
- pgr_lineGraphFull
- pgr_connectedComponents
- pgr_strongComponents
- pgr_biconnectedComponents
- pgr_articulationPoints
- pgr_bridges
Deprecated signatures
- pgr_bdastar - use pgr_bdAstar instead
Renamed functions
- pgr_maxFlowPushRelabel - use pgr_pushRelabel instead
- pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead
- pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead
- pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead
Deprecated Function
- pgr_pointToEdgeNode
To see all issues & pull requests closed by this release see the :milestone:`2.4.2`
Improvement
- Works for postgreSQL 10
Bug fixes
- Fixed: Unexpected error column "cname"
- Replace __linux__ with __GLIBC__ for glibc-specific headers and functions
To see all issues & pull requests closed by this release see the :milestone:`2.4.1`
Bug fixes
- Fixed compiling error on macOS
- Condition error on pgr_withPoints
To see all issues & pull requests closed by this release see the :milestone:`2.4.0`
New Functions
- pgr_bdDijkstra
New proposed signatures:
- pgr_maxFlow
- pgr_aStar(One to Many)
- pgr_aStar(Many to One)
- pgr_aStar(Many to Many)
- pgr_aStarCost(One to One)
- pgr_aStarCost(One to Many)
- pgr_aStarCost(Many to One)
- pgr_aStarCost(Many to Many)
- pgr_aStarCostMatrix
Deprecated signatures.
- pgr_bddijkstra - use pgr_bdDijkstra instead
Deprecated Functions
- pgr_pointsToVids
Bug fixes
- Bug fixes on proposed functions
- pgr_withPointsKSP: fixed ordering
- TRSP original code is used with no changes on the compilation warnings
To see all issues & pull requests closed by this release see the :milestone:`2.3.2`
Bug Fixes
- Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck.
- Fixed pgr_trsp:
- Alternate code is not executed when the point is in reality a vertex
- Fixed ambiguity on seq
To see all issues & pull requests closed by this release see the :milestone:`2.3.1`
Bug Fixes
- Leaks on proposed max_flow functions
- Regression error on pgr_trsp
- Types discrepancy on pgr_createVerticesTable
To see all issues & pull requests closed by this release see the :milestone:`2.3.0`
New Signatures
- pgr_TSP
- pgr_aStar
New Functions
- pgr_eucledianTSP
New proposed functions.
- pgr_dijkstraCostMatrix
- pgr_withPointsCostMatrix
- pgr_maxFlowPushRelabel(One to One)
- pgr_maxFlowPushRelabel(One to Many)
- pgr_maxFlowPushRelabel(Many to One)
- pgr_maxFlowPushRelabel(Many to Many)
- pgr_maxFlowEdmondsKarp(One to One)
- pgr_maxFlowEdmondsKarp(One to Many)
- pgr_maxFlowEdmondsKarp(Many to One)
- pgr_maxFlowEdmondsKarp(Many to Many)
- pgr_maxFlowBoykovKolmogorov (One to One)
- pgr_maxFlowBoykovKolmogorov (One to Many)
- pgr_maxFlowBoykovKolmogorov (Many to One)
- pgr_maxFlowBoykovKolmogorov (Many to Many)
- pgr_maximumCardinalityMatching
- pgr_edgeDisjointPaths(One to One)
- pgr_edgeDisjointPaths(One to Many)
- pgr_edgeDisjointPaths(Many to One)
- pgr_edgeDisjointPaths(Many to Many)
- pgr_contractGraph
Deprecated signatures
- pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead
- pgr_aStar - use pgr_aStar instead
Deprecated Functions
- pgr_flip_edges
- pgr_vidsToDmatrix
- pgr_pointsToDMatrix
- pgr_textToPoints
Contents
To see all issues & pull requests closed by this release see the :milestone:`2.2.4`
Bug Fixes
- Bogus uses of extern "C"
- Build error on Fedora 24 + GCC 6.0
- Regression error pgr_nodeNetwork
To see all issues & pull requests closed by this release see the :milestone:`2.2.3`
Bug Fixes
- Fixed compatibility issues with PostgreSQL 9.6.
To see all issues & pull requests closed by this release see the :milestone:`2.2.2`
Bug Fixes
- Fixed regression error on pgr_drivingDistance
To see all issues & pull requests closed by this release see the :milestone:`2.2.1`
Bug Fixes
- Server crash fix on pgr_alphaShape
- Bug fix on With Points family of functions
To see all issues & pull requests closed by this release see the :milestone:`2.2.0`
Improvements
- pgr_nodeNetwork
- Adding a row_where and outall optional parameters
- Signature fix
- pgr_dijkstra -- to match what is documented
New Functions
- pgr_floydWarshall
- pgr_Johnson
- pgr_dijkstraCost(One to One)
- pgr_dijkstraCost(One to Many)
- pgr_dijkstraCost(Many to One)
- pgr_dijkstraCost(Many to Many)
Proposed Functionality
- pgr_withPoints(One to One)
- pgr_withPoints(One to Many)
- pgr_withPoints(Many to One)
- pgr_withPoints(Many to Many)
- pgr_withPointsCost(One to One)
- pgr_withPointsCost(One to Many)
- pgr_withPointsCost(Many to One)
- pgr_withPointsCost(Many to Many)
- pgr_withPointsDD(single vertex)
- pgr_withPointsDD(multiple vertices)
- pgr_withPointsKSP
- pgr_dijkstraVia
Deprecated Functions
- pgr_apspWarshall use pgr_floydWarshall instead
- pgr_apspJohnson use pgr_Johnson instead
- pgr_kDijkstraCost use pgr_dijkstraCost instead
- pgr_kDijkstraPath use pgr_dijkstra instead
Renamed and Deprecated Function
- pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix
Contents
To see all issues & pull requests closed by this release see the :milestone:`2.1.0`
New Signatures
- pgr_dijkstra(One to Many)
- pgr_dijkstra(Many to One)
- pgr_dijkstra(Many to Many)
- pgr_drivingDistance(multiple vertices)
Refactored
- pgr_dijkstra(One to One)
- pgr_ksp
- pgr_drivingDistance(single vertex)
Improvements
- pgr_alphaShape function now can generate better (multi)polygon with holes and alpha parameter.
Proposed Functionality
- Proposed functions from Steve Woodbridge, (Classified as Convenience by the
author.)
- pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge.
- pgr_flipEdges - flip the edges in an array of geometries so the connect end to end.
- pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries.
- pgr_pointsToVids - convert an array of point geometries into vertex ids.
- pgr_pointsToDMatrix - Create a distance matrix from an array of points.
- pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id.
- pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id.
- Added proposed functions from GSoc Projects:
- pgr_vrppdtw
- pgr_vrponedepot
Deprecated Functions
- pgr_getColumnName
- pgr_getTableName
- pgr_isColumnCndexed
- pgr_isColumnInTable
- pgr_quote_ident
- pgr_versionless
- pgr_startPoint
- pgr_endPoint
- pgr_pointToId
No longer supported
- Removed the 1.x legacy functions
Bug Fixes
- Some bug fixes in other functions
Refactoring Internal Code
- A C and C++ library for developer was created
- encapsulates postgreSQL related functions
- encapsulates Boost.Graph graphs
- Directed Boost.Graph
- Undirected Boost.graph.
- allow any-integer in the id's
- allow any-numerical on the cost/reverse_cost columns
- Instead of generating many libraries: - All functions are encapsulated in one library - The library has the prefix 2-1-0
To see all issues & pull requests closed by this release see the :milestone:`2.0.1`
Minor bug fixes.
Bug Fixes
- No track of the bug fixes were kept.
To see all issues & pull requests closed by this release see the :milestone:`2.0.0`
With the release of pgRouting 2.0.0 the library has abandoned backwards compatibility to pgRouting 1.0 releases. The main Goals for this release are:
- Major restructuring of pgRouting.
- Standardization of the function naming
- Preparation of the project for future development.
As a result of this effort:
- pgRouting has a simplified structure
- Significant new functionality has being added
- Documentation has being integrated
- Testing has being integrated
- And made it easier for multiple developers to make contributions.
Important Changes
- Graph Analytics - tools for detecting and fixing connection some problems in a graph
- A collection of useful utility functions
- Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)
- Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, pgr_bdDijkstra)
- One to many nodes search (pgr_kDijkstra)
- K alternate paths shortest path (pgr_ksp)
- New TSP solver that simplifies the code and the build process (pgr_tsp), dropped "Gaul Library" dependency
- Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star
- Dropped support for Shooting Star
- Built a test infrastructure that is run before major code changes are checked in
- Tested and fixed most all of the outstanding bugs reported against 1.x that existing in the 2.0-dev code base.
- Improved build process for Windows
- Automated testing on Linux and Windows platforms trigger by every commit
- Modular library design
- Compatibility with PostgreSQL 9.1 or newer
- Compatibility with PostGIS 2.0 or newer
- Installs as PostgreSQL EXTENSION
- Return types re factored and unified
- Support for table SCHEMA in function parameters
- Support for
st_PostGIS function prefix - Added
pgr_prefix to functions and types - Better documentation: https://docs.pgrouting.org
- shooting_star is discontinued
Contents
To see the issues closed by this release see the Git closed issues for 1.x
on Github.
The following release notes have been copied from the previous RELEASE_NOTES
file and are kept as a reference.
- Bug fixes
- Much faster topology creation
- Bug fixes
- Shooting* bug fixes
- Compilation problems solved
- Shooting* bug fixes
- Core and extra functions are separated
- Cmake build process
- Bug fixes
- Additional SQL file with more simple names for wrapper functions
- Bug fixes
- Shooting* shortest path algorithm for real road networks
- Several SQL bugs were fixed
- PostgreSQL 8.2 support
- Shortest path functions return empty result if they could not find any path
- Renumbering scheme was added to shortest path functions
- Directed shortest path functions were added
- routing_postgis.sql was modified to use dijkstra in TSP search