This week was mainly spent with preparing for the next major release and upgrading stuff. Nothing fancy was done this week, just hard work: code cleanup, testing, and some streamlining:
- A pretty old issue was finally closed: the
TextAreawas refactored and now it implements the Operational Transformation model for text editing. - Added
ComponentMetadatawhich holds all the necessary data forComponents. This greatly simplified the wayComponents are created - Fixed an error in the
RadioButtonwhich was reported by @Milo - Added
Observablewhich is just a pub/sub tool for event handlers - Now you can have
Positions with negativexandycoordinates. This was an unnecessary limitation as /u/coldwarrl pointed out so we removed it and added checks where negativePositions wouldn’t make sense - Fixed
Boundablebecause it was a code smell for a long time now. It turned out that some classes likeTileGridandTileGraphicsdon’t needBoundableat all, they just need a simpleSize(width+height). This lead to a significant simplification in code. - Introduced
TileCompositewhich is the common parent ofTileImageandDrawSurface. This was also a code smell which I had no proper solution for a long time, but now everything is in place - The JaCoCo setup for coverage was also upgraded. Now it properly reports coverage data
- Since we are close to release and all the features are complete it is customary to refurbish tests. 3 bugs were luriking in the codebase (so far) which got fixed after tests were added for some cases. I was surprised to see that Zircon now almost has 1000 tests in place.
- The
Builders got cleaned up and their API got streamlined. - We’ll add Kotlin builders for Kotlin users soon next to the Java-friendly
Builders we have currently.
A next major release is coming up for this Autumn, so stay tuned.
Do you have questions? Ask us on our Discord Server.
If you like what we do and want to support us consider becoming a Patron.