Checks if a point lies directly on a line, like a path or road.
Last release 25 days ago
03 Aug 2026
Release timing varies
gaps range from 9 days to 11 months
Most releases are documented
notes for 17 of 26 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
41 releases · first in 2017
Release timeline
41 releases since 2017Releases
- 7.4.03 Aug 2026
Release notes
Open source →What's Changed
⚠️ Due to correctness fixes, behavior across the boolean-* methods has changed. If you depended on the invalid behavior of these methods take extra care when upgrading.
@turf/bearing
@turf/bezier
- Fix z value computation by @githubhanjunjun in #3042
@turf/boolean-contains
- Allow boundary points in MultiPoint containment checks by @rexxars in #3024
- Treat an equal two-vertex line as contained by @spokodev in #3080
- Add MultiPolygon support for non-polygon types by @rexxars in #3010
- Speed up point, line, and MultiPolygon hot paths by @rexxars in #3099
- Reject inner polygon whose edge crosses a concave outer polygon by @aloktomarr in #3104
@turf/boolean-crosses
- Make MultiPoint/LineString crossing order-independent by @spokodev in #3079
- Return false if a line/line intersection is on an endpoint by @mfedderly in #3070
@turf/boolean-disjoint
- Overlapping collinear lines should return false by @cycsmail in #3097
- Test for explicit line/line touch on a boundary point by @mfedderly in #3100
- Performance: Delegate flattening to booleanDisjoint by @rexxars in #3103
@turf/boolean-point-in-polygon
- Perf improvement & Fix issue with multiple polygons when the point is on the boundary of a polygon by @Pitouli in #2821
@turf/boolean-valid
- Add support for GeometryCollection geometries by @ltkum in #2916
- Allow MultiLineStrings with only a single LineString by @sharmaB01 in #2846
@turf/boolean-within
Internally this has been rewritten to use @turf/boolean-contains. This increases correctness, but the additional checks may have regressed performance slightly depending on inputs (it is actually faster for some inputs).
- Require an interior point in MultiPoint-in-Polygon check by @mahirhir in #3085
- Add MultiPolygon support, de-duplicate logic by @rexxars in #3011
@turf/clusters-dbscan
- Correctly honor
unitsoption by @mradlinski in #3026
@turf/combine
@turf/convex
@turf/helpers
@turf/line-arc
- Always reach bearing2 (fix dropped final vertex) by @chatman-media in #3078
@turf/line-overlap
- Fixing missing certain horizontal/vertical lines with
tolerance(#2582) by @jonovotny in #3071
@turf/polygonize
- Fix behavior when there are duplicate coordinates in the input by @Traksewt in #3045
- Performance: Migrate to Map/Set by @mfedderly in #3074
- Performance: Migrate edge storage from Array to Map for performance by @mfedderly in #3081
@turf/projection
@turf/transform-scale, @turf/transform-translate, @turf/transform-rotate
- Remove stale bboxes after coordinate transforms by @khalilurrrahmanridoykhan in #3106
Internal:
- Publish without NPM_TOKEN by @mfedderly in #3051
- Migrate @turf/buffer to TypeScript, ignoring errors by @mfedderly in #2994
- Remove JavaScript package support from MRL config by @mfedderly in #3056
- Move to pnpm catalogs by @mfedderly in #3057
- Revert d3-geo to 2.x to fix Node CJS consumers by @mfedderly in #3066
- Clean up the .gitignore files by @mfedderly in #3067
- Add consumer-style testing for Turf by @mfedderly in #3065
- Update the CI workflows by @mfedderly in #3068
- Move to @types/earcut for @turf/tesselate by @mfedderly in #3069
- Remove optional transitive dep on vue-template-compiler by @mfedderly in #3089
- Upgrade dev dependencies by @mfedderly in #3090
- Make last-checks tests less strict about @turf/helpers devDependencies by @mfedderly in #3105
- line-offset - Fix bench.ts by @mfedderly in #3111
- Clarify geomEach behavior and add a test by @mfedderly in #3112
- Dependabot - Keep GitHub actions up to date by @mfedderly in #3113
- Bump pnpm/action-setup from 4.1.0 to 6.0.9 by @dependabot[bot] in #3115
- Bump actions/setup-node from 4.3.0 to 7.0.0 by @dependabot[bot] in #3116
- Bump actions/checkout from 4.2.2 to 7.0.1 by @dependabot[bot] in #3117
- Bump softprops/action-gh-release from 2.2.1 to 3.0.2 by @dependabot[bot] in #3114
- Update release workflow to support OIDC by @mfedderly in #3119
New Contributors
- @Johse made their first contribution in #3063
- @githubhanjunjun made their first contribution in #3042
- @rexxars made their first contribution in #3024
- @spokodev made their first contribution in #3080
- @chatman-media made their first contribution in #3078
- @mradlinski made their first contribution in #3026
- @Traksewt made their first contribution in #3045
- @JSap0914 made their first contribution in #3077
- @mahirhir made their first contribution in #3085
- @jonovotny made their first contribution in #3071
- @blchelle made their first contribution in #2972
- @rczobor made their first contribution in #2935
- @ltkum made their first contribution in #2916
- @sharmaB01 made their first contribution in #2846
- @cycsmail made their first contribution in #3097
- @khalilurrrahmanridoykhan made their first contribution in #3106
- @aloktomarr made their first contribution in #3104
Full Changelog: v7.3.5...v7.4.0
- 7.3.519 Apr 2026
Release notes
Open source →What's Changed
Main goal of this release was to revert a build breaking performance improvement introduced in v7.3.2 that was affecting CommonJS environments.
- Reverted performance related improvement to clusters-dbscan that broke builds by @smallsaucepan in #3049
Other bug fixes and new functionality:
- Add @turf/directional-mean to @turf/turf by @mfedderly in #3002
- Mark old nearest-point-on-line properties as deprecated by @EmilJunker in #3005
Housekeeping and behind the scenes changes:
- Introduced tstyche for type checking and to guard against unintentional API changes by @smallsaucepan in #3020
- Remove unused scripts by @mfedderly in #3036
- Update generate-readme script by @mfedderly in #3037
Full Changelog: v7.3.4...v7.3.5
- 7.3.48 Feb 2026
Release notes
Open source →Fixed a couple of backwards steps, one that was causing build breaks for users and a bug fix that wasn't backwards compatible.
What's Changed
- Reverted backward incompatible fix to nearestPointOnLine by @smallsaucepan in #3017
- Added newer kdbush types to @turf/turf as a dependency by @smallsaucepan in #3019
Full Changelog: v7.3.3...v7.3.4
- 7.3.328 Jan 2026
Release notes
Open source →Patch release to fix an unintended change to the return type of lineOffset that was causing compilation issues for Turf users.
What's Changed
- Fix @turf/line-offset's return type regression by @mfedderly in #3009
Full Changelog: v7.3.2...v7.3.3
- 7.3.214 Jan 2026
Release notes
Open source →Patch release with several bug fixes.
What's Changed
Bug fixes and new functionality:
- Fixed a bug in nearestPointOnLine causing duplicate points to be returned from lineSlice by @smallsaucepan in #2951
- turf-boolean-contains + turf-boolean-within: Fix line in polygon by @samuelarbibe in #2848
- @turf/boolean-contains - support for multipolygon inside polygon by @MartinP-C in #2357
- Refactor and extend properties of returned nearest point in @turf/nearest-point-on-line by @EmilJunker in #2867
- Changed booleanCrosses with two input lines to recognise if crossing point is between vertices by @smallsaucepan in #2968
- Improve type inference in @turf/helpers' geometry and geometryCollection by @mfedderly in #2971
- turf-tessellate: Pass original coordinate elevations through the tessellate function. by @prozvora in #2855
- Significantly improved performance of clustersDbscan by @smallsaucepan in #2885
Housekeeping and behind the scenes changes:
- Upgrade Lerna by @mfedderly in #2964
- Typescript-ifying turf-great-circle by @thomas-hervey in #2733
- Preparing for NPM trusted publishing plus node version housekeeping by @smallsaucepan in #2952
- Migrate @turf/interpolate to TypeScript by @mfedderly in #2966
- Migrate @turf/line-chunk to TypeScript by @mfedderly in #2969
- Move to Extract for @turf/helpers' geometry() by @mfedderly in #2976
- Migrate @turf/line-offset to TypeScript by @mfedderly in #2974
- Enforce only eraseable TypeScript syntax by @mfedderly in #2977
- @turf/line-slice to TypeScript by @mfedderly in #2979
- @turf/line-slice-along to TypeScript by @mfedderly in #2978
- Migrate @turf/line-split to TypeScript by @mfedderly in #2985
- Migrate @turf/geojson-rbush to TypeScript by @mfedderly in #2980
- Automatically add any inferred README changes in pre-commit hook by @mfedderly in #2987
- Clean up .js files in various TypeScript-first packages by @mfedderly in #2992
- Migrated turf-meta to typescript (bare bones edition) by @smallsaucepan in #2993
New Contributors
- @samuelarbibe made their first contribution in #2848
- @MartinP-C made their first contribution in #2357
- @thomas-hervey made their first contribution in #2733
Full Changelog: v7.3.1...v7.3.2
- 7.3.127 Nov 2025
Release notes
Open source →Point release soon after 7.3.0 to address an issue in the revamped isobands implementation, plus some security related version bumps of third party packages.
What's Changed
Bug fixes and new functionality:
- Clean up isobands output for empty bands by @mfedderly in #2957
Housekeeping and behind the scenes changes:
- Transitive dependency updates by @mfedderly in #2959
- Remove npm-run-all in favor of pnpm regex script name functionality by @mfedderly in #2960
- Bump glob@11 package.json entries by @mfedderly in #2961
Full Changelog: v7.3.0...v7.3.1
- 7.3.017 Nov 2025
Release notes
Open source →Thanks everyone who contributed to this release!
What's Changed
Fixes to regressions and significant pain points:
- Fix @turf/nearest-point-on-line endpoint selection and degenerate input cases by @bratter in #2940
- turf-nearest-point-on-line: Fix issue #2808 by @insideGen in #2849
- Rewrite @turf/isolines by @mfedderly in #2918
- Rewrite @turf/isobands by @mfedderly in #2926
Bug fixes and new functionality:
- Updated link to Chaikin's algorithm - access forbidden to the old link. by @Armatorix in #2804
- Improved the quality of generated ellipses especially at higher latitudes by @hadbn in #2739
- Fix - Documented unit used for Earth's radius by @IvoBiaus in #2842
- turf-hexgrid: fix issue #2841 by @SimonsUnikaNamn in #2856
- turf-transform-translate: Add warning about shape distortion #217 by @jtheisen in #2831
- turf-nearest-point: maintain point properties in result type by @EmilJunker in #2866
- Changed turf-destination and turf-ellipse to pass through elevation value if present by @prozvora in #2852
- Fixed simplify to not get stuck in an infinite loop on certain geometries by @smallsaucepan in #2830
- turf-great-circle: Fix antipodal error message by @macrouch in #2884
- Updates Documentation from Strings to Units by @conor-f in #2838
- Added missing layer in map example for @turf/line-split docs by @luc-tielen in #2724
- Changed lineSplit to use bbox from geojson-rbush rather than buggy turf-square by @hanneshdc in #2460
- Fix @turf/isobands issue with ring nesting logic by @mfedderly in #2925
- @turf/isobands and @turf/isolines check pointGrid input is actually gridded already by @mfedderly in #2927
- Fixed cleanCoords to remove points with appropriate tenacity by @smallsaucepan in #2771
- Use newer @types/rbush that fixes the need for the reexport shims by @mfedderly in #2924
- Add Kotlin Multiplatform port information to SEE_ALSO.md by @sargunv in #2936
- @turf/shortest-path Allow polygon feature as obstacle for shortestPath (#2941) by @ziegler-daniel in #2942
- Fix issue 2824 on turf-point-to-polygon-distance by @LHBruneton-C2C in #2845
- @turf/shortest-path improve creation of point matrix for A* algorithm (#2943) by @ziegler-daniel in #2944
- @turf/nearest-point-on-line TESTS: add test for duplicated points on line string affecting v7.2.0 by @alacret in #2903
Housekeeping and behind the scenes changes:
- Merged v7.2.0 publishing changes back to master by @smallsaucepan in #2797
- Bump eslint dependencies by @mfedderly in #2923
- Update nx config for tests by @mfedderly in #2685
- Migrate from workspace:^ to workspace:* to pin dependency versions by @mfedderly in #2878
- Pin the exact SHA1's of GitHub Actions we use by @mfedderly in #2863
- Run pnpm dedupe to clean up the lockfile by @mfedderly in #2829
- Update package.json for all turf packages by @protokoul in #2802
- Updated build tools - pnpm, lerna, typescript, tsup, etc housekeeping by @smallsaucepan in #2879
New Contributors
- @protokoul made their first contribution in #2802
- @Armatorix made their first contribution in #2804
- @hadbn made their first contribution in #2739
- @IvoBiaus made their first contribution in #2842
- @SimonsUnikaNamn made their first contribution in #2856
- @insideGen made their first contribution in #2849
- @jtheisen made their first contribution in #2831
- @EmilJunker made their first contribution in #2866
- @prozvora made their first contribution in #2852
- @macrouch made their first contribution in #2884
- @conor-f made their first contribution in #2838
- @luc-tielen made their first contribution in #2724
- @hanneshdc made their first contribution in #2460
- @sargunv made their first contribution in #2936
- @ziegler-daniel made their first contribution in #2942
- @LHBruneton-C2C made their first contribution in #2845
- @bratter made their first contribution in #2940
- @alacret made their first contribution in #2903
Full Changelog: v7.2.0...v7.3.0
- 7.2.029 Dec 2024
Release notes
Open source →What's Changed
Fixes to regressions and significant pain points:
- Reverted self intersection behavior:
line-intersectby @pm0u in #2742 - Reverted self intersection behavior for
boolean-disjointby @pm0u in #2772 - Reverted self intersection behavior for
boolean-intersectsby @pm0u in #2773 - Replaced polygon-clipping with polyclip-ts by @cmurphy23 in #2729
Bug fixes and new functionality:
- Added new point-to-polygon-distance package by @pachacamac in #2735
- Added bbox parameter to @turf/interpolate by @lemonig in #2768
- Handle when start and end are the same point in greatCircle by @rowanwins in #2343
- Fixed turf-angle to consistently measure angles clockwise by @smallsaucepan in #2714
- Reversed the order in which random polygon points are generated to satisfy the right hand rule by @smallsaucepan in #2715
- Fixed multiple modules that were performing scalar instead of spherical calculations by @smallsaucepan in #2717
- Fixed confusing turf-union documentation by @smallsaucepan in #2732
- Added a cautionary message to Units about measuring length in radians or degrees. by @smallsaucepan in #2748
- Added special handling to booleanPointOnLine for zero length lines by @smallsaucepan in #2751
Housekeeping and behind the scenes changes:
- Updated release instructions by @twelch in #2698
- Improve release docs ensuring stable official release branch by @twelch in #2726
- Upgraded typescript by @mfedderly in #2684
- Added a regression test for clone() bug that was probably fixed a while ago. by @smallsaucepan in #2749
- Revamped content and layout of project docs (README, CONTRIBUTING, etc) by @smallsaucepan in #2770
- Bump rollup from 2.79.1 to 3.29.5 by @dependabot in #2720
New Contributors
- @pachacamac made their first contribution in #2735
- @pm0u made their first contribution in #2742
- @lemonig made their first contribution in #2768
- @cmurphy23 made their first contribution in #2729
Full Changelog: v7.1.0...v7.2.0
- Reverted self intersection behavior:
- 7.1.09 Aug 2024
Release notes
Open source →What's Changed
@turf/distanceSimplify unnecessary union type in turfDistance by @isti115 in #2618- Upgrade to Lerna 8 by @mfedderly in #2612
- Deprecate CHANGELOG, improve release action, PR template, Contributing doc by @twelch in #2621
@turf/helpersReduce bundle size of apps that import @turf/helpers by @smallsaucepan in #2623@turf/line-overlapchange deep-equals dependency for smaller bundle size by @mfedderly in #2631@turf/maskConverted turf-mask to Typescript and added support for geometry parameters by @smallsaucepan in #2644@turf/midpointConverted turf-midpoint to Typescript by @smallsaucepan in #2645@turf/planepointConverted turf-planepoint to Typescript by @smallsaucepan in #2646@turf/squareConverted turf-square to Typescript by @smallsaucepan in #2648@turf/standard-deviational-ellipseConverted turf-standard-deviational-ellipse to Typescript by @smallsaucepan in #2649- Pin pnpm version using corepack by @RobinVdBroeck in #2602
@turf/tesselateConverted turf-tesselate to Typescript by @smallsaucepan in #2650@turf/transform-rotateConverted turf-transform-rotate to Typescript by @smallsaucepan in #2651@turf/transform-scaleConverted turf-transform-scale to Typescript by @smallsaucepan in #2652@turf/transform-translateConverted turf-transform-translate to Typescript by @smallsaucepan in #2653@turf/unkink-polygonConverted turf-unkink-polygon to Typescript by @smallsaucepan in #2654@turf/voronoiConverted turf-voronoi to Typescript by @smallsaucepan in #2655@turf/boolean-intersectsFix boolean-intersects docs by @izzybps in #2593- Updated documentation.js to resolve critical parse-url vulnerability by @smallsaucepan in #2664
@turf/area: bug fix: off-by-one bug in area calculation by @Abdumbo99 in #2665- Upgrade dependencies by @mfedderly in #2668
@turf/isobands@turf/isolinesRemove unused matrix-to-grid dependency by @mfedderly in #2669@turf/randomfix randomPolygon generating polygons outside of the givenbboxby @nnmrts in #2659@turf/boolean-intersects@turf/booean-disjointExpose options parameter to ignore self intersections. by @01100100 in #2636@turf/boolean-validfix checkClosingRing to check for polygon being closed by @superDoss in #2563@turf/helpersImplemented azimuthToBearing by @basvdijk in #2674- Added support/6.x branch to CI config by @smallsaucepan in #2673
@turf/nearest-point-on-lineinclude index of MultiLineString geometries in nearest-point-on-line by @andrewharvey in #2574@turf/point-to-line-distanceFix two small typos by @mfedderly in #2675- Update PR/develop action to cache pnpm files by @mfedderly in #2671
- Add explicit geojson types dependency by @mfedderly in #2676
- Rework prettier setup by @mfedderly in #2677
- Update @types/geojson to 7946.0.10 minimum by @mfedderly in #2688
@turf/maskStop turf-mask mutating by default, make it an option by @farkmarnum in #2635- Add test.example.js to .prettierignore by @mfedderly in #2689
@turf/maskFix @turf/mask benchmarks to exclude test fixtures that are not usable by @mfedderly in #2692@turf/kinksRevert @turf/kinks to 6.5.0 version by @mfedderly in #2693@turf/cluster-dbscanUpdate cluster-dbscan docs by @mwenko in #2624@turf/*-grid@turf/area@turf/helpersClarify behavior of some existing turf modules by @twelch in #2683- Upgrade pnpm/action-setup in github actions by @mfedderly in #2696
New Contributors
- @isti115 made their first contribution in #2618
- @izzybps made their first contribution in #2593
- @Abdumbo99 made their first contribution in #2665
- @nnmrts made their first contribution in #2659
- @01100100 made their first contribution in #2636
- @superDoss made their first contribution in #2563
- @basvdijk made their first contribution in #2674
- @andrewharvey made their first contribution in #2574
- @farkmarnum made their first contribution in #2635
Full Changelog: v7.0.0...v7.1.0
- 7.1.0-alpha.709 Aug 2024pre-release
Nothing published for this version
- 7.1.0-alpha.725 Jun 2024pre-release
Nothing published for this version
- 7.0.07 Jun 2024
Release notes
Open source →See v7 CHANGELOG
The docs website is being updated to support versioning. Please be patient.
Additional notes2 sources agree
Open source →⚠️ Breaking
- Move to @types/geojson package instead of declaring our own. Typescript consumers of Turf will need to import from @types/geojson. (#2158)
- Move distribution JS to target ES2017 (#2237)
- Please change to using named exports instead of default exports from the various packages
@turf/helpersCorrect the conversion factor for degrees (#2177)@turf/helperspolygon() will now throw if the first and last coordinates are not the same (#2173)@turf/helpersSeparate AreaUnits into its own type (#2393)@turf/areaFix earth radius to use WGS84 median earth radius (#2166)@turf/turfRemove re-exports for turf 4.x compatability (#2183)@turf/rectangle-gridFix correctness for large areas (#2106)- `@turf/square-grid Fix correctness for large areas (#2106)
@turf/unionAccept FeatureCollection for multiple inputs (#2247)@turf/differenceAccept FeatureCollection for multiple inputs (#2247)@turf/intersectAccept FeatureCollection for multiple inputs (#2247)@turf/bufferAdd undefined return for when the geometry is invalid (#2613)
🏅 New Features/Enhancements
@turf/kinksMove to sweepline-intersections library for performance (#1896)- `@turf/buffer Reduce bundle size by moving from turf-jsts to @turf/jsts (#2217)
@turf/boolean-equalAdd option for precision (#2231)@turf/boolean-point-in-polygonMove to point-in-polygon-hao library for performance and correctness (#1893)- [
@turf/line-intersect][line-intersect] Move to sweepline-intersections library for performance (#2033) @turf/boolean-containsAdd multipolygon support (#2338)@turf/nearest-pointAdd unit option (#2415)@turf/voronoiRetain properties from points (#1450)
🐛 Bug Fixes
@turf/polygon-smoothOptions argument is now actually optional (#2149)@turf/polygon-smoothFix crashes with polygons containing multiple holes (#2323)@turf/line-arcEnsure all points are generated when the first and last points are the same (#2142)@turf/cloneFix cloning of features with null geometries (#2316)@turf/dissolveNow correctly depends on @turf/flatten (#2345)@turf/clean-coordsAllow 3 coordinate closed LineStrings (#2178)@turf/helpersAdd alternate spellings for Units: millimetres, centimetres, metres, kilometres (#2168)@turf/ellipseAdd pivot and angle options to typescript (#2174)@turf/quadrat-analysisFix test flake (#2182)@turf/bboxUse input bbox instead of computing it (#2171)@turf/transform-scaleRemoves invalid bbox when scaling (#2171)@turf/invariantgetCoord now shallow clones its result to prevent accidental mutations (#2167)@turf/line-overlapIdentify multiple overlaps on a single segment (#2134)@turf/transform-scaleFix factor to allow only numbers >= 0 (#2169)@turf/voronoiMake options optional (#2195)@turf/boolean-withinFix multipoint checks (#2216)@turf/points-within-polygonFix dropped properties on MultiPoint results (#2227)@turf/randomThrows error on invalid bbox inputs (#2172)@turf/boolean-parallelLines with 180 degree angle between them are also considered parallel (#2475)@turf/unkink-polygonFix a maximum call stack size exceeded error with very large polygons (#2504)@turf/line-arcNumber of arc segments generated wasn't related to steps value passed in (#2524)@turf/boolean-equalReplace geojson-equality with new implementation (#2531)@turf/boolean-overlapReplace geojson-equality with new implementation (#2531)@turf/boolean-withinNow correctly checks that the final point is contained (#2599)
📖 Documentation
-
[
@turf/bbox][bbox] Improve documentation (#2153) -
[
@turf/great-circle][great-circle] Add license for arc.js (#2175) -
@turf/boolean-crossesDocument OpenGIS Simple Feature Spec requirement (#2184) -
@turf/turf-cloneNow has more useful Typescript inference (#2239) -
@turf/centroidImprove docs (#2213) -
@turf/bufferClean up Typescript types (#2188) -
@turf/polygon-smoothClean up a typo (#2293) -
@turf/nearest-point-on-lineClean up typescript types (#2296) -
@turf/boolean-touchesAdd boolean-touches to docs (#2431) -
@turf/boolean-equalImprove docs (#2412) -
Remove Bower references (#2146)
-
Fix typo in README (#2313)
-
Lots of cleanup for CONTRIBUTING, README, and RELEASING (#2186)
-
Fix docs generation (#2279)
-
Add a link to turf_dart (#2286)
🔔 Misc
- `@turf/turf Add booleanIntersects typescript export (#2157)
- `@turf/turf Add booleanTouches export (#2170)
- `@turf/turf Add booleanConcave export (#2265)
@turf/simplifyClean up internals for less object churn (#2561)- `@turf/helpers Make isObject a little more accurate (#2176)
- Migrate from geojsonhint to @placemark/check-geojson (#2571)
- Add custom types entry point to exports, required by Typescript for node16, nodenext and bundler module resolution strategies (#2400, #2452)
- types.ts tests are now run in strict mode (#2363)
- Uses tslib now for smaller bundles (#2165)
- Remove object-assign dependency from all packages (#2241)
- Lots of dependencies have been upgraded
- 7.0.0-alpha.1167 May 2024pre-release
Nothing published for this version
- 7.0.0-alpha.11523 Apr 2024pre-release
Nothing published for this version
- 7.0.0-alpha.11411 Mar 2024pre-release
Nothing published for this version
- 7.0.0-alpha.1133 Feb 2024pre-release
Nothing published for this version
- 7.0.0-alpha.11117 Jan 2024pre-release
Nothing published for this version
- 7.0.0-alpha.11030 Dec 2023pre-release
Nothing published for this version
- 7.0.0-alpha.22 Oct 2023pre-release
Nothing published for this version
- 7.0.0-alpha.118 Sept 2023pre-release
Nothing published for this version
- 7.0.0-alpha.09 Nov 2022pre-release
Nothing published for this version
- 6.5.010 Jul 2021
Release notes2 sources agree
Open source →🏅 New Features/Enhancements
@turf/points-with-polygonAdd MultiPoint support (PR https://github.com/Turfjs/turf/pull/2137 - Author @twelch)
🐛 Bug Fixes
-
@turf/dissolveComplete rewrite of the dissolve module to resolve many bugs (PR https://github.com/Turfjs/turf/pull/2110 - Author @rowanwins) -
@turf/maskComplete rewrite of the mask module to resolve many bugs (PR https://github.com/Turfjs/turf/pull/2130 - Author @rowanwins) -
@turf/boolean-validAdd missing dependency to (PR https://github.com/Turfjs/turf/pull/2094 - Author @rycgar)
📖 Documentation
@turf/boolean-overlapImprove clarity (PR https://github.com/Turfjs/turf/pull/2133 - Author @patrickbrett)
🔔 Misc
- Enable TS Strict Mode (PR https://github.com/Turfjs/turf/pull/2126 - Author @mfedderly)
- 6.4.017 Jun 2021
Release notes2 sources agree
Open source →🏅 New Features/Enhancements
@turf/boolean-point-on-lineAdded anepislonoption to help in floating point comparison. (PR https://github.com/Turfjs/turf/pull/2051 - Author @okcoker)
🐛 Bug Fixes
-
@turf/line-slice-alongFixed a bug where the offset distance equal to the length of the line (PR https://github.com/Turfjs/turf/pull/2030 - Author @EricPKerr) -
@turf/helpersFixed the conversion ratio for converting meters to yards and vice-versa (PR https://github.com/Turfjs/turf/pull/2046 - Author @anotherhale) -
@turf/center-medianFixed a missing TS type import (PR https://github.com/Turfjs/turf/pull/2044 - Author @Seairth) -
`@turf/bezier-spline Fix a bug ensuring the spline result reaches the end of the input (PR https://github.com/Turfjs/turf/pull/2090 - Author @the-nemz)
📖 Documentation
-
@turf/transform-rotateand@turf/ellipse) Improve documentation for angle parameter (PR https://github.com/Turfjs/turf/pull/2016 - Author @pasieronen) -
@turf/line-chunkFix an invalid anchor (PR https://github.com/Turfjs/turf/pull/2071 - Author @GraxMonzo) -
@turf/distanceEnhance distance doco so supported inputs are clearer (PR https://github.com/Turfjs/turf/pull/2032 - Author @rowanwins)
🔔 Misc
-
@turf/concaveReplace deprecated topojson dependency (PR https://github.com/Turfjs/turf/pull/2037 - Author @elliots) -
Work towards enabling TS Strict Mode (PR https://github.com/Turfjs/turf/pull/2053 - Author @mfedderly)
- 6.3.020 Jan 2021
Release notes2 sources agree
Open source →Fix issues importing Turf for react-native, webpack 5, and other bundlers
(PR https://github.com/Turfjs/turf/pull/2004 - Author r0b0t3d) (PR https://github.com/Turfjs/turf/pull/2011 - Author mfedderly)
[
@turf/turf][turf] expose @turf/boolean-intersect(PR https://github.com/Turfjs/turf/pull/2007 - Author rowanwins)
- 6.2.012 Jan 2021
Release notes2 sources agree
Open source →After a bit of hiatus, TurfJS is resuming releases.
⭐️ Major Updates
- ES Modules available for all packages
- Tree shaking should significantly reduce import size of @turf/turf
- Better support for ESM modules (PR https://github.com/Turfjs/turf/pull/1942 - Author @diachedelic)
- Clean-up of test and benchmark running to make publishing easier
- Enforce styling using Prettier
- Enable ESLint and get rid of unused variables
- Upgrade rollup for more correct javascript module builds
- Only include ES5 code
🚀 New Modules
[
@turf/boolean-touches][boolean-touches]Determines if two features touch but do not intersect
[
@turf/boolean-valid][boolean-valid]Checks if the geometry is a valid according to the OGC Simple Feature Specification
[
@turf/quadrat-analysis][quadrat-analysis]Performs a quadrat analysis on a set of points
[
@turf/rectangle-grid][rectangle-grid]Creates a grid of rectangles from a bounding box
[
@turf/voroni][voronoi]Typescript types for the options parameter have been fixed (PR https://github.com/Turfjs/turf/pull/1424 - Author @stevage)
[
@turf/points-within-polygon][points-within-polygon]Typescript types around the Feature's Properties will now be preserved. (PR https://github.com/Turfjs/turf/pull/1761 - Author @rugheid)
[
@turf/rewind][rewind]Typescript types for the 'reverse' option are now correct. Previously it was misnamed as 'reversed'. (PR https://github.com/Turfjs/turf/pull/1786 - Author @jonnycornwell)
[
@turf/difference][difference]No longer publishes an .mjs file.
[
@turf/meta][meta]No longer publishes an .mjs file.
[
@turf/tag][tag]Add MultiPolygon support. (PR https://github.com/Turfjs/turf/pull/1996 - Author bryceroney)
🐛 Bug Fixes
-
@turf/centroidDon't visit first point twice when calculating centroid (PR https://github.com/Turfjs/turf/pull/1894 - Author @rowanwins) -
@turf/transform-translateBetter handling of negative distances (PR https://github.com/Turfjs/turf/pull/1895 - Author @rowanwins) -
@turf/union,@turf/difference,@turf/intersectUse polygon-clipping library to fix correctness issues (PR https://github.com/Turfjs/turf/pull/1916 - Authors @mbullington, @ngottlieb) -
@turf/bufferChange default number of steps to 8, and actually support the steps option (PR https://github.com/Turfjs/turf/pull/1931 - Author stevenchanin) -
@turf/bufferFix projection issues that produce undersized buffers at non-equatorial latitudes (PR https://github.com/Turfjs/turf/pull/1956 - Author dyakovlev) -
@turf/helpersAdd runtime checks to point() method, fixing an API break (PR https://github.com/Turfjs/turf/pull/1964)
🏅 New Features/Enhancements
-
@turf/boolean-overlapBetter performance for MultiPoint geometries (PR https://github.com/Turfjs/turf/pull/1910 - Author @mfedderly) -
@turf/helpersAdd hectares to convertArea (PR https://github.com/Turfjs/turf/pull/1943 - Author @DanielJDufour) -
@turf/great-circleUpdate Typescript types to support MultiLineString input (PR https://github.com/Turfjs/turf/pull/1928 - Author kronick)
📖 Documentation
-
@turf/square-gridClarify inputs (PR https://github.com/Turfjs/turf/pull/1885 - Author @raphael-leger) -
@turf/greater-circleClarify properties option example (PR https://github.com/Turfjs/turf/pull/1888 - Author @chris-catignani)
⚠️ Breaking Change
-
@turf/line-to-polygonno longer modifies its input unless the mutate option is true (PR https://github.com/Turfjs/turf/pull/1879 - Author @MortenBirk) -
@turf/unkink-polygonremove Number.prototype.modulo override (PR https://github.com/Turfjs/turf/pull/1978)
- 6.2.0-alpha.310 Dec 2020pre-release
Nothing published for this version
- 6.2.0-alpha.213 Jul 2020pre-release
Nothing published for this version
- 6.2.0-alpha.127 Mar 2020pre-release
Nothing published for this version
- 6.2.0-alpha.026 Mar 2020pre-release
Nothing published for this version
- 6.0.14 Apr 2018
Nothing published for this version
- 6.0.021 Feb 2018
Nothing published for this version
- 5.1.510 Dec 2017
Nothing published for this version
- 5.1.07 Dec 2017
Nothing published for this version
- 5.0.49 Nov 2017
Nothing published for this version
- 5.0.01 Nov 2017
Release notes2 sources agree
Open source →⭐️ Major Updates
- TurfJS now supports ES Modules (Related PR's)
- Optional parameters are now defined as an
Object.
🚀 New Modules
[
@turf/voronoi][voronoi]Takes a FeatureCollection of points, and a bounding box, and returns a FeatureCollection of Voronoi polygons. (PR https://github.com/Turfjs/turf/pull/1043 - Author @stevage)
[
@turf/shortest-path][shortest-path]Returns the shortest path from start to end without colliding with any feature in obstacles (PR https://github.com/Turfjs/turf/pull/956 - Author @stebogit)
[
@turf/boolean-parallel][boolean-parallel]Boolean-Parallel returns True if each segment of
line1is parallel to the correspondent segment ofline2(PR https://github.com/Turfjs/turf/pull/941 - Author @stebogit)[
@turf/nearest-point-on-line][nearest-point-on-line]Takes a {@link Point} and a {@link LineString} and calculates the closest Point on the (Multi)LineString. (PR https://github.com/Turfjs/turf/pull/939 - Author @stebogit)
🏅 New Features/Enhancements
-
Updates [
@turf/unkink-polygon][unkink-polygon] testing & addedflattenEachinstead of usingflatten. (PR https://github.com/Turfjs/turf/pull/889) -
Add multi-geomtry support to
@turf/line-split(PR https://github.com/Turfjs/turf/pull/1078) -
Improve
@turf/metalineEachmethod to provide properties, id and bbox (PR https://github.com/Turfjs/turf/pull/1010)
🐛 Bug Fixes
-
Fixes
@turf/helpersearth radius variable (PR https://github.com/Turfjs/turf/pull/1012) -
Fixes
@turf/polygon-tangentsbug (PR https://github.com/Turfjs/turf/pull/1058) -
Fixes
@turf/line-chunkbug when the number of segments is integer (PR https://github.com/Turfjs/turf/pull/1046) -
Fixes
segmentEachandsegmentReducemethods in@turf/metato ensure something is returned (PR https://github.com/Turfjs/turf/pull/968)
⚠️ Breaking Change
- Optional parameters are now defined as an
Object:
Before
var from = [-75.343, 39.984]; var to = [-75.534, 39.123]; var units = 'miles'; var distance = turf.distance(from, to, units);After
var from = [-75.343, 39.984]; var to = [-75.534, 39.123]; var options = {units: 'miles'}; var distance = turf.distance(from, to, options);- Reworked
@turf/randomPR https://github.com/Turfjs/turf/issues/994 - Deprecate
@turf/idwIssue https://github.com/Turfjs/turf/issues/887 - Reworked Grid modules
@turf/point-grid/hex/square/trianglePR https://github.com/Turfjs/turf/pull/1029 - Renamed Modules/Methods
- [x]
@turf/inside=>@turf/boolean-point-in-polygonhttps://github.com/Turfjs/turf/issues/860#issuecomment-317216235 - [x]
@turf/within=>@turf/points-within-polygonhttps://github.com/Turfjs/turf/issues/860#issuecomment-317216235 - [x]
@turf/bezier=>@turf/bezier-splineIssue https://github.com/Turfjs/turf/issues/661 - [x]
@turf/nearest=>@turf/nearest-pointhttps://github.com/Turfjs/turf/pull/858#issuecomment-317197295 - [x]
@turf/point-on-line=>@turf/nearest-point-on-linehttps://github.com/Turfjs/turf/pull/858#issuecomment-317197295 - [x]
@turf/lineDistance=>@turf/lengthhttps://github.com/Turfjs/turf/issues/860#issuecomment-317229869 - [x]
@turf/helpers- [x]
radians2degrees=>radiansToDegrees - [x]
degrees2radians=>degreesToRadians - [x]
distanceToDegrees=>lengthToDegrees - [x]
distanceToRadians=>lengthToRadians - [x]
radiansToDistance=>radiansToLength - [x]
bearingToAngle=>bearingToAzimuth - [x]
convertDistance=>convertLength
- [x]
- [x]
- 4.7.312 Sept 2017
Nothing published for this version
- 4.7.15 Sept 2017
Nothing published for this version
- 4.7.05 Sept 2017
Release notes2 sources agree
Open source →🚀 New Modules
[
@turf/projection][projection]- toMercator: Converts a WGS84 GeoJSON object into Mercator (EPSG:900913) projection
- toWgs84: Converts a Mercator (EPSG:900913) GeoJSON object into WGS84 projection
(PR https://github.com/Turfjs/turf/pull/927 - Author @stebogit)
[
@turf/point-to-line-distance][point-to-line-distance]Returns the minimum distance between a {@link Point} and a {@link LineString}, being the distance from a line the minimum distance between the point and any segment of the
LineString.(PR https://github.com/Turfjs/turf/pull/925 - Author @stebogit)
[
@turf/boolean-within][boolean-within]Boolean-within returns true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and, the interior and boundary of the primary (geometry a) must not intersect the exterior of the secondary (geometry b). Boolean-within returns the exact opposite result of the [
@turf/boolean-contains][boolean-contains].(PR https://github.com/Turfjs/turf/pull/924 - Author @rowanwins)
🏅 New Features/Enhancements
- Updates [
@turf/unkink-polygon][unkink-polygon] testing & addedflattenEachinstead of usingflatten. (PR https://github.com/Turfjs/turf/pull/889) - [
@turf/concave][concave] refactoring, replacing [@turf/union][union] withgeojson-dissolveto increase speed and added support tonullgeometries (PR https://github.com/Turfjs/turf/pull/907 - Contributor @stebogit @DenisCarriere) - Adds doc note on [
@turf/polygonize][polygonize] about "Edges must be correctly noded" (PR https://github.com/Turfjs/turf/pull/898 - Contributor @stebogit @NickCis) - Adds support to foreign Members to [
@turf/clone][clone] (PR https://github.com/Turfjs/turf/pull/904 - Contributor @DenisCarriere) - Extends support of any
GeoJSONto [@turf/simplify][simplify] (PR https://github.com/Turfjs/turf/pull/903 - Contributor @DenisCarriere @stebogit) - Adds new
isNumberfunction and improves type checking for few [@turf/helpers][helpers] methods (PR https://github.com/Turfjs/turf/pull/920 - Contributor @DenisCarriere @stebogit) - Adds throw errors to invalid
MultiPolygonsfor [@turf/simplify][simplify] (PR https://github.com/Turfjs/turf/pull/922 - Contributor @DenisCarriere)
🐛 Bug Fixes
- Fixes
@turf/bbox-clippoint intersection handling, adding sanity-checks the lineclip output (PR https://github.com/Turfjs/turf/pull/886) - Fixes [
@turf/line-split][line-split] endpoint case handling applying [@turf/truncate][truncate] onsplitter(PR https://github.com/Turfjs/turf/pull/892 and https://github.com/Turfjs/turf/pull/855 - Contributor @stebogit) - Fixes [
@turf/intersect][intersect] throwing "uncaught exception", adding [@turf/truncate][truncate] to inputs and returningFeature<null>if no geometry (PR https://github.com/Turfjs/turf/pull/890 - Contributor @stebogit @vicvolk) - Fixes [
@turf/hex-grid][hex-grid] not properly cloning the last ring vertex (PR https://github.com/Turfjs/turf/pull/897 - Contributor @stebogit @DenisCarriere) - Fixes [
@turf/boolean-disjoint][boolean-disjoint] incorrect behaviour where a poly was completely contained within another poly (PR https://github.com/Turfjs/turf/pull/908 - Contributor @rowanwins) - Fixes [
@turf/simplify][simplify] process pending on particular geometries, applying [@turf/clean-coords][clean-coords] to input. (PR https://github.com/Turfjs/turf/pull/903 - Contributor @stebogit @DenisCarriere) - Fixes
booleanproperties not being translated with [@turf/clone][clone] (PR https://github.com/Turfjs/turf/pull/909 - Contributor @DenisCarriere) - Fixes [
@turf/boolean-contains][boolean-contains] incorrect output when checking two polygons (PR https://github.com/Turfjs/turf/pull/923 - Contributor @rowanwins @DenisCarriere)
- 4.6.12 Aug 2017
Nothing published for this version
- 4.6.02 Aug 2017
Release notes2 sources agree
Open source →🚀 New Modules
@turf/clean-coordsRemoves redundant coordinates from any GeoJSON Geometry. (PR https://github.com/Turfjs/turf/pull/875 - Author @stebogit)@turf/interpolateTakes a set of points and estimates their 'property' values on a grid using the Inverse Distance Weighting (IDW) method.. (PR https://github.com/Turfjs/turf/pull/832 - Author @stebogit)@turf/clusters-dbscanTakes a set of Points and partition them into clusters according to DBSCAN's data clustering algorithm. (PR https://github.com/Turfjs/turf/pull/812 and https://github.com/Turfjs/turf/pull/851 - Author @DenisCarriere)special mention to this incredibly instructive and fun interactive map by @DenisCarriere 😎👏
@turf/clustersProvidesgetCluster,clusterEach, andclusterReducefunctions. (PR https://github.com/Turfjs/turf/pull/847 - Author @DenisCarriere)@turf/boolean-point-on-lineReturns true if a point is on a line. Accepts a optional parameter to ignore the start and end vertices of the linestring. (PR https://github.com/Turfjs/turf/pull/858 - Author @rowanwins)@turf/boolean-overlapTakes two features and returns true or false whether or not they overlap, i.e. whether any pair of edges on the two polygons intersect. If there are any edge intersections, the polygons overlap. (PR https://github.com/Turfjs/turf/pull/856 and https://github.com/Turfjs/turf/pull/868 - Author @stebogit @tcql)@turf/boolean-equalDetermine whether two geometries of the same type have identical X,Y coordinate values. (PR https://github.com/Turfjs/turf/pull/869 - Author @stebogit @tcql)
🏅 New Features/Enhancements
- Sets
centeredparam default totruein@turf/point-grid(PR https://github.com/Turfjs/turf/pull/836 - Contributor @stebogit) - Adds
MultiLineStringsupport for@turf/point-on-line(PR https://github.com/Turfjs/turf/pull/838 - Contributor @stebogit) - Renames
@turf/clusters=>@turf/clusters-kmeans, plus adds deprecated warning message to@turf/[email protected](See Issue https://github.com/Turfjs/turf/issues/845) - Changes output type of
@turf/clusters-kmeans(See Issue https://github.com/Turfjs/turf/issues/850 - Contributor @DenisCarriere) - Adds
segmentEachandsegmentReducefunctions to@turf/meta(See Issue https://github.com/Turfjs/turf/issues/850 - Contributor @DenisCarriere) - Adds tests and linting on JSDoc in TurfJS core from
turf-www; see Issue https://github.com/Turfjs/turf/issues/859 (PR https://github.com/Turfjs/turf/issues/857 + https://github.com/Turfjs/turf/issues/864 + https://github.com/Turfjs/turf/issues/870 - Contributor @DenisCarriere @stebogit) - Introduces
nullGeometry support across TurfJS modules (See Issue https://github.com/Turfjs/turf/issues/853) (PR https://github.com/Turfjs/turf/issues/866 - Contributor @DenisCarriere) - Includes feature(Sub)Index in
coordEach/coordReduce(@turf/meta) 🎉 (PR https://github.com/Turfjs/turf/issues/872 - Contributor @DenisCarriere) - Adds
bboxandidparams plusgeometrymethod to@turf/helpers(PR https://github.com/Turfjs/turf/issues/877 - Contributor @DenisCarriere)
🐛 Bug Fixes
- Applies
@turf/truncateto@turf/line-splitsplitterinput to avoid approximation errors. Fixed #852 (PR https://github.com/Turfjs/turf/pull/855) - Fixes
@turf-maskerror (See Issue https://github.com/Turfjs/turf/issues/837) (PR https://github.com/Turfjs/turf/pull/865 - Contributor @thiagoxvo) - Fixes
create-new-modulescript error onLICENSEfile creation (See Issue https://github.com/Turfjs/turf/issues/861) (commit df6986e) - Fixes
@turf/isobandserror oncommonProperties(See Issue https://github.com/Turfjs/turf/issues/831) (commit 1663f07)
- 4.0.02 Aug 2017
Nothing published for this version