Skip to content

Releases: koordinates/kart

v0.15.1

22 Feb 03:08
Compare
Choose a tag to compare

Changes

  • Prevented committing local changes to linked datasets. #953
  • Fixes a bug where even datasets marked as --no-checkout are checked out when the working copy is first created. #954
  • Fixes a bug where minor changes to auxiliary metadata (.aux.xml) files that Kart is supposed to ignore were preventing branch changes. #957
  • Improved performance when the user filters a diff request to only show certain features. #962
  • Clean up the empty directory if a clone fails outright. #963
  • Fixes add-dataset to work for PostGIS working copies. #965
  • Fixes kart import --link to not fetch any tiles when importing into a bare Kart repo. #970

v0.15.0

04 Dec 01:14
Compare
Choose a tag to compare

Major changes

  • First and foremost: linked datasets! Kart now supports linking a tile-based dataset to tiles that are hosted on S3, so that the tiles don't need to be hosted on a Kart LFS server. For more information, see Linked Datasets. #905

Other changes

  • Native Apple Silicon builds are now available for macOS 12 and newer. #927
  • Adds support for disabling the working-copy checkout of specific datasets using the commands kart import DATASET --no-checkout or kart checkout --not-dataset=DATASET, and re-enabling it using kart checkout --dataset=DATASET. #926
  • Adds information on referencing and citing Kart to CITATION. #914
  • Fixes a bug where Kart would misidentify a non-Kart repo as a Kart V1 repo in some circumstances. #918
  • Improve schema extraction for point cloud datasets. #924
  • Some tweaks to --dry-run output of Kart LFS commands. #932
  • Now using Python 3.11 to build Kart, and vendored dependencies have been updated to newer versions. #933
  • Adds support for importing point-cloud and raster tiles directly from an S3 URL. #940
  • checkout: Smoother progressbar updates
  • Add library support for WEBP & ZSTD compression with GeoTIFF raster datasets. #951

v0.14.2

27 Sep 03:34
Compare
Choose a tag to compare

Changes

  • Fixes a bug where the GPKG application ID is not being written in GPKG working copies - other software reading the GPKG may be confused by this. #902
  • Fixes a bug where points could shift by small amounts while importing point-clouds if the tiles were converted to COPC. PDAL#4180

v0.14.1

20 Aug 21:50
Compare
Choose a tag to compare

Changes

  • Fixes a bug where Git subprocesses (such as git clone) don't prompt the user for credentials or to resolve SSH issues on Windows. #852
  • Better protection against XSS in the HTML diff viewer. #884
  • Speed-up: greatly reduces the time taken to update the index file after checking out LFS tiles to the working copy. #880
  • Adds --with-dataset-types option to kart data ls command (and deprecates kart data version). #892
  • Use journal_mode = WAL in annotations.db sqlite database. #898
  • Slightly modifies the GPKG working copy format to avoid an incompatiblity with Global Mapper. #899

v0.14.0

23 Jun 02:23
Compare
Choose a tag to compare

Major changes

  • First and foremost: raster datasets! Kart now supports raster datasets, which track changes to a set of GeoTIFF files. To get started, see Raster Datasets #794

Other changes

  • Fixes a bug where SIGINT (Ctrl+C) wasn't terminating Kart when using helper mode, affects macOS and Linux. #869
  • Fixes a bug where reflink wasn't working on macOS, leading to larger size on disk for point cloud datasets. #876

v0.13.0

15 Jun 02:27
Compare
Choose a tag to compare

Major fix: Corruption of Postgres NUMERIC values

⚠️ This release fixes a bug causing corruption of NUMERIC fields when read from Postgres databases. #863

If your repositories use the NUMERIC or NUMERIC(a,b) types and were imported/committed from a Postgres source or working copy, you may have lost data.

Specifically, any numeric values with a scale of zero (no digits after the decimal point) were affected. If the only numerics in your repositories were defined with a scale greater than zero, no data corruption should have occured.

For example, a value of 100 in a postgres database with the type NUMERIC(10, 0) or NUMERIC would have been imported as 1 - losing its trailing zeroes.

However, a value of 100.0 in a field declared as NUMERIC(10, 1) would not have been affected.

Other data types (integer, floating-point etc) are not affected, and repos sourced from other SQL databases (Geopackage, MSSQL, MySQL) were not affected.

Other changes

  • Allow kart to import non-spatial tables from PostgreSQL databases which don't have postGIS extension installed. #728
  • PostgreSQL working copy no longer requires PostGIS for aspatial datasets. #729
  • Fixes a bug where the current spatial filter isn't stored in the filesystem working copy, affecting the spatial filtering of point cloud datasets. #833
  • Fixes pthread_key leaks in a long running Kart process due to repeated loading and unloading of mod_spatialite. #838
  • Fixes a bug where features are written to the working copy without their CRS identifier during kart resolve. #840
  • Drop CI testing of amazonlinux:2, replace with amazonlinux:2023. #838
  • Point clouds (or rasters): during import, require the user to choose if they want to make a "cloud-optimized" dataset or a "preserve-format" dataset. #842
  • Point clouds (or rasters): require --no-convert-to-dataset-format to add new tiles to a dataset that can be committed as-is but only if the dataset's format is changed. Note --convert-to-dataset-format works as before. #842
  • Allow kart to check out attached files into the file-based working copy.
  • Fixes a bug where tab-completion wasn't working with helper mode, affects macOS and Linux. #851
  • Fixes a bug where git-lfs (and potentially other subprocesses) wasn't working reliably with helper mode, affects macOS and Linux. #853
  • import now informs the user to use add-dataset instead if they try to import a table that is already inside the working copy. #249
  • Fixes a bug where datasets with no CRS couldn't be checked out into a Geopackage working copy. #855
  • Upgrade libgit2 to v1.6.4, pygit2 to v1.12.1 (plus Kart-specific changes). #868

v0.12.3

26 Apr 23:25
Compare
Choose a tag to compare
  • Fix the issue where re-importing the same shapefile with --replace-existing would show spurious schema changes (and therefore row changes). #791
  • Added support for committing new layers to a kart repository with add-dataset and the table name. #249
  • Switched the crs84Extent field for point-cloud tiles to store a 4-point-polygons (instead of an axis-aligned envelope). #809
  • Improved progress reporting when importing tiles, in line with working copy checkout.
  • Added support for --diff-format option under kart show command to display different level of detail depending on the user's needs. #721
  • Allow for automatically resolving primary key conflicts during a merge using kart resolve --renumber=(ours|theirs) #814
  • Improved tile import performance for point-cloud (and eventually raster) by making it multithreaded. #818
  • Fixed a bug where Kart would require user.name and user.email to be set, even when GIT_AUTHOR_EMAIL and similar variables were set in the environment. #812
  • Update native dependencies. #820
  • Drop CI testing of Debian Stretch/oldoldstable. #820

v0.12.2

13 Feb 03:27
Compare
Choose a tag to compare

0.12.2

  • Fix for issue with launching an editor while using helper mode, affects macOS and Linux. #788

v0.12.1

09 Feb 21:08
Compare
Choose a tag to compare

0.12.1

Changes

The most notable change in 0.12.1 is the fix of a compatibility issue with the Kart QGIS plugin.

  • Modified point-cloud-import --replace-existing to reuse previously imported tiles, rather than reimport them, if tiles that have already been imported are imported again - potentially saving time and disk space. Note that point-cloud-import --update-existing already had this optimization. #783
  • Reintroduced support for log --graph. #784
  • Added checks to various commands to ensure user.name and user.email have been configured (ie to kart merge), to bring them in line with kart commit behaviour. #785

v0.12.0

26 Jan 21:40
Compare
Choose a tag to compare

0.12.0

Major changes

  • First and foremost: point cloud datasets! Kart now supports point cloud datasets which track changes to a set of LAS files. This required the addition of a file-system working copy (as opposed to the existing database working copy types), and integrating Git LFS to store the large files. To get started with point cloud datasets, see
    Point Cloud Datasets #565

Other changes

  • Install tab completion using kart install tab-completion instead of kart config --install-tab-completion. #701
  • "Primary key conflicts" - conflicts caused by reusing a primary key which is already assigned to a feature outside the spatial filter - are renamed to "spatial filter conflicts" for future proofing with other dataset types. Consequently, commit option --allow-pk-conflicts is renamed to --allow-spatial-filter-conflicts.
  • Support shell detection for tab completion installation when running in helper mode. #704
  • Bugfix: directing geojson diff output to the console didn't work in a multi-dataset repo, even if only one dataset had changed. #702
  • Improve argument parsing for kart diff and kart show. #706
  • Bugfix: don't allow kart merge to fast-forward if the user specifies a merge message. #705
  • diff, show, create-patch and apply now handle attached files (as could already be created using kart commit-files) #583
  • metadata.xml is now consistently treated as an attached file, rather than as a hidden "meta item". #583
  • apply and meta set now support --amend to amend an existing commit
  • Bugfix: don't allow kart diff to diff to/from HEAD if HEAD does not yet point to a commit.
  • Improved progress reporting during working-copy checkout. #738
  • Support for changing the primary key column of an existing dataset. #238
  • Help for the user get the working copy back into a valid state if a crash or similar causes it to become out of sync with the Kart repo. #751
  • Enable the background CLI helper on Linux & macOS in CI builds. The helper improves CLI performance significantly. #776

New Contributors

  • @olegsson made their first contribution in #709 -
    Use pyreflink to take advantage of copy-on-write capable filesystem when creating the working copy.

Compatibility

Point cloud datasets created using Kart 0.12 and later won't be visible when using earlier versions of Kart, but they are still present in the repository. Upgrading to Kart 0.12 is strongly recommended for anyone accessing repositories which contain point cloud datasets - in fact upgrading to 0.12 is generally recommended, it is easier to install 0.12 than to check what each repository contains.