What's Changed
New Features 🎉
- Add timestamp to snapshot file names by @bennettgoble in #1344
Other Changes
- triage#162 "Away" status is removed even by a random hover by @akleshchev in #1160
- triage#166 Select 'No Description' when clicking on a text field by @akleshchev in #1171
- Release (Maint W) -> Maint C merge by @marchcat in #1177
- triage#170 Fix 'Clear log' button having incorrect state by @akleshchev in #1190
- triage#171 Sometimes conversation.log remains empty by @akleshchev in #1193
- viewer#1195 Real Life photo can be set to a bake texture by @akleshchev in #1222
- Main -> Maint C merge by @marchcat in #1235
- Marchcat/c merge by @marchcat in #1237
- viewer#1213 My Environments 'Apply' buttons enabled for folders by @akleshchev in #1239
- viewer#1215 My Environments' trash button is missing a notification by @akleshchev in #1241
- Make it so that reset skeleton is a networked ViewerEffect by @FelixWolf in #1212
- viewer#1216 Library settings can be deleted via My Environments by @akleshchev in #1242
- SL-18721 Window shutdown adjustments by @akleshchev in #1250
- viewer#1260 Fix thumbnail preview being blury and not loading by @akleshchev in #1261
- Revert "SL-20140 Setting shape hand size to 36 won't save" by @marchcat in #1275
- Release (Maint YZ) -> Maint C merge by @marchcat in #1315
- #1200 Avatar rotates 360 degrees when viewed from the top and below by @LLGuru in #1327
- viewer#1321 allow to set price before clicking the "For Sale" box by @maxim-productengine in #1332
- #1359 Introduce enum ERezzedStatus by @LLGuru in #1361
- #1360 Avoid of using avatar full names when writing to the log in release builds by @LLGuru in #1368
- #1330 EmojiPicker inserts emoji to inactive chat floater by @LLGuru in #1348
- pviewer#235 slurl command should require at least click action by @maxim-productengine in #1388
- viewer#1195 Don't allow Bake textures as group images by @akleshchev in #1414
- Maint X -> Maint C merge by @marchcat in #1477
- [SL-20752] Mouselook no longer allows pitch upwards to full 90 degrees by @LLGuru in #1491
- Update threejs to use the platform agnostic package by @marchcat in #1492
- Main -> Maint C sync by @marchcat in #1507
- viewer#1529 Mesh Uploader should permit lowering material count by @akleshchev in #1540
- viewer#1400 Show LODs info in Build Tools by @akleshchev in #1538
- viewer-private#240 Restore missing marketplace notification by @akleshchev in #1554
- viewer#1408 Change misleading content removal wanring by @akleshchev in #1560
- viewer#1218 Moon beacon can't be toggled when setting is no-mod by @akleshchev in #1572
- viewer#1584 Reword the "Arrow keys always move me" by @akleshchev in #1598
- viewer#1600 Fixed being unable to delete links to worn objects by @akleshchev in #1605
- Autoreplace UI improvements by @akleshchev in #1607
- viewer-private#245 The "Voice chat" is truncated on the slider by @akleshchev in #1617
- viewer#1588 Upload directly to Specified Inventory Folder by @akleshchev in #1624
- viewer-private#244 Reconnect to voice after 'tuning' by @akleshchev in #1635
- viewer#1154 Fix an extra key by @akleshchev in #1649
- Main -> Maint C sync by @marchcat in #1656
- An alternative in getting CPU frequency on Apple Silicon M-series by @erikkundiman in #1636
- Release (Materials featurette) -> Maint C sync by @marchcat in #1689
- viewer#1672 Crash at setDefaultFOV by @akleshchev in #1691
- viewer#1692 Crash at LLVOVolume::getReflectionProbeIsBox() by @akleshchev in #1693
- viewer#1698 Uniform being out of range shouldn't crash viewer by @akleshchev in #1710
- Main -> Maint C sync (GitHub build fix) by @marchcat in #1704
- Couple small crashfixes by @akleshchev in #1729
- viewer#1750 Crash at LLGLTFMaterial::operator= by @akleshchev in #1753
- jira-archive-internal#63268 Several objects are worn on the same part by @akleshchev in #1768
- #1611 Regression in anti-flipping mechanism for mouselook camera by @LLGuru in #1740
- viewer#1781 More detailed model upload errors for textures by @akleshchev in #1783
- #1773 Advanced Lighting Model info still showing in About for other languages by @LLGuru in #1784
- #1207 EEP: Water settings only displaying one decimal place by @LLGuru in #1786
- viewer#1772 Teleport History landing going higher and higher by @akleshchev in #1789
- #1644 On-water property lines persist at water level by @LLGuru in #1794
- viewer-private#242 Last used picker mode can force picker into a disabled mode by @akleshchev in #1795
- viewer#1501 Crash initiating screenSpaceReflUtil.glsl by @akleshchev in #1810
- Inventory favorites by @akleshchev in #1840
- viewer#1300 Small 'favorites' improvement by @akleshchev in #1918
- SL-18721 Move window shutdown further down by @akleshchev in #1929
- viewer#2102 Update feature notification to notify about Favorites by @akleshchev in #2107
- Fix local resetting of skeleton by @FelixWolf in #2383
- Refactor LLWindowWin32::LLWindowWin32Thread::wakeAndDestroy() by @marchcat in #3901
- #3897 Fix favorite's stars being hidden in some cases by @akleshchev in #3903
- Fix annoying llhttpdate test on windows and macos by @marchcat in #3909
- Post-merge fix compareGalleryItem() in lloutfitgallery.cpp by @marchcat in #3917
- #3910 Sometimes can't favorite a folder due to version mismatch. by @akleshchev in #3916
- #3897 Fix favorite's stars being hidden in some cases #2 by @akleshchev in #3921
- Added favorites' star for individual items in appearance floater by @akleshchev in #3926
- develop → 2025.05 sync by @marchcat in #3914
- #3910 Fix sorting of 'favorites' inventory tab by @akleshchev in #3947
- Reduce memory allocations pinging the mainloop timeout by @Ansariel in #3939
- Improve inventory finder floater performance: Don't parse XUI tree each frame by @Ansariel in #3941
- Fix memory leak in LLImageDimensionsInfo by @Ansariel in #3937
- Restore llmath fixes that got lost during merge by @Ansariel in #3948
- Fix line endings of qatest.yaml by @Ansariel in #3934
- More constexpr improvements and cleanup of includes of a deleted header file by @Ansariel in #3936
- Performance improvements and cleanup in llviewerdisplay.cpp by @akleshchev in #3949
- #3382 Rename inventory setting by @maxim-productengine in #3958
- Restore option to change location of existing pick by @Ansariel in #3940
- #3918 Implement automatic shutdown for WorkQueueBase by @marchcat in #3966
- Reduce cost of joint lookups by reducing string allocations via use of std::string_view and heterogeneous map lookups by @Ansariel in #3970
- Increment viewer version after 2025.04 by @brad-linden in #3983
- Increment viewer version after 2024.05 by @brad-linden in #3984
- #3953 My Inventory folder appears in Favorites by @akleshchev in #3992
- [#3954] Fix uploading small textures with OpenJPEG by @Hecklezz in #3955
- [#3972] Implemented Texture Panel Repeats per meter improvements and PBR feature by @Hecklezz in #3973
- Fix: ignore pass-on counters when detecting left-button grabs from
llTakeControl
by @Sekkmer in #3990 - #3924 Fix favorites inventory panel being stuck by @akleshchev in #3995
- #3993 Fix missing 'add to favorites' option by @akleshchev in #3998
- p#428 Fix texture picker's tentative behavior by @akleshchev in #4002
- #4005 Crash at LLVOVolume::isMesh by @akleshchev in #4006
- calcDataSizeJ2C Adjust curve for more than 6 layers by @TommyTheTerrible in #4018
- updateImageDecodePriority - Avoid Long Face Loop by @TommyTheTerrible in #4019
- #3905 Crashes in LLInventoryModel::saveToFile by @akleshchev in #4007
- #3317 Fix full screen issue with Windows 11 24H2 by @akleshchev in #4025
- [#4022] Fix FullScreen mode in Windows 11 24H2 by @Hecklezz in #4023
- fix and optimize openjpeg J2C encoder by @chanayane in #4017
- Introduce workflow dispatch, matrix strategy and mac support to qatest.yaml by @AtlasLinden in #4031
- [#4037] Fix world map Find button potentially removing results undesirably by @Hecklezz in #4038
- Fix map search bug causing duplicate requests properly by @Ansariel in #4040
- Clean up worldmap: Remove LLCtrlListInterface and reduce number of getChild calls by @Ansariel in #4044
- Test and resolve qatest.yaml errors by @AtlasLinden in #4035
- #4046 Fix hud vs inworld text color mismatch by @akleshchev in #4053
- Modernize away possibly missing std::less comparator by @Ansariel in #4063
- Update pre-commit hook to v5.0.0 by @marchcat in #4093
- GLTF import texture upload by @marchcat in #4033
- Import GLTF skin data by @akleshchev in #4090
- #4102 Allow selecting gltf models on mac by @akleshchev in #4104
- #4101 Handle boost::filesystem's exceptions by @akleshchev in #4103
- #4000 Cherry pick inventory LEAP functions from develop branch by @maxim-productengine in #4111
- #4105 Support .gltf and .glb files in lookupLODModelFiles by @marchcat in #4121
- Fix CodeQL errors in 2025.05 by @marchcat in #4125
- Add reinforced setup steps to qatest.yaml by @AtlasLinden in #4079
- #4080 Rigged mesh support #2 by @akleshchev in #4127
- Fix for crash on macOS when loading a GLTF mesh. by @Geenz in #4133
- #4128 Crash on mInvBindMatrix by @akleshchev in #4129
- #4118 Allow Bulk Upload to initialize on Bulk Upload All option by @maxim-productengine in #4134
- #4110 Crash on LLScrollListCtrl::deleteSelectedItems by @akleshchev in #4113
- adjust which webrtc tracks are enabled when the avatar crosses a region border by @sethalvesLL in #4052
- #4109 Improve handling of GLTF transform hierarchy by @marchcat in #4142
- #4109 Use correct GLTF coordinate system rotation by @marchcat in #4150
- #4109 #4080 Apply coordinate rotation to GLTF inverse bind matrices by @marchcat in #4151
- #4109 Remove workaround code by @marchcat in #4154
- #4109 Fix inside-out geometry from negative scale transforms in GLTF loader by @marchcat in #4156
- #4105 Fix duplicate GLTF model instances causing upload errors by @marchcat in #4158
- #4080 Rigged mesh support #3 by @akleshchev in #4163
- #4109 Add validation for non-triangulated geometry in GLTF loader by @marchcat in #4164
- #4080 Rigged mesh support #4 by @akleshchev in #4166
- #4109 Improve LLGLTFLoader::computeCombinedNodeTransform() by @marchcat in #4167
- [#4155] Add font buffer resetting in LLLineEditor.clear() by @Hecklezz in #4159
- #4107 upload the model ignoring unsupported extension by @maxim-productengine in #4169
- #4157 Improve "Unable to upload material" error message by @marchcat in #4171
- #4080 Rigged mesh support #5 by @akleshchev in #4172
- #4080 Rigged mesh support #6 by @akleshchev in #4178
- #4080 Fix gltf crash when opening by @akleshchev in #4180
- GLTF Mesh Import: Post-release merge by @marchcat in #4182
- Marchcat/2505 merge by @marchcat in #4183
- Remove duplicated code by @Ansariel in #4187
- #3367 Fix post-merge regression by @marchcat in #4188
- #4190 provide unsupported extension info in log by @maxim-productengine in #4192
- #4191 skip loading model compressed with Draco by @maxim-productengine in #4196
- #4191 Crash opening a gltf model by @akleshchev in #4197
- Use awk to make PV channel name by @marchcat in #4193
- Merge 2025.04 into develop by @Geenz in #4176
- [#4185] Fix sky ambient color not blending during day cycle by @Hecklezz in #4186
- #4203 show valid log info about 16 bit limit by @maxim-productengine in #4205
- #4097 Fix crash in LLGLTFLoader::populateModelFromMesh() by @marchcat in #4207
- #4080 Rigged mesh support #7 by @akleshchev in #4208
- #4214 Support mesh splitting for meshes with more than 8 materials by @akleshchev in #4215
- Allow self-hosted runners to operate independently by @AtlasLinden in #4140
- #4214 Fix material upload by @akleshchev in #4219
- Follow-up fix for bb9adf3: Pressing enter while location spinners have focus now starts a teleport by @Ansariel in #4211
- Fix GLTF import missing mesh parts by @marchcat in #4228
- #4170 Follow-up: Optimize GLTF node hierarchy traversal by @marchcat in #4229
- #4148 Skeleton Translation by @akleshchev in #4230
- #4170 Use GLTF scene definition for node traversal by @marchcat in #4234
- Fix fast cache ignoring its time constraint by @Ansariel in #4237
- #4148 Skeleton Translation #2 by @akleshchev in #4240
- #4114 Improve GLTF mesh uploader log by @marchcat in #4241
- macOS 26 build changes by @Geenz in #4239
- [#4221] Fix adding new skies to day cycle not saving by @Hecklezz in #4227
- #4214 Weights and Joints remap #2 by @akleshchev in #4247
- #4248 Add safety checks to LLMeshSkinInfo::asLLSD() by @marchcat in #4249
- #4147 Joint override by @maxim-productengine in #4251
- #4114 Improve GLTF mesh uploader log 2 by @marchcat in #4254
- Resolve qatest.yaml invalid workflow error by @AtlasLinden in #4244
- #4149 Empty Outfit folders cannot be moved by @akleshchev in #4153
- #4147 Move mAlternateBindMatrices by @akleshchev in #4256
- Use windows-latest runner for sign-and-package-windows by @marchcat in #4263
- #4147 Joint Overrides #2 by @akleshchev in #4264
- #4147 Joint Overrides #3 by @akleshchev in #4266
- #4242 Support splitting of gltf faces that are over 16bit limit by @akleshchev in #4270
- #4204 Fix GLTF texture loading to match DAE loader behavior by @marchcat in #4271
- #4204 Log embedded texture extraction failure by @marchcat in #4273
- #4250 Crash uploading a dae model by @akleshchev in #4275
- #4214 Revert and remake "weights remap" by @akleshchev in #4277
- #4204 Unused code cleanup by @marchcat in #4278
- #4204 Remove more unused code by @marchcat in #4279
- Fix loading name of banned residents in group bulk ban panel by @Ansariel in #4276
- Release/2025.04.01 by @Geenz in #4245
- #4257 Use filename as model initial name by @marchcat in #4282
- Use latest release for changelog by @marchcat in #4201
- #4148 Fix collision bones by @akleshchev in #4286
- Media changes including support for PRIM_MEDIA_FIRST_CLICK_INTERACT and HUD autoplay by @DarlCat in #4177
- #4142 Joint grouping and stripping by @akleshchev in #4289
- #4291 Uploading without a .bin silently fails by @akleshchev in #4292
- #4184 clearAndDeparentModels crash by @akleshchev in #4295
- Crash fixes by @akleshchev in #4301
- First pass at adding expanded frametiming stats to the viewer. by @Geenz in #4302
- Add helper functions to frametime metrics. by @Geenz in #4305
- Media first click fixes for #4177 by @WolfGangS in #4304
- Merge develop into glTF mesh import by @Geenz in #4306
- Revert "Merge develop into glTF mesh import" by @Geenz in #4307
- Geenz/develop to gltf mesh by @Geenz in #4308
- Revert "Fix LLCharacter base class constness." by @Ansariel in #4310
- #4190 Provide unsupported extension info in log file by @maxim-productengine in #4312
- #4242 Better issue logging by @akleshchev in #4317
- #4315 Crash in GLTF uploader by @akleshchev in #4321
- #4242 Clarify some operations by @akleshchev in #4325
- #4313 Improved naming of textures by @maxim-productengine in #4326
- Fix bit logic mistake in PRIM_MEDIA_FIRST_CLICK_INTERACT work by @WolfGangS in #4311
- Importer debug dump improvement by @akleshchev in #4331
- GLTF importer by @akleshchev in #4338
- #4323 fix for transparent meshes by @maxim-productengine in #4340
- #4319 Thread crashes not being reported to bugsplat by @akleshchev in #4344
- #4290 Unresponsive viewer when uploading models by @akleshchev in #4345
- #4314 Fix model suffixes by @akleshchev in #4346
- #4324 sort indices before splits by @maxim-productengine in #4347
- #4314 Follow-up: duplicate logic for mSubmodelID by @marchcat in #4348
- #4314 Fix model suffixes #2 by @akleshchev in #4352
- #4339 World Map Find button shouldn't autocomplete by @akleshchev in #4355
- #4296 Crashfixes by @akleshchev in #4359
- #4349 fix repeats cannot be adjusted for specular when a normal map i… by @maxim-productengine in #4360
- #3725 Improve reporting of avatar statistics by @akleshchev in #4361
- #4267 Offline messages not being requested by @akleshchev in #4362
- #4267 Offline messages not being requested #2 by @akleshchev in #4363
- #4294 Make upload order more deterministic by @akleshchev in #4364
- #4204 Cache processed materials by @marchcat in #4367
- #4204 Refactor material name and texture handling in GLTF loader by @marchcat in #4368
- [#4365] Fix emoji hitboxes in the emoji history list by @Hecklezz in #4366
- #4294 Make upload order more deterministic #2 by @akleshchev in #4369
- #4204 Cache material names, centralize texture index validation by @marchcat in #4373
- #4283 fix for missing items in 'My Outfits' floater by @maxim-productengine in #4372
- #4349 fix repeats cannot be adjusted for specular when a normal map i… by @maxim-productengine in #4375
- Add mac self-hosted runner to QA workflow by @AtlasLinden in #4354
- #4358 Fix 'Microphone in use' task bar icon by @akleshchev in #4371
- #4353 abbreviate text label for standard deviation by @maxim-productengine in #4378
- #3964 Don't spawn CEF instances for the build tools by @akleshchev in #4376
- Merge develop into gltf mesh import by @akleshchev in #4380
- Add support for frametime events per minute. by @Geenz in #4381
- #4047 fix 'Show on Map' command for parcel URI links by @maxim-productengine in #4383
- #4283 fix for missing items in 'My Outfits' floater by @maxim-productengine in #4384
- #4216 Pressing cancel on picker reverts an override by @akleshchev in #4386
- #4370 Fix change in crouch behaviour by @akleshchev in #4391
- #4320 MacOS crash handling by @akleshchev in #4396
- #4399 Crash at load_face_from_dom_triangles by @akleshchev in #4401
- Properly warn when scaling textures down instead of being entirely silent. by @akleshchev in #4404
- Fix a crash bug and bogus calculations in LLMeshRepoThread::lodReceived() by @vldevel in #4398
- #4393 Handle unknown exceptions in uploader better by @akleshchev in #4407
- #4374 add support for the system theme (light and dark) by @maxim-productengine in #4416
- #4400 Model Import "use lod above" was not updating by @akleshchev in #4417
- #4209 Outfits should have an "Add to Favorites" option by @akleshchev in #4421
- #4424 don't try to update theme too early by @maxim-productengine in #4425
- #3851 Increase cache size by @akleshchev in #4423
- #4415 fix crash when cancelling large model process on MacOS by @maxim-productengine in #4433
- #3969 Log time it takes to create inventory from cache by @akleshchev in #4430
- Media first click interact self ownership check fix by @DarlCat in #4426
- Geenz/main to 2025.05 by @Geenz in #4442
- #4374 update icon for title bar by @maxim-productengine in #4437
- Media first click interact large number value fix by @DarlCat in #4429
- Add media request to pull_request_template.md by @bennettgoble in #4440
- 2k image resize by @FelixWolf in #4444
- Remove the first login screen by @FelixWolf in #4451
- Make inventory creation from cache faster by @akleshchev in #4438
- Media first click interact group affiliation check fix by @DarlCat in #4427
- Media first click interact friend check fix by @DarlCat in #4428
- #4455 Division by zero in updateFrameStats by @akleshchev in #4456
- #3705 Add an option to hide the $L balance by @akleshchev in #4458
- #4385 show agent name next to @ mention url in chat logs by @maxim-productengine in #4459
- Selection Hint and LookAt target privacy by @FelixWolf in #4452
- #4460 debug text cannot be scrolled by @akleshchev in #4461
- Rich Presence support using Discord Social SDK by @erikkundiman in #4457
- #4339 Remade fix for world map's find button by @akleshchev in #4467
- #4465 modify vertex limit threshold for starting splitting by @maxim-productengine in #4468
- #3785 Set default MediaFirstClickInteract value to 31 by @marchcat in #4480
- #4483 Fix gltf not opening unicode paths by @akleshchev in #4484
- 4470 Include and turn on Discord SDK package by @akleshchev in #4485
- #4473 Permit zooming to self in people panel by @akleshchev in #4487
- #3564 Permit 'labeling' audio streams that play via media plugin by @akleshchev in #4488
- 2025.05 to develop by @akleshchev in #4489
- #4470 Temporarily disable Discord SDK by @akleshchev in #4491
- Merge Develop into Maint-C (2025.06) by @akleshchev in #4492
- #4297 Crash on LLVOCache::writeToCache by @akleshchev in #4495
- #4503 Crash at openHeaderEntriesFile by @akleshchev in #4504
- Straighten out muting to prevent echo when crossing from vivox to webrtc regions near a webrtc region boundary. by @roxanneskelly in #4494
- #4334 Crash at getIsDynamic #2 by @akleshchev in #4507
- Bump viewer version to 7.2.1 by @akleshchev in #4512
- #4420 Fix chat log reading issue with certain characters by @maxim-productengine in #4516
- #4284 Better window shutdown logging by @akleshchev in #4520
- #4522 Crash at shouldAllowFirstMediaInteraction by @akleshchev in #4525
- #4473 Enable Zoom in to Self menu option in chat by @akleshchev in #4538
- Fix issue where p2p calls were coming up muted even thought speak button indicated they were not muted. by @roxanneskelly in #4531
- #4535 Revert "Fix: ignore pass-on counters when detecting left-button grabs (#3990)" by @akleshchev in #4540
- #4527 Crash trying to upload a huge image by @akleshchev in #4542
- Add support for Normalized Frametime Variation (NVFT) by @Geenz in #4395
- #4541 Cap image upload size to prevent issues by @akleshchev in #4546
- #4541 Fix reused message by @akleshchev in #4553
- #4544 Add source format information to mesh upload statistics by @akleshchev in #4554
- #4537 Some links were missing favorite options by @akleshchev in #4555
- #4559 Crash at killCacheEntry by @akleshchev in #4560
- #4561 Crash at initializeURLHistory by @akleshchev in https://github.com/secondlife/viewer/pull/4562
- #4544 Fix extension check being case sensitive by @akleshchev in https://github.com/secondlife/viewer/pull/4565
- #4557 fix lags in outfit search with many outfits by @maxim-productengine in https://github.com/secondlife/viewer/pull/4568
- #4518 Dupplicates can appear in favorites by @akleshchev in https://github.com/secondlife/viewer/pull/4573
- #4544 Make model dump go into logs by @akleshchev in https://github.com/secondlife/viewer/pull/4572
- Revert "Remove the first login screen (#4451)" by @bennettgoble in https://github.com/secondlife/viewer/pull/4578
- #4284 Reorder window shutdown by @akleshchev in https://github.com/secondlife/viewer/pull/4577
- Crashfixes for 2025.06 by @akleshchev in https://github.com/secondlife/viewer/pull/4584
New Contributors
- @Sekkmer made their first contribution in #3990
- @DarlCat made their first contribution in #4177
- @WolfGangS made their first contribution in #4304
Full Changelog: Second_Life_Release#aa851928-2025.04.01...Second_Life_Release#787b63f4-2025.06
Build https://github.com/secondlife/viewer/actions/runs/17108480561
Second Life Release
7.2.1.17108480561
Second Life Beta 2025.06
Second Life Viewer 2025.06 adds an Inventory Favorites system, improves avatar behavior, restores full mouselook pitch, enhances chat and mesh upload tools, and refines environment controls. It includes various bug and crash fixes. Read on for more details!
Change Log
Inventory Favorites System
- Implemented comprehensive favorites system with star indicators for inventory items and outfits by @akleshchev (#1840, #1918, #3926)
- Fixed favorites stars being hidden, panel getting stuck, and sorting issues by @akleshchev (#3903, #3921, #3947, #3995)
- Fixed missing 'add to favorites' option and My Inventory folder appearing incorrectly by @akleshchev (#3998, #3992)
Miscellaneous New Features
- Added option to hide L$ balance by clicking label by @akleshchev (#3705)
- Added system theme (light/dark) support by @maxim-productengine (#4374)
- Enabled Zoom in to Self menu option in chat by @akleshchev (#4473)
- Added Selection Hint and LookAt target privacy improvements by @FelixWolf (#4452)
- Added timestamp to snapshot file names for better organization by @bennettgoble (#1344)
Avatar System
- Fixed avatar rotation spinning 360 degrees when viewed from above or below by @LLGuru (#1327)
- Fixed multiple objects incorrectly wearing on the same attachment point by @akleshchev (#1768)
- Prevented Real Life profile photos and group images from being set to bake textures by @akleshchev (#1222, #1414)
- Made reset skeleton function as a networked ViewerEffect and fixed local resetting by @FelixWolf (#1212, #2383)
- Reverted shape hand size setting that wouldn't save by @marchcat (#1275)
Camera & Movement Controls
- Restored full 90-degree upward pitch range in mouselook camera mode by @LLGuru (#1491)
- Fixed regression in anti-flipping mechanism for mouselook camera by @LLGuru (#1740)
- Improved "Arrow keys always move me" setting description by @akleshchev (#1598)
Chat Improvements
- Fixed conversation log remaining empty in some cases by @akleshchev (#1193)
- Enhanced emoji picker to insert emojis into the correct active chat window by @LLGuru (#1348)
- Fixed "Clear log" button showing incorrect enabled/disabled state by @akleshchev (#1190)
Voice Chat Improvements
- Fixed voice echo across regions by straightening out muting when crossing from Vivox to WebRTC regions by @roxanneskelly (#4494)
- Improved voice chat slider text display to prevent truncation by @akleshchev (#1617)
- Enhanced voice chat with reconnection after tuning by @akleshchev (#1635)
Mesh Uploader Improvements
- Enhanced mesh uploader to allow reducing material counts by @akleshchev (#1540)
- Added detailed LOD information display in Build Tools by @akleshchev (#1538)
- Improved model upload with better error messages for textures by @akleshchev (#1783)
User Interface Fixes
- Fixed "Away" status being incorrectly removed when hovering over interface elements by @akleshchev (#1160)
- Improved text field behavior to automatically select placeholder text when clicked by @akleshchev (#1171)
- Fixed thumbnail preview being blurry and not loading properly by @akleshchev (#1261)
- Fixed being unable to delete links to worn objects by @akleshchev (#1605)
- Fixed extra key handling issue by @akleshchev (#1649)
Commerce & Inventory
- Added ability to set item prices before checking the "For Sale" box by @maxim-productengine (#1332)
- Added direct upload capability to specified inventory folders by @akleshchev (#1624)
- Restored missing marketplace notifications by @akleshchev (#1554)
- Renamed inventory setting for clarity by @maxim-productengine (#3958)
Environment & Rendering
- Enhanced My Environments with proper Apply button states, trash notifications, and prevention of Library settings deletion by @akleshchev (#1239, #1241, #1242)
- Fixed moon beacon toggle functionality when settings are no-modify by @akleshchev (#1572)
- Fixed teleport history landing going higher and higher by @akleshchev (#1789)
- Fixed on-water property lines persisting at water level by @LLGuru (#1794)
- Fixed last used picker mode forcing picker into disabled state by @akleshchev (#1795)
- Fixed Advanced Lighting Model info showing in About for other languages by @LLGuru (#1784)
- Fixed EEP water settings only displaying one decimal place by @LLGuru (#1786)
Content Creation Tools
- Improved content removal warnings with clearer messaging by @akleshchev (#1560)
- Required at least click action for SLurl commands by @maxim-productengine (#1388)
- Automatic resizing of textures prior to uploading by @FelixWolf (#4444)
Stability & Crash Fixes
- Resolved crashes during window shutdown and application exit by @akleshchev (#1250, #1929)
- Fixed crashes in texture and material processing by @akleshchev (#1691, #1693, #1710, #1753)
- Fixed crash initiating screenSpaceReflUtil.glsl by @akleshchev (#1810)
- Fixed crash at LLVOVolume::isMesh by @akleshchev (#4006)
- Fixed crashes in LLInventoryModel::saveToFile by @akleshchev (#4007)
- Fixed multiple small crashes and stability issues by @akleshchev (#1729)
System Improvements
- Improved CPU frequency detection on Apple Silicon M-series by @erikkundiman (#1636)
- Introduced enum ERezzedStatus for better status handling by @LLGuru (#1361)
- Implemented automatic shutdown for WorkQueueBase by @marchcat (#3966)
- Restored mathematical fixes that were lost during merge by @Ansariel (#3948)
- Cherry picked inventory LEAP functions from develop branch by @maxim-productengine (#4111)
Text & UI Polish
- Improved autoreplace text functionality with better user interface by @akleshchev (#1607)
- Fixed texture picker's tentative behavior by @akleshchev (#4002)
Development & Maintenance
- Multiple branch merges and synchronization updates by @marchcat (#1177, #1235, #1237, #1315, #1477, #1507, #1656, #1689, #1704, #3914)
- Updated three.js to use platform agnostic package by @marchcat (#1492)
- Feature notification updates for Favorites by @akleshchev (#2107)
- Build system and infrastructure improvements by @marchcat (#3901, #3909, #3917, #3983)
- Code quality improvements and fixes by @marchcat, @Ansariel (#3916, #4125, #4187, #4188, #4183)
- Added advanced frametime metrics gathering by @Geenz (#4395)
- Added mesh upload format metrics by @akleshchev (#4544)