Back to list

Glowstone 2018.0.0 & Year in Review

31st December 2017

As fireworks are let off for the end of 2017, we are releasing this year's final version: 2018.0.0. In the last month, we've been working hard on polishing Glowstone as much as we could, and this has resulted in one of our most productive months in terms of commits, merges, bugs resolved and code written.

We'll start with a quick changelog of what has been done since the last release, 2017.11, then follow with a recap of the year!

Glowstone 2018.0.0

This month, we've pushed 138 commits consisting of 17,993 additions and 11,491 deletions in 938 files. There are a lot more changes than what I can list here, so you check check out the git diff if you want more details.

Implemented /clone command (#590)

command (#590) Implemented Ender Pearls (#602)

Added support for Java 9 (#649) (#652) Note that while Glowstone can run on Java 9, it can only be built on Java 8.

Fixed a number of bugs with player interactions (#644)

Fixed issues when shift-clicking in the crafting inventory

Fixed an exception when joining a Glowstone server run from an IDE

Fixed gravity not updating the location of items (#591)

Fixed a number of bugs with fall damage

Fixed the minimum food level to regenerate health from 19 to 18

Fixed, rewrote and optimized chunk indices (Chunk.Key)

Improved region file I/O, fixing some issues (#199) (#510) More details can be found in commits 98aeb19 , 34ce26b , 3179cef

Optimized chunk streaming to players

Improved hanging entities (paintings, item frames) (#597)

Fixed a number of bugs with Sign editor (#596)

Fixed an exception when pinging the server behind a proxy (#599)

Updated Netty from 4.1.0.CR7 to 4.1.17.Final

to Improvements to network library, updated to Java 8

Fixed inventory slots in HumanEntity spawn packet

Rewrote ItemTable to use Material instead of item IDs

instead of item IDs Fixed inconsistencies with PlayerInteractEvent (#595)

Fixed open inventory not being closed when player is teleported (#594)

Partially implemented MapView/map rendering API (#572) (#605)

Added slf4j back-end dependency (#612)

Abstracted WorldStorageProvider to allow plugins to change how world data is saved and loaded

Added log4j configuration

Cleaned up chunk locks (#623)

Implemented Fire Resistance potion

Refactored EntityManager and BossBar management (#636) (#641) (#642)

Fixed a concurrency exception when players switch worlds (#628)

Implemented ItemSpawnEvent and ItemDespawnEvent (#643)

Updated checkstyle

Removed metrics

Removed GlowClient and related dependencies

A lot of code and documentation cleanup

of code and documentation cleanup Updated Kotlin runtime to 1.2.0

Updated CI to use CircleCI 2.0 on all branches, builds are now much faster

Whew, that was a lot of polishing. In addition of all these changes, we are also pleased to welcome 2 new developers as part of the team: Pr0methean and keanganxt.

Note that we now use the dev branch for ongoing work, while the master branch will be deleted. We have decided to try a new release format for 2018. We have updated our download section to reflect these changes.

We created a long-term support branch (LTS), 2018.0.x . While we will be continuing ongoing development on the dev branch, we will backport fixes into the 2018.0.x branch continuously. At the end of each month, there will be 2 releases, one tagged on each branch. For example, in one month, we will release both 2018.1.0 (like before) and 2018.0.1 , the latter containing all the bug fixes from January, without the unstable/ongoing features.

As for protocol updates (1.13+), we will be backporting them to the long-term support branch one month after they are released on the dev branch.

2017 in Review

Let's take a step back and look at what we have accomplished in 2017. 590 commits have been pushed to the master/dev branch, consisting of 35,242 additions and 12,287 deletions. We have released a total of 13 releases (including today's), which can be summed up to these key points:

We are sponsored by Aternos <3

We have a brand new website, with goodies like news posts and users

Our team grew by 5 developers! Welcome, PickNChew, Postremus, Kyureki, Pr0methean, and kaenganxt In total, we received code contributions from 24 users

ProtocolSupport natively supports Glowstone

We now have a CLA and a new Code of Conduct

Glowstone is much more stable, polished and optimized

A lot more features have been implemented

Entities are much, much better and complete Implemented Boats, Ender Crystals, Paintings, Parrots, XP Orbs, Leashes, Ender Pearls, complex entities (Ender Dragon) Entity physics Ambient and hurt sounds Basic entity AI tasking Custom entities for plugins

Basic piston implementation

Rewrote most commands, including multiple tools to parse and implement new commands

And a lot, lot more.

So thank you, everyone, for such a wonderful year. Here's to another solid, productive and joyful new year for all of you.

See you next time, and thanks for all the (498) stars this year,

The Glowstone Project.