25th December 2022 - Version 5.0 is now Live!
We are delighted to tell you that after over a year of working on the underlying technology, version 5.0
of Swift for Arduino has now been released!
The new IDE features a significantly overhauled compiler, standard library and fixes across the toolchain. Plus enhancements to the IDE itself. Long awaited features such as our own custom ARC runtime, tuned for small microcontrollers, enabling true support of classes, closures and fully memory managed arrays. Arrays now return optional values from indexing, providing strict bounds checking and safety. On the tooling side, as well as highly significant bugfixes (including an overhauled, modernised AVR back end), you can now do command line builds, and try the new "open" project structure, more like a traditional IDE with all files and build products contained in one folder, with a unix Makefile. And many, many more features. We hope you'll love it and we can't wait to find out how you all get on with the new product!
6th February 2022 - Version 4.9 is out
Bugfixes and improvements. Fix a but in the microSwift stub runtime that sometimes caused the initialisation of multiple variables in tabs other than main not to initialise correctly.
27th January 2022 - Version 4.8.9 is out
Bugfixes and improvements.
24th January 2022 - Version 4.8.7 and version 4.8.8 are out
Improved support for ICSP programmers.
9th January 2022 - Version 4.8.6 is out
This version contains support for some programmer boards including sparkfun.
27th December 2021 - Version 4.8.5 is out
This version contains support for 94 different AVR chips.
5th December 2021 - Version 4.8.4 is out
This version contains bugfixes for the runtime verifier.
19th November 2021 - Version 4.8.3 is out
This version contains the runtime verifier.
28th October 2021 - Version 4.8.2 is out
This version contains some math bugfixes.
23rd October 2021 - Version 4.8.1 is out
This version contains some build toolchain bugfixes.
3rd October 2021 Version 4.8 is out
This version allows you to use the IDE for free for non commercial, unsupported use.
26th August 2021 - Version 4.7 is out
This version contains bugfixes for the upcoming macOS 12 Monterey beta.
28th July 2021 - Version 4.6 is out
This version contains minor bugfixes and speeds up the IDE.
25th May 2021 - Version 4.5 is out
This version adds some useful bugfixes and a simple plugins/extensions system for use with newer AVR boards.
14th April 2021 - Version 4.4 is out
This version brings an important step forward for microSwift (uSwift). The arrays and buffers in our micro Standard Library (uStdlib) have been significantly modified to better handle out of memory conditions, which are far more likely to occur on a microcontroller than on larger platforms. The unsafe pointer and buffer allocate functions will return an optional type, which is nil if memory is exhausted, getting rid of many classes of dangerous out of memory problems, such as unintentional buffer overruns. Likewise, Array allocations in uStdlib will return an empty array if memory is exhausted. (NOTE: this is a breaking change in some places. For example, initialisers such as repeating initialisers will take the count as an inout parameter, so it can be zeroed if memory is not available.)
9th December 2020 - Version 4.3 is out
This version brings more bugfixes, together with a revamped module import system and the ability to add C and c++ files to your project. Plus unit testing! You can now add a simple unit test of your library code.
Version 4.2 is out
This release fixes a bug with Float comparison where an infinite loop/hang occurred. It also makes the strings.def file now obsolete and stops it being used in the build.
Version 4.1 is out
This release adds some bugfixes for neopixels and adds the Sparkle updater to make future updates easier to do. You no longer have to keep downloading from the website manually.
21st August 2020 - Version 4.0 is now live!
This is a major overhaul that the team has been working on for months, throughout lockdown. Most importantly this brings the brand new version 2 compiler, which is a radical change. With our own, custom standard library and front end, this is a new world. Now you can use features like structs, enums, protocols, generics and arrays! This is a major leap forward for Swift for Arduino and swift on microcontrollers in general.The swift language itself is now upgraded to Swift 5.3 as well!
Existing owners of Swift for Arruino 3.2, you can download the update from version 3.2 or earlier to 4.0 completely free today! (contact support if you have any issues)
Version 3.2.2 is a bugfix release
7th July 2020 - Version 3.2 contains an update to the internal llvm and a reworking of the strings functions to allow multiple strings at a time.
27th March 2020 - Version 3.0.1 is out
This is just a small bugfix patch version.
24th March 2020 - Version 3.0 is out!
The new version is a paradigm shift. The biggest change long time users will notice is the simulator. The Swift for Arduino IDE now supports running simulated code on a simulated board!!
The simulator runs as a helper service based on the widely used simavr project, you will be able to run programs and see UART output in the serial panel, just like a program running on a real physical board, you can even blink a virtual light attached to a virtual pin D13!
Next up is the API. The core S4A team have put our heads together to revamp many features of the core API, from simple examples, like there are now global constants representing the digital and analog pins (just look at snippets or example code to see what we mean).
Finally, best of all... we have totally revamped the example code!
It is hard to express how important this is and how excited we all are about this development. We have really simplified the whole way files are laid out on disk so you can easily find getting started examples and more. One of the things that has become obvious over the last 18 months we have been running S4A out in the world is that lots of people come to the platform really excited but then find it a bit confusing where to go next. This effort should really help. Even better Mark (our simplicity evangelist) has done painstaking work to make all the core starter examples really informative and inspiring and to clean up all the little details, plus add brilliant comments and documentation. This has to be seen to be believed. I recommend anyone who has seen the example code to look at the new versions in the .dmg disk image for S4A version 3.0 you will probably learn loads of new things and get lots of exciting ideas to get inspired for your next steps!
11th February 2020 - Version 2.9 is out. This has bugfixes, a longer scrollback on serial port output (for Axel) and automated documentation of library code.
14th January 2020 - Version 2.8 is out! This contains the new system to allow hybrid libraries containing Swift and C/C++/ASM code. See the community site for examples.
21st December 2019 - Version 2.7 is now available. It has sleep modes and new tutorials to help
getting started. Upgrade for free now!
Also work done in the news window to try to fix popups, prevent unwanted ads/etc. but to still allow people to follow us on Twitter or like/share our Facebook page if they want to.
27th October 2019 - Version 2.6 is out now and available for download. This contains bugfixes for macOS Catalina and a faster build, it doesn't reload the editor so often.
9th September 2019 - Version 2.5 is out now and available for download. This contains an XPC build engine for better security and privilege separation in the IDE.
3rd September 2019 - Version 2.4 is out now and available for download.
This is the first version with support for macOS 10.15 Catalina.
(If you are running an older version of macOS and have issues, you can try reverting to an older build of S4A such as version 2.3.)
Another great way to keep up to date with up to the minute Swift for Arduino news and happenings is to follow us on Twitter...Follow @swiftforarduino
Don't be shy, reach out to us with comment, suggestions, share your projects and upcoming happenings in the community or just give us some praise! :)
Now is a great time to Like our Facebook page!
You'll get news such as when a new release is available, upcoming events and of course a chance
to participate, make your voice heard about what you need from the product and
show the world what amazing stuff you've been inspired to create!
If you haven't already visited, our Facebook page is : here, see some fun demos and get involved in the community!