Skip to content

v0.10.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jun 05:10
· 1445 commits to master since this release

Kart v0.10.0 introduces a new repository structure, which is the default, dubbed 'Datasets V3'. Datasets V2 continues to be supported, but all newly created repos are V3 going forward.

Datasets V3

  • Entire repositories can be upgraded from V2 to V3 using kart upgrade EXISTING_REPO NEW_REPO.
  • Anything which works in a V2 repo should work in a V3 repo and vice versa.
  • V3 repos are more performant for large datasets - compared to V2 repos where size-on-disk climbs quickly once dataset size exceeds 16 million features.

Other major changes in this release

  • The working copy can now be a MySQL database (previously only GPKG, PostGIS and SQL Server working copies were supported). The commands init, clone and create-workingcopy now all accept working copy paths in the form mysql://HOST/DBNAME #399
  • Import of tables using kart import is now supported from any type of database that Kart also supports writing to as a working copy - namely, GPKG, PostGIS, SQL Server and MySQL.
  • Support for rapidly calculating or estimating feature-counts - see below.

Other minor changes

  • Change to kart data ls JSON output, now includes whether repo is Kart or Sno branded.
  • Importing from a datasource now samples the first geometry to check the number of dimensions - in case the datasource actually has 3 or 4 dimensions but this fact is not stored in the column metadata (which is not necessarily required by all source types). #337
  • Bugfix: Creating a working copy while switching branch now creates a working copy with the post-switch branch checked out, not the pre-switch branch.
  • Bugfix: GPKG spatial indexes are now created and deleted properly regardless of the case (upper-case or lower-case) of the table name and geometry column.
  • A few bugfixes involving accurately roundtripping boolean and blob types through different working copy types.
  • Bugfix: 3D and 4D geometries are now properly roundtripped through SQL Server working copy.
  • Fix help text for discarding changes to refer to kart restore instead of kart reset, as kart restore is now the simplest way to discard changes. #426
  • import: PostGIS internal views/tables are no longer listed by --list or imported by --all-tables, and can't be imported by name either. #439
  • upgrade no longer adds a main or master branch to upgraded repos.

Calculating feature counts for diffs

Kart now includes ways to calculate or estimate feature counts for diffs. This encompasses the following changes:

  • diff now accepts --only-feature-count=<ACCURACY>, which produces a feature count for the diff.
  • log now accepts --with-feature-count=<ACCURACY> which adds a feature count to each commit when used with -o json.
  • All calculated feature counts are stored in a SQLite database in the repo's .kart directory.
  • Feature counts for commit diffs can be populated in bulk with the new build-annotations command