> For the complete documentation index, see [llms.txt](https://manual.karamba3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.karamba3d.com/appendix/a.1-updates-and-bug-fixes/new-in-karamba3d-2.2.0.x.md).

# Version 2.2.0

These are the new features of Karamba3D 2.2.0

* **"ShellSection"**-component for retrieving cross section forces and other results along arbitrary sections of shells (see section [3.6.15](/3-in-depth-component-reference/3.6-results/3.7.3-results-on-shells/3.6.15-shell-sections.md)).
* Additional types of loads for beam- and truss-elements (see section [3.2.2](/3-in-depth-component-reference/3.2-load/3.2.2-beam-loads.md)). The **"Imperfection"**- and "**Line-Load"**-option of the **"Loads"**-component were moved to the **"Beam Loads"**-component. The latter are now available as the more flexible **"Block"**-loads.
* Line joints for shells (see section [3.4.3](/3-in-depth-component-reference/3.4-joint/3.4.3-line-joint.md)).
* **"Cross Section Properties"**-component for calculating geometric properties of arbitrary cross sections (see section [3.9.17](/3-in-depth-component-reference/3.8-utilities/3.9.17-cross-section-properties.md)).
* Membrane elements (see section [3.1.9](/3-in-depth-component-reference/3.1-model/3.1.7-create-surface-element/3.1.9-mesh-to-shell.md#shells-and-membranes))
* A refined element selection component for retrieving elements via their identifier, color, cross section, material, characteristic length or type (see section [3.1.16](/3-in-depth-component-reference/3.1-model/3.1.16-select-elements.md)).
* On-the-fly installation via YAK (see section [1.1](/1-introduction/a.2-installation.md#installation-via-the-yak-package-manager))
* Automatic generation of value-lists for several components (e.g. load-case input, degree of freedoms for input at supports,...). See section [2.1](/2-getting-started/2-getting-started-1/karamba3d-entities.md#graphical-user-interface).
* Specification of color ranges via context-menu for the **"ModelView"**-, **"BeamView"**- and **"ShellView"**-components.
* Rendering beams and shells with cross sections results in watertight meshes with normal vectors pointing outward.&#x20;
* Different types of strength hypotheses for bi-axial stress states and differentiation between tensile and compressive strength available for materials (see section [3.5.1](/3-in-depth-component-reference/3.4-material/3.4.1-material-properties.md)).
* The material database has been enlarged (see section [3.5.3](/3-in-depth-component-reference/3.4-material/3.4.3-read-material-table-from-file.md)).
* Physical units of calculation and input quantities can be freely specified (see section [2.3](/2-getting-started/2-getting-started-1/2.3-physical-units.md#non-default-physical-units)).
* **"Settings"**-component to update program options within Grasshopper (see section [3.0.1](broken://pages/-MgzaBlcIlt9Z6VSF4wN)).
* **"Optimize Cross Section"**-component (see section [3.6.8](/3-in-depth-component-reference/3.5-algorithms/3.5.8-optimize-cross-section.md))
  * Cross section design according to Eurocode3: 'SwayFrame'-option added for more economic design of structures where buckling involves no sideways sway.
  * Input 'MaxDisp' can be supplied with a vector for specifying the length and direction component for limiting displacements.
* **"ModelView"**-component: Input-plug 'DispDir' lets one specify a direction for selecting displacement-components to be displayed. When supplying a plane, displacements get projected onto it. See section [3.7.1](/3-in-depth-component-reference/3.6-results/3.7.1-general-results/3.6.1-modelview.md).
* **"ShellLineResults"**-component: added display-option 'TransverseShear' for generating principal shear lines. See section [3.7.13](/3-in-depth-component-reference/3.6-results/3.7.3-results-on-shells/3.6.12-line-results-on-shells.md#transverse-shear).
* Added 'Dofs' input-plug to **"PrescribedDisplacements"**- and **"Support"**-component.See sections [3.2.4](broken://pages/-MCkEPtDf3Us1Cx18c7G) and [3.1.16](/3-in-depth-component-reference/3.1-model/3.1.16-support.md) respectively.
* **"Shell View"**: Added cross section rendering without colors. See section [3.7.12](/3-in-depth-component-reference/3.6-results/3.7.3-results-on-shells/3.6.11-shellview.md).
* Load-cases identifiers: Names can be used instead of numbers.
* **"JointAgent"**-component: the given criteria for joint placement are combined via 'and' instead of 'or'. See section [3.4.2](/3-in-depth-component-reference/3.4-joint/3.3.5-beam-joint-agent.md).
* **"LineToBeam"**-component: it is now possible to input poly-lines and splines and derive the buckling length from these; multiple names can be given to beams. See section [3.1.6](/3-in-depth-component-reference/3.1-model/3.1.6-create-linear-element/3.1.6-line-to-beam.md).
* Import and export of models via Json or Bson (see section [3.8.2](/3-in-depth-component-reference/3.7-export/3.8.2-json-bson-export-and-import.md))
* The **"Element Query"**-component can now be used to get the mass, surface, volume or meshes of specified elements (see section [3.7.3](/3-in-depth-component-reference/3.6-results/3.7.1-general-results/3.7.3-element-query.md)).
* **"Node Forces"**-component: Retrieves the truss or beam elements, their cross section forces and directions around a node (see section [3.7.11](/3-in-depth-component-reference/3.6-results/3.7.2-results-on-beams/3.6.10-resultant-section-forces.md)).
* In all result-components where formerly only element-identifiers could be input to specify elements for which to get results, the elements themselves can now be used.
* **"Nodal Displacements"**- and **"Support"**-component: node-index or position can now be used to specify the node where to get results. See sections [3.7.4](/3-in-depth-component-reference/3.6-results/3.7.1-general-results/3.6.3-nodal-displacements.md) and [3.7.6](/3-in-depth-component-reference/3.6-results/3.7.1-general-results/3.6.5-reaction-forces.md).
* **"Beam Displacements"**- and **"Beam Forces"**-component: The position of results along the beam can now be selected via parameter values. See sections [3.7.9](/3-in-depth-component-reference/3.6-results/3.7.2-results-on-beams/3.6.8-beam-displacements.md) and [3.7.10](/3-in-depth-component-reference/3.6-results/3.7.2-results-on-beams/3.6.9-beam-forces.md).
* Scripting: It is now possible to attach user-data to all Karamba3D objects. See the example 'Karamba\Examples\TestExamples\Scripts\UserData.gh' in the Karamba3D installation folder.
* Point-masses: The point-masses no longer enter the total mass as output by the **"Assemble"**-component. In this way it is easier to assess the mass of the structure.
