Skip to content

Releases: mmomtchev/node-gdal-async

v3.3.6

29 Oct 17:05
Compare
Choose a tag to compare

[3.3.6] 2021-10-29

Added

  • GDAL 3.3.3

v3.4.0-alpha.3

13 Oct 18:24
Compare
Choose a tag to compare
v3.4.0-alpha.3 Pre-release
Pre-release

[3.4.0] WIP

Added

  • PROJ 8.1.1
  • GEOS 3.9.1
  • GDAL 3.4.0-git (2021-10-13)
  • Add gdal.Dataset.getMetadataAsync and gdal.RasterBand.getMetadataAsync
  • Add gdal.Dataset.setMetadata{Async} and gdal.RasterBand.setMetadata{Async}
  • Add gdal.info{Async}, gdal.translate{Async} and gdal.vectorTranslate{Async} - library versions of gdalinfo, gdal_translate and ogr2ogr

Changed

  • (BREAKING) Move the progress callback of gdal.Driver.createCopy{Async} before strict to allow using it with a Promise
  • gdal.Driver.create{Async} now throw if they fail to parse the options instead of returning undefined
  • gdal.DatasetBands.create{Async} and gdal.SpatialReference.fromESRI now have correct TypeScript signatures, all options lists are supported either in {object} or in string[] form
  • gdal.checksumImage{Async} now throw/reject on error instead of returning 0 if the GDAL method returned an error, but the GDAL method still returns 0 on some errors and does take into account fractional numbers < 1.0
  • Fix a memory leak in gdal.Dataset.srsAsync
  • Fix a memory leak in the exception-handling path of the progress callbacks
  • Fix #13, now two different warnings are emitted whether a dataset is closed by gdal.Dataset.close or it is destroyed by the GC - the former is indicative of a bug in the user application, while the latter is indicative of a bug in gdal-async itself

v3.3.5

13 Oct 14:11
Compare
Choose a tag to compare

[3.3.5] 2021-10-13

Changed

  • Fix a major memory leak on the main code path in gdal.Dataset.srsAsync (~800 bytes per call)
  • Fix a memory leak in the exception-handling path of the progress callbacks
  • GC safety of gdal.checksumImage

v3.4.0-alpha.2

07 Oct 17:24
Compare
Choose a tag to compare
v3.4.0-alpha.2 Pre-release
Pre-release

[3.4.0] WIP

Added

  • PROJ 8.1.1
  • GEOS 3.9.1
  • GDAL 3.4.0-git (2021-10-07)
  • Add gdal.Dataset.getMetadataAsync and gdal.RasterBand.getMetadataAsync
  • Add gdal.Dataset.setMetadata{Async} and gdal.RasterBand.setMetadata{Async}

v3.4.0-alpha.1

02 Oct 12:45
Compare
Choose a tag to compare
v3.4.0-alpha.1 Pre-release
Pre-release

[3.4.0] WIP

Added

  • PROJ 8.1.1
  • GEOS 3.9.1
  • GDAL 3.4.0-git (2021-10-02)
  • Add gdal.Dataset.getMetadataAsync and gdal.RasterBand.getMetadataAsync
  • Add gdal.Dataset.setMetadata{Async} and gdal.RasterBand.setMetadata{Async}

v3.4.0-alpha.0

28 Sep 20:37
Compare
Choose a tag to compare
v3.4.0-alpha.0 Pre-release
Pre-release

[3.4.0] WIP

Added

  • PROJ 8.1.1
  • GEOS 3.9.1
  • GDAL 3.4.0-git

v3.3.4

28 Sep 14:02
Compare
Choose a tag to compare

[3.3.4] 2021-09-28

Added

  • Add support for Amazon Linux and restore Ubuntu 16.04 support (glibc 2.23)
  • On Linux, build GDAL with ENABLE_UFFD for virtual I/O support on drivers that allow it (currently only NetCDF) to allow accessing NetCDF subdatasets with remote virtual filesystems
  • Add a new npm script - npm run prune - not to be confused with npm prune - which allows to keep only the module runtime, significantly reducing the size of the installed package

Changed

  • Fix gdal.RasterBand.flushAsync()
  • Implement the previously non-existing strict argument of gdal.Driver.createCopy{Async}() and move it after options
  • Implement progress callbacks in gdal.Driver.createCopy{Async}()
  • gdal.Driver.createCopy{Async}() now always throws an Error / rejects the Promise if the operation failed instead of returning a null object in some cases
  • Fix #14, correctly handle exceptions in progress callbacks and return them to the calling user code
  • Add a previously missing TypeScript signature for gdal.CoordinateTransformation.transformPoint(point: xyz)
  • Fix the documentation / TypeScript signature for gdal.Geometry.segmentize - it returns undefined
  • Removed all source tarballs of the bundled dependencies from the published package to reduce its size

v3.3.3

07 Sep 13:20
Compare
Choose a tag to compare

[3.3.3] 2021-09-07

Added

  • GDAL 3.3.2

Changed

  • Fix #9, do not enumerate async getters
  • Fix #12, build-from-source is broken when building through npm
  • Compatibility with rollup-plugin-natives
  • Fix #6, gdal.vsimem.release is now always safe to use

v3.3.2

08 Jul 13:12
Compare
Choose a tag to compare

[3.3.2] 2021-07-08

Added

  • GDAL 3.3.1
  • Support async getters
    • Add gdal.Dataset.rasterSizeAsync
    • Add gdal.Dataset.srsAsync
    • Add gdal.Dataset.geoTransformAsync
  • Add gdal.DatasetBands.getEnvelope()
  • Add gdal.vsimem.set and gdal.vsimem.release allowing to load and unload files between a Buffer and GDAL's in-memory vsimem file system
  • Add gdal.Geometry.makeValid{Async}()

Changed

  • Correctly measure the wall time for the event loop warnings
  • Fix a number of memory leaks in gdal.SpatialReference.clone(), gdal.SpatialReference.cloneGeogCS() and when constructing a gdal.SpatialReference with a wkt argument
  • Remove a wasteful reallocation in gdal.Dataset.root

v3.3.1

17 Jun 16:41
Compare
Choose a tag to compare
v3.3.1 Pre-release
Pre-release

[3.3.1] 2021-06-17

Changed

  • gdal.DatasetLayers.get{Async}() now throws an Error if an invalid layer is requested instead of returning a null object
  • gdal.FeatureDefnFields.get{Async}() now throws an Error if an invalid field definition is requested instead of returning a null object
  • gdal.FeatureFields.get{Async}() now throws an Error if an invalid field is requested instead of returning a null object
    • it can still return null if the field exists in the definition but it is not set in the feature
  • gdal.GDALDrivers.get() now throws an Error if an invalid driver is requested instead of returning a null object
  • gdal.GeometryCollectionChildren.get() now throws an Error if an invalid sub-geometry is requested instead of returning a null object
  • gdal.LayerFeatures.get{Async}() now throws an Error if an invalid feature is requested instead of returning a null object
  • gdal.LayerFields.get{Async}() now throws an Error if an invalid field is requested instead of returning a null object
  • gdal.LineStringPoints.get() now throws an Error if an invalid point is requested instead of returning a null object
  • gdal.PolygonRings.get() now throws an Error if an invalid ring is requested instead of returning a null object
  • All gdal.Geometry methods that return a gdal.Geometry throw an Error on error instead of returning a null object
  • Fix #6, a case of sleeping in the GC while destroying the sibling of an object with an active asynchronous operation
  • Fix a potential race condition in the object store
  • Fix several potential race conditions in gdal.RasterBand
  • Correctly throw an Error with an empty message if a GDAL method fails without setting the error message instead of the last previously encountered error