A minor bugfix release, mostly fixes missing dwg2ps.1
See https://www.gnu.org/software/libredwg/ and https://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS?h=0.13.3
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.3.tar.gz (20.1MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.3.tar.xz (10.1MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.3.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.3.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.13.3
Here are the SHA256 checksums:
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.13.3.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
A minor bugfix release, fixes error: cannot find input file: `test/xmlsuite/Makefile.in'
See https://www.gnu.org/software/libredwg/ and https://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS?h=0.13.2
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.2.tar.gz (20.1MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.2.tar.xz (10.1MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.2.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.2.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.13.2
Here are the SHA256 checksums:
7c517bc58267fb97ae063568969b16b248b74cb0bfe4a8232eec4f751d9468ff libredwg-0.13.2.tar.gz
9ab76010a6536ebf86df50f4973cb6cb2fc8aa2677084b8d22ac8320052d9329 libredwg-0.13.2.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.13.2.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
A minor bugfix release, but broken.
error: cannot find input file: `test/xmlsuite/Makefile.in'
You can safely patch the test/xmlsuite error away.
See https://www.gnu.org/software/libredwg/ and https://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS?h=0.13.1
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.1.tar.gz (17.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.1.tar.xz (9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.1.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.1.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.13.1
Here are the SHA256 checksums:
4f0a8920a0d500c5df02ea4cddad0665397642ed39852bc401580a253ac5b911 libredwg-0.13.1.tar.gz
33bca643ec730143d252f6ddd2bb1d69062416f3a94b05b9e90eb8ccdbe149a4 libredwg-0.13.1.tar.xz
34fa0603fc8a0c4d9550096420a807457a3be34f99042568f2264f426e922f9c libredwg-0.13.1-win32.zip
89d67be07fd08a88adfe1870587ffa3fe8a121eebb915c92d01b7ab95bc4e572 libredwg-0.13.1-win64.zip
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.13.1.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
Can now also read and write all DWG formats pre-R13.
See https://www.gnu.org/software/libredwg/ and https://github.com/LibreDWG/libredwg/blob/0.13/NEWS
Now we'll finish work on encode support for r2004+.
Here are the compressed but broken sources:
error: cannot find input file: `test/xmlsuite/Makefile.in'
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.tar.gz (17.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.tar.xz (9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.13.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
You can safely patch the test/xmlsuite error away.
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.13
Here are the SHA256 checksums:
9682b0c5e6d91720666118059c67bf614e407a49b1a3c13312fe6a6c8f41d9cf libredwg-0.13.tar.gz
dd906f59d71b26c13fd2420f50fc50bea666fd54acc764d8c344f7f89d5ab94e libredwg-0.13.tar.xz
cc5df6456cdc7d0c9ebcd2eb798b81a80aab6b3a8f5417d4598262f3d2120886 libredwg-0.13-win32.zip
34774d2cd1c87f00a1d647f6c172ff92d02bab4ebe586badd883772fb746218b libredwg-0.13-win64.zip
[*] Use a .sig file to verify that the coresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.13.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
Fixed many more minor fuzzing errors.
See https://www.gnu.org/software/libredwg/ and NEWS
Here are the compressed sources:
https://ftp.gnu.org/gnu/libredwg/libredwg-0.12.5.tar.gz (17.4MB)
https://ftp.gnu.org/gnu/libredwg/libredwg-0.12.5.tar.xz (9MB)
Here are the GPG detached signatures[*]:
https://ftp.gnu.org/gnu/libredwg/libredwg-0.12.5.tar.gz.sig
https://ftp.gnu.org/gnu/libredwg/libredwg-0.12.5.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.12.5
Here are the SHA256 checksums:
4b5b38943e4a060bfee34a8542701b26102262610b1dd4dc58d76fadfb995106 libredwg-0.12.5.tar.gz
d3de19cde6adc27cb65cc353ae01a1e8aa15d1ab6ca4ce2563b76e73e8b2f1bd libredwg-0.12.5.tar.xz
65f00b1d02012a40b09adae1e10956d17374de46d189b18236f824841e958111 libredwg-0.12.5-win32.zip
dfb609aa05883056effaaf51f0a95617803e06b1c4e4572cd3cee948087cbb35 libredwg-0.12.5-win64.zip
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.12.5.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
Fixed many more minor fuzzing errors.
See https://www.gnu.org/software/libredwg/ and https://github.com/LibreDWG/libredwg/blob/0.12.4/NEWS
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.4.tar.gz (17.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.4.tar.xz (9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.4.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.4.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.12.4
Here are the SHA256 checksums:
```
081e9a70be529542b905b04be73e3e7590d60b1e976c0227f47004f3373ed9b1 libredwg-0.12.4.tar.gz
918857f119c34d9bef17321b646c4ba0fbfaa93dcaced403bae1933e1d9a6517 libredwg-0.12.4.tar.xz
```
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.12.4.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
Add llvmfuzz and oss-fuzz integration, fixed many minor fuzzing errors. libfuzzer is much better than afl++ and honggfuzz.
See https://www.gnu.org/software/libredwg/ and https://github.com/LibreDWG/libredwg/blob/0.12.3/NEWS
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.3.tar.gz (17.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.3.tar.xz (9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.3.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.3.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.12.3
Here are the SHA256 checksums:
47933ccc0230c66c571606f7a5897fa1fb0f664fba871b883f1a785783f58a33 libredwg-0.12.3.tar.gz
b31a33466ba23312119138d0ac022399841ee0f40d9bbd970410a2fc471e15ee libredwg-0.12.3.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.12.3.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the gpg --verify command.
Minor bugfix:
See https://www.gnu.org/software/libredwg/ and https://github.com/LibreDWG/libredwg/blob/0.12.2/NEWS
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.2.tar.gz (17.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.2.tar.xz (9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.2.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.2.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.12.2
Here are the SHA256 checksums:
8b4c0ddbd52598c5849e2c4b267411e557f282f336ef497afc919d516c0c394e libredwg-0.12.2.tar.gz
9227f4cb8a4aa1b785038e2c583affe0d84194c97dca4794e143258b0302fb85 libredwg-0.12.2.tar.xz
6fe27f0e1f73b8ba1c9eb20a9597fe2781207c68cb3f8883e52c60f7b3ea2c27 libredwg-0.12.2-win32.zip
92d6fddb5dbe108edf8381e8c87889edd082d1c75b48b30bda8ca1b5fab00628 libredwg-0.12.2-win64.zip
[*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this:
`gpg --verify libredwg-0.12.2.tar.gz.sig`
If that command fails because you don't have the required public key, then run this command to import it:
`gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414`
and rerun the `gpg --verify` command.
LibreDWG version 0.12.1 - 2021/01/31 - beta:
Major bugfixes:
* fixed dwg_bmp() and dwgbmp for >= r2004. Wrong dat offset.
* Fixed EED with code 3 for layer handles. (Fixes GH #310, shanzhugit)
* Fixed bit_convert_TU utf8 conversion with ubsan, wrong endian-ness.
Various fuzzing errors detected and fuzzed by Chew Kin Zhong (See GH #304):
* Fix possible null-deref with broken DWG's in dwg_get_first_object.
* Fix possible null-deref with broken DWG's in dwg_find_class with empty
CLASS.dxfname. (GH #309)
* Fix possible null-deref with broken DWG's in dwglayers with empty
LAYER.name. (GH #308)
* Fix short integer overflow in EED checks when decoding malcrafted DWG's,
which also led to encode buffer overflows. (GH #307)
* Fix possible null-derefs with broken DWG's in json export. (GH #306)
* Fix possible null-deref with broken DWG's in dwg_next_entity iterator. (GH #305)
* Fix wrong TFF overflow check for static strings, where we cannot set
the string nor the size. (GH #304)
* Fix heap-overflows and invalid free's when decoding broken 3DSOLID's
in malcrafted DWG's. Only accept version 1 and 2. (GH #304)
Minor features:
* Added string converters with known TU sizes: bit_TU_to_utf8_len, bit_read_TU_len.
See https://www.gnu.org/software/libredwg/ and [NEWS](https://github.com/LibreDWG/libredwg/blob/0.12.1/NEWS)
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.1.tar.gz (17.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.1.tar.xz (9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.1.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.1.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.12.1
Here are the SHA256 checksums:
```
5a71bcb391f9da29e268e86edda3911ae0763fcdba3b21a3c139510474098542 libredwg-0.12.1.tar.gz
dedf502b7085bed716d4ffb669d1b699a988eabd928a48d13e30176b43823128 libredwg-0.12.1.tar.xz
cfa8e91e12761b14d3d6826cf3b5b336d12db74d805a99defe45bb25f029ae17 libredwg-0.12.1-win32.zip
1fd2a4c6c682a7ed9263d0c30780545b8c82f038fc483a206d7eeaf4d41c5cc1 libredwg-0.12.1-win64.zip
```
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
`gpg --verify libredwg-0.12.1.tar.gz.sig`
If that command fails because you don't have the required public key,
then run this command to import it:
`gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414`
and rerun the `gpg --verify` command.
New add API to easily create new DWGs (or DXFs) from scratch, for CAD programs.
New dwgadd helper.
Removed deprecated old API functions.
New features:
* Add a new experimental dwg_add_ENTITY/OBJECT API for easier CAD write support,
starting with GauchoCAD and SolveSpace. Most entities and some objects.
Similar to the VBA interface and object model, just with our names.
* cmake support enhanced to programs and LTO. Should be usable now by its own,
but MSVC is untested.
* Add a new experimental dwgadd helper, to create fresh DWG's easily from scratch.
* Added support for many more object/entity types:
Now stable: ACSH_CONE_CLASS ACSH_TORUS_CLASS BLOCKALIGNMENTPARAMETER
BLOCKALIGNMENTGRIP BLOCKLOOKUPGRIP BLOCKROTATIONGRIP
Now unstable:
ALDIMOBJECTCONTEXTDATA ASSOC2DCONSTRAINTGROUP ASSOCACTIONPARAM
ASSOCARRAYACTIONBODY ASSOCARRAYMODIFYPARAMETERS
ASSOCARRAYPATHPARAMETERS ASSOCARRAYPOLARPARAMETERS
ASSOCARRAYRECTANGULARPARAMETERS ASSOCASMBODYACTIONPARAM
ASSOCCOMPOUNDACTIONPARAM ASSOCDIMDEPENDENCYBODY ASSOCFACEACTIONPARAM
ASSOCOBJECTACTIONPARAM ASSOCOSNAPPOINTREFACTIONPARAM
ASSOCPATHACTIONPARAM ASSOCPOINTREFACTIONPARAM ASSOCVARIABLE
ASSOCVERTEXACTIONPARAM BLKREFOBJECTCONTEXTDATA
BLOCKALIGNEDCONSTRAINTPARAMETER BLOCKANGULARCONSTRAINTPARAMETER
BLOCKARRAYACTION BLOCKDIAMETRICCONSTRAINTPARAMETER
BLOCKHORIZONTALCONSTRAINTPARAMETER BLOCKLINEARCONSTRAINTPARAMETER
BLOCKLOOKUPACTION BLOCKLOOKUPPARAMETER BLOCKPARAMDEPENDENCYBODY
BLOCKPOINTPARAMETER BLOCKPOLARGRIP BLOCKPOLARPARAMETER
BLOCKPOLARSTRETCHACTION BLOCKRADIALCONSTRAINTPARAMETER
BLOCKREPRESENTATION BLOCKSTRETCHACTION BLOCKUSERPARAMETER
BLOCKVERTICALCONSTRAINTPARAMETER BLOCKXYGRIP DATALINK EVALUATION_GRAPH
FCFOBJECTCONTEXTDATA GRADIENT_BACKGROUND GROUND_PLANE_BACKGROUND
IBL_BACKGROUND IMAGE_BACKGROUND LEADEROBJECTCONTEXTDATA
MTEXTOBJECTCONTEXTDATA PARTIAL_VIEWING_FILTER PARTIAL_VIEWING_INDEX
PLANESURFACE POINTCLOUD POINTCLOUDCOLORMAP POINTCLOUDDEF
POINTCLOUDDEFEX POINTCLOUDDEF_REACTOR POINTCLOUDDEF_REACTOR_EX
POINTCLOUDEX RENDERENTRY RENDERENVIRONMENT RENDERGLOBAL
SKYLIGHT_BACKGROUND SOLID_BACKGROUND TEXTOBJECTCONTEXTDATA
Debugging changes: Renamed ATEXT to ARCALIGNEDTEXT,
Added POLARGRIPENTITY.
* Added dwg_obj_generic_handlevalue(), dwg_obj_generic_dwg(),
API breaking changes:
* Disable old deprecated functional API, all object-specific field getters
and setters. Re-enable with -DUSE_DEPRECATED_API
* Renamed UNDERLAY to {PDF,DGN,DWF}UNDERLAY and likewise PDFDEFINITION, ...
* Disable static for Windows. This shrinks the released Windows zip file
from 41MB to 24MB. The 0.10.1 had 20MB, 0.6.1 15MB.
Minor features:
* fix more C++ compatiblity: restrict is __restrict, disable __nonnull.
Now successfully used in SolveSpace.
* Add gperf hash tables for all objects and dxfclasses, for faster lookup
dxfnames to create classes, and object names with most properties.
Previously lookup was linear, now constant. Needs also less memory.
Simplified API: dwg_obj_generic_parent(), dwg_ent_generic_parent() to take void.
* Added public geometry helpers: dwg_geom_angle_normalize(), dwg_geom_normalize(),
dwg_geom_cross(), dwg_geom_transform_OCS()
Major bugfixes:
* Enable python shared lib, add -no-undefined and PYTHON_LIBS.
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.tar.gz (17.4 MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.tar.xz (9 MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.12.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.12
Here are the SHA256 checksums:
fe35c931529c1bdbc2d5d1d7ca3dff2d70615271f8f7b77318b9a20873e7fe0e libredwg-0.12.tar.gz
a85573cd100d303e01b7e75bb80d7b87d927a4c7c017848c0998aa11ffa3aa7c libredwg-0.12.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.12.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
out_dxf bugfixes mostly. 0.11 failed to produce dxf files which could
be imported into AutoCAD. This bugfix release improves DXF importing
from 10% to about 90%. But beware: Some dwg2dxf DXF files still can
silently crash AutoCAD, so be sure to save your DWG before DXFIN.
Most 3DSOLID's still cannot be imported via DXF, but some can now.
Major bugfixes:
* Fixed decode of Unicode string streams (GH #279)
* Fixed UCS-2 to UTF-8 conversion for the chars 128-255.
Fixed DXF output of many objects: VISUALSTYLE, HATCH, DIMENSION, ATTDEF,
ATTRIB, TEXT, VIEWPORT, INSERT, SEQEND, VERTEX, BLOCK, STYLE, MULTILEADER,
DICTIONARY, XRECORD INT64 type, MLINESTYLE angles, SPATIAL_FILTER.origin,
SPATIAL_INDEX class appname, duplicate STYLE eed, ACDBPLACEHOLDER for r13-r14,
LAYER.name with |, LAYER.plotflag for Defpoints, LTYPE.shape_flag, STLYE.flag,
PDFUNDERLAY group 170,
ACSH_CHAMFER_CLASS, ACSH_FILLET_CLASS, ACSH_BOOLEAN_CLASS, BLOCKBASEPOINTPARAMETER,
PROXY_OBJECT, PROXY_ENTITY.
HEADER.DIMSAV.
Common: lineweight, shadow_flags (GH #275)
* Moved PSPACE entities from BLOCKS to ENTITIES (GH #277)
* Fixed \r\n quoting in DXF texts (GH #275)
* Generalize and fix DXF text splitup into 255 chunks and quoting, add basic
shift-jis quoting support for Katagana and Hiragana letters
(Japanese \M+1xxxx => Unicode \U+XXXX)
* Added indxf dwg_has_subclass check to avoid buffer overflows when writing to
wrong subclasses. (GH #295)
* Fixed dwg_dim_blockname calculation, esp. for anonymous blocks.
* Improved SAB 2 to SAT 1 conversion: Split overlarge blocks into block_size of max 4096.
Add "^ " quoting rule.
* Fixed decode of empty classes section, esp. for r13c3 and r14.
* Keep IDBUFFER for old DXFs (r13-r14)
* Fixed SummaryInfo types from T to TU16, relevant for DXF headers also (GH #275)
* Add missing UTF-8 conversion in geojson for TEXT, MTEXT, GEOPOSITIONMARKER. (GH #271)
* Fixed and improved some Dockerfile, added a check-docker target.
* Drop unneeded perl/LibreDWG.xs, we rather use the generated c directly.
Minor features:
* Add CMake basic library support, so the library can be included into cmake projects.
(no programs)
* Improved header C++ compat.
* Promoted ACSH_HISTORY_CLASS to stable. Needed for ACIS entities in DXF.
* Added to examples: filt_sat.pl and dec_sat.pl to compare and decode DXF sat parts.
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.1.tar.gz (15.7MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.1.tar.xz (8MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.1.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.1.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.11.1
Here are the SHA256 checksums:
269629b0a4e5dc54e86790501200e4a6917eddb51f9303f75657adb088931690 libredwg-0.11.1.tar.gz
b6dd03ff30c3fcfb5b82a00176bd184b58965d7198228f2cc5bf923a99f1a6f7 libredwg-0.11.1.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.11.1.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
New features:
* new programs dwgfilter, dxfwrite.
dwgfilter allows custom jq queries.
dxfwrite allows version conversions, which dwgwrite does not yet support.
* Can now read all 2004+ section types: added AppInfo, FileDepList,
Template, ObjFreeSpace;
and as blob: RevHistory, Security, AppInfoHistory.
AcDsPrototype_1b datastore not fully yet, so we cannot reliably yet read
new ACIS r2013+ SAB blobs stored there, but we extract them from the AcDs
blob by brute-force.
* Added new string types: T and T16, TU16, T32 (for those sections)
* Convert ACIS BinaryFile v2 SAB to old encrypted ACIS SAT v1 data, needed
to convert pre-r2013 ACIS v2 entities to DXF.
* Added support for many object/entity types:
Now stable: ACSH_BOOLEAN_CLASS ACSH_BOX_CLASS ACSH_CYLINDER_CLASS
ACSH_FILLET_CLASS ACSH_SPHERE_CLASS ACSH_WEDGE_CLASS LIGHT MESH
CELLSTYLEMAP DETAILVIEWSTYLE DYNAMICBLOCKPURGEPREVENTER INDEX
GEODATA LAYERFILTER MULTILEADER PLOTSETTINGS SECTION_MANAGER
SECTIONOBJECT SECTIONVIEWSTYLE VBA_PROJECT VISUALSTYLE.
and some Dynblocks: BLOCKGRIPLOCATIONCOMPONENT BLOCKBASEPOINTPARAMETER
BLOCKFLIPACTION BLOCKFLIPPARAMETER BLOCKFLIPGRIP BLOCKLINEARGRIP
BLOCKMOVEACTION BLOCKROTATEACTION BLOCKSCALEACTION
BLOCKVISIBILITYGRIP
New unstable: ACSH_BREP_CLASS ACSH_CHAMFER_CLASS ACSH_CONE_CLASS
ACSH_PYRAMID_CLASS ACSH_TORUS_CLASS ARC_DIMENSION ASSOCACTION
ASSOCBLENDSURFACEACTIONBODY ASSOCEXTENDSURFACEACTIONBODY
ASSOCEXTRUDEDSURFACEACTIONBODY ASSOCFILLETSURFACEACTIONBODY
ASSOCGEOMDEPENDENCY ASSOCLOFTEDSURFACEACTIONBODY ASSOCNETWORK
ASSOCNETWORKSURFACEACTIONBODY ASSOCOFFSETSURFACEACTIONBODY
ASSOCPATCHSURFACEACTIONBODY ASSOCREVOLVEDSURFACEACTIONBODY
ASSOCTRIMSURFACEACTIONBODY ASSOCVALUEDEPENDENCY BACKGROUND
BLOCKLINEARPARAMETER BLOCKLOOKUPGRIP BLOCKROTATIONPARAMETER
BLOCKXYPARAMETER BLOCKVISIBILITYPARAMETER HELIX
LARGE_RADIAL_DIMENSION LIGHTLIST MATERIAL MENTALRAYRENDERSETTINGS
RAPIDRTRENDERSETTINGS RENDERSETTINGS SECTION_SETTINGS
SPATIAL_INDEX SUN TABLESTYLE.
Fixed PROXY_OBJECT, PROXY_ENTITY.
Demoted to Unstable: SPATIAL_INDEX
Demoted to Debugging: PERSSUBENTMANAGER DIMASSOC
Note: Unstable objects are not preserved via DXF conversion, just
the external import is supported.
Add most Constraint (ASSOC*) and DYNBLOCK objects (BLOCK*).
Debugging classes added (needs --with-debug option):
ACMECOMMANDHISTORY ACMESCOPE ACMESTATEMGR ACSH_EXTRUSION_CLASS
ACSH_HISTORY_CLASS ACSH_LOFT_CLASS ACSH_REVOLVE_CLASS
ACSH_SWEEP_CLASS ALDIMOBJECTCONTEXTDATA ALIGNMENTPARAMETERENTITY
ANGDIMOBJECTCONTEXTDATA ANNOTSCALEOBJECTCONTEXTDATA
ASSOC3POINTANGULARDIMACTIONBODY ASSOCACTIONPARAM
ASSOCARRAYACTIONBODY ASSOCARRAYMODIFYACTIONBODY
ASSOCARRAYMODIFYPARAMETERS ASSOCARRAYPATHPARAMETERS
ASSOCARRAYPOLARPARAMETERS ASSOCARRAYRECTANGULARPARAMETERS
ASSOCASMBODYACTIONPARAM ASSOCCOMPOUNDACTIONPARAM
ASSOCDIMDEPENDENCYBODY ASSOCEDGEACTIONPARAM
ASSOCEDGECHAMFERACTIONBODY ASSOCEDGEFILLETACTIONBODY
ASSOCFACEACTIONPARAM ASSOCMLEADERACTIONBODY ASSOCOBJECTACTIONPARAM
ASSOCORDINATEDIMACTIONBODY ASSOCOSNAPPOINTREFACTIONPARAM
ASSOCPATHACTIONPARAM ASSOCPOINTREFACTIONPARAM
ASSOCRESTOREENTITYSTATEACTIONBODY ASSOCROTATEDDIMACTIONBODY
ASSOCSWEPTSURFACEACTIONBODY ASSOCVARIABLE ASSOCVERTEXACTIONPARAM
ATEXT BASEPOINTPARAMETERENTITY BLKREFOBJECTCONTEXTDATA
BLOCKALIGNEDCONSTRAINTPARAMETER BLOCKALIGNMENTGRIP
BLOCKALIGNMENTPARAMETER BLOCKANGULARCONSTRAINTPARAMETER
BLOCKARRAYACTION BLOCKDIAMETRICCONSTRAINTPARAMETER
BLOCKHORIZONTALCONSTRAINTPARAMETER BLOCKLINEARCONSTRAINTPARAMETER
BLOCKLOOKUPACTION BLOCKLOOKUPPARAMETER BLOCKPARAMDEPENDENCYBODY
BLOCKPOINTPARAMETER BLOCKPOLARGRIP BLOCKPOLARPARAMETER
BLOCKPOLARSTRETCHACTION BLOCKPROPERTIESTABLE
BLOCKPROPERTIESTABLEGRIP BLOCKRADIALCONSTRAINTPARAMETER
BLOCKREPRESENTATION BLOCKROTATIONGRIP BLOCKSTRETCHACTION
BLOCKUSERPARAMETER BLOCKVERTICALCONSTRAINTPARAMETER BLOCKXYGRIP
CONTEXTDATAMANAGER CSACDOCUMENTOPTIONS CURVEPATH DATALINK
DATATABLE DMDIMOBJECTCONTEXTDATA DYNAMICBLOCKPROXYNODE
EXTRUDEDSURFACE FCFOBJECTCONTEXTDATA FLIPPARAMETERENTITY
GEOPOSITIONMARKER LAYOUTPRINTCONFIG LEADEROBJECTCONTEXTDATA
LINEARPARAMETERENTITY LOFTEDSURFACE MLEADEROBJECTCONTEXTDATA
MOTIONPATH MPOLYGON MTEXTATTRIBUTEOBJECTCONTEXTDATA
MTEXTOBJECTCONTEXTDATA NAVISWORKSMODEL NURBSURFACE
ORDDIMOBJECTCONTEXTDATA PERSUBENTMGR PLANESURFACE
POINTPARAMETERENTITY POINTPATH RADIMLGOBJECTCONTEXTDATA
RADIMOBJECTCONTEXTDATA RENDERENTRY RENDERENVIRONMENT RENDERGLOBAL
REVOLVEDSURFACE ROTATIONPARAMETERENTITY RTEXT SUNSTUDY
SWEPTSURFACE TABLE TABLECONTENT TEXTOBJECTCONTEXTDATA
TVDEVICEPROPERTIES VISIBILITYGRIPENTITY VISIBILITYPARAMETERENTITY
XYPARAMETERENTITY
* Started support to write r2004+ format DWG's (which includes also r2010,
r2013, r2018, but not r2007), but this does not work fully yet.
* Added all remaining Dwg_Version types: R_1_3 for AC1.3, R_2_4 for AC1001, and
AC1013 for R_13c3.
* The header can now be compiled wth C++ compilers, needed for some bindings.
Re-arranged nested structs, names, malloc casts, reserved keywords like this,
template.
Started with the gambas bindings, a Visual Basic clone for unix.
* DXF and JSON importers now create PLACEHOLDER objects for unsupported
objects.
* 3DSOLID got now material properties and revisionguid fields.
* Many parts of the API are now auto-generated/updated: dwg.i, dwg_api.c, dwg_api.h,
unions and setup in dwg.h
* Added geojsonhint or gjv linter support. Fixed all violations (esp. point arrays,
and POLYLINE_2D). Add a Feature id (the handle)
* Added support for GeoJSON RFC7946, write closed polygons, re-order by the
right-hand rule..
* new API functions:
dwg_ctrl_table, dwg_handle_name, dwg_find_dicthandle_objname, dwg_variable_dict,
dwg_next_entity, get_next_owned_block_entity, dwg_section_name,
dwg_version_type, dwg_version_as, dwg_errstrings, dwg_rgb_palette,
dwg_find_color_index.
* new dynapi functions: dwg_dynapi_subclass_value, dwg_dynapi_subclass_field,
dwg_dynapi_fields_size.
(BTW. the dynapi proved to be a godsend for the json importer)
API breaking changes:
* Renamed dwg_section_type to dwg_section_wtype, added a new dwg_section_type
for ASCII names.
* Removed all extra null_handle fields, and add the missing handle fields.
* Renamed all dwg_add_OBJECT functions to dwg_setup_OBJECT. They didn't add them, just setup
the internal structures.
* Renamed VPORT_ENTITY_HEADER to VX_TABLE_RECORD and VPORT_ENTITY_CONTROL to VX_CONTROL.
Also section enum SECTION_VPORT_ENTITY to SECTION_VX and dwg->vport_entity_control likewise.
* Hundreds of field renames due to harmonization efforts with the more generic
JSON importer. Note that some deprecated dwg_api accessor functions were also
renamed accordingly, but not all.
For the stable objects:
TEXT,ATTRIB,ATTDEF,SHAPE,STYLE: oblique_ang => oblique_angle,
TEXT,ATTRIB,ATTDEF,SHAPE,MTEXT,UNDERLAY,TABLE,...: insertion_pt => ins_pt,
DIMENSION_* _13_pt => xline1_pt, _14_pt => xline2_pt,
ext_line_rotation => oblique_angle
DIMENSION_ANG2LN _16_pt => xline1start_pt, _14_pt => xline2start_pt,
_13_pt => xline1end_pt, first_arc_pt => xline2end_pt
VIEW,VIEWPORT: view_direction => VIEWDIR (as it overrides this header),
view_twist => twist_angle,
view_height => VIEWSIZE,
snap_angle => SNAPANG,
view_center => VIEWCTR,
snap_base => SNAPBASE,
snap_spacing => SNAPUNIT,
grid_spacing => GRIDUNIT,
ucs_per_viewport => UCSVP,
ucs_origin => ucsorg,
ucs_x_axis => ucsxdir,
ucs_y_axis => ucsydir,
ucs_ortho_view_type => UCSORTHOVIEW
OLEFRAME.data_length => data_size,
LEADER.offset_to_block_ins_pt => inspt_offset
TOLERANCE.text_string => text_value
STYLE.vertical => is_vertical, shape_file => is_shape, fixed_height => text_size,
extref => xref
DICTIONARYVAR.intval => schema, str => strvalue
COMMON_TABLE_FIELDS: xrefref => is_xref_ref, xrefindex_plus1 => is_xref_resolved,
xrefdep => is_xref_dep. new common xref HANDLE field (was null_handle in many objects)
LAYER got a new visualstyle handle.
LTYPE.dashes got a new style handle and text field.
LTYPE has no styles H* anymore, moved to dashes.
LTYPE.text_area_is_present => has_strings_area, extref_handle => xref.
VIEW, VIEWPORT:
height => VIEWSIZE, width => view_width, center => VIEWCTR, target => view_target,
direction => VIEWDIR, front_clip => front_clip_z, back_clip => back_clip_z,
pspace_flag => is_pspace,
origin => ucsorg, x_direction => ucsxdir, y_direction => ucsydir,
elevation => ucs_elevation, orthographic_view_type => UCSORTHOVIEW,
camera_plottable => is_camera_plottable
UCS got a new orthopts array, and the renames as above.
DIMSTYLE got a new flag0. flag is computed from that.
VPORT_ENTITY_HEADER flag1 => is_on, vport_entity => viewport, xref_handle => xref,
new prev_entity handle.
MLINESTYLE index/ltype union changed to seperate lt_index, lt_ltype fields.
They were overwriting each other on version conversions.
MLINESTYLE.desc => description, data_length => data_size.
HATCH booleans got a is_ prefix.
MTEXT.annotative => is_annotative.
MTEXT.drawing_dir => flow_dir.
XRECORD.num_databytes => xdata_size
MLEADERSTYLE text_frame => is_text_frame, is_new_format removed.
changed => is_changed.
DICTIONARYYWDFLT got a new format_flags and data_handle
SCALE.has_unit_scale => is_unit_scale
SORTENTSTABLE.dictionary => block_owner
Type changes in stable objects:
SPLINE.fit_pts are now ordinary BITCODE_3DPOINT*
SPLINE.color is BL, scale is now 3BD
* Changed truecolor attributes in GeoJSON with a # prefix.
Major bugfixes:
* Fixed converting ASCII from and to Unicode strings, when converting across
versions. Embed Unicode as \U+XXXX into ASCII, and decode it back to Unicode.
Honor dat,dwg->from_version and use the new FIELD_T as seperate type. (#185)
* Invalid numbers (read failures) are converted to 0.0 in the released version.
* Fixed wrong CMC color reads and writes, check the method, lookup the index,
support a CMTC truecolor-only type.
* Fixed EED writes, by writing to seperate streams and merging them at the end,
with proper size calculation.
* All remaining assertions are now protected. (GH #187)
Minor bugfixes:
* Fixed uncompressed sections overflows, some fuzzed (GH #183), some
with the new sections.
* Normalize extrusion vectors.
* Fix bit_write_BT, the thickness vector pre-R2000.
* Added many overflow checks, due to extensive fuzzing campains.
* Fixed wrong julian date conversions with TIMEBLL types.
* Fxed keyword conflicts with the bindings: No next, from, self fieldnames.
* Many more, see the ChangeLog.
Other newsworthy changes:
* Harmonized 2004 section search with the better 2007 variant. Added a new
section and info fixedtype field.
* Added unit-tests for all supported objects.
* Added src/classes.c defining the class stability (stable, unstable, debugging, unhandled).
* Need now -lm, the system math library, in all cases.
* Got a complete collection of old DWGs to cross-check against. Many new object types
could be stabilized because of this. Many thanks to Michal Josef Špaček.
* CMC color got 2 new fields: raw (EMC only), method (the first rgb byte).
* Many DXF re-ordering fixes.
Notes: The new constraint and dynblock objects just miss a major refactor into seperate
impl subclasses, and subent and curve support.
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.tar.gz (16.0MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.tar.xz (7.9MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.11.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.11
Here are the SHA256 checksums:
6b48304c50320b1ee7fbfea63c3b1437bbc3d4cd1b0ecb7fecd5f00ed4f4bdc8 libredwg-0.11.tar.gz
c25bbab29e7814663a203c38df8cbcce850d0b003a7132cf3f849429468ca7ed libredwg-0.11.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.11.tar.gz.sig
If that command fails because you don't have the required public key, then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
Major bugfixes:
* Fixed dwg2SVG htmlescape overflows and off-by-ones (#182)
* Removed direct usages of fprintf and stderr in the lib. All can be
redefined now. (#181)
Minor bugfixes:
* Fuzzing fixes for dwg2SVG, dwgread. (#182)
* Fixed eed.raw leaks
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.1.tar.gz (10.9MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.1.tar.xz (4.5MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.1.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.1.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.10.1
Here are the SHA256 checksums:
6539a9a762f74e937f08000e2bb3d3d4dddd326b85b5361f7532237b68ff0ae3 libredwg-0.10.1.tar.gz
0fa603d5f836dfceb8ae4aac28d1e836c09dce3936ab98703bb2341126678ec3 libredwg-0.10.1.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.10.1.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
Some minor API changes and bugfixes, mostly stabilization.
API breaking changes:
* added a new int *isnewp argument to all dynapi utf8text getters,
if the returned string is freshly malloced or not.
* removed the UNKNOWN supertype, there are only UNKNOWN_OBJ and UNKNOWN_ENT
left, with common_entity_data.
* renamed BLOCK_HEADER.preview_data to preview, preview_data_size to preview_size
* renamed SHAPE.shape_no to style_id
* renamed CLASS.wasazombie to is_zombie
Major bugfixes:
* Improved building the perl5 binding, proper dependencies.
Set proper -I and -L paths, create LibreDWG.c not swig_perl.c
* Harmonized INDXFB with INDXF, removed extra src/in_dxfb.c (#134).
Slimmed the .so size by 260Kb. Still untested though.
* Fixed encoding of added r2000 AUXHEADER address (broken since 0.9)
* Fixed EED encoding from dwgrewrite (a dxf2dwg regression from 0.9) (#180)
Minor bugfixes:
* Many fuzzing and static analyzer fixes for dwg2dxf, dxf2dwg, dwgrewrite,
including a stack-overflow on outdxf cquote. (#172-174, #178, #179).
dwgrewrite and indxf are pretty robust now, but still highly experimental,
as many dxf2dwg import and DWG validity tests are missing.
indxf still has many asserts on many structural DXF errors.
* Protect indxf from many NULL ptr, overflows and truncation.
* Fixed most indxf and encode leaks. (#151)
* More section decoders protections from invalid (fuzzed) values.
* Stabilized the ASAN leak tests for make check.
* Fix MULTILEADER.ctx.lline handles <r2010
* Fix indxf color.alpha; at DXF 440
* Fixed most important make scan-build warnings, the rest are mostly bogus.
Other newsworthy changes:
* Added LIBREDWG_VERSION et al to include/dwg.h
* Added support for AcDb3dSolid history_id (r2007+)
* Improved the indxf speed in new_object. Do a proper linear search, and
break on first found type.
* Rename the ./dxf helper to ./dwg, and added a ./dxf test helper.
* dxf2dwg got a new experimental --force-free option to check for leaks and
UAF or double-free's.
* Allow -o /dev/null sinks for dxf2dwg and dwg2dxf, for faster fuzzing.
Harmonized .spec formatting and adjusted gen-dynapi.pl
* Harmonized out_dxfb with out_dxf, e.g. the new mspace improvements (#173).
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.tar.gz (10.9MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.tar.xz (4.5MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.10.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.10
Here are the SHA256 checksums:
e890b4d3ab8071c78c4eb36e6f7ecd30e7f54630b0e2f051b3fe51395395d5f7 libredwg-0.10.tar.gz
8c37c4ef985e4135e3d2020c502c887b6115cdbbab2148b2e730875d5659cd66 libredwg-0.10.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.10.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
This is another minor patch update, with some bugfixes from fuzzed DWG's.
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.3.tar.gz (9.8MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.3.tar.xz (3.7MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.3.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.3.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.9.3
Here are the SHA256 checksums:
e53d4134208ee35fbf866171ee2052edd73bf339ab5b091acbc2769d8c20c43f libredwg-0.9.3.tar.gz
62df9eb21e7b8f107e7b2eaf0e61ed54e7939ee10fd10b896a57d59319f09483 libredwg-0.9.3.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.9.3.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
This is a minor patch update.
Added the -x,--extnames option to dwglayers for r13-r14 DWGs,
Fixed some more leaks,
Added DICTIONARY.itemhandles[] for r13 and r14,
Added geom utils to some programs: dwg2SVG and dwg2ps,
Added basic POLYLINE_2D and LWPOLYLINE support to dwg2SVG.
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.2.tar.gz (9.8MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.2.tar.xz (3.7MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.2.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.2.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.9.2
Here are the SHA256 checksums:
e80dd6006c3622df76d2a684e3119d32f61c1d522d54922799149f6ab84aada4 libredwg-0.9.2.tar.gz
d4ba88bfd031a0901f6f3ad007ec87f5d9f328fb10d1bce2daf66315625d0364 libredwg-0.9.2.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.9.2.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
Only minor bugfixes.
More here: https://www.gnu.org/software/libredwg/ and http://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.1.tar.gz (11MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.1.tar.xz (4.3MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.1.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.1.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.9.1
Here are the SHA256 checksums:
767d6300e6781e523a013c02296f22133481e52107933c5516a55237f400721a libredwg-0.9.1.tar.gz
7563a923a9f1846a0cc122ae59e8306034a04b8b85ed32e3640658f7d3c81f19 libredwg-0.9.1.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.9.1.tar.gz.sig
If that command fails because you don't have the required public key, then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
This is a major release, the first beta,
adding the new dxf importer, and dxf2dwg (experimental),
the first usage of the new dynapi and the encoder.
More here: https://www.gnu.org/software/libredwg/ and http://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.tar.gz (10.2MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.tar.xz (4.3MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.9.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.9
Here are the SHA256 checksums:
e39ac35bc174fe8d0b05fc800970c685692714daacd6026a4e4f0f4d0ddb08e0 libredwg-0.9.tar.gz
954f74753860315eb313a3bbb83bf7e5ad03e84bd10408cc629ff2e4e4b3fd46 libredwg-0.9.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.9.tar.gz.sig
If that command fails because you don't have the required public key, then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
This is a major release, adding the new dynamic API, read and write
all header and object fields by name. Many of the old dwg_api.h field
accessors are deprecated.
More here: https://www.gnu.org/software/libredwg/ and http://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.8.tar.gz (9.8MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.8.tar.xz (3.7MB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.8.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.8.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are more binaries:
https://github.com/LibreDWG/libredwg/releases/tag/0.8
Here are the SHA256 checksums:
087f0806220a0a33a9aab2c2763266a69e12427a5bd7179cff206289e60fe2fd libredwg-0.8.tar.gz
0487c84e962a4dbcfcf3cbe961294b74c1bebd89a128b4929a1353bc7f58af26 libredwg-0.8.tar.xz
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.8.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.
See https://www.gnu.org/software/libredwg/ and
http://git.savannah.gnu.org/cgit/libredwg.git/tree/NEWS
new API:
* add dwg_get_OBJECT(dwg) API for all objects in a DWG.
analog to dwg_get_ENTITY, but including all objects, tables,
block headers, even if unowned.
Note that the dwg_api will be revamped from static to dynamic before 1.0.
field accessors will be by name argument and ... (va_args)
See the work/dynapi branch #59 (in progress).
dwg_get_OBJECT(dwg) will be renamed to dwg_getall_OBJECT(dwg),
dwg_get_ENTITY(blkhdr) to dwg_getall_ENTITY(blkhdr).
API breaking changes:
* Changed BITCODE_RC from signed to unsigned char (#44)
* LEADER changes: rename hooklineonxdir to hookline_dir,
rename unknown_bit_4 to hookline_on,
endptproj only until r2007. (but still not 100% correct)
* MULTILEADER changes: rename num_vertex to numpts (analog to LEADER),
change vertex to points[] (PR #49 Denis Pryt)
* Fixed dwg_get_ENTITY(hdr): NULL-terminate the result (#60)
Important bugfixes:
* Fixed all memory leaks and double-free's (#43, #42, PR #58 Denis Pryt)
* Fixed EED sizes (PR #48, Denis Pryt)
* Fixed BLOCK_HEADER.num_inserts, esp. with xref's (#44).
For decode and encode.
* Fixed LTYPE.dash (#44)
* Fixup LEADER DXF values and path_type with annot_type mixup.
* Fixed TABLE.value.data_type with flags kGeneral (#54 Denis Pryt)
* Fixes VECTOR_CHKCOUNT segfault on unassigned obj->dxfname's
(esp. for <=R12), and fix overflows (#56)
* dwglayers: fix for DICTIONARY breaking the list output (#51)
* dxf: fix dxf_blocks_write for empty paper_space (#52)
* Fixed example/load_dwg.py allowing non-critical error codes
Other newsworthy changes:
* Check for RUNNING_ON_VALGRIND and call dwg_free then, even
if previously skipped.
* Renamed all remaining API "null malloc" error messages to
"Out of memory"
* Harmonized in_dxfb with in_dxf, but still WIP
Here are the compressed sources:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.gz (9.4MB)
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.xz (3.5MB)
https://github.com/LibreDWG/libredwg/releases/tag/0.7 (also window binaries)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.gz.sig
http://ftp.gnu.org/gnu/libredwg/libredwg-0.7.tar.xz.sig
Use a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.html
Here are the SHA256 checksums:
76f0329b5b175cb2a8d0a66854f91c21c31bdff6cb6ff04569c7fdd3ad4b069d libredwg-0.7.tar.gz
cbef6b9d48877ca26a54115b9ef9a7fd02d0279a94e79d2247f80277820b888d libredwg-0.7.tar.xz
6031e0c4fbc81eb84a8359fc9a282a7571dbfe2b5d345df15cc20490f707274c libredwg-0.7-win32.zip
69ee51bab4e0d9b406ab7fad3ffa18fb088a295ca59fb06b342994fc8ebdf7da libredwg-0.7-win64.zip
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify libredwg-0.7.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B4F63339E65D6414
and rerun the 'gpg --verify' command.