This is the changelog for ngDesign. See also roadmap.

It was last updated on 2015/11/01.

0.90.0 - 2016/11/02

0.85.0 - 2016/01/02

0.84.0 - 2015/11/01

0.83.0 - 2015/10/20

Major changes

In this release, we reimplemented the simulator from scratch. It no longer requires any external dependencies (no need for a C compiler or anything), supports every Cx construct, and is already more stable than the previous simulator ever was. The only component that is not implemented yet is the FIFO. This new simulator also has the advantage of generating a .vcd file that you can open with any VCD viewer (such as GtkWave or impulse by toem). The output is not exactly the same as what you would get with simulating the Verilog code (for instance it is missing clock and reset, timing of combinational signals is not exact), we might improve it in a future version.

Minor changes and bug fixes

0.82.0 - 2015/09/16

Fixed bug with combinational sync ports.

0.81.0 - 2015/09/14

0.80.0 - 2015/08/02

Exporters are now available in all versions (removed checks about license type).

0.79.0 - 2015/07/20

Updated the license checking code so that it is no longer necessary to release a new version of ngDesign every time we change the certificate on the synflow.com web server.

0.78.0 - 2015/07/09

0.77.0 - 2015/06/26

Known issues: ready ports in VHDL are still not supported. Cx simulator is still pretty broken. Let us know if you intend to use one of these and we'll fix it. Thanks!

0.76.0 - 2015/06/17

0.75.0 - 2015/06/10

Release notes

During this release, we improved how ready ports are implemented in Verilog and started using them in production. We also started a new (hopefully better) implementation of multi-cycle "if" statements to avoid "loosing cycles"; this involved writing a new model for transitions in the state machine, and slight changes in how the schedule tracks "if" statements. As a result, there are a few known issues that we have encountered and that will be fixed in the next release.

Known issues

Generally speaking, there can be surprises when reading from a ready input port in the exit branch of "while" loop, as this causes the port to be ready too soon. The workaround is to have a spare cycle between the previous loop and the read.

Improvements

Minor fixes

0.74.0 - 2015/05/11

ngDesign is now 100% open source!

Breaking changes

Improvements

Bug fixes

0.73.0 - 2015/03/30

Improvements

Bug fixes

0.72.0 - 2015/03/24

New features

sync ready ports! (Verilog only at the moment).

Improvements

Bug fixes

0.71.0 - 2015/03/06

Minor changes

Improvements

Fixes

0.70.0 - 2015/02/20

Breaking changes

After much consideration, we have decided to change the syntax of strings and arrays back to the way it was because we realized this was harming the language's consistency. We're aware that it will cause some pain, and we apologize. We prefer to fix mistakes sooner than later, it just took us a while to realize these issues (13 months for strings, 6 months for automatic casts of strings to numbers, 9 months for arrays). So why change the syntax for strings? Because a string in hardware is very, very different from a character, and we (ok, Matthieu) should never have merged the two. And regarding arrays, we're going back to using traditional C curly syntax {} rather than [] because it feels more natural, especially when moving back and forth between C and Cx code; unification with the syntax of properties [] brings nothing and if anything just adds confusion because like strings, properties are used for very different thing than arrays.

Improvements

0.69.0 - 2015/02/03

This version drops support for 32-bit OS X since it cannot run modern versions of Java (7 and upwards); this should affect very few users considering Mac has been using 64-bit processors for 8 years now. Also, in this version, for OS X (64-bit) and Linux (both 32-bit and 64-bit) versions, we now bundle the JRE with ngDesign. This makes it easier to get started with ngDesign, and solves a few problems. Indeed, on OS X if no JRE is installed the OS tells you to install Java 6, except that Java 6 is not supported anymore and ngDesign requires Java 8. On Linux depending on your distribution and release, installing Java 8 ranges from already installed to having to install and set up symbolic links manually.

Features

UX improvements

Bug fixes

0.68.0 - 2015/01/19

Major change

As part of the UX improvement, there is now a single ngDesign product in which features are enabled or disabled depending on your license. Feedback from users is that having two different versions is confusing, and we agree. This should solve this issue.

UX fixes and improvements

The focus on User Experience in this release fixes many small issues that have been present since the beginning of Synflow. For example, in the context of Eclipse (upon which ngDesign is based) it makes sense to have a generic project wizard, but it's a bit confusing for newcomers. Similarly, in previous releases, it was possible to use wizards without context; this is something that we did not anticipate, and that we think is not very natural compared to other actions. We've fixed all this, and the new user experience is actually closer to how IntelliJ does it, and we think it's much better.

0.67.0 - 2015/01/07

Fixes

0.66.0 - 2014/12/16

Improvements

Bug fixes

0.65.0 - 2014/12/08

Changes

Bug fixes

0.64.0 - 2014/12/02

Features

Bug fixes

0.16.0 - 2014/11/18

0.15.0 - 2014/11/14

0.14.0 - 2014/11/11

Features

Bug fixes

0.13.0 - 2014/10/31

Features

Bug fixes

0.12.0 - 2014/10/31

Features

Bug fixes

0.11.3 - 2014/10/28

Bug fixes

0.11.2 - 2014/10/21

Breaking changes

Improvements

Bug fixes

0.11.1 - 2014/10/07

This version fixes several major bugs in the instantiator.

Bug fixes

0.11.0 - 2014/10/03

This is the first release where ngDesign (open source) is separated from ngDesignPro (ngDesign with proprietary plugins).

Major changes

Minor changes

Bug fixes

0.10.0 - 2014/06/03

This is the first release of ngDesign (previously Synflow Studio).

Syntax changes

We implemented several syntax changes to make the language more homogeneous and consistent.

Major changes