When to expect a new stable version?

Currently 3151 is the latest stable version, and I think it is quite a long time (in software terms, and especially in Glyphs-speed-terms) since it has been released.

The more I am confused to see the “This is a release candidate. We do not expect many more changes to the final release.” phrase in every single cutting-edge-changelogs since what (it feels like a year?)

Do you consider to have a new release candidate in the near future? This mentioned phrase starts to feel really missleading, when it is just written over every changelog.

I write this from the perspective of a tool developer, who does a lot of customer support and has to keep up with both – old and new versions of Glyphs – running on user’s machines. In order to make tools future proof, I have to make compromises and cannot keep the tools working in old Glyphs versions sometimes.

Since the 3151 is out for long, the range of Glyphs versions I have to keep track of grows and makes the development work harder for me.

(A recent example is a Plugin Crash that happens with 3151 : Symbol not found: (_GSUpdateInterface), which is bollocks, as it works in other Glyphs versions just perfectly fine.)

We are working on the final release of 3.2. Some small issue here and there and change-log and blog post (the later ones are the bigger task).
GSUpdateInterface as a constant was added in 3.2, so it is no surprise that it crashes in 3.1. You needed to use @"GSUpdateInterface" before.

3 Likes

Thank you so much. I can work with that :slight_smile:

GA keeps crashing when I try to open it by opening a file. I’ve filed crash reports.

3.2 (3227) on macOS Big Sur 11.6.1 (20G224)

that crash is caused be the ItalicExtremes plugin. It was not updated in a while (I did send some pull requests but they were never accepted). I changed the path to the plugin to point at my repo. So removing and re-installing should give you a more stable version.

2 Likes

@oneweioranother did that help or are there more plugins causing crashes?
I will push some updates to my plugins today that add the fix, Georg just showed above.

Yep! Crash hasn’t happened again so far

1 Like

Do you know which build number exactly?

Or shall i check for the versionString 3.2?

Lastly, how could I properly add a check in obj-c? My problem is, that even if I successfully check the glyphs version, I still cannot use the constant GSUpdateInterface for versions higher or equal to 3.2, because older versions still cannot find the symbol:

	NSString *versionString = [(GSApplication *)NSApp versionString];
	if ([versionString floatValue] < [@"3.2" floatValue]) {
		return @"GSUpdateInterface";
	} else {
		return GSUpdateInterface;
	}

It looks like i would load the symbol dynamically. But that is a lot of overhead. Instead I could just go for the string @"GSUpdateInterface" in any case. But then in the future I will always have that string sticking around in my code instead of using the constant. How do you deal with such changes to the core?


PS: also not sure if checking the version like this is valid. It works in this case, but does not look right. (I used intValue for the buildNumber before, which is ok)

should be all 3.2 versions.

You can’t really check this without some linker trickery. So just use the string until you stop supporting 3.1.

1 Like

I would define my own constant and set that to @"GSUpdateInterface" with a note that stating with 3.2 GSUpdateInterface could be used instead. Then, I use my own constant for as long as needed and replace it by the Glyphs-provided constant once I am ready to drop support for older systems.

1 Like

Thank you both. That’s how I’ll roll.
Updates are out now, crash reports might be less :crossed_fingers: