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