Bukkit Development: Back on Track and Full Steam Ahead!

Discussion in 'Bukkit News' started by EvilSeph, Jun 14, 2012.

Thread Status:
Not open for further replies.
  1. Offline


    This announcement is mostly for the developers in our community as it provides an explanation for why we have been seeing little to no activity with the project and why pull requests have not been handled within a reasonable amount of time.

    As most of you may or may not know, we have been under a code freeze for the last two months or so to focus on improving the level of performance people were seeing from our product. Believe me when I say it's highly unlikely anyone is as frustrated as we are that we've been unable to move as quickly as we have wanted. I've had the team on my back every single day wanting me to lift the code freeze so we can continue coding to our hearts' content and I've been eager to get some commits in of my own or pull some PRs that have really garnered my interest.

    Unfortunately, for the benefit of the project I had to stop all development and focus all of our resources and efforts on addressing some critical issues we were noticing through frequent reports popping up throughout our community. Usually I'd opt to have a portion of the team focus on addressing the issues, while another portion would push forward with development, but it was clear that going that route would have just made it even more difficult to track down some of the issues people were bringing to our attention. It's hard enough tracking down a bug, crash or leak within static code...adding changes in while we were investigating would have just driven us insane and wasted our time.

    So, it was full steam ahead. We scoured every inch of our community to find even the smallest report relating to a performance issue and set off to investigate each and every one in the hopes that it would give us a hint as to the cause of the significant and sudden decrease in performance we were seeing. After it was all said and done, we finally got a Recommended Build out that fixed the issues. Sadly, shortly after getting that RB out our issue tracker was filled with reports of some crashing and duping issues (that may or may not have been directly caused by Bukkit). So, despite having just unfrozen the code, I re-instated the code freeze and directed our focus to addressing those issues. Having just promoted an RB, I did not want to risk having new, unproven code added to the code base while we were addressing the security issues since it might introduce new issues that would require another RB (believe it or not, we get angry emails, posts and feedback when we promote RBs too often...).

    Judging by some of the feedback I've received from developers, it is clear that the lack of response or communication on our part about the code freeze has left some developers annoyed and disgruntled. Unfortunately, the last time we communicated a code freeze, we had to deal with false and misinformed rumours spreading throughout the Minecraft community that "Bukkit is dying". Bearing that in mind, I was hesitant to write an announcement and chose to communicate that we were under a code freeze through IRC as much as we could, which avoided non-developers hearing about the code freeze but also had the downside of not reaching every developer. If the Bukkit community consisted only of developers, things would be much easier. As it is, however, we need to bear in mind that there are many different types of individuals in the community, ranging from Developers, to Server Admins, to GSPs, normal users and so on. With the current systems we have in place, it is difficult for us to communicate a purely developer-centric message without having a non-developer misunderstand it in some way.

    On behalf of the team, the project and myself, I sincerely apologise to you and every other developer who has been waiting for their PR to be reviewed and hopefully pulled for the delay, but - as I hope you can understand now - it was unavoidable. I would like to promise that this will not happen again, but honestly if I were faced with the same situation, I would make the same decision. Ideally, I would like to have a system in place where we could better and more frequently communicate project status purely with developers, but I'm not sure how to best go about doing that. If, for example, GitHub had an announcement banner feature that could be shown above all pull requests and the pull request list, we'd be set. But, as this is not the case, I'll need to come up with some other solution. If you have any ideas, I'd be happy to hear them - please leave a comment reply with your thoughts.

    With that covered, I'm happy to announce that I am finally able to and have finally lifted the code freeze. From this point onward, until we need to freeze development again, we'll be reviewing (and possibly pulling) PRs like crazy, as well as committing the work we've had on the backburner for the past few months. You have no idea how happy we are to finally have the freedom to code like crazy again.

    Thanks again for your continued support, patience and understanding. You guys are awesome and we would not be where we are without you!
  2. Offline


    Just because Bukkit was hired by Mojang doesn't mean they can change how clients and servers work.

    Clients and servers are two different things.. If the server recognized a certain type of block, the client also has to be able to.
  3. Offline


    This is a common misconception. You are confusing the people (Grum, EvilSeph, Dinnerbone and Tahg) with the organization Bukkit.
  4. Offline


    Everyone has an issue with getting Permissions to work. I think the download link installs both GroupManager and EssentialsGroupManager. I mean the link which most people get it from. Those two files tend to clash or something (idunno) and even though one is a Folder and another is a .jar file, you can't have them together. Just delete the .jar and it works. Can't someone just remove the EssentialsGroupManager.jar file from the download, so there's only the GroupManager folder? Am I talking about the correct thing...? I think I am o_o
  5. Offline


    Wait i just realized something. when 1.3 comes out how will that change bukkit plugins because of the new mod api?
  6. Offline


    mod api was pushed to 1.4
  7. Offline


    okay same question while replacing the word 1.3 with 1.4 -_-
  8. Offline


    lol, let me pull out the good'ol MC crystal ball.. Nobody knows yet. [pig] What we do know is bukkit will still serve a purpose AND it is unlikely the Mod API will be everything to everyone on day 1.
  9. Offline


    Is the mod api client only?
  10. Offline


  11. Offline


    so will bukkit plugins work with it?
  12. Offline


    Hey, you gotta post more RB's! I like having often Recommended Builds considering they normally fix minor bugs and glitches I experience on my server. Don't listen to all those negative emails! ^^
  13. Offline


    Just use the Dev ones then?
  14. Offline


    I appreciate knowing (or at least thinking) that I'm using a tested and safe build. I prefer not to use the dev builds considering how many world have already gone corrupt. (fortunately I've always used backups)
  15. is it possible to install mods like obsidian ingnots, which adds obsidian armor/weapons and some other new stuff too?
  16. Offline


    What craptastic version-control system are you using?
    Get to Mercurial or Git so you have good branch management.
    Then there's a couple of ways to keep things sane.

    Actual development is done on a feature branch and once it's ready you merge to trunk.
    New features keep getting merged to trunk as they are finished.
    Daily experimental builds come from trunk.

    Once the feature-set is complete, you branch and stabalize.
    Then while you are working on a bug like this everyone else does not have to sit on their laurels.
  17. Offline


    We use Git. We have experimental branches - we do not release them publicly. We were not sitting on our laurels, we were working diligently to fix the problems.
  18. Offline


    I don't understand why a 'code freeze' is such a big deal then?
  19. Offline


    This post is to explain why there weren't new builds popping up, nor were there a great deal of pull requests accepted during that time. It was what the community saw that was being explained. What the community did not see was all the work that went on in the background - testing new builds, testing new code, and constantly modifying the codebase in order to find where the performance issues were occurring.

    There was some extremely experimental code going through the codebase, at very rapid pace. A great deal of it could have broke the CraftBukkit at any time, been revoked at any time, and been reintroduced at a later date. Only when we were sure the code was ready for a development build did we push that out for community consumption. We felt feature additions were less important than performance improvements.

    There were some questions revolving around why it seemed development has slowed to a crawl. Perception of the situation does not always equal the reality of the situation, hence this post was made to clear up any misconceptions that arose during that period in time.
  20. Offline


    Actually, given the client-is-server and server texture features of 1.3, this may actually become possible.
  21. Well as of now this isn't.
  22. Offline


    Meanwhile.. development is back at a crawl!
  23. Offline


    I have heard that the 1.3 uses more client side than server side - it will take less power. I hope it's true, it would be awesome! :D
  24. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    [citation needed]
  25. Offline


    Need new news
  26. Offline


    This seems almost planned right in time for 1.3
  27. Offline


  28. Offline


    Omnitv likes this.
  29. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    1.3 is going to drop very soon, so we've been internally poking at the existing code. We're a lot more hesitant to add new, untested code in periods leading up to a minecraft update because it means we have to test it for a short period on one release, and then update craftbukkit and test it all over again and hope that the code is even relevant in the new release.

    EvilSeph is not the sole member of the Bukkit Team, and the other members have been very active. ;)
  30. Offline


    Don't mean to be a bother but do you plan to release a 1.3 CraftBukkit RB soon after the official (not pre-release) of Minecraft 1.3?
  31. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    That is the goal.
Thread Status:
Not open for further replies.

Share This Page