What's Changed
- Fix building on Haiku by @Begasus in #5255
- Reduce memory consumption in JoinVerticesProcess::ProcessMesh() signi… by @ockeymm in #5252
- Fix: Add check for invalid input argument by @kimkulling in #5258
- Replace an assert by an error log. by @kimkulling in #5260
- Extension of skinning data export to GLB/GLTF format by @fvbj in #5243
- Fix output floating-point values to fbx by @Riv1s-sSsA01 in #5265
- Update ImproveCacheLocality.cpp by @kimkulling in #5268
- Update Readme.md by @kimkulling in #5277
- Deep arsdk bone double free by @kimkulling in #5291
- Fix Spelling error by @JulianKnodt in #5295
- Use size in order to be compatible with float and double by @sloriot in #5270
- Fix: Add missing transformation for normalized normals. by @kimkulling in #5301
- Fix: Implicit Conversion Error by @Ipomoea in #5271
- Fix add checks for indices by @kimkulling in #5306
- Update FBXBinaryTokenizer.cpp by @kimkulling in #5311
- link to external minizip with full path by @aumuell in #5278
- utf8 header not found by @TarcioV in #5279
- Rm unnecessary deg->radian conversion in FBX exporter by @JulianKnodt in #5281
- Fix empty mesh handling by @kimkulling in #5318
- Refactoring: Some cleanups by @kimkulling in #5319
- Fix invalid read of
uint
fromuvwsrc
by @JulianKnodt in #5282 - Remove double delete by @kimkulling in #5325
- Fix mesh-name error. by @copycd in #5294
- COLLADA fixes for textures in C4D input by @wmatyjewicz in #5293
- Use the correct allocator for deleting objects in case of duplicate a… by @FlorianBorn71 in #5305
- Fix container overflow in MMD parser by @aavenel in #5309
- Fix: PLY heap buffer overflow by @aavenel in #5310
- Update Readme.md by @cuppajoeman in #5312
- Update Readme.md by @cuppajoeman in #5313
- Fix: Check if index for mesh access is out of range by @kimkulling in #5338
- Update FBXConverter.cpp by @kimkulling in #5349
- FBX: Use correct time scaling by @kimkulling in #5355
- Drop explicit inclusion of contrib/ headers by @umlaeute in #5316
- Update Build.md by @cuppajoeman in #5314
- Fix buffer overflow in FBX::Util::DecodeBase64() by @ttxine in #5322
- Readme.md: correct 2 errors in section headers by @stephengold in #5351
- Fix double free in Video::~Video() by @ttxine in #5323
- FBXMeshGeometry: solve issue #5116 using patch provided by darktjm by @stephengold in #5333
- Fix target names not being imported on some gLTF2 models by @Futuremappermydud in #5356
- correct grammar/typographic errors in comments (8 files) by @stephengold in #5343
- KHR_materials_specular fixes by @rudybear in #5347
- Disable Hunter by @kimkulling in #5388
- fixed several issues by @MarkaRagnos0815 in #5359
- Fix leak by @kimkulling in #5391
- Check validity of archive without parsing by @kimkulling in #5393
- Fix integer overflow by @kimkulling in #5394
- Add a test before generating the txture folder by @kimkulling in #5400
- Build: Disable building zlib for non-windows by @kimkulling in #5401
- null check. by @copycd in #5402
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #5384
- fix: KHR_materials_pbrSpecularGlossiness/diffuseFactor convert to pbr… by @guguTang in #5410
- fix building errors for MinGW by @0xf0ad in #5376
- dynamic_cast error. by @copycd in #5406
- Add missing IRR textures by @tellypresence in #5374
- Update Dockerfile by @kimkulling in #5412
- Fix handling of X3D IndexedLineSet nodes by @andre-schulz in #5362
- Improve acc file loading by @IOBYTE in #5360
- Readme.md: present hyperlinks in a more uniform style by @stephengold in #5364
- FBX Blendshape
FullWeight: Vec<Float>
->FullWeight: Vec<Double>
by @JulianKnodt in #5441 - Fix for issues #5422, #3411, and #5443 -- DXF insert scaling fix and colour fix by @seanth in #5426
- Update StbCommon.h to stay up-to-date with stb_image.h. by @tigert1998 in #5436
- Introduce aiBuffer by @kimkulling in #5444
- Add bounds checks to the parsing utilities. by @kimkulling in #5421
- Fix crash in viewer by @kimkulling in #5446
- Static code analysis fixes by @kimkulling in #5447
- Kimkulling/fix behavior of remove redundant mats issue 5438 by @kimkulling in #5451
- Fix X importer breakage introduced in commit f844c33 by @tellypresence in #5372
- Fileformats.md: clarify that import of .blend files is deprecated by @stephengold in #5350
- feat:1.add 3mf vertex color read 2.fix 3mf read texture bug by @GalenXiao in #5361
- More GLTF loading hardening by @FlorianBorn71 in #5415
- Bump actions/cache from 3 to 4 by @dependabot in #5431
- Update CMakeLists.txt by @mosfet80 in #5379
Blendshape
->Geometry
in FBX Export by @JulianKnodt in #5419- Fix identity matrix check by @fvbj in #5445
- Fix PyAssimp under Python >= 3.12 and macOS library search support by @Th3T3chn0G1t in #5397
- Add ISC LICENSE file by @severin-lemaignan in #5465
- ColladaParser: check values length by @etam in #5462
- Include defs in not cpp-section by @kimkulling in #5466
- Add correct double zero check by @kimkulling in #5471
- Add zlib-header to ZipArchiveIOSystem.h by @kimkulling in #5473
- Add 2024 to copyright infos by @kimkulling in #5475
- Append a new setting "AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY" by @Riv1s-sSsA01 in #5450
- Eliminate non-ascii comments in clipper by @adfwer233 in #5480
- Fix compilation for MSVC14. by @LukasBanana in #5490
- Add correction of fbx model rotation by @kimkulling in #5494
- Delete tools/make directory by @mosfet80 in #5491
- Delete packaging/windows-mkzip directory by @mosfet80 in #5492
- Fix #5420 duplicate degrees to radians conversion in fbx importer by @Biohazard90 in #5427
- Respect merge identical vertices in ObjExporter by @JulianKnodt in #5521
- Fix utDefaultIOStream test under MinGW by @thenanisore in #5525
- Fix typos by @RoboSchmied in #5518
- Add initial macOS support to C4D importer by @AlexTMjugador in #5516
- Update hunter into CMakeLists.txt by @mosfet80 in #5505
- Fix: add a missing import for
AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON_DEFAULT
by @tomheaton in #5507 - updated json by @mosfet80 in #5501
- Cleanup: Fix review findings by @kimkulling in #5528
- Update CMakeLists.txt by @kimkulling in #5531
- CMake: Allow linking draco statically if ASSIMP_BUILD_DRACO_STATIC is set. by @alexrp in #5535
- updated minizip to last version by @mosfet80 in #5498
- updated STBIMAGElib by @mosfet80 in #5500
- fix issue #5461 (segfault after removing redundant materials) by @stephengold in #5467
- Update ComputeUVMappingProcess.cpp by @kimkulling in #5541
- add some ASSIMP_INSTALL checks by @ZeunO8 in #5545
- Fix SplitByBoneCount typo that prevented node updates by @Succ3s in #5550
- Q3DLoader: Fix possible material string overflow by @kimkulling in #5556
- Reverts the changes introduced by commit ad766cb in February 2022. by @johannesugb in #5542
- fix a collada import bug by @xiaoxiaopifu in #5561
- mention IQM loader in Fileformats.md by @Garux in #5560
- Kimkulling/fix pyassimp compatibility by @kimkulling in #5563
- fix ASE loader crash when *MATERIAL_COUNT or *NUMSUBMTLS is not specified or is 0 by @Garux in #5559
- Add checks for invalid buffer and size by @kimkulling in #5570
- Make sure for release revision will be zero by @kimkulling in #5571
- glTF2Importer: Support .vrm extension by @uyjulian in #5569
- Prepare v5.4.1 by @kimkulling in #5573
- Remove deprecated c++11 warnings by @kimkulling in #5576
- fix ci by disabling tests by @kimkulling in #5583
- Fix integer overflow by @kimkulling in #5581
- Assimp viewer fixes by @JLouis-B in #5582
- Optimize readability by @kimkulling in #5578
- Temporary fix for #5557 GCC 13+ build issue -Warray-bounds by @dbs4261 in #5577
- Fix a bug that could cause an assertion failure. by @vengine in #5575
- Fix possible nullptr dereferencing. by @kimkulling in #5595
- Update ObjFileParser.cpp by @kimkulling in #5598
- Fix for #5592 Disabled maybe-uninitialized error for AssetLib/Obj/ObjFileParser.cpp by @dbs4261 in #5593
- updated zip by @mosfet80 in #5499
- Postprocessing: Fix endless loop by @kimkulling in #5605
- Build: Fix compilation for VS-2022 debug mode - warning by @kimkulling in #5606
- Converted a size_t to mz_uint that was being treated as an error by @BradlyLanducci in #5600
- Add trim to xml string parsing by @kimkulling in #5611
- Replace duplicated trim by @kimkulling in #5613
- Move aiScene constructor by @kimkulling in #5614
- Move revision.h and revision.h.in to include folder by @kimkulling in #5615
- Update MDLMaterialLoader.cpp by @kimkulling in #5620
- Create inno_setup by @kimkulling in #5621
- clean HunterGate.cmake by @mosfet80 in #5619
- Draft: Update init of aiString by @kimkulling in #5623
- Fix init aiString issue 5622 in python module by @kimkulling in #5625
- update dotnet example by @mosfet80 in #5618
- Make step file schema validation more robust. by @kimkulling in #5627
- fix PLY binary export color from float to uchar by @michaelsctts in #5608
- Some FBXs do not have "Materials" information, which can cause parsing errors by @ycn2022 in #5624
- Fix collada uv channels - temporary was stored and then updated. by @StepanHrbek in #5630
- remove ASE parsing break by @Garux in #5634
- FBX-Exporter: Fix nullptr dereferencing by @kimkulling in #5638
- Fix FBX exporting incorrect bone order by @JulianKnodt in #5435
- fixes potential memory leak on malformed obj file by @TinyTinni in #5645
- Update zip.c by @ThatOSDev in #5639
- Fixes some uninit bool loads by @TinyTinni in #5644
- Fix names of enum values in docstring of aiProcess_FindDegenerates by @mapret in #5640
- Fix: StackAllocator Undefined Reference fix by @bedwardly-down in #5650
- Plx: Fix out-of-bound access by @kimkulling in #5651
- Docker: Fix security finding by @kimkulling in #5655
- Fix potential heapbuffer overflow in md5 parsing by @TinyTinni in #5652
- Replace raw pointers by std::string by @kimkulling in #5656
- Fix compile warning by @kimkulling in #5657
- Allow empty slots in mTextureCoords by @StepanHrbek in #5636
- Update Readme.md by @kimkulling in #5663
- Update Readme.md by @kimkulling in #5665
- [USD] Integrate "tinyusdz" project by @tellypresence in #5628
- Kimkulling/fix double precision tests by @kimkulling in #5660
- Update Python structs with missing fields that were causing core dumps by @vjf in #5673
- Introduce interpolation mode to vector and quaternion keys by @kimkulling in #5674
- Fix a fuzz test heap buffer overflow in mdl material loader by @sgayda2 in #5658
- Mosfet80 updatedpoli2tri by @kimkulling in #5682
- CalcTangents: zero vector is invalid for tangent/bitangent by @JensEhrhardt-eOPUS in #5432
- A fuzzed stride could cause the max count to become negative and henc… by @FlorianBorn71 in #5414
- Return false instead of a crash by @kimkulling in #5685
- Make coord transfor for hs1 files optional by @kimkulling in #5687
- Update DefaultIOSystem.cpp by @kimkulling in #5697
- FBX exporter - handle multiple vertex color channels by @Kimbatt in #5695
- Fixing static builds on Windows by @natevm in #5713
- Added AND condition in poly2tri dll_symbol.h to only define macros fo… by @mkuritsu in #5693
- Fix MSVC PDBs and permit them to be disabled if required by @RichardTea in #5710
- Use DRACO_GLTF_BITSTREAM by @RichardTea in #5709
- include Exceptional.h in 3DSExporter.cpp by @Fiskmans in #5707
- Remove recursive include by @Fiskmans in #5705
- Fix: Possible out-of-bound read in findDegenerate by @TinyTinni in #5679
- Revert variable name by @tellypresence in #5715
- Add compile option /source-charset:utf-8 for MSVC by @kenichiice in #5716
- Fix leak in loader by @kimkulling in #5718
- Expose aiGetEmbeddedTexture to C-API by @sacereda in #5382
- Sparky kitty studios master by @kimkulling in #5727
- Added more Maya materials by @Sanchikuuus in #5101
- Fix to check both types of slashes in GetShortFilename by @imdongye in #5728
- Bump actions/download-artifact from 1 to 4 by @dependabot in #5732
- Bump actions/upload-artifact from 1 to 4 by @dependabot in #5731
- Bump softprops/action-gh-release from 1 to 2 by @dependabot in #5730
- Fix copying private data when the source pointer is NULL by @vjf in #5733
- Fix potential memory leak in SceneCombiner for LWS/IRR/MD3 loader by @TinyTinni in #5721
- Fix to correctly determine 'multi-configuration' on Windows by @kenichiice in #5720
- Fix casting typo in D3MFExporter::writeBaseMaterials by @ochafik in #5681
- FBX: add metadata of aiNode as properties by @fuhaixi in #5675
- feat: add an option for creating XCFramework and configure minimum iOS target by @AKosmachyov in #5648
- Update PyAssimp structs with Skeleton & SkeletonBone members by @vjf in #5734
- The total length is incorrect when exporting gltf2 by @Fav in #5647
build
: Add ccache support by @ochafik in #5686- Update ccpp.yml by @kimkulling in #5740
- Ply-Importer: Fix vulnerability by @kimkulling in #5739
- prepare v5.4.3 by @kimkulling in #5741
New Contributors
- @Begasus made their first contribution in #5255
- @ockeymm made their first contribution in #5252
- @fvbj made their first contribution in #5243
- @JulianKnodt made their first contribution in #5295
- @sloriot made their first contribution in #5270
- @Ipomoea made their first contribution in #5271
- @aumuell made their first contribution in #5278
- @TarcioV made their first contribution in #5279
- @copycd made their first contribution in #5294
- @cuppajoeman made their first contribution in #5312
- @ttxine made their first contribution in #5322
- @Futuremappermydud made their first contribution in #5356
- @MarkaRagnos0815 made their first contribution in #5359
- @0xf0ad made their first contribution in #5376
- @seanth made their first contribution in #5426
- @tigert1998 made their first contribution in #5436
- @GalenXiao made their first contribution in #5361
- @Th3T3chn0G1t made their first contribution in #5397
- @etam made their first contribution in #5462
- @adfwer233 made their first contribution in #5480
- @LukasBanana made their first contribution in #5490
- @thenanisore made their first contribution in #5525
- @RoboSchmied made their first contribution in #5518
- @AlexTMjugador made their first contribution in #5516
- @tomheaton made their first contribution in #5507
- @alexrp made their first contribution in #5535
- @ZeunO8 made their first contribution in #5545
- @Succ3s made their first contribution in #5550
- @johannesugb made their first contribution in #5542
- @xiaoxiaopifu made their first contribution in #5561
- @uyjulian made their first contribution in #5569
- @dbs4261 made their first contribution in #5577
- @vengine made their first contribution in #5575
- @BradlyLanducci made their first contribution in #5600
- @michaelsctts made their first contribution in #5608
- @ycn2022 made their first contribution in #5624
- @ThatOSDev made their first contribution in #5639
- @mapret made their first contribution in #5640
- @bedwardly-down made their first contribution in #5650
- @sgayda2 made their first contribution in #5658
- @JensEhrhardt-eOPUS made their first contribution in #5432
- @Kimbatt made their first contribution in #5695
- @natevm made their first contribution in #5713
- @mkuritsu made their first contribution in #5693
- @Sanchikuuus made their first contribution in #5101
- @imdongye made their first contribution in #5728
- @ochafik made their first contribution in #5681
- @fuhaixi made their first contribution in #5675
- @AKosmachyov made their first contribution in #5648
- @Fav made their first contribution in #5647
Full Changelog: v5.3.1...v5.4.3