The Box2D git repo is here: https://github.com/erincatto/Box2D. The latest release version is 2.3.1, which is released 3 years ago. After that, there are many commits merged, but not a stable version is released.
@anon98020523 suggests to use latest commit of Box2D, and he always uses Box2D’s latest codes. But i am not sure since the author doesn’t make it as a release version.
I am not sure if we can do it as @anon98020523’s suggestion, because:
@zhangxm Why do you think that author of Box2D is like some company and producing software? So there are like “stable”, “beta”, “gold master” and other?
It’s just a repo on git, which sometimes gets updated… by one person… ahh common…
The only person who can say for sure if the code is stable would be the author, hence zhangxm asking for clarification on github. If no answer is forthcoming then it would make sense to continue using the “stable” version, as defined by the author by nature of the tags in git. There are two official releases, the latest being 2.3.1.
zhangxm is absolutely correct to question this and not just use the latest development commit. If it’s going to be included in cocos2d-x, you can’t just include a third party project mid-development and hope for the best. Also, without a tagged release how can you go back and get the same version if needed? It would be buried in commits.
The guy working on box2d seems to have forked the whole thing to do development elsewhere so the master version probably is the “stable” version but a new release should be made. No assumptions.
Why not use 3 year old version? What is there in later commits that you need in your games?
I believe that any product bundling another product should ensure it has stable releases of that bundled product - else people using it may find issues because the owner of the repo has not yet determined it’s stable.
If you as an individual want to just grab the latest, then that’s obviously fine - but I wouldn’t want the version of Box2d to be updated to a latest bleeding-edge build every time!
I don’t know. I do know that the last version said to be stable by the main author was 2.3.1,.
You’re being silly.
I don’t specifically know what the author does to determine stability - maybe he has a bunch of tests, maybe he just listens to feedback from people playing with the latest code base
from the commits i see on git there is no particular reason to stay on the stable one.
I would also pleasently use a testing version of any software because i understand i would deal wth bugs in front of having new features, that’s the nature itself of github.
as long this is specified in the cocos build and it’s given choice to users there is no problem at all.
this is a point.
other point is if you want to pack as stable a unstable git.
on a concept meaning of things.
this really needed to be tested, if really commits from the stable version are stable themselves in your and user experience then there is no problem also given that you inform the users.
on git there are a lot of packages that are updated very slowly, packages made by one man only, packages that use old tech but they are so good that people still use them ect ect.
even if not tagged as stable many packages are just good and working in user experience that the tag as not that importance.
so my vote here is for using the last commit.
ciao!
I noticed that the latest commit fails under Windows as it cannot find libbox2d.lib, which I assume is related to removing the Box2D source code. However the .lib file has not been provided by the look of it.
It was a new check-out, so it should have taken the latest 3rd party libraries. I’ll try again.
EDIT: Yep, the external libs version is now v3-deps-139.zip and the link errors have gone. However there is an assertion in the TMX tests reading TileMaps\iso-test.png, so I’ll stick to 3.16 for the time being.
@zhangxm so votes is for using latest commit. Why you don’t you use it?
My game will have instant crash when I run with latest cocos2d-x(currently using 3.16) because it’s not using latest Box2D.
Since that time some bugs have been fixed and some improvements have been made. I’m using that latest Box2D code for all my games and current one, for all this time and never got any problems.
KAMIKAZEUA commented 8 days ago
I actually don’t care what other devs will say, I just need to use latest v2.3.2 Box2D, that’s it.
And I was sure that with this merge it’s not latest, that’s why I wrote.
It seems like you think cocos2d-x exists solely for your purpose and everyone else be damned. There is absolutely nothing stopping you from using the latest version of box2d just as you have been for years. I do not understand why you insist that everyone should use the same version as you.
I’m assuming you don’t do enterprise level development for a living because I’m telling you that this cavalier attitude of just adding something because you personally want it would get you fired. It jeopardizes not just yours, but everyone’s project.
Personally I would fully support moving to the latest version since it seems like the developer managing it doesn’t really support the project anymore, but as a fork that the cocos2d team can tag and at least add some sanity to the process rather than just keep adding the latest version whenever it’s updated. That’s just asking for trouble going forward.
Also, as vote like 50/50 maybe you can do 2 options lib? In some config of cocos2d?
Like use: one 3y old or latest. Thats would be good solution for all people. And if they catch some bug with old version, like me, they can easily try option with latest Box2D, with fixes and improvements.