
March is here with 32 new pull requests from some great contributors - great work!
HIGHLIGHTS
QuantumCoderQC added Improved Node Groups.
Note: Some points about the new system:
- Works and feels more Blender-like.
- Option to change socket names and socket order.
- Supports nested groups.
- Easy grouping and un-grouping in the Logic Node editor with dedicated buttons.
- Logic Node editor breadcrumbs to show node hierarchy.
knowledgenude added Add Vec4 moveTowards function and a new logic node for it.
rpaladin added End frame for "Play Action From" node.
Note: Bone scaling animation is still unsupported, but there is an experimental
branch being developed to officially incorporate it.
t3du added Logic Nodes: Array Filter and Array Display

These developer bounties are still available! Earn rewards by developing new features:

List of current bounties:
- Parallax Occlusion Mapping: https://github.com/armory3d/armory/issues/2609
- Dynamic Diffuse Global Illumination (DDGI): https://github.com/armory3d/armory/issues/2610
- Stochastic Screen-Space Reflections: https://github.com/armory3d/armory/issues/2611
- Box Projected Cube Environment Mapping (BPCEM): https://github.com/armory3d/armory/issues/2613
Exceptional3D made 7 new community tutorials this month - fantastic work!
#2806 - QuantumCoderQC added Improved Node Groups
#2803 - knowledgenude added Add Vec4 moveTowards function and a new logic node for it
#2802 - t3du added PlayActionFrom: add boolean for Reverse Action
#2799 - t3du added add replacement function for math node
#2797 - rpaladin added End frame for "Play Action From" node
#2796 - rpaladin added New copy to bundled operator/button
#2791 - rpaladin added Logic Node: Get Canvas Text
#2790 - t3du added Math Node: add Ping-Pong property
#2788 - t3du added ArrayAdd Node: comparison for other type of values
#2787 - t3du added Logic Node: Array get Previous Next
#2785 - t3du added Logic Nodes: Array Filter and Array Display
#2784 - t3du added Camera Logic Nodes: Get/Set Camera Aspect, Scale and Type
#2783 - t3du added Logic Nodes: Array Count and Array Distinct
#2781 - t3du added Logic Node: Array Compare
#2780 - t3du added Logic Node: Get Object Dimension
#2809 - QuantumCoderQC added Fix node group polling
#2807 - QuantumCoderQC added Fix empty call group nodes
#2795 - MoritzBrueckner added Various micro shadowing fixes and improvements
#2794 - MoritzBrueckner added Fix roughness artifacts in specularBRDF()
#2788 - t3du added ArrayAdd Node: comparison for other type of values
#2786 - t3du added fix Random Vector variable definition
#2782 - t3du added fix ArrayContains and ArrayIndex Nodes
#2778 - rpaladin added fix realtime postprocessing
Iron: #186 - rpaladin added New animation setFrame() function
Armory Examples: #77 - rpaladin added Reenable disabled LUT texture setting
Armory Examples: #76 - Onek8 added Update README.md
Armory Examples: #75 - Onek9 added update readme
Armory Examples: #74 - MoritzBrueckner added fix bloom strength in graphics_settings example
Armory Examples: #73 - MoritzBrueckner added game_bowling example: fix texture & library paths

February is here with 31 new pull requests from some great contributors - great work!
HIGHLIGHTS
lampysprites added add player buttons to topbar.
MoritzBrueckner added option to disable OpenCL processing in CMFT to avoid driver freeze.

rpaladin added new compositing distort shader.
t3du added logic node: Array Sort Node.

These developer bounties are still available! Earn rewards by developing new features:

List of current bounties:
- Parallax Occlusion Mapping: https://github.com/armory3d/armory/issues/2609
- Dynamic Diffuse Global Illumination (DDGI): https://github.com/armory3d/armory/issues/2610
- Stochastic Screen-Space Reflections: https://github.com/armory3d/armory/issues/2611
- Box Projected Cube Environment Mapping (BPCEM): https://github.com/armory3d/armory/issues/2613
Exceptional3D made 5 new community tutorials this month - fantastic work!
#2775 - MoritzBrueckner added option to disable OpenCL processing in CMFT to avoid driver freeze
#2772 - t3du added logic node: Random String
#2771 - rpaladin added allow custom naming of lens texture
#2769 - rpaladin added custom lut naming
#2768 - t3du added logic node: Array Index
#2766 - t3du added logic node: Loop Continue
#2765 - t3du added logic Nodes: Array Sort Node
#2762 - MoritzBrueckner added rename "Khafile" option to "Append Khafile"
#2759 - rpaladin added export deform only option
#2758 - lampysprites added add player buttons to topbar
#2757 - t3du added draw section for draw nodes
#2756 - t3du added logic nodes: Array Reverse and Array Concat
#2755 - t3du added logic node: get object collection add array collection output
#2753 - t3du added logic node: Remove Trait from Object
#2752 - t3du added logic node: get Object Collection
#2751 - rpaladin added new compositing distort shader
#2749 - rpaladin added "Edit Script" button for WASM traits
#2774 - rpaladin added fix volumetric light
#2773 - rpaladin added fix deferred light solid
#2764 - rpaladin added fix typo
#2754 - rpaladin added fix incorrect node replacements
#2750 - MoritzBrueckner added don't delete actions if baking was not successful
#2748 - t3du added StringReplace: fix output to string
Iron: #184 - rpaladin added New getNumBones() method
Armory Examples: #72 - rpaladin added fix bowling demo
Armory Examples: #70 - MoritzBrueckner added update bloom example
Armory Examples: #69 - QuantumCoderQC added fix material_decal_colors example
Armory Tutorials: #20 - MoritzBrueckner added update bloom values to new bloom effect

January is here with 57 new pull requests from some great contributors - great work!
Christmas just passed and that means we've got a new month, year, and release!
Merry Christmas Armory community!
HIGHLIGHTS
Happy New Year Armory community!

(Credits: assets - LowPoly@Sketchfab, render - rpladin.)
QuantumCoderQC added Cursor/ Touch in region.

knowledgenude added add getPointVelocity method.

MoritzBrueckner added High-Quality Bloom.

rpaladin added new trait specials menu.

t3du added add Draw Text Area String node.

tong added append khamake options to command on preset exporters.

These developer bounties are still available! Earn rewards by developing new features:

List of current bounties:
- Parallax Occlusion Mapping: https://github.com/armory3d/armory/issues/2609
- Dynamic Diffuse Global Illumination (DDGI): https://github.com/armory3d/armory/issues/2610
- Stochastic Screen-Space Reflections: https://github.com/armory3d/armory/issues/2611
High-Quality Bloom: https://github.com/armory3d/armory/issues/2612- Box Projected Cube Environment Mapping (BPCEM): https://github.com/armory3d/armory/issues/2613
Exceptional3D made 5 new community tutorials this month - fantastic work!
#2738 - t3du added add Combine and Separate HSVA colors
#2736 - rpaladin added new trait specials menu
#2735 - t3du added add Draw Text Area String node
#2734 - t3du added add CaseIndex and BooleanToInt nodes
#2731 - tong added append khamake options to command on preset exporters
#2730 - t3du added add StringReplace and ParseInt nodes
#2729 - tong added always print calls to external tools
#2727 - QuantumCoderQC added Cursor/ Touch in region
#2725 - MoritzBrueckner added High-Quality Bloom
#2723 - t3du added add gate and compare between condition for vectors
#2719 - QuantumCoderQC added implement rotate render target node
#2715 - t3du added logic node: Array get next
#2713 - QuantumCoderQC added implement Pause Active Camera Render Node
#2712 - rpaladin added add extra mouse buttons
#2704 - tong added improve player launch command
#2697 - knowledgenude added add getPointVelocity method
#2740 - MoritzBrueckner added Gate node: fix accessing vector methods when DCE is on
#2739 - rpaladin added fix crash on recompile
#2737 - t3du added little fix
#2733 - MoritzBrueckner added fix emission ghosting effect on some platforms
#2732 - Onek8 added persist server process
#2718 - MoritzBrueckner added fix node version updates for mouse and pick RB nodes
#2717 - tong added fix null error on no arm_skin
#2716 - rpaladin added ceck if RenderPath preset is none
#2711 - rpaladin added check if no sky texture for dark clouds
#2710 - t3du added add variable socket to array integer
#2709 - rpaladin added check if voxel AO shadows enabled for deferred lighting
#2700 - tong added remove executable file permissions
#2699 - rpaldin added fix misc nodes
#2692 - Onek8 added add nodejs socket back to networking
#2691 - rpaladin added fix array node indexes
#2689 - MoritzBrueckner added fix loading world shader contexts if world name contains special characters
#2688 - rpaladin added socket output cleanup
#2687 - rpaladin added switch node: fix removing output sockets
ArmSDK: #60 - tong added fix typo in workflow
ArmSDK: #59 - tong added upgrade workflow actions
ArmSDK: #58 - tong added exclude armory.network from api docs build
Iron: #181 - MoritzBrueckner added Ensure bilinear filtering is used for bloom mips
Iron: #180 - rpaladin added cleanup extra mouse buttons
Iron: #178 - rpaladin added add extra mouse buttons
Iron: #177 - tong added remove executable file permissions
Iron: #176 - tong added update exporter
Iron: #174 - tong added run test workflow on pull_request too
Iron: #173 - tong added add gamepad id property
ArmorCore: #59 - MoritzBrueckner added fix memory leak when using web workers
ArmorCore: #56 - MoritzBrueckner added return null to Haxe if sound could not be created
Armory Examples: #67 - t3du added text area string node examples of use
Armory Examples: #66 - tong added fix physics_picking example name
Armory Examples: #65 - MoritzBrueckner added fix physics_picking example
Armory Examples: #64 - tong added rename blend file to project name
Armory Examples: #63 - tong added fix projects
Armory Examples: #62 - Onek8 added create README.md
Armory Examples: #61 - Onek8 added Network Zui Chat Example
Armory Tutorials: #19 - tong added update projects

December is here with 25 new pull requests and 1 additional new commit from some great contributors - great work!
HIGHLIGHTS
Onek8 added networking integration (works on all platform targets except Krom)

Onek8 added a date and time node

These developer bounties are still available! Earn rewards by developing new features:

List of current bounties:
- Parallax Occlusion Mapping: https://github.com/armory3d/armory/issues/2609
- Dynamic Diffuse Global Illumination (DDGI): https://github.com/armory3d/armory/issues/2610
- Stochastic Screen-Space Reflections: https://github.com/armory3d/armory/issues/2611
- High-Quality Bloom: https://github.com/armory3d/armory/issues/2612
- Box Projected Cube Environment Mapping (BPCEM): https://github.com/armory3d/armory/issues/2613
Exceptional3D made 7 new community tutorials this month - fantastic work!
#2667 - MoritzBrueckner added event.get(): always return null if no listeners exist
#2658 - Onek8 added networking integration :)
#2653 - LVutner added let's make the BxDFs more consistent!
#2644 - Onek8 added get date time node
#2683 - tong added skip text editor write if area is not available
#2679 - tong added log no ansi in blender console
#2678 - tong added fix custom exporter khamake arguments
#2673 - Naxela added fix for Armory baker
#2672 - LVutner added * FIX: Temporary fix(es) for BRDF LUT issues
#2670 - QuantumCoderQC added fix map range node
#2666 - tong added fix unwanted string concatenation in list
#2665 - tong added fix background mode build
#2664 - rpaladin added fix missing input socket minimums
#2656 - MoritzBrueckner added fix .arm reading issue when world color exceeds [0, 1] range
#2648 - MoritzBrueckner added playSoundNode: set volume to 1 by default
#2647 - MoritzBrueckner added fix [Get/Set]DebugConsoleSettings nodes
#2646 - Onek8 added fixed GetDateTimeNode
#2643 - MoritzBrueckner added fix exception when marking object as asset
ArmSDK: #56 - MoritzBrueckner added utility to print detailed version information to the console
ArmSDK: #55 - tong added custom dox theme with custom favicon
Iron [commit]: #56cc632 - luboslenco added Improve pen input handling
Iron: #172 - tong added fix null error if no Pen device exists
Iron: #171 - e2002e added Iron code that goes with Voxel GI

November is here with 14 new pull requests from some great contributors - fantastic work!
Halloween just passed and that means we've got a new month and a new release!
HIGHLIGHTS
tong added custom letterbox color.

MoritzBrueckner added full support for emission colors in all supported shaders.

QuantumCoderQC added option for NavAgent height offset.

QuantumCoderQC added option to set playback volume.

These developer bounties are still available! Earn rewards by developing new features:

List of current bounties:
- Parallax Occlusion Mapping: https://github.com/armory3d/armory/issues/2609
- Dynamic Diffuse Global Illumination (DDGI): https://github.com/armory3d/armory/issues/2610
- Stochastic Screen-Space Reflections: https://github.com/armory3d/armory/issues/2611
- High-Quality Bloom: https://github.com/armory3d/armory/issues/2612
- Box Projected Cube Environment Mapping (BPCEM): https://github.com/armory3d/armory/issues/2613
Exceptional3D made 10 new community tutorials this month - fantastic work!
#2638 - MoritzBrueckner added fully support emission colors in all supported shader nodes
#2632 - tong added write errors to stderr
#2623 - QuantumCoderQC added add option for NavAgent height offset
#2617 - QuantumCoderQC added add option to set playback volume
#2614 - MoritzBrueckner added new "Combine RGBA" node and add alpha output to "Separate RGB" node
#2637 - MoritzBrueckner added fix position of trait debug views if the debug console is left-aligned
#2631 - tong added fix typo
#2629 - e2002e added tesselation missing consts
#2626 - tong added fix webbrowser get name
#2620 - e2002e added disp color mix
#2615 - MoritzBrueckner added fix building for Krom on Windows
Release Notes: Backported June and July 2021 release notes.

October is here with 27 new pull requests from some very awesome contributors - great work!
On top of that, the website have gotten a refreshing new design thanks to rpaladin.
HIGHLIGHTS
MoritzBrueckner added a new Set Canvas Color node.

rpaladin added tree variables to scene node.

QuantumCoderQC added draw to material image texture.
New developer bounties are now available! Earn rewards by developing new features:

List of current bounties:
- Parallax Occlusion Mapping: https://github.com/armory3d/armory/issues/2609
- Dynamic Diffuse Global Illumination (DDGI): https://github.com/armory3d/armory/issues/2610
- Stochastic Screen-Space Reflections: https://github.com/armory3d/armory/issues/2611
- High-Quality Bloom: https://github.com/armory3d/armory/issues/2612
- Box Projected Cube Environment Mapping (BPCEM): https://github.com/armory3d/armory/issues/2613
#2605 - tong added custom play launch commands
#2603 - MoritzBrueckner added warn about precision issues for very large UV coordinates
#2602 - tong added start browser using proc_play
#2601 - MoritzBrueckner added debug Console: show active camera in outliner and hide "Set Active Camera" button for active cameras
#2600 - rpaladin added add tree variables to scene node
#2599 - MoritzBrueckner added [windows-hl] Fix "After Publish" actions and add "Open in Visual Studio" operator
#2596 - MoritzBrueckner added add option to automatically decide amount of Khamake processes
#2594 - MoritzBrueckner added edit scripts button: use Haxe icon instead of Python icon
#2591 - rpaladin added upgrade for remove object node
#2589 - Onek8 added new node for setting canvas input text focus
#2587 - MoritzBrueckner added support multiple canvas onReady callbacks
#2585 - QuantumCoderQC added draw to material image texture
#2604 - Naxela added update the Lightmapper to support Blender 3.3
#2597 - MoritzBrueckner added fix editing values in debug console
#2593 - MoritzBrueckner added canvas: fix theme issues when Zui theme == canvas theme
#2592 - rpaladin added update outdated readme
#2590 - notwarp added fix webassemblystudio link
#2588 - MoritzBrueckner added fix compilation of PhysicsBreak.hx
#2586 - MoritzBrueckner added fix exception when drawing the UI for bundled traits
#2584 - QuantumCoderQC added fix rigid body copy parameters
#2583 - MoritzBrueckner added fix support for Separate/Combine Color nodes
#2581 - QuantumCoderQC added fix set parent node
#2577 - QuantumCoderQC added fix arm material parameter export
ArmSDK: #50 - rpaladin removed non-existent submodule reference.

September is here with 20 new pull requests from some very awesome contributors - great work!
On top of that, the long awaited release that provides compatibility with Blender 3.x is finally here!
HIGHLIGHTS
Armory is now compatible with Blender 3.x!
(Credits: render - Naxela.)
Onek8 added created node for setting canvas input text.

e2002e added support for screen-space reflections when using water.

#2564 - Onek8 added created node for setting canvas input text.
#2560 - MoritzBrueckner added remove no longer supported proxy system and add support for library overrides.
#2544 - e2002e added SSR support for water.
#2573 - QuantumCoderQC added fix rigid body angular/ rolling friction.
#2561 - MoritzBrueckner added fix export of particle objects outside of the current scene and other collections.
#2559 - QuantumCoderQC added fix image texture parameters.
#2557 - QuantumCoderQC added fix shape key export in optimized mesh export.
#2553 - MoritzBrueckner added fix depth buffer access in SSS pass & fix numerical robustness of packFloatInt16().
#2552 - MoritzBrueckner added fix compilation error in Draw String node when Zui is disabled.
#2548 - QuantumCoderQC added fix sleep node.
#2546 - MoritzBrueckner added fix "Set Scene Active" node when using asset compression.
#2540 - MoritzBrueckner added fix initialization of tween and group nodes and ensure correct file version numbers.
#2538 - MoritzBrueckner added tree variables: fix missing synchronization when adding getters/setters.
Iron: #170 - QuantumCoderQC added Parse typedef or anonymous struct.
Iron: #169 - QuantumCoderQC added Fix shape keys in HL targets.
Iron: #168 - MoritzBrueckner added Fix particle positions.
Iron: #167 - QuantumCoderQC added Shape Keys per object basis.

August is here with 8 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
t3du added a bunch of useful new nodes that allow drawing of the camera viewport, as well as shapes.


knowledgenude added a new pulse node, which is useful for controlling weapon firing rates, as well as similar features.

#2517 - knowledgenude added introduce Pulse Node.
#2499 - t3du added several Draw nodes: cameras, images, string, geometric figures, etc.
#2514 - QuantumCoderQC added stop tweening when NavAgent is removed.
#2513 - MoritzBrueckner added fix for RotationNode.set(): get rid of invalid input length check.
#2509 - e2002e added firstPersonController.hx anti chess fool cheat.

July is here with 6 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
Note: that for this release it is required to re-download the full SDK rather than
using the "Update SDK" option in the user preferences, in order to ensure correct SDK updates with the "Update SDK"
option in the future.
Also worth noting in this month's release is that the bug which was limiting point lights on DirectX has finally been
resolved in Krafix (see #1772):
#2501 - MoritzBrueckner added align RGB to grayscale luminance with Blender.
#2500 - MoritzBrueckner added fix node tree caching.
Iron: #165 - lampysprites added Initialize scene's object properties.

June is here with 7 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
N/A
#2488 - MoritzBrueckner added fix exporting node sockets when using live patch or unconnected reroutes.
Iron: #164 - MoritzBrueckner added Fix particle emission for scaled emitters.
Iron: #163 - MoritzBrueckner added Make tilesheet frame rate independent of render path + fix race condition.
Iron: #162 - MoritzBrueckner added Fix compilation when using deinterleaved buffers.

May is here with 14 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
MoritzBrueckner added texture bindings support for custom materials, as well as the option to read depth texture for materials. This allows for interesting effects such as underwater caustics. Checkout the cool repository here.
QuantumCoderQC added key interpolation node. This allows linear interpolation (lerp) between values: 0-1. Great for smoothing character animations:

#2477 - QuantumCoderQC added key Interpolation Node.
#2475 - tong added use port from prefs for html5 player path.
#2474 - MoritzBrueckner added allow materials to read from a depth texture.
#2480 - MoritzBrueckner added fix export of logic nodes with Blender standard sockets.
#2479 - tong added search ffmpeg if not set.
#2470 - MoritzBrueckner added fix printing WASM errors when using ammo.js
Armory Examples: #49 - tong added sun Fix logic node errors.
Iron: #161 - MoritzBrueckner added sun world matrix uniform.
Iron: #160 - MoritzBrueckner added Allow materials to read from a depth texture.
Armory Tutorials: #17 - tong updated workflows.
Armory Tutorials: #16 - tong updated projects.

April is here with 25 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
MoritzBrueckner added follow reroutes for group nodes, as well as update call group node upon changes:
rpaladin added upgrades for the onEvent nodes:

#2462 - MoritzBrueckner added improve output socket handling of the Value Changed .
#2461 - MoritzBrueckner added add support for particle emission from faces.
#2455 - MoritzBrueckner added follow reroutes for group nodes and update call group node upon changes.
#2451 - MoritzBrueckner added new Array Resize node.
#2446 - MoritzBrueckner added add support for VS2022.
#2465 - MoritzBrueckner added fix updating rotation sockets during live patch session.
#2458 - MoritzBrueckner added fix polling of tree variable operators outside of logic trees.
#2457 - MoritzBrueckner added remove unused code that substantially slowed down texture export.
#2456 - MoritzBrueckner added fix socket order for Retain Value node.
#2454 - MoritzBrueckner added fix compiling texture node with triplanar (box) mapping.
#2450 - MoritzBrueckner added various export fixes for subsurface scattering.
#2449 - MoritzBrueckner added remove legacy code from utils.py and fix possible installation error.
#2448 - MoritzBrueckner added fix exception in ArmAnySocket.draw_color() when connecting reroute node.
#2445 - MoritzBrueckner added fix redefinition in volumetric light shader when using both sun and single spot light.
#2443 - MoritzBrueckner added prevent exception when exporting a world with an empty image texture node.
Iron: #159 - MoritzBrueckner added Add support for particle emission from faces and fix scaled volume particles.
Iron: #158 - MoritzBrueckner added Fix LZ4 encoding/decoding for new Kha array types.
Iron: #157 - MoritzBrueckner added Set sceneParent object before calling trait inits.
Iron: #156 - MoritzBrueckner added fix for MeshBatch.remove().
Armory Examples: #48 - QuantumCoderQC fixed and updated examples. Added documentation to some examples.
Armory Examples: #47 - yangol-oleksiy added fix script_rigidbody_trigger sample bug.
Armory Tutorials: #15 - QuantumCoderQC updated nodes in Tanks example.

March is here with 8 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
MoritzBrueckner added a new logic tree variable system that was implemented alongside a complete rewrite of the logic ID system. Thanks to these changes, options for using logic node variables have been extended and made much more dynamic:

You can find out more about the new tree variable system at the Armory wiki.
MoritzBrueckner also added bitwise math nodes for bit masking (for users who need more advanced options):

#2441 - MoritzBrueckner added add bitwise math node.
#2439 - MoritzBrueckner added new logic tree variable system.
#2437 - MoritzBrueckner fixed don't count not exported lights when setting shader defines.
Armory Examples: #46 - tong added armpack macro usage example.
Armory Tutorials: #14 - tong updated the armory tutorial projects to work with the latest SDK.

February is here with 17 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
Many new nodes were added thanks to t3du & QuantumCoderQC:





MoritzBrueckner added a sidebar to make logic node development much easier:

Naxela updated the lightmapper. Now it supports indirect lighting and logluv encoding:

#2431 - t3du added lights - Add nodes to control spot and area size, and spot blend.
#2430 - MoritzBrueckner added new sidebar panel to ease logic node development.
#2429 - t3du added array - ArraySampleNode and ArrayShuffleNode.
#2427 - t3du added alternate Output - alternate outputs with several outputs.
#2425 - Naxela added update lightmapper to v0.6.
#2423 - t3du added add Gamepad Sticks node.
#2422 - tong added export speaker distance fields.
#2419 - QuantumCoderQC added retain Value Node, Float Delta Interpolation Node.
#2418 - t3du added math node - add precision for round.
#2416 - t3du added add and remove objects from collections.
#2421 - MoritzBrueckner added fix is_transluc_type(): do not activate translucency with Principled BSDF emission strength.
#2420 - t3du added get Gamepad Started - fix node input.
#2414 - MoritzBrueckner added fix SetRotationNode: don't change rotation of previous objects.
Iron: #153 - tong added speaker distance fields.

January is here with 11 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
QuantumCoderQC added Node Grops - now your Node Trees can be used as Node Groups:

There's a bunch of great new nodes to expand the possibilities of visual scripting:

#2410 - MoritzBrueckner added improve node library handling.
#2409 - tong added update custom icons.
#2408 - QuantumCoderQC added introducing Node Groups.
#2406 - sh-dave added add IsRigidBodyActive node.
#2403 - MoritzBrueckner added replace deprecated addChild()/removeChild() functions with setParent().
Iron: #150 - tong added Use inverse distance model to calculate audio volume (Same as Blender).
Iron: #149 - t3du added remove bone child function.
Iron: #148 - MoritzBrueckner refactored object parenting.

December is here with 19 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
As usual, there's new bug fixes and improvements provided by fantastic contributors. Among the new features, one of the most noticeable ones are the addition of shape keys:
There's also a bunch of new nodes to expand the possibilities of visual scripting:

#2395 - MoritzBrueckner added add option to enable Haxe's --no-traces param.
#2391 - t3du added add tween transform node.
#2389 - sh-dave added run eventnode output, even if the events could not be delivered.
#2375 - QuantumCoderQC added Shape keys.
#2398 - MoritzBrueckner added compare node: fix accessing vector methods when DCE is on.
#2397 - MoritzBrueckner added fix vertex buffer locking on html5 for soft bodies.
#2392 - MoritzBrueckner added fix parser context references after reload and make enum values unique.
#2390 - QuantumCoderQC added fix Bool, Int and Float vector property export from logic nodes.
#2388 - QuantumCoderQC added fix bullet physics memory leak on HL targets.
#2385 - MoritzBrueckner added fix environment gamma and improve handling of envmap file formats.
#2384 - QuantumCoderQC added fix TransformExtension - Normalize vectors.
#2382 - Skehmatics added fix morph target exporting on Unix-based systems.
#2381 - Skehmatics added correct depricated (and now removed) import.
#2379 - MoritzBrueckner added fix cpu_count() for incomplete PATH var on Windows and improve error handling.
Iron: #146 - MoritzBrueckner added Fix vertex buffer locking on html5 for deinterleaved buffers and batched meshes.
Iron: #145 - QuantumCoderQC added Implement Shape keys.

November is here with 21 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
While most of this months features are backend additions, fixes and improved stability, there is a bunch of new and improved nodes:

#2369 - t3du added add Between and Not Equal to Compare Logic.
#2368 - t3du added add Not Equal to Gate Node.
#2363 - t3du added add get object uid nodes / agg args to call Haxe static function / add Between to gate node.
#2361 - SaxonGao-SZ added use project name for web title.
#2359 - t3du added add logic nodes: set/get canvas font size and set progress bar color.
#2353 - MoritzBrueckner added allow to set default renderpath for debugging.
#2372 - QuantumCoderQC added decal fix.
#2367 - MoritzBrueckner added fix exporting textures from linked libraries.
#2366 - MoritzBrueckner added fix exporting collections with parent object in another collection.
#2362 - tong added fix dox when using special characters.
#2357 - QuantumCoderQC added random color node fix.
#2356 - MoritzBrueckner added fix Geometry and Texture Coordinate nodes for world shaders.
#2355 - MoritzBrueckner added fix deprecated nodes and improve deprecation handling.
#2352 - MoritzBrueckner added fix CPU count parameter for cmft.
Iron: #143 - tong added Fix undefined markerevents.
Iron: #142 - MoritzBrueckner added fix vector trait properties on HTML5.
Iron: #141 - tong added fix dox when using special characters.
Iron: #140 - MoritzBrueckner fix world geometry.

October is here with 23 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
MoritzBrueckner created Aura - A fast and lightweight 3D audio engine for Kha & Armory3D.

tong created the Armory3D examples browser - Try it out online now!

The Armory3D Community Game Jam 2.0 has commenced, hosted by Willbot Studios. It will run throughout
October.
Join here.

QuantumCoderQC added 3 new nodes for tweening values for both floats, vectors and rotations:

And also a new new get NavAgent data node:

#2349 - MoritzBrueckner added add nodes to get/set global canvas scale.
#2342 - tong added improve log messages.
#2338 - tong added remove Haxe --times param per default.
#2336 - QuantumCoderQC added introducing Tween nodes.
#2331 - tong added do not open build directory in background mode.
#2326 - onelsonic added update props_ui.py.
#2325 - onelsonic added update props.py.
#2319 - MoritzBrueckner added the possibility of using more complex string expressions for assert() messages.
#2318 - QuantumCoderQC added a node to get NavAgent data and improved the Go To Location node.
#2339 - tong added fix invalid fp when using local sdk.
#2335 - MoritzBrueckner added fix fake user export for traits.
#2334 - tong added fix assert throw error.
#2332 - MoritzBrueckner added fix realtime postprocess & cleanup arm.lib.make_datas.
#2329 - MoritzBrueckner added fix ArmNodeAddInputOutputButton.
#2320 - QuantumCoderQC added a trait fix.
#2316 - onelsonic fixed some Haxe warnings related to type check.
#2315 - MoritzBrueckner fixed some postprocess uniform warnings.
Iron: #138 - MoritzBrueckner added a fix for switching scenes with different light objects.
Iron: #137 - QuantumCoderQC added reset collection transform after spawn.
Iron: #136 - tong added Armpack macro compatibility.
Additional: Release notes for August - 2021 have been added.

September is here with 22 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
N8n5h added a fix for volumetric lights when using shadow map atlas. Volumetric lights (god rays) should now work with the shadow map atlasing option:
#2308 - tong added the option to disable http logging and change web-server port if pre-used.
#2305 - niacdoial added a rotation socket for nodes. Revamped most nodes that uses rotations.
#2304 - tong added the option to play without building (Shift + Play).
#2298 - MoritzBrueckner added basic add-on reloading. Great feature for Armory developers!
#2296 - tong added linear and angular control properties to the PhysicsDrag.
#2306 - MoritzBrueckner added various node fixes.
#2303 - MoritzBrueckner fixed the Nishita sky artifacts and improved the LUT range.
#2302 - MoritzBrueckner fixed the accidental module reloading caused by global variables.
#2300 - N8n5h fixed the volumetric lights not working with the shadow map atlas option.
#2299 - MoritzBrueckner fixed Logic.hx that caused failed CI compilation.
#2297 - MoritzBrueckner added a canvas fix when using non-default fonts.
Iron: #134 - MoritzBrueckner added the exp() exponent function to vector classes.
Iron: #133 - QuantumCoderQC added a fix for the particle system related to scale and locations.
Armory Examples: #30 - tong added miscellaneous improvements to the examples.

August is here with 5 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
MoritzBrueckner added an immense overhaul of the existing live patching system. The new additional features includes support for light color and strength, as well as support for live patching nodes and more!
knowledgenude improved the Input map and added nodes to it.

#2283 - MoritzBrueckner added an immense overhaul of the existing live patching system.
#2260 - knowledgenude improved the Input map and added nodes to it.
#2286 - MoritzBrueckner fixed filepath error if project is on Windows drive root.

July is here with 13 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
Note: These release notes were created in 2022.
#2240 - QuantumCoderQC added option for relative physics constraint.
#2239 - QuantumCoderQC added set material parameter on per object basis.
#2235 - knowledgenude added cleanup in UI Ext.
#2221 - QuantumCoderQC added extra logic nodes.
#2220 - MoritzBrueckner added add Select node.
#2233 - MoritzBrueckner fixed compilation of some nodes.
#2231 - knowledgenude fixed GetBoneFkIkOnly node & add new input nodes.
#2228 - MoritzBrueckner fixed rendering multiple movie textures.
ArmSDK: #24 - tong added add gh actions workflow to build api docs to gh-pages.
ArmSDK: #23 - tong added improve api docs generation.

June is here with 10 new pull requests from some very awesome contributors - great work!
HIGHLIGHTS
Note: These release notes were created in 2022.
#2206 - QuantumCoderQC added improve bone IK: added new nodes for better animation control.
#2196 - N8n5h added small improvements for the shadow map atlas Blender UI.
#2184 - MoritzBrueckner added [Blender 2.9]: slightly improve debug console panel UI .
#2176 - MoritzBrueckner added update Blender version information to 2.93 LTS.
#2213 - MoritzBrueckner added fix instancing on mobile and solid renderpaths.
#2185 - MoritzBrueckner added fix double-export of linked objects.
#2177 - QuantumCoderQC added fix get object by name node.