{"name": "02CadGis Universal CAD/GIS Importer", "package_name": "zero2cadgis", "version": "1.0.0", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 1245, "uploaded_by": "geo140195philo", "upload_datetime": "2026-07-22T06:29:11.518025", "changelog": "## [1.0.0] - 2026-07-22\r\n\r\nFirst stable release. 02CadGis has been validated in QGIS 3.44 LTR and\r\nQGIS 4 on real municipal datasets, and the import pipeline is now consistent\r\nacross its CAD, GIS, and Netcad tools.\r\n\r\n### Highlights of the 1.0 baseline\r\n\r\n- **Netcad NCZ/NCA** \u2014 the independent, block-oriented NCZ Engine v2\r\n  (bounds-checked reader, geometry-decoder registry, lazy layer catalog),\r\n  verified byte-identical to the previous engine on a real 8163-entity\r\n  drawing, with selective per-layer decode and a fingerprinted index cache\r\n  for near-instant reopening.\r\n- **CAD (DXF / DGN)** \u2014 split into selectable CAD layers by `Layer` / `Level`,\r\n  with collinear simplification, duplicate removal, and closure tolerance.\r\n- **GIS** \u2014 DXF, KML/KMZ (all documents), GML, GeoJSON, delimited CSV/TSV\r\n  with geometry detection, SpatiaLite/SQLite, GPX, FileGDB, and Personal GDB,\r\n  each with a pre-conversion layer preview and a fingerprinted catalog cache.\r\n- **Three output modes** \u2014 GeoPackage, temporary scratch layers, or live\r\n  zero-copy references for browsing large databases without conversion.\r\n- **Quality gates** \u2014 unit tests, a pure-Python cache test suite, real-QGIS\r\n  smoke tests on two QGIS majors, a clean Hub security scan, and a clean\r\n  Qt6 enum audit.\r\n\r\nNo functional change from 0.8.0; this release marks the API and behavior as\r\nstable.\r\n\r\n## [0.8.0] - 2026-07-22\r\n\r\n### Added\r\n\r\n- **Layer-catalog cache for Geodatabase and database sources.** The first\r\n  time a `.gdb`, `.mdb`, or other multi-layer OGR source is inspected, its\r\n  layer catalog (names, geometry types, feature counts) is cached by a\r\n  content fingerprint. Reopening the same unchanged source lists its layers\r\n  with no driver reopen \u2014 on a real FileGDB about 118x faster, and on a\r\n  1.1 GB Personal Geodatabase (whose PGeo/ODBC open dominated) over 2000x\r\n  faster. The cache invalidates automatically when a source changes; a new\r\n  **Clear catalog cache** button and the `ZERO2CADGIS_OGR_CACHE_DISABLE`\r\n  environment variable control it.\r\n- **DXF / DGN split into CAD layers.** DXF and DGN files store every entity\r\n  in a single table tagged with a CAD layer name (DXF `Layer`) or level\r\n  (DGN `Level`). The converter now offers **Split into CAD layers**, which\r\n  lists each CAD layer with its geometry families and feature count so you\r\n  can select exactly the ones you want; each becomes its own QGIS layer\r\n  (split further by geometry type when writing a GeoPackage) instead of one\r\n  merged blob.\r\n- **Full multi-document KMZ import.** Every KML document inside a KMZ is now\r\n  read, not just the first, so archives with several KML files import all of\r\n  their layers (and GroundOverlays), with `doc.kml` treated as the primary.\r\n\r\n### Changed\r\n\r\n- The three output destinations (GeoPackage, temporary scratch, live) are now\r\n  a clear **Output Mode** radio group instead of stacked checkboxes, and the\r\n  source panel shows when a layer list was served from the catalog cache.\r\n\r\n## [0.7.0] - 2026-07-22\r\n\r\n### Added\r\n\r\n- **Live layer loading (no conversion).** The CAD & GIS Converter gained a\r\n  third output mode: **Load selected layers live**. Instead of writing a\r\n  GeoPackage or copying features into memory, the checked layers are added\r\n  straight to QGIS as zero-copy references to the source file. Nothing is\r\n  read, copied, or reprojected up front, so even very large multi-layer\r\n  databases open almost instantly \u2014 on a real municipal FileGDB, two layers\r\n  totalling 4.27 million features loaded live in about 0.27 s, versus a full\r\n  GeoPackage conversion that would copy every feature. QGIS reads features on\r\n  demand and reprojects on the fly using each layer's own CRS.\r\n- Live loading is aimed at browsing **ArcGIS FileGDB (`.gdb`)** and\r\n  **Personal Geodatabase (`.mdb`)** files without converting the whole\r\n  dataset, and works for any multi-layer OGR source. Use GeoPackage output\r\n  later when you need a standalone, transformed copy.\r\n\r\n### Changed\r\n\r\n- The convert button now relabels itself to match the selected output mode\r\n  (Convert to GeoPackage / Import as Scratch Layers / Add Live Layers to\r\n  Canvas), and the scratch and live modes are mutually exclusive.\r\n\r\n## [0.6.0] - 2026-07-22\r\n\r\n### Added\r\n\r\n- Fingerprinted local index cache for Netcad drawings. The first time a\r\n  drawing is opened, its metadata, layer catalog, and attribute tables are\r\n  written to a small per-user JSON cache; reopening the same unchanged file\r\n  shows its layer tree with no file read and no block scan. On a real\r\n  1.2 MiB drawing this made reopening the catalog about 160x faster\r\n  (~27 ms to ~0.2 ms). Geometry is still decoded from the file on import.\r\n- The cache is keyed by a `(size, mtime_ns)` fingerprint and a cache-format\r\n  version, so it invalidates automatically when a file changes. A new\r\n  **Clear cache** button on the Netcad tab clears it on demand, and the\r\n  `ZERO2CADGIS_NCZ_CACHE_DISABLE` environment variable turns it off.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/zero2cadgis/version/1.0.0/download/"}