Yes! We actually have Yoshimi code policies. Look how many there are :)

If the version string contains a 4th number this will always be just a bugfix. Previously it was intended that it should not have features added since the main version, but this has proved to be impractical, so now we just won't tell anyone about them till the next release :P

e.g
yoshimi-1.3.5   {main version}
yoshimi-1.3.5.1 {first bugfix}
yoshimi-1.3.5.2 {second bugfix} surely not!

To avoid possible confusion, from now on 'master' will display the last released version number (without bugfix digits) with an 'M' suffix - unless it is a release candidate in which case the suffix will be rc{n}.

e.g.
Release was yoshimi-1.3.5.2
master was shown as yoshimi-1.3.5 M

xml files created with this will have:
Major version 1
Minor version 3


We now implement a build number. This is only bumped up when I push new commits to master (both github and sourceforge) so may represent several actual commits.


We won't normally accept fixes for spelling errors in the *code*
For a start, from bitter experience it is fatally easy to change two variables to the same name! Also, there's no point, after all they are only a mnemonic for memory addresses etc. 'volume' and 'LFO' could just as well be 'turnyfing' and 'derfingwotwiggles'.

We do however accept some name changes where the orginal name is ambiguous or no longer appropriate.

Finally, some of these errors are in the identifier names of the saved XML files, and have been there since ZynAddSubFX Version 2.2.1 To change them would break all the instrument files that have been created since then.


If using Fluid to edit GUI files, please close all windows and collapse all menus *before* the last save. I know it's tedious, but it avoids storms of spurious 'changes' that make genuine ones harder to see.


Please follow the coding style throughout Yoshimi. In particular:
    Indentation 4 spaces (no tabs)
    Braces on their own lines.
Also, try to avoid creating trailing whitespace.


We used to adjust the "modified" date onfile changes. This is no longer done as it can cause problems when multipe changes come from different developers. This date can no longer be relied on, and the information will be removed completely at some point. Change information is still available in the changelog, and also from the repository itself.


There seems to be no easy way to copy commit messages to the changelog, and people downloading releases won't see them, so please update this using the following as an example.

2017-8-30 Will
* BugFix: Disabling a part was resetting all controllers.
* Doc updates.
* Sys/Ins effect controls now transferred to lock free.
  But could be improved.

Lines without '*' are continuations/extra info keeping the line length short, and are not usually included in commit messages.

Alternatively, please send me a brief description to include when I next update.
