-
Notifications
You must be signed in to change notification settings - Fork 40
/
news.html
1096 lines (1030 loc) · 77.1 KB
/
news.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>OpenSCAD - News</title>
<link href="assets/css/style.css" rel="stylesheet"/>
<link href="assets/fonts/open-sans/all.css" rel="stylesheet">
<script src="assets/js/jquery-1.9.1.min.js"></script>
<!-- One-Page-Nav -->
<script src="assets/js/jquery.scrollTo.js"></script>
<!--waypoints-->
<script src="assets/js/waypoints.min.js"></script>
<script src="assets/js/waypoints-sticky.min.js"></script>
<script src="assets/js/news.js"></script>
<script src="assets/js/header.js"></script>
</head>
<body>
<div id="page-wrap">
<header>
<div class="clear"></div>
<div id="logo" class="left"></div>
<div id="donate" class="right">
<a href="https://opencollective.com/openscad/donate" target="_blank">
<img src="assets/img/donate-opencollective.png" alt="Donate on Opencollective" width="200" height="33">
</a>
</div>
<div id="title" style="margin-top:35px; width:620px;">
<h1 class="title" style="position:relative;"><span class="green">Open</span>SCAD</h1>
<h2 class="subtitle" style="position:relative; left:45px;">The Programmers Solid 3D CAD Modeller</h2>
</div>
<div id="navigation">
<div id="navigation-inner">
<ul class="nav">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li class="current"><a href="news.html">News</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="documentation.html">Documentation</a></li>
<li><a href="libraries.html">Libraries</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="community.html">Community</a></li>
<li><a href="https://github.com/openscad/openscad/" target="_blank">GitHub</a></li>
</ul>
</div>
</div>
</header>
<div id="page-content">
<div id="sidebar" class="sticky">
<h1>News</h1>
<ul>
</ul>
</div>
<article>
<section id="20240309">
<h1 class="title">Google Summer of Code 2024</h1>
<h2 class="date">9 March 2024</h2>
<div class="entry">
<p>
<img class="newsimg" src="images/GoogleSummerOfCode-2024.png" title="Logo (c) Google CC BY-NC-ND 3.0"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/">BRL-CAD</a>, has again been accepted
to <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>.
</p>
<p>
Student application will open on March 18
(<a href="https://developers.google.com/open-source/gsoc/timeline">full timeline</a>).
Discussing project proposals early is highly encuraged for improving chances of acceptance.
</p>
<p>
Checkout the <a href="https://developers.google.com/open-source/gsoc/resources/downloads/GSoC2024Flyer.pdf">GSoC Flyer</a>
for a quick overview of what the program provides and how it works.
</p>
<p>
<a href="https://opencax.github.io/project-proposals/">Project proposals</a> have been posted to
our <a href="https://opencax.github.io/">OpenCAx</a> site which lists all the projects proposed
under the BRL-CAD umbrella. If you're interested in participating, please get in touch on the
<a href="https://openscad.org/community.html#forum">mailing list</a> or join the
<a href="https://web.libera.chat/?channel=#openscad">#openscad</a> channel on IRC to discuss
details and to help you get your feet wet. We're also open to new ideas than just the ones listed
on the proposal page.
</p>
<p>
If you're interested, please familiarize yourself with the
<a href="https://opencax.github.io/gsoc_checklist.html">requirements and application process</a>.
</p>
</div>
</section>
<section id="20221218">
<h1 class="title">OpenSCAD on social media</h1>
<h2 class="date">18 December 2022</h2>
<div class="entry">
<p>
<img class="newsimg" src="images/mastodon-logo-purple.svg" width="60" height="60" title="Logo (c) Mastodon AGPL-3.0"/>
While the OpenSCAD account on Twitter is not the most active one, it still was a nice
place to see what people are designing and sharing. But with Twitter now moving into
strange directions with surprising similarities to the freenode disaster like
<a href="https://help.twitter.com/en/rules-and-policies/social-platforms-policy">banning
links to other social media sites</a> we have removed the freshly added link to
<a href="https://fosstodon.org/@OpenSCAD">Mastodon</a> from the Twitter bio again.
</p>
<p>
So here are the links to the 2 official accounts that are currently active:
<ul>
<li>Mastodon: <a href="https://fosstodon.org/@OpenSCAD">@OpenSCAD@fosstodon.org</a></li>
<li>Twitter: <a href="https://twitter.com/openscad">openscad</a></li>
</ul>
</p>
<p>
A list of other groups and places can be found on the <a href="community.html">Community</a> page.
</p>
</div>
</section>
<section id="20220525">
<h1 class="title">3D Viewport Enhancements - Google Summer of Code 2022</h1>
<h2 class="date">25 May 2022</h2>
<div class="entry">
<p>
<img class="newsimg" src="images/GoogleSummerOfCode-2022.png" title="Logo (c) Google CC BY-NC-ND 3.0"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/">BRL-CAD</a>, has again been accepted
to <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>!
</p>
<p>
This years <a href="https://summerofcode.withgoogle.com/programs/2022/projects/erQ53gJD">GSoC project</a>
titled "3D Viewport Graphical Enhancements" is meant to modernize part of the display
code and give some support for nicer model presentation.
</p>
<br clear="all">
<p><b>Abstract:</b></p>
<p>
The project would allow the 3D viewport to support custom shaders for the render mode (F6).
This requires retrieving the necessary uniforms and other shader input/outputs, then providing
them to the program. Moreover, currently the GUI does not have options to allow the user to
manage which shader is used, or add their own. The project would add these interface options to
support shader management for the render by the user. Additionally, a set of default shaders
could be included which the user could switch between.
</p>
</div>
</section>
<section id="20220220">
<h1 class="title">New Online Customizer Works with Thingiverse</h1>
<h2 class="date">20 Feb 2022</h2>
<div class="entry">
<p>
<h3>Guest post introducing MakeWithTech</h3>
</p>
<img class="newsimg" src="images/makewithtech-icon.svg" title="MakeWithTech"/>
<p>
If you're into 3D printing, you know that Thingiverse<sup>1</sup>
is an excellent place to find models to print. Unfortunately, the customizer
on Thingiverse has been broken for a long time.
<a href="https://makewithtech.com">MakeWithTech</a>
just released a new online service that allows you to customize OpenSCAD
models. Browse models @ Thingiverse, select them for customization or upload
them from your desktop, customize and queue for rendering. The
<a href="https://models.makewithtech.com/">models.makewithtech.com</a>
infrastructure supports hundreds of simultaneous renders using the genuine
OpenSCAD software. Learn more by watching this
<a href="https://youtu.be/j58XA3kB8CI">YouTube video</a>.
</p>
<p>
For many experienced users of OpenSCAD, this application is unnecessary.
However, an online option is valuable for thousands of 3d printer users with
no CAD or programming experience. Providing a web-based customizer that hides
the OpenSCAD script creates an opportunity to develop a robust marketplace for
OpenSCAD based designs.
</p>
<p>
As a beta, I am looking for input on features, reports of bugs, and thoughts
about how a robust OpenSCAD marketplace would be structured. You can leave bug
reports and feature suggestions right on
<a href="https://models.makewithtech.com/">the site</a>
via the link in the footer.
</p>
<p>
<sup>1</sup>
The Thingiverse website is a copyrighted works belonging to MakerBot Industries, LLC.
</p>
</div>
</section>
<section id="20211107">
<h1 class="title">SOL75 - A functional customizer</h1>
<h2 class="date">7 Nov 2021</h2>
<div class="entry">
<p>
<h3>Guest post introducing SOL75</h3>
</p>
<img class="newsimg" src="images/sol75-beta.svg" title="SOL75"/>
<p>
Experimenting with the OpenSCAD language, <a href="https://www.sol75.com/">SOL75</a>
offers an online customizer where the inputs are the desired performances of a component.
The software then finds a suitable value for each of the component parameters, modifying
its geometry to make it compliant with the requested performances.
This allows for example to directly specify the maximum mass for a part, or the mechanical
load it shall support.
</p>
<p>
The project is geared toward functional mechanical parts, with built-in support for common
printing materials, customizable printer configurations and dynamically generated documentation
based on component requirements. You can have a look at <a href="https://www.sol75.com/">SOL75 landing page</a>
or try <a href="https://www.sol75.com/component/electronic_enclosure_if">the online demo</a>
directly.
</p>
</div>
</section>
<section id="20210312">
<h1 class="title">Google Summer of Code 2021</h1>
<h2 class="date">12 March 2021</h2>
<div class="entry">
<p>
<img class="newsimg" src="images/GoogleSummerOfCode-2021.svg" title="Logo (c) Google CC BY-NC-ND 3.0"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/">BRL-CAD</a>, has again been accepted
to <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>!
</p>
<p>
Student application will open from March 29 till April 13
(18:00 UTC! - <a href="https://developers.google.com/open-source/gsoc/timeline">full timeline</a>)
but don't wait for registration to open to get started! Discussing projects early is highly encuraged
for improving chances of acceptance.
</p>
<p>
Checkout the <a href="https://developers.google.com/open-source/gsoc/resources/downloads/GSoC2021Flyer.pdf">GSoC Flyer</a>
for a quick overview of what the program provides and how it works. Note that this years coding period of
GSoC will run for 10 weeks, so about half the time of previous years.
</p>
<p>
Project suggestions have been posted to our <a href="https://opencax.github.io/">OpenCAx</a> site
which lists all the projects proposed under the BRL-CAD umbrella. If you're interested in participating,
please get in touch on the <a href="https://openscad.org/community.html#forum">mailing list</a> or
join the #openscad channel on IRC to discuss details
and to help you get your feet wet. We're also open to new ideas than just the ones listed on the proposal
page.
</p>
<p>
If you're interested, please familiarize yourself with the
<a href="https://opencax.github.io/gsoc_checklist.html">requirements and application process</a>.
</p>
</div>
</section>
<section id="20210227">
<h1 class="title">CVE-2020-28599 reported against 2020.12-RC2</h1>
<h2 class="date">27 February 2021</h2>
<div class="entry">
<p><a href="https://talosintelligence.com/">Talos</a> reported
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-28599">CVE-2020-28599</a>
(<a href="https://talosintelligence.com/vulnerability_reports/TALOS-2020-1223">full report</a>)
against 2020.12-RC2, showing that specially crafted STL files could trigger a vulnerability.
Thanks to the fortunate timing, this issue could be fixed before the final release, which
means the OpenSCAD 2021.01 release is not affected by the issue. Many thanks to Talos for
the well documented issue and good communication.
</p>
</div>
</section>
<section id="20210131">
<h1 class="title">OpenSCAD 2021.01 released</h1>
<h2 class="date">31 January 2021</h2>
<div class="entry">
<p>Even though the development cycle was a bit shorter than last time, it's still
been almost 2 years and this has collected quite a long list of new features and
bugixes for this release.</p>
<p>The big language change is the introduction of
<a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/User-Defined_Functions_and_Modules#Function_Literals">function
literals</a> but there are a number of other useful changes too, like the
new exponent operator (<code>^</code>) and much better and more general support for tail
recursion optimization.</p>
<p>The GUI and especially the Editor has seen a huge amount of new features. Most
visible is probably the auto-complete which can propose built-in functions and
modules.</p>
<p>Another much anticipated feature is the "jump to code" from the 3d preview.
While it's not possible to go into the deepest levels of the design in all cases,
it's a great tool to navigate designs.</p>
<p>But it's worth highlighting also some of the not so obvious smaller features which
might improve the editing workflow.
<ul>
<li><i>Bookmarks</i> - Ctrl+F2 to toggle bookmarks, F2 / Shift+F2 for jumping to next/previous bookmark.</li>
<li><i>Changing numbers via mouse</i> - Similar to ALT+Cursor-Up/Down, numbers can be modified by placing the cursor at the number and using the mouse scroll wheel while pressing the ALT key.</li>
<li><i>Code snippets</i> - Insert often used code snippets using ALT+Insert or via editor context menu, custom templates can be added as simple files.</li>
</ul>
</p>
<p>Thanks to everyone who has contributed to this release through development
and community management, bug reports and fixes, documentation, translation,
discussions, as well as testing the release candidates!</p>
<p>A special <i>thank you</i> goes to the Google Summer of Code students who have
joined the OpenSCAD team for a couple of month and have helped to make some of those
new features possible (details on those projects can be found in the
<a href="https://github.com/openscad/openscad/issues?q=label%3A%22Tag%3A+GSoC%22">project reports</a>
on github). It's been a nice time and an opportunity learn and discuss ideas.</p>
<p>The source code, as well as binaries for Mac OS X, Windows and Linux are ready
for <a href="downloads.html">download</a>.</p>
<p>An overview of changes since last release follows, for all the details
including a list of bugfixes, see the
<a href="https://github.com/openscad/openscad/releases/tag/openscad-2021.01">release
page</a> on github.</p>
<p>Enjoy,<br/> The OpenSCAD Development Team.</p>
<br>
<h2>Language Features</h2>
<h3>New</h3>
<ul>
<li>Add function literals</li>
<li>Add exponent function (e.g. 2^3)</li>
<li>Add convexity parameter to resize()</li>
<li>Add support for generic tail recursion</li>
<li>Add $vpf for viewport field of view</li>
<li>Add warnings for ranges with begin < end</li>
<li>Add warnings for matrix structure problems</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Allow random seeds to stick between rands() calls</li>
<li>Make comparison operators on mixed types return undef</li>
<li>Track reason for values turning undef</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix Range precision</li>
<li>Fix empty geometry handling</li>
<li>Fix search order for imported modules</li>
<li>Improve internal handling of data values</li>
<li>Improve performance of array concatenation</li>
<li>Improve float accuracy of mirror matrix calculation</li>
<li>Improve polygon and polyhedron warnings/errors</li>
</ul>
<h2>Program Features</h2>
<h3>GUI</h3>
<ul>
<li>Add jump to source code from 3D preview</li>
<li>Add Error-Log window for tracking errors and warnings</li>
<li>Add window menu to allow keyboard access to all docked windows</li>
<li>Enable default binary stl output, and ascii option</li>
<li>Show message in console when caches are flushed</li>
<li>Disable HTML rendering in console</li>
<li>Enable color scheme for CGAL 2D render</li>
<li>Simplified OpenCSG edge shader, with added smoothing</li>
<li>New and updated translations: Chinese, Armenian, French, Russian, Polish, German</li>
</ul>
<h3>Editor</h3>
<ul>
<li>Edit multiple files in tabs</li>
<li>Switch tabs via Ctrl+Tab / Ctrl+Shift+Tab</li>
<li>Modify numbers via mouse scroll (when holding ALT)</li>
<li>Add auto-complete & call-tips for built-ins</li>
<li>Add configurable code snippets</li>
<li>Add (line) bookmarks</li>
<li>Add jump to error</li>
<li>Add support for line/block copy and move</li>
<li>Add convenience context menu to tab header</li>
<li>Open include<>/use<> files via inline link</li>
<li>Fix search highlight for utf8 text</li>
<li>Fix display of matches in search field</li>
<li>Add Find/Find Next/Find Previous to editor context menu</li>
</ul>
<h3>Command line</h3>
<ul>
<li>Support reading scripts from STDIN</li>
<li>Support export to STDOUT</li>
<li>Add multi-export on command line</li>
<li>Add --animate command line option</li>
<li>Add --export-format command line option</li>
<li>Allow view-port variables in command-line mode</li>
<li>Allow export to .ast, .csg, .echo and .term in preview mode</li>
<li>Print statistics in cmdline mode as in GUI</li>
</ul>
<h3>General</h3>
<ul>
<li>Add PDF export (single page only)</li>
<li>Add support for line-cap and line-join in SVG import</li>
<li>Add support stroke-linejoin in SVG import</li>
<li>Change CGAL Union to join least complex geometries first</li>
<li>Install start shortcut for all users on Windows</li>
<li>Install icons with defined sizes (e.g. required by flathub)</li>
<li>Switch to C++14 and allow usage of header-only CGAL</li>
<li>Add support for lib3MF v2.0 API</li>
<li>Update AppStream release info</li>
</ul>
</div>
</section>
<section id="20210114">
<h1 class="title">OpenSCAD release candidate: 2021.01-RC6</h1>
<h2 class="date">14 January 2021</h2>
<div class="entry">
<p>Release candidate 6 is now available, fixes relative to RC5:</p>
<ul>
<li>Fix handling of file links with spaces or comma characters. (<a href="https://github.com/openscad/openscad/issues/3609">#3609</a>)</li>
<li>Fix STL import, don't try to import partial files.</li>
<li>Prevent segfault on application quit while console messages are being logged.</li>
<li>Fix delayed console output. (<a href="https://github.com/openscad/openscad/issues/3421">#3421</a>)</li>
<li>Update translations (zh_TW, de).</li>
<li>Fix export_import_pngtest.py for relative source path.</li>
</ul>
<p>Big thanks go to everyone helping with testing and fixing those issues. Assuming
no more critical bugs are reported, this will be the release version.</p>
<p>The builds are available in the <a href="downloads.html#rc">Release Candidates</a>
section of the download page.</p>
</div>
</section>
<section id="20210106">
<h1 class="title">OpenSCAD release candidate: 2021.01-RC5</h1>
<h2 class="date">6 January 2021</h2>
<div class="entry">
<p>Release candidate 5 is now available, fixes relative to RC4:</p>
<ul>
<li>Fix save error handling (<a href="https://github.com/openscad/openscad/issues/3582">#3582</a>)</li>
<li>Don't show autocomplete in strings. (<a href="https://github.com/openscad/openscad/issues/3563">#3563</a>)</li>
<li>Fix formatting of ECHO/NONE as plain text in console. (<a href="https://github.com/openscad/openscad/issues/3585">#3585</a>)</li>
<li>Make sure opencsg.h is included for version number reporting. (<a href="https://github.com/openscad/openscad/issues/3586">#3586</a>)</li>
<li>Fix uncaught exception from boost::fs.</li>
<li>Close window on successful save all. (<a href="https://github.com/openscad/openscad/issues/3556">#3556</a>)</li>
<li>Fix autocomplete setup on show/hide editor to follow preferences. (<a href="https://github.com/openscad/openscad/issues/3572">#3572</a>)</li>
<li>Fix caching of Geometry. (<a href="https://github.com/openscad/openscad/issues/3547">#3547</a>)</li>
<li>Update examples/logo_and_text.scad and expected test results. (<a href="https://github.com/openscad/openscad/issues/3566">#3566</a>)</li>
<li>Omit "Features" from LibraryInfo when ENABLE_EXPERIMENTAL not defined.</li>
<li>Show message in console when caches are flushed. (<a href="https://github.com/openscad/openscad/issues/3540">#3540</a>)</li>
</ul>
<p>Big thanks go to everyone helping with testing and fixing those issues. At
this point there's no showstopper for a release, so if there's no new reports
coming in, this could be the final release candidate.</p>
<p>The builds are available in the <a href="downloads.html#rc">Release Candidates</a>
section of the download page. All builds, including MacOS are available now.</p>
</div>
</section>
<section id="20201231">
<h1 class="title">OpenSCAD release candidate: 2020.12-RC4</h1>
<h2 class="date">31 December 2020</h2>
<div class="entry">
<p>Release candidate 4 is now available, fixes relative to RC3:</p>
<ul>
<li>Don't return empty group for "if" statement with failing condition and no "else". (<a href="https://github.com/openscad/openscad/issues/3452">#3452</a>)</li>
<li>Fix template action shortcut to not clash with Copy&Paste. (<a href="https://github.com/openscad/openscad/issues/3558">#3558</a>)</li>
<li>Change context menu in 3D view to right-click only.</li>
<li>Fix customizer presets. (<a href="https://github.com/openscad/openscad/issues/3522">#3522</a>)</li>
<li>Disable $vpX warning in GUI mode. (<a href="https://github.com/openscad/openscad/issues/3548">#3548</a>)</li>
<li>Fix initial console output. (<a href="https://github.com/openscad/openscad/issues/3549">#3549</a>)</li>
<li>Fix missing UI_Error group name. (<a href="https://github.com/openscad/openscad/issues/3551">#3551</a>)</li>
<li>Don't show trace lines in ErrorLog window.</li>
<li>Fix location output in console.</li>
<li>Show render statistics even if error resulted in no top level geometry. (<a href="https://github.com/openscad/openscad/issues/3532">#3532</a>)</li>
<li>Setup CGAL error behavior to allow catching processing problems.</li>
</ul>
<p>Big thanks go to everyone helping with testing and fixing those
issues. There's some more issues to check, so RC5 is already work
in progress.</p>
<p>The builds are available in the <a href="downloads.html#rc">Release Candidates</a>
section of the download page. The usual Windows and Linux (x86 64-bit, AArch64)
builds are already available, MacOS builds will hopefully follow soon.</p>
</div>
</section>
<section id="20201218">
<h1 class="title">OpenSCAD release candidate: 2020.12-RC3</h1>
<h2 class="date">18 December 2020</h2>
<div class="entry">
<p>Release candidate 3 is now available, fixes relative to RC2:</p>
<ul>
<li>Handle case of flattening during iteration over VectorType. (<a href="https://github.com/openscad/openscad/issues/3541">#3541</a>)</li>
<li>Fix log output to separate preview/render executions. (<a href="https://github.com/openscad/openscad/issues/3533">#3533</a>)</li>
<li>Handle SCN_URIDROPPED introduced in QScintilla 2.11. (<a href="https://github.com/openscad/openscad/issues/3536">#3536</a>)</li>
<li>Add window menu to allow keyboard access to docked windows. (<a href="https://github.com/openscad/openscad/issues/3509">#3509</a>)</li>
<li>Calling tabifyDockWidget breaks window state save with Qt5.15/Linux.</li>
<li>Handle empty first geometry in 2D Minkowski. (<a href="https://github.com/openscad/openscad/issues/3527">#3527</a>)</li>
<li>Abort Nef conversion early on invalid input, to avoid segfault. (<a href="https://github.com/openscad/openscad/issues/2847">#2847</a>)</li>
<li>Disable context menu editor switch if editor hidden. (<a href="https://github.com/openscad/openscad/issues/3519">#3519</a>)</li>
<li>Ensure experimental features are disabled in release. (<a href="https://github.com/openscad/openscad/issues/3517">#3517</a>)</li>
</ul>
<p>Big thanks go to everyone helping with testing and fixing those
issues. There's some more issues to check, so I expect at least
one more RC.</p>
<p>The builds are available in the <a href="downloads.html#rc">Release Candidates</a>
section of the download page. The usual Windows and Linux (64-bit)
build are already available, MacOS builds will hopefully follow soon.</p>
</div>
</section>
<section id="20201206">
<h1 class="title">OpenSCAD release candidate: 2020.12-RC2</h1>
<h2 class="date">6 December 2020</h2>
<div class="entry">
<p>It's been a while since the last release, but here it is release candidate 2020.12-RC2. This brings a number of new features, some highlights:</p>
<ul>
<li>Generic tail-recursion support</li>
<li>Jump to code from 3D view</li>
<li>Auto completion and calltips (parameter descriptions for built-in modules)</li>
<li>Simple template support for code snippets</li>
<li>Support for multiple tabs in the editor</li>
<li>Export 2D designs to PDF (single page only)</li>
<li>Separate error log window with jump to code support</li>
</ul>
<p>The builds are available in the <a href="downloads.html#rc">Release Candidates</a> section of the download page. The usual Windows and Linux (64-bit)
build are already available, MacOS builds will hopefully follow soon.</p>
</div>
</section>
<section id="20190518">
<h1 class="title">OpenSCAD release: 2019.05</h1>
<h2 class="date">16 May 2019</h2>
<div class="entry">
<p>This release adds a number of features which have been in development for the last 4 years. Some of the larger program features are Customizer, which was first started as a Google Summer of Code project, and 3D input device support. The OpenSCAD language itself and standard library has seen a number of iterative improvements</p>
<p>The source code, as well as binaries for Mac OS X, Windows and Linux are ready for <a href="downloads.html">download</a>.</p>
<p>As usual, thanks go to everyone who has contributed to this release through development and community management, bug reports and fixes, documentation, translation, discussions, as well as testing the development snapshots!</p>
<p>A summary of changes since last release follows.</p>
<p>Enjoy,<br/><br/>The OpenSCAD Development Team</p>
<h2>Summary of changes</h2>
<h3>Language Features</h3>
<ul>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#assert">assert() module</a> and <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#Using_assertions_in_function">assert() function</a></li>
<li>Added <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Conditional_and_Iterator_Functions#Let_Statement">let()</a> module</li>
<li>Added <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/String_Functions#ord">ord()</a> function</li>
<li>Added <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#Echo_Function">echo()</a> function</li>
<li>Added type testing functions: <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#is_undef">is_undef()</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#is_list">is_list()</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#is_num">is_num()</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#is_bool">is_bool()</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#is_string">is_string()</a>
<li>New special variable: <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#%24preview">$preview</a></li>
<li>List comprehension updates: <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/List_Comprehensions#if%2Felse">if/else condition</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/List_Comprehensions#each">each keyword</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/List_Comprehensions#for">C-style for loop</a>, <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/List_Comprehensions#for">looping over characters of a string</a></li>
<li>rotate_extrude(): Added <a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/2D_to_3D_Extrusion#Rotate_Extrude">angle parameter</a></li>
<li><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Importing_Geometry#import">import()</a> now supports SVG, 3MF and AMF</li>
<li><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#color">color()</a> now supports hex color codes</li>
</ul>
<h3>Program Features</h3>
<ul>
<li><a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/WIP#Customizer">Customizer</a>: Allow parametrizing design parameters with GUI customization</li>
<li><a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/WIP/Inputdriver">3D-Mouse / Joystick / Gamepad</a> support</li>
<li>3D Printing support: Purchase from a print service partner or print to Octoprint</li>
<li>New export file formats: <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/STL_Import_and_Export#Export_Commands">SVG, 3MF, AMF</a></li>
<li>Quick-edit and preview of values using Alt-Arrows (Shift-Alt-Arrows on macOS)</li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_OpenSCAD_in_a_command_line_environment">--view</a> cmd-line parameter</li>
<li>Play sound notification on render complete</li>
<li>Revamped <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/WIP/Migration_Guide">errors and warnings</a></li>
<li>New translations: Ukrainian, Polish</li>
</ul>
<h3>Deprecations</h3>
<ul>
<li>Removed glide() and subdiv() which were never implemented</li>
</ul>
</div>
</section>
<section id="20181105">
<h1 class="title">Work in Progress</h1>
<h2 class="date">5 Nov 2018</h2>
<div class="entry">
<img class="newsimg" src="images/openclipart-j4p4n-newsicon.svg" title="News"/>
<p>After a quiet summer, there's now progress integrating a number of features
that were cooking in development branches for quite some time.</p>
<br clear="all"/>
<dl>
<dt>3D-Mouse support</dt>
<dd>Even though the initial effort was to support 3D-Mouse devices, specifically
the relatively affordable range of SpaceMouse/SpaceNavigator products from
3Dconnexion, OpenSCAD will support various input devices (e.g. Joysticks and
and Gamepads) depending on the platform it's running on.<br>
The preferences dialog allows configuration of the behavior of the input devices
regarding control of the 3D viewport and mapping buttons to user interface
actions.</dd>
<dt>Customizer</dt>
<dd>Inspired by the Thingiverse Customizer, this will allow customizing designs
via a simple user interface and save sets of parameter presets.
While this feature has been available in the development snapshots for
a while now, there were lots of improvements lately to both usability of the
interface as well as correctly handling of parameters hints specified in the
model source code.</dd>
<dt>3MF Import/Export</dt>
<dd>The 3D Manufacturing Format (3MF) as defined by the <a href="https://3mf.io/">
3MF Consortium</a> is one of the contenders to take over from STL. With
support for extended features like colors, materials, properties, multiple
volumes and the possibility to extend with both public and private features,
it's much more versatile than the (for 3d printing) commonly used STL format.
As additional reason for this format being a very attractive option is that
its <a href=https://3mf.io/specification/">Specification</a> and
<a href="https://github.com/3MFConsortium/lib3mf/">reference implementation</a>
are freely available and usable in Open Source projects.</dd>
</dl>
<br clear="all"/>
<p>At this point all of the features are available in the latest development
snapshots but are still marked as <i>experimental</i> which means they need
to be specifically enabled in the preferences dialog.</p>
</div>
</section>
<section id="20180218">
<h1 class="title">Google Summer of Code 2018</h1>
<h2 class="date">18 Feb 2018</h2>
<div class="entry">
<p><img class="newsimg" src="images/GoogleSummerOfCode-2016.png" title="Logo (c) Google CC BY-NC-ND 3.0"/></p>
OpenSCAD, in collaboration with <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">BRL-CAD</a>, has again been accepted to <a href="https://summerofcode.withgoogle.com">Google Summer of Code</a>!</p>
<p>Checkout the <a href="https://developers.google.com/open-source/gsoc/resources/downloads/GSoC2018Presentation.pdf">GSoC presentation</a> for a quick overview of what the program provides and how it works.</p>
<p>Project suggestions have been posted to <a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks">the wiki</a>. If you're interested in participating, please get in touch on the <a href="https://openscad.org/community.html#mailing-list">mailing list</a> or <a href="https://openscad.org/community.html#irc">IRC</a> to discuss details and to help you get your feet wet. We're also open to new ideas.</p>
<p>If you're interested, please familiarize yourself with the <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">requirements and application process</a>.</p>
<p>Student application is open from March 12 till March 27 (16:00 UTC! - <a href="https://summerofcode.withgoogle.com/how-it-works/#timeline">full timeline</a>) but don't wait for registration to open to get started! Discussing projects early is highly encuraged for improving chances of acceptance.</p>
<br clear="all"/>
<p>Suggested projects include:</p>
<ul>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-DXF-import-and-export">Improve DXF Import and Export</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Add-support-for-exporting-models-in-STEP-format">Add support for exporting models in STEP format</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project:-Improve-Text-Editor">Improve text editor with new IDE style features</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#openscad-standard-library">OpenSCAD Standard Library</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-OpenGL-rendering">OpenGL framework</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#persistent-caching">Persistent Caching</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Multi-threaded-geometry-rendering">Multi-threaded Geometry Evaluation</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Survey-of-CSG-algorithms">Survey and prototype of CSG algorithms</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#issue-handling">Issue handling and bug squashing</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#test-framework-improvements">Test Framework Improvements</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#svg-import">SVG import</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#larger-tasks-for-particularly-experienced-people">...and more</a></li>
</ul>
</div>
</section>
<section id="20170323">
<h1 class="title">Google Summer of Code 2017</h1>
<h2 class="date">23 Mar 2017</h2>
<div class="entry">
<p><img class="newsimg" src="images/GoogleSummerOfCode-2016.png"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">BRL-CAD</a>, has again been accepted to <a href="https://summerofcode.withgoogle.com">Google Summer of Code</a>!</p>
<p>Project suggestions have been posted to <a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks">the wiki</a>. If you're interested in participating, please get in touch on the <a href="https://openscad.org/community.html#mailing-list">mailing list</a> or <a href="https://openscad.org/community.html#irc">IRC</a> to discuss details and to help you get your feet wet. We're also open to new ideas.</p>
<p>If you're interested, please familiarize yourself with the <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">requirements and application process</a>.</p>
<p><small>Logo (c) Google</small></p>
<br clear="all"/>
<p>Suggested projects include:</p>
<ul>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-DXF-import-and-export">Improve DXF Import and Export</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#openscad-standard-library">OpenSCAD Standard Library</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-OpenGL-rendering">OpenGL framework</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#persistent-caching">Persistent Caching</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Multi-threaded-geometry-rendering">Multi-threaded Geometry Evaluation</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Survey-of-CSG-algorithms">Survey and prototype of CSG algorithms</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#issue-handling">Issue handling and bug squashing</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#test-framework-improvements">Test Framework Improvements</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#svg-import">SVG import</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#larger-tasks-for-particularly-experienced-people">...and more</a></li>
</ul>
</div>
</section>
<section id="20160714">
<h1 class="title">OpenSCAD Customizer</h1>
<h2 class="date">14 Jul 2016</h2>
<div class="entry">
<p><img class="newsimg_large" src="images/customizer.png"/>
<p>The topic of this year's Google Summer of Code project is <i>customization</i>. This is a small mid-term update on the status of this project.</p>
<p>One of the primary benefits of OpenSCAD is the ability to design <i>customizable</i> content. These are designs which are parametrized using parameters or top-level variables.</p>
<p>Some projects utilize OpenSCAD's ability to customize designs as part of their web services, e.g. <a href="http://customizer.makerbot.com/docs">Thingiverse Customizer</a>, <a href="https://www.sculpteo.com/fr/developer/webapi/create/openscad/">Sculpteo Parametric Designs</a> and <a href="http://enablingthefuture.org/handomatic/">e-NABLE Handomatic</a>.</p>
<p>The goal of this project is two-fold, 1) offer an auto-generated GUI associated with a customizable design, making it easier to both create and use such designs and 2) offer an authoritative standard for how to specify meta-data to guide the generation of such a GUI. As a temporary measure, we're also planning to support the meta-data syntax used by Thingiverse, making it possible to use the thousands of customizable designs published there.</p>
<p>Want to learn more, or download development binaries for Mac or Windows? Our GSoC developer, Amarjeet Kapoor, has written a blog post detailing the state of the project: <a href="https://amarjeetkapoor1.wordpress.com/2016/07/04/user-interface-for-customizing-models/">User Interface for Customizing Models</a>.</p>
<p>We're also interested in your opinions on this. Feel free to reach out on the <a href="community.html#mailing-list">mailing list</a> or <a href="community.html#irc">#openscad on IRC</a>.
</div>
</section>
<section id="20160303">
<h1 class="title">Google Summer of Code 2016</h1>
<h2 class="date">3 Mar 2016</h2>
<div class="entry">
<p><img class="newsimg" src="images/GoogleSummerOfCode-2016.png"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">BRL-CAD</a>, has again been accepted to <a href="https://summerofcode.withgoogle.com">Google Summer of Code</a>!</p>
<p>Project suggestions have been posted to <a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks">the wiki</a>. If you're interested in participating, please get in touch on the <a href="https://openscad.org/community.html#mailing-list">mailing list</a> or <a href="https://openscad.org/community.html#irc">IRC</a> to discuss details and to help you get your feet wet. We're also open to new ideas.</p>
<p>If you're interested, please familiarize yourself with the <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">requirements and application process</a>.</p>
<p><small>Logo (c) Google</small></p>
<br clear="all"/>
<p>Suggested projects include:</p>
<ul>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Form-based-script-parameterization">Form-based Customization</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-DXF-import-and-export">Improve DXF Import and Export</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#openscad-standard-library">OpenSCAD Standard Library</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-OpenGL-rendering">OpenGL framework</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#persistent-caching">Persistent Caching</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Multi-threaded-geometry-rendering">Multi-threaded Geometry Evaluation</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Survey-of-CSG-algorithms">Survey and prototype of CSG algorithms</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#issue-handling">Issue handling and bug squashing</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#test-framework-improvements">Test Framework Improvements</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#larger-tasks-for-particularly-experienced-people">...and more</a></li>
</ul>
</div>
</section>
<section id="20150310">
<h1 class="title">OpenSCAD release: 2015.03</h1>
<h2 class="date">10 Mar 2015</h2>
<div class="entry">
<p>OpenSCAD 2015.03 has just been released!</p>
<p>This release adds a number of features which has been in development for some time. Most prominent are text(), offset() and list comprehension functionality, as well as a better editor and other GUI improvements implemented during last year’s Google Summer of Code.</p>
<p>The source code, as well as binaries for Mac OS X, Windows and Linux are ready for <a href="downloads.html">download</a>.</p>
<p>Lots of thanks go to everyone who have contributed to this release through development, translation, bug reports, bug fixes, documentation, discussions, as well as testing the development snapshots!</p>
<p>A summary of changes since last release follows.</p>
<p>Take care,<br/> -Marius</p>
<h2>Summary of changes</h2>
<h3>Language Features</h3>
<ul>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Text">text()</a> module for 2D text</li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#offset">offset()</a> module for 2D offsets</li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/List_Comprehensions">list comprehensions</a> and <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Mathematical_Functions#let">let()</a></li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Mathematical_Functions#concat">concat()</a> function</li>
<li>Added <a href="">chr()</a> function</li>
<li><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#Surface">surface()</a> can now take PNG images as input</li>
<li><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Mathematical_Functions#min">min()</a> and <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Mathematical_Functions#max">max()</a> can now take a vector argument</li>
<li><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#minkowski">2D minkowski</a> can now handle polygons with holes</li>
<li>Variables can now be <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/General#Variables">assigned in local blocks</a> without using assign()</li>
</ul>
<h3>Program Features</h3>
<ul>
<li>Added Toolbar icons</li>
<li>New code editor based on <a href="http://www.riverbankcomputing.co.uk/software/qscintilla/intro">QScintilla</a></li>
<li>Added Splash screen</li>
<li>Added SVG export</li>
<li>Added AMF export</li>
<li>Added --viewall and --autocenter cmd-line parameters</li>
<li>GUI is now translated into German, Czech, Spanish, French and Russian</li>
<li>MDI (Multiple Document Interface) is now available on all platforms</li>
<li>Color schemes for viewer and editor can be user-edited using JSON files</li>
<li>GUI components are now dockable</li>
<li>Added Tickmarks on axes</li>
</ul>
<h3>Bugfixes/improvements</h3>
<ul>
<li>Performance improvement: 2D (clipper), preview, hull, minkowski, surface</li>
<li>Performance improvement: Reduce duplicate evaluation of identical expressions</li>
<li>Better recursion behavior</li>
<li>STL export and import is now more robust</li>
<li>Internal cavities are better supported</li>
<li>New examples</li>
<li>Windows cmd-line behaves better</li>
<li>Better mirror() and scale() behavior when using negative factors</li>
</ul>
<h3>Deprecations</h3>
<ul>
<li><a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#polyhedron">polyhedron()</a> now takes a faces= argument rather than triangles=</li>
<li>assign() is no longer needed. Local variables can be created in any scope</li>
</ul>
</div>
</section>
<section id="20150304">
<h1 class="title">Google Summer of Code 2015</h1>
<h2 class="date">4 Mar 2015</h2>
<div class="entry">
<p><img class="newsimg" src="images/GoogleSummerOfCode-2015.png"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">BRL-CAD</a>, has again been accepted to <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2015">Google Summer of Code</a>!</p>
<p>Project suggestions have been posted to <a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks">the wiki</a>. If you're interested in participating, please get in touch on the <a href="https://openscad.org/community.html#mailing-list">mailing list</a> or <a href="https://openscad.org/community.html#irc">IRC</a> to discuss details and to help you get your feet wet. We're also open to new ideas.</p>
<p>If you're interested, please familiarize yourself with the <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">requirements and application process</a>.</p>
<p><small>Logo (c) Google CC-BY-NC-ND 3.0</small></p>
<br clear="all"/>
<p>Suggested projects include:</p>
<ul>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Form-based-script-parameterization">Form-based Customization</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-DXF-import-and-export">Improve DXF Import and Export</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#openscad-standard-library">OpenSCAD Standard Library</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Improve-OpenGL-rendering">OpenGL framework</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#persistent-caching">Persistent Caching</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Multi-threaded-geometry-rendering">Multi-threaded Geometry Evaluation</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Project%3A-Survey-of-CSG-algorithms">Survey and prototype of CSG algorithms</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#issue-handling">Issue handling and bug squashing</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#test-framework-improvements">Test Framework Improvements</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas-for-Development-Tasks#larger-tasks-for-particularly-experienced-people">...and more</a></li>
</ul>
</div>
</section>
<section id="20140930">
<h1 class="title">Merged: Google Summer of Code</h1>
<h2 class="date">30 Sep 2014</h2>
<div class="entry">
<p><img class="newsimg_large" src="images/GoogleSummerOfCode-2014-merged.png"/>
As mentioned earlier, OpenSCAD participated in <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2014">Google Summer of Code 2014</a> as part of the <a href="http://brlcad.org/wiki/Google_Summer_of_Code">BRL-CAD</a> umbrella. We accepted one student, Shaina Sabarwal, this summer to work on a <a href="http://www.google-melange.com/gsoc/project/details/google/gsoc2014/shaina/5700735861784576">user interface brushup project</a>. Please head over to her <a href="http://shainasabarwal.wordpress.com/2014/08/03/gsoc-project-ui-brushup-of-openscad/">blog post</a> summarizing her work.</p>
<p>We're also happy to announce that as of today, we've merged all her contributions to our <a href="https://github.com/openscad/openscad">github master branch</a>. The latest binary snapshot containing the new features is available for <a href="downloads.html">download</a>.
<p>Thanks to Shaina and Google, as well as <a href="https://github.com/t-paul">Torsten</a> for mentoring, for making this project possible!</p>
<p><small>Logo (c) Google CC-BY-NC-ND 3.0</small></p>
<br clear="all"/>
</p>
</div>
</section>
<section id="20140309">
<h1 class="title">OpenSCAD release: 2014.03</h1>
<h2 class="date">9 Mar 2014</h2>
<div class="entry">
<p>OpenSCAD 2014.03 has just been released!</p>
<p>The source code, as well as binaries for Mac OS X, Windows and Linux are ready for <a href="downloads.html">download</a>.</p>
<p>Lots of thanks go to everyone who've
contributed to this release through
development, testing, bug reports, discussions
and bounties.</p>
<p>A summary of changes since last release follows.</p>
<p>Take care,<br/> -Marius</p>
<h2>Summary of changes</h2>
<h3>Language Features</h3>
<ul>
<li>Added diameter argument: circle(d), cylinder(d, d1, d2) and sphere(d)</li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#parent_module.28n.29_and_.24parent_modules">parent_module() and $parent_modules</a></li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#children_.28previously:_child.29">children()</a> as a replacement for child()</li>
<li>Unicode strings (using UTF-8) are now correctly handled</li>
<li><a href="https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Conditional_and_Iterator_Functions">Ranges</a> can have a negative step value</li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#norm">norm()</a> and <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#cross">cross()</a> functions</li>
</ul>
<h3>Program Features</h3>
<ul>
<li>Cmd-line: <code>--info</code> parameter prints system/library info</li>
<li>Cmd-line: <code>--csglimit</code> parameter to change CSG rendering limit</li>
<li>Cmd-line: Better handling of cmd-line arguments under Windows</li>
<li>GUI: Added Reset View</li>
<li>GUI: Added Search&Replace in editor</li>
<li>GUI: Syntax highlighting now has a dark background theme</li>
<li>GUI: We now create a backup file before rendering to allow for recovery if OpenSCAD crashes/freezes</li>
<li>GUI: Accessibility features enabled (e.g. screenreading)</li>
</ul>
<h3>Bugfixes/improvements</h3>
<ul>
<li>Reading empty STL files sometimes caused a crash</li>
<li><code>OPENSCADPATH</code> now uses semicolon as path separator under Windows</li>
<li>polyhedron() is now much more robust handling almost planar polygons</li>
<li>Automatic reloads of large designs are more robust</li>
<li>Boolean logic in if() statements are now correctly short-circuited</li>
<li>rands() with zero range caused an infinite loop</li>
<li>resize(, auto=true) didn't work when shrinking objects</li>
<li>The $children variable sometimes misbehaved due to dynamic scoping</li>
<li>The --camera cmd-line option behaved differently then the corresponding GUI function</li>
<li>PNG export now doesn't leak transparency settings into the target image</li>
<li>Improved performance of 3D hull() operations</li>
<li>Some editor misbehaviors were fixed</li>
<li>Stability fixes of CGAL-related crashes</li>
<li>Windows cmd-line can now handle spaces in filenames</li>
<li>Default CSG rendering limit is now 100K elements</li>
<li>Fixed a crash reading DXF files using comma as decimal separator</li>
<li>Fixed a crash running the cmd-line without a HOME env. variable</li>
<li>Intersecting something with nothing now correctly results in an empty object</li>
</ul>
<h3>Deprecations</h3>
<ul>
<li>child() is no longer supported. Use children() instead.</li>
<li>polyhedron(triangles=[...]): Use polyhedron(faces=[...]) instead.</li>
</ul>
<h3>Misc</h3>
<ul>
<li>Test framework now shares more code with the GUI app</li>
<li>Test report can now be automatically uploaded to dinkypage.com</li>
<li>Better compatibility with BSD systems</li>
<li>Qt5 support</li>
</ul>
</div>
</section>
<section id="20140224">
<h1 class="title">Google Summer of Code 2014</h1>
<h2 class="date">24 Feb 2014</h2>
<div class="entry">
<p><img class="newsimg" src="images/GoogleSummerOfCode-2014.png"/>
OpenSCAD, in collaboration with <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">BRL-CAD</a>, has been accepted to <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2014">Google Summer of Code 2014</a>!</p>
<p>Project suggestions have been posted to <a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014">the wiki</a>. If you're interested in participating, please get in touch on the <a href="https://openscad.org/community.html#mailing-list">mailing list</a> or <a href="https://openscad.org/community.html#irc">IRC</a> to discuss details and to help you get your feet wet. We're also open to new ideas.</p>
<p>If you're interested, please familiarize yourself with the <a href="http://brlcad.org/wiki/Google_Summer_of_Code/Project_Ideas">requirements and application process</a>.</p>
<p><small>Logo (c) Google CC-BY-NC-ND 3.0</small></p>
<br clear="all"/>
<p>Suggested projects include:</p>
<ul>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-issue-handling">Issue Handling</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-test-framework-improvements">Test Framework Improvements</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-thingiverse-customizer-and-sculpteo-customizer-support">Thingiverse Customizer and Sculpteo customizer support</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-user-interface-brushup">User interface brushup</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-improve-dxf-import">Improve DXF import</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-opengl-framework">OpenGL framework</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-persistant-caching">Persistent caching</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-multi-threaded-geometry-evaluation">Multi-threaded Geometry Evaluation</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-web-front-end">Web front-end</a></li>
<li><a href="https://github.com/openscad/openscad/wiki/Ideas:-GSoC-2014#wiki-larger-tasks-for-particularly-experienced-people">Larger tasks for particularly experienced people</a></li>
</ul>
</div>
</section>
<section id="20130618">
<h1 class="title">OpenSCAD release: 2013.06</h1>
<h2 class="date">18 Jun 2013</h2>
<div class="entry">
<p>OpenSCAD 2013.06 has just been released!</p>
<p>The source code, as well as the Mac OS X binaries can be <a href="downloads.html">downloaded</a>. Binaries for Windows and Linux will trickle in when they've been built and tested.</p>
<p>Thanks goes to everyone who's contributed to this release, through
development, bug reports, email discussions and being willing to use
development snapshots.</p>
<p>As usual, we've added and modified a few language features, as well as
added functionality in the GUI and cmd-line tools, as well as a long
list of bugfixes and stability improvements.</p>
<p>A summary of changes since last release follows.</p>
<p>Take care,<br/> -Marius</p>
<h2>Summary of changes</h2>
<h3>Language Features</h3>
<ul>
<li>linear_extrude now takes a scale parameter:<br/>
<code>linear_extrude(height=a, slices=b, twist=c, scale=[x,y])</code></li>
<li>Recursive use of modules is now supported (including cascading child() operations), see <a href="https://github.com/openscad/openscad/blob/master/examples/example024.scad">example024</a><br/></li>
<li>Parameter list values can now depend on earlier values: <code>for (i=[0:2], j=[0:i])</code></li>
<li>value assignments in parameters can now depend on already declared parameters</li>
<li>Added <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#resize">resize()</a> module</li>
</ul>
<h3>Program Features</h3>
<ul>
<li>Added basic syntax highlighting in the editor</li>
<li>There is now a <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries#Library_Locations">built-in library path</a> in user-space</li>
<li>Commandline output to PNG, with various camera and rendering settings.<br/>
Run <code>openscad -h</code> to see usage info or see the <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_OpenSCAD_in_a_command_line_environment">user manual</a></li>
<li>Attempting to open or drag&drop dxf, off or stl files in the GUI will now create an import statement.</li>
<li>The preview operator (%) will now preserve any manually set color</li>
<li>The highlight operator (#) will now color the object in transparent red</li>
<li>Mac: Added document icon</li>
<li>Mac: Added auto-update check</li>
<li>Windows: Better cmd-line support using the openscad.com executable</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>Importing files is now always relative to the importing script, also for libraries</li>
<li>We didn't always print a warning when CSG normalization created too many elements</li>
<li>Binary STLs can now be read on big endian architectures</li>
<li>Some binary STLs couldn't be read</li>
<li>Fixed some issues related to ARM builds</li>
<li>CGAL triangulation more lenient - enables partial rendering of 'bad' DXF data</li>
<li>The Automatic Reload feature is now more robust</li>
<li>If a file couldn't be saved it no longer fails silently</li>
<li>Fixed a number of crashes related to CGAL and OpenCSG rendering or complex models</li>
<li>The lookup() function had bad boundary condition behavior</li>
<li>The surface() module failed when the .dat file lacked a trailing newline</li>
<li>The hull() module could crash if any of the children were empty objects</li>
<li>Some problems using unicode filenames have been fixed</li>
</ul>
<h3>Misc</h3>
<ul>
<li>Build scripts have been further improved</li>
<li>Regression test now creates single monolithic .html file for easier uploading</li>
<li>Regression test auto-starts & stops Xvfb / Xvnc if on headless unix machine</li>
<li>The backend is finally independent of Qt</li>
<li>Windows: We now have a 64-bit version</li>
</ul>
<h3>Known Bugs</h3>
<ul>
<li>Linux: command-line png rendering on Gallium is flaky.<br/>
Workaround: use CGAL --render or hardware rendering.</li>
</ul>
</div>
</section>
<section id="20130505">
<h1 class="title">New Website</h1>
<h2 class="date">5 May 2013</h2>
<div class="entry">
<p>After years of ignoring the OpenSCAD website, it's finally time to give it a well-deserved facelift. The whole site is fully reworked, the content has been made a lot more available, especially the <a href="documentation.html">documentation</a>. We've also launched a web forum mirror of the mailing list at <a href="https://forum.openscad.org">forum.openscad.org</a>. The <a href="gallery.html">gallery</a> page is still work in progress and will gradually be populated with a better selection of examples.</p>
<p><a href="mailto:marius@kintel.net">Feedback</a>, suggestions for changes or patches are welcome (PS! the website is a <a href="https://github.com/openscad/openscad.github.com">git repository</a>).</p>
<p>Thanks to <a href="http://janetingley.com">Jane Tingley</a> and <a href="http://maxstein.net">Max Stein</a> for helping out with content, visual design and web development.</p>
</div>
</section>
<section id="20130117">
<h1 class="title">OpenSCAD release: 2013.01</h1>
<h2 class="date">17 Jan 2013</h2>
<div class="entry">
<p>I've just released OpenSCAD 2013.01. The source package as well as the Mac OS X binaries can be downloaded from <a href="https://openscad.org">openscad.org</a>. Binaries for Linux and Windows will appear when the package managers get them built and tested.</p>
<p>Thanks a lot to all contributors - there has been significant contributions, especially towards build systems and automated testing!</p>
<p>Have fun,<br />-Marius</p>
<h2>Summary of changes in this release:</h2>
<h3>Features</h3>
<ul>
<li>Snappier GUI while performing CGAL computations (computations running in separate thread)</li>
<li>The size of the misc. caches can now be adjusted from Preferences</li>
<li>The limit for when to disable OpenCSG can now be adjusted from Preferences</li>
<li>Added Dot product operator: vec * vec</li>
<li>Added Matrix multiplication operator: vec * mat, mat * mat</li>
<li>Added search() function</li>
<li>Dependencies are now tracked - any changes in uses/included files will be detected and cause a recompile</li>
<li>The OPENSCADPATH environment variable is now implemented will have precedence when searching for libraries</li>
<li>.csg files can now be opened from the GUI</li>
<li>linear_extrude() will now assume that the first parameter means 'height' if it's a number</li>
</ul>
<h3>Bugfixes</h3>
<ul>