The objective of this file is to document the changes to the Wollok language definition. The format is based on Keep a Changelog. Currently, the Wollok language does not adhere to Semantic Versioning. Hopefully, we will be able to do that in the near future.
- Adding sanity tests for circular imports
- Adding sanity tests for missing reference error
- More sanity tests for validations
- Minor test refactors
- Moving game tests from TS to lang
- Added methods in
io
object. - The following methods are no longer native:
- whenKeyPressDo, whenCollideDo, onCollideDo, onTick, schedule, removeTickEvent, clear and stop in game object.
- Added methods
currentTime()
andflushEvents(time)
in game object. - Changes in method
start()
in game object. - Deprecating method
doStart
in game object. - Added
game
tests (seetest/sanity/game
folder).
- Minor test refactors
- We have annotations! 🥳
- New
@Expect
annotation used in validation tests. - Changes in Wollok Game:
- New MutablePosition class, as alternative to default (immutable) Position.
- Sounds can be played before game starts.
- Change method
removeVisual
in game object: if the object is not in the game it doesn't throw an exception.
- Fix some operations with not empty runtime validations.
- Deprecating
addVisualIn
andaddVisualCharacterIn
in game object. - Deprecating
drawElement
anddrawCharacter
in Position class. - Added method
onSameCell
in game object (used for collision detection). - Added methods:
round()
in Number and Position classes. - Changes in
List.get
behaviour for float numbers. - Added validator functions, based on @Expect annotation (see
test/validations
folder)
- Date related WKO moved to new
wollok.lang.calendar
object. - Deprecating
Date()
instantiation to get today's date in favor ofcalendar.today()
- Exceptions have an
initialize
native method.
- Dropping Constructors in favor of named instantiation.
- Dropping Fixtures in favor of
initialize
methods in Describes. - New syntax for supertype linearization.
- Many Wollok Game changes for web implementation.
- Changes in
substring
method. - Changes in
toString
behaviour. - Added some wollokdocs.
- Added methods:
isWorkDay()
&isWeekendDay()
in Date class. - New
only
flag for tests. - Added more sanity tests.
2
is ṕrime!
- Rename a describe test
- == method was duplicated in Set and List classes
- Equality is now fully based on the
==
method.
- New method
cellSize(size)
ingame
object to set the gameboard's cells size in pixels (uqbar-project/wollok#1790). - New
Sound
class adds controls when playing audio files in a game (uqbar-project/wollok#1784).
- New method
uniqueElement
in collections as defined by uqbar-project/wollok#1779. - Fix
List.asSet()
method for remove repeated elements (uqbar-project/wollok#1771). - A Wollok test file
.wtest
can handle multipledescribe
blocks as defined by uqbar-project/wollok#1734
- Add new method
uniqueCollider
ingame
object, that receives a visual object and returns the unique other object that is in same position of given object. Will throw an error if the cell does not contain exaclty two visual objects.