I use Swype for years and I bought the payed version. Generally I am very happy with it but a few months ago some issues with spacing got worse.

1. Swype is adding spaces before hyphens when it shouldn't: if I swype "diz", then "-se", this would normally form the portuguese word "diz-se" correctly.
However now it forms "diz -se", which is incorrect. I bet the idea was for us to just go ahead and swype the whole "diz-se" in one go. But unfortunately
this works very badly, to the point of being unusable, for longer words. Long words are very common in portuguese, and those hyphenated endings
are super common. So if I try something like "restabeleceu-se" in one go, it never gets the word right. It would be better to let us do it in two
movements, and NOT add the space. Otherwise you would have to cram the dictionary with all the ending variations for every form of every verb,
some of them complex ("restituiu-se-lhe", "confirmá-lo-emos").

2. Then Swype started removing spaces I tell it to include. This is before punctuation, like turning " :" into ":". This is correct in Portuguese
(though not in some instances of French) but does not apply always. For example, every single smiley that I use now gets ruined by Swype.
If I want "hello : - )" I get "hello: - )". I know Swype has some condition there to distinguish Smileys from other punctuation, but it's not good enough.
I use ": - )" not ":-)" so that I don't send my friends that idiotic Android green monster.
So I swype "hello", then tap space, then swype ": ", then "- ", then ") ". Except now swype removes that initial space I tapped...

Please don't make life more difficult for us with all these automatisms. I know you mean to help (fixing spaces of people who don't space correctly) but you only make it worse when people who DO space correctly, and care about spacing, suddenly find some stupid algorithm is second-guessing their options...

And here's a good, old fashion smiley for the guy/gal who fixes theses issues! : - )