collide(), and in the onCollide handler of your sprites call displace() to move sprites around. This will prevent sprites from sticking to each other.subcollide() and subdisplace() methods – you can now just write collide() and displace() like any other sprite.spriteAtMap() and spriteAtPixel() methods that locate a sprite at a particular position, either in pixel or map coordinates.onDraw handler has been removed in preparation for mobile support. If you need its functionality, you can simulate it by writing a draw() method on your sprite that, in its first line, calls Sprite.draw(self, x, y).loadLayers() method has been moved from the View class to the Group class, and you can now specify a class to use when loading tile layers.enabled property that allows them to be disabled.Promise, that manages asynchronous operations. Its design implements the Promises/A spec.start method has been replaced with two methods: after and every. after makes a function call after a certain amount of time; every calls it periodically. example: the.view.timer:after(2, myFunc) after() will return a promise that is fulfilled after the timer runs out; every() returns nothing.start method has been simplified to the.view.tween:start(target, 'property name', duration, [easing]). The force argument is now implied to be true – if you want to check to see if a tween is already occurring on an object, you can use Tween.status(). This method now returns a promise that is fulfilled when the tween is finished.View.fade() and View.flash() now return promises that are fulfilled after the effects complete.bind() function to make binding function calls to object easier. example: bind(object, 'method name')Subview, to better handle temporary views like pause overlays or inventory screens.panTo() method that scrolls the view so a particular point is centered.distanceTo() method that measures distance to another sprite or point, and flipX and flipY properties that mirror the sprite when drawing.love.load() handler. Instead, you can just write the.app = App:new{…} in main.lua and it will be automatically started.=2+2 will print 4 to the console. It also supports Control-A to skip to the start of the command entered, Control-E to jump to the end, and Control-K to erase the command being entered.__tostring() methods, so entering a debug command like =the.view will give more useful information.displace() as well as collide(). Sprites now have an intersects() method that checks whether any point or rectangle overlaps it.sprite.velocity = { x = 10 } instead of sprite.velocity = { x = 10, y = 0, rotation = 0 }.