# OpenSCAD 2019.05
**Language Features:**
* New modules
* assert() - stop script evaluation on failed constraints
* let() - scoped assignment
* New functions
* ord() - convert from character to Unicode code point
* echo()
* assert() - stop script evaluation on failed constraints
* Type testing functions: is_undef(), is_list(), is_num(), is_bool(), is_string()
* New special variable: $preview variable which is set to true in preview mode
* List comprehension updates
* Added if/else condition
* Added each keyword
* Added C-style for loop
* Now allows looping over characters of a string
* rotate_extrude(): Added angle parameter to
* import() now supports SVG, 3MF and AMF
* color() now supports hex color codes
* Removed glide() and subdiv() which were never implemented
**Program Features:**
* Customizer: Allow parametrizing design parameters with GUI customization
* Support for using 3D-Mouse / Joystick / Gamepad input devices for controlling the 3D view
* 3D Printing support: Purchase from a print service partner or print to Octoprint
* New export file formats: SVG, 3MF, AMF
* Quick-edit and preview of values using Alt-Arrows (Shift-Alt-Arrows on macOS)
* Added --view cmd-line parameter
* Play sound notification on render complete
* Line numbers and filenames are now shown for many errors and warnings
* Hardwarning preference: Stop on first warning
* Hardwarning and assert now shows a stack trace
* New warnings
* Module call parameterns don't match module declaration
* Argument value of of range
* Duplicate passed argument
* Children passed to module not accepting children
* Reference to inknown $special_variables
* Duplicate assigment
* New translations: Ukrainian, Polish