avc81's picture

Opentk 1.1

when is scheduled the next opentk release?


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
longjoel's picture

I'm sure I'm not the only one here who would be willing to donate real hard cash to keep OpenTK alive. Seriously guys, put up a donate button or something so we can put together bug fix or documentation bounties.

thorrablot's picture

Is there any chance of seeing a 1.0.1 bugfix release in late '11/early '12? As I mentioned earlier, there are bugfixes for new platforms in the svn head, but also some breaking API changes. I am extremely hesitant to pull a development tip into a production application, as I feel I'd be missing testing by the OpenTK authors.

Inertia - thanks for the summary of OpenTK status. Overall, I've been very happy with how easy OpenTK has allowed me to add OpenGL capabilities to a legacy WinForm application, and it's stability. I'd like to see OpenTK enjoying as much activity as the SlimDX "other camp" of managed wrappers, but unfortunately, this doesn't seem to be the case.

Any updates on release plans (even a "no - don't count on it") would be helpful.

the Fiddler's picture

At this point, I estimate that 1.1 is ~70% done and that we are significantly closer to a 1.1 release than a 1.0.1 "bugfix" release. In fact, backporting the fixes from 1.1 to 1.0 is likely to take longer than pushing forward with 1.1

1.1 is not meant to contain breaking changes to existing APIs, so if you encounter such changes please report them as bugs. (The one exception lies in OpenTK.Graphics.OpenGL, where two uncommon extensions would crash due to incorrect bindings). All other modifications are additive and should not affect existing applications: update to OpenGL 4.1 and OpenTK.Input APIs. Again, applications should compile cleanly against the 1.1 nightlies (if they don't, this is a bug that should be reported and fixed before release).

I intend to make a beta release later this month and a final in December, which means that focus is on regressions and high-priority bugs. No new features can be added at this point, so the only new features are the new input APIs and GL 4.1 (4.2 will have to wait for 1.2). It is almost certain that GTK# and Mac OS X cannot be fixed on this cycle: both require a large internal rewrite to a single-threaded model with message queues for inter-thread communication. The regression potential makes this prohibitive for 1.1 but it will be the priority for 1.2, along with GL updates.

Almost as important is finding ways to increase the bus factor, right now too much is dependent on the availability of a single person. Ideas welcome.

longjoel's picture

Fiddler!

Thank you for the update!

thorrablot's picture

That's great news - thanks for the update, Fiddler.

I'll double-check the issues I saw against the nightly svn, and report them if still present. If I can figure out likely fixes in the OpenTK source, I'll run it up for review.

the Fiddler's picture

Thanks, much appreciated.

thorrablot's picture

Fiddler - How's progress toward a OpenTK 1.1 beta?

I've filed the two issues I found with the current trunk (the main issue I encountered was already reported in September, and I have a workaround for it).

I see there's some recent activity SVN and assigned issues, but I don't see any updated information regarding a beta branch/install or release schedule.

thorrablot's picture
Fiddler wrote:

I intend to make a beta release later this month and a final in December, which means that focus is on regressions and high-priority bugs. No new features can be added at this point, so the only new features are the new input APIs and GL 4.1 (4.2 will have to wait for 1.2).

Is there still a chance of the release happening sometime in January? I'd like to incorporate 1.1 into a product testing cycle here, if possible.

Any update on status/ETA of the 1.1 release would be a help for project planning.

Robmaister's picture
Quote:

At this point, I estimate that 1.1 is ~70% done and that we are significantly closer to a 1.1 release than a 1.0.1 "bugfix" release. In fact, backporting the fixes from 1.1 to 1.0 is likely to take longer than pushing forward with 1.1
1.1 is not meant to contain breaking changes to existing APIs, so if you encounter such changes please report them as bugs. (The one exception lies in OpenTK.Graphics.OpenGL, where two uncommon extensions would crash due to incorrect bindings). All other modifications are additive and should not affect existing applications: update to OpenGL 4.1 and OpenTK.Input APIs. Again, applications should compile cleanly against the 1.1 nightlies (if they don't, this is a bug that should be reported and fixed before release).
I intend to make a beta release later this month and a final in December, which means that focus is on regressions and high-priority bugs. No new features can be added at this point, so the only new features are the new input APIs and GL 4.1 (4.2 will have to wait for 1.2). It is almost certain that GTK# and Mac OS X cannot be fixed on this cycle: both require a large internal rewrite to a single-threaded model with message queues for inter-thread communication. The regression potential makes this prohibitive for 1.1 but it will be the priority for 1.2, along with GL updates.
Almost as important is finding ways to increase the bus factor, right now too much is dependent on the availability of a single person. Ideas welcome.

An idea to help with the dependence on a single person would be to move to a DVCS system like git or mercurial and host the code on github (my personal preference) or bitbucket. Moving to a distributed system where it's very easy to fork, work with the code and commit locally, and later send out pull requests will attract more developers to contribute to the project.

There are built-in interfaces for submitting issues/features requests, and pull requests are much more organized. I can understand if you are hesitant to make the switch just because git is so fundamentally different than SVN, but after the initial learning curve, dynamic version control is just amazing. The best part is that you can have lower-level maintainers who test and pull most of the bugfixes/new features, and you can then collectively take all those issues and merge it into the main OpenTK branch as a high-level maintainer. If two different low-level maintainers have simultaneous changes, you can just ask one of them to merge with the other one so that you don't have to deal with the merge yourself if you don't want to.

Here's a really nice introductory speech about git. Note that this is 4 years old and git has been polished a whole lot more since then. http://www.youtube.com/watch?v=4XpnKHJAok8

I've been personally working on adding new matrix classes and optimizing the current ones, so if OpenTK does actually move to git, I would love to help maintain the math library. I could also test and integrate all the old issues/feature requests regarding the math classes and let you integrate all of them to the main OpenTK branch in a matter of seconds.

EDIT:
Feel free to email or PM me about the switch.
I'm currently converting the SVN repo to git as I'm curious to how large it will be with the full history behind it. If you do choose to switch, I could zip up the git repo and send it to you for the initial push to github. I'm saying this because it's taking some time to convert, mainly about downloading the changes in each revision, it seems to be pausing for a half second when it tries to download each revision and that adds up when there's >3000 revisions.

thorrablot's picture
thorrablot wrote:
Fiddler wrote:

I intend to make a beta release later this month and a final in December, which means that focus is on regressions and high-priority bugs. No new features can be added at this point, so the only new features are the new input APIs and GL 4.1 (4.2 will have to wait for 1.2).

Is there still a chance of the release happening sometime in January? I'd like to incorporate 1.1 into a product testing cycle here, if possible.

Any update on status/ETA of the 1.1 release would be a help for project planning.

Any updates on beta/final for 1.1?