[0.7.0] - changed API to be mostly LÖVE compatible - removed bg.png - removed bar.png - removed logo.png - added AOT Lua and MoonScript compiler - changed loading screen a bit - drastically improved view transformations performance - drastically reduced build times - new default font (Roboto Light) - new icon (Moon) - changed default textures filter to "Linear" (was "Nearest" before) - to simplify engine removed option to change native iOS splash before actual NON splash - reduced log output to console - fixed small bug what caused that engine was ignoring directories with name "non" - fixed require function - now "require" function works same as LOVE require function - fixed engine not be able to load "config.yml" when running from compiled JAR - moved desktop.display to window in config.yml - fixed %PACKAGE_DIR% not updating for iOS builds - added support for changing Android and iOS display orientation ("landscape" or "portrait") - added support for "sensor" Android and iOS display orientation and made it default - installation from LuaRocks is now fully automated - fixed non.mouse.isDown (by accident I mapped there keycodes rather than buttoncodes - documented entire source code and added LDoc support - added non.config module - rewrote entire command-line launcher in Lua - added support for LuaRocks - changed "init" cli command to "new" - added checks for cli task if project is not present or already exists - now console output is sexy and colorful - renamed "config.yml" to "project.yml" - renamed non.config to non.project - renamed engine to "Yae" - added support for building native Windows, Linux and Mac OS X executables - updated LibGDX, RoboVM, Android and YAML runtime to latest versions - simplified loading screen, now it displays the icon in center and text under it [0.6.4] - fixed documentation for methods that returns multiple values - fixed Java to Lua object binding - added non.java module - added support for including dependencies for repositories from mvnrepository.com - added -d switch to cli for debug log output - fixed out of memory error on iOS builds [0.6.3] - added documentation for MoonScript - optimized rendering of loading screen - removed automatic resizing of screen canvas (now it is resized only at game start) - removed unused Java code - now launcher loads version directly from VERSION file - added non.system.getSize(), non.system.getWidth() and non.system.getHeight() to get device screen size - added non.graphics.setSize(width, height) to change current screen size (usefull for screen cropping) - changed non.graphics.getSize(), non.graphics.getWidth() and non.graphics.getHeight() to return current screen size [0.6.2] - updated LibGDX backend to v1.5.5 - updated RoboVM backend to v1.0.0 - updated Gradle Android plugin to v1.1.3 - updated Gradle Android SDK manager plugin to v0.12.0 - updated and optimized Lua backend - added proper stacktrace to Lua backend - fully documented entire API - fixed defaults for "non start" and "non build" - fixed android builds - added non.system module and moved utility methods from non to it - added non.compass module - added non.files.copy(from, to, type1, type2) - added non.files.move(from, to, type1, type2) - added non.files.rename(from, to, type) - added non.files.parent(file, type) - added non.files.child(dir, child, type) - added non.mouse.setVisible(visible) and non.mouse.isVisible() - added non.keyboard.setVisible(visible) - replaced Bitmap (.fnt and .png) with TrueType (.ttf) font support - changed non.network.client() to non.network.client(timeout, ipAddress, tcpPort, udpPort) - changed non.network.server() to non.network.server(tcpPort, udpPort) - changed non.width() to non.graphics.getWidth() - changed non.height() to non.graphics.getHeight() - added persistent preferences to non.system - changed non.accelerometer, non.keyboard, non.mouse and non.touch API a bit - changed non.graphics.measureText(text, wrap) to non.graphics.getTextBounds(text, wrap) - added non.graphics.getImageBounds(image) - fixed non.accelerometer module - fixed displaying of error logs in console - fixed small mouse input bug - fixed some scope related bugs in modules - fixed -1 exit code when calling non.system.quit() method - removed Java-side object creation in render() calls (you won't notice change on desktop, but on Android and iOS this speed ups engine a bit) - added possibility to sign desktop executables (works same as signing android APK) - changed android.sign config.yml property to just sign (because of above update) - now only assets required for specified platform are updated (speeds up build times) - reduced preserverd java globals for non lua scripts (reduced from NON_NON, NON_GDX, NON_MODULE and NON_INPUT to only NON) - added android.permission.WRITE_EXTERNAL_STORAGE to enable using "external" in non.files on Android devices - now config.yml properties are loaded and set before window is opened or activity started - restructured source code to be more readable for possible contributors - speeded up CLI launcher by few miliseconds - fixed minimize and close crashes on Android and iOS - fixed "non update" command - fixed bug with non.graphics.setColor and non.graphics.setBackgroundColor (green and blue values was swapped) [0.6.1] - now "non start" and "non build" platform defaults to "desktop" - fixed few bugs what I accidentally made in previous release [0.6.0] - changed API a bit to match Lua standards - desktop window is now not resizeable - removed Ruby support (this drastically speeded-up built times) - added MoonScript support - renamed "data" folder to "assets" folder because of MoonScript compiler - now loading screen background is positioned in top-left corner and not in bottom-left corner [0.5.0] - published NON to LuaRocks - fixed hello task on first run (before you needed to execute it twice to actually generate hello world game) - added Lua support (same API, just snake_case changed to camelCase) - changed :position and :size parameters of NON.graphics.draw to :x, :y, :width and :height - changed :position parameter for NON.graphics.print to :x and :y - changed float colors to byte colors - new API for drawing shapes - added option to load music, sound, image, font and shader instances from different path sources (internal, local...) - changed NON.clipboard.get_contents and NON.clipboard.set_contents to NON.get_clipboard and NON.set_clipboard - changed versioning (previous versioning was misleading and indicated that NON isn´t in early development) - new loading screen background to match website - added some new methods to NON.graphics - set_background_color, get_background_color, get_shader and get_blending - removed NON.graphics.clear - now NON.graphics.get_color returns array and not Color object (so you can do "r, g, b, a = NON.graphics.get_color") - removed NON.physics, NON.lights and NON.particles module (temporary, will be added back in next updates) - fixed resetting of color each update before draw() callback - fixed NON.graphics.translate, NON.graphics.rotate and NON.graphics.scale methods - finished API for NON.files module - finished API for NON.audio module - fixed resizing of game window on desktop platforms - removed NON.files.parse_json, NON.files.parse_yaml and NON.files.parse_xml (temporary, will be added back in next updates) - renamed close() callback to quit() callback - fixed NON.keyboard.show, NON.keyboard.hide, NON.mouse.show and NON.mouse.hide [0.4.10] - moved all modules to root NON module (f.e Graphics is now NON.graphics) - fixed NON.accelerometer methods (getX, getY, getRotation => x, y, rotation) - moved methods from App module to root NON module (f.e App.quit is now NON.quit) - split render(delta) event to draw and update(delta) events - added measure_text(text, wrap = nil) to graphics module - renamed loading.png to logo.png, loading_bg.png to bg.png, and loading_bar to bar.png - changed project structure - changed default logo, background and icon - fixed resizing of large background images for loading screen - changed resize method of loading screen background from fit to cover - changed loading screen, now it is displaying progress messages - added parse_yaml, parse_json and parse_xml to NON.files - removed init(assets) event - now Ruby stacktrace is displayed in nice way without Java flood - removed some messy log messages from Gradle - fixed Gradle runner (was throwing null pointer exception at end of build) - added joints to NON.physics [0.4.9] - new API for asset loading - added sound and music methods to Audio module - renamed Particles.load to Particles.effect [0.4.8] - physics body properties changed to snake_case [0.4.7] - fixed YAML on Android (previous patch was not working) - removed App.thread method, now Thread works as in normal Ruby - now ruby runtime is properly terminated when app closes. This fixes mainly activity shutdown and reopen crashes on Android and prevents memory leaks - renamed most methods from camelCase to snake_case - renamed some methods totally (like getX to x, setPosition to move, isDown to down) [0.4.6] - removed some temporary files what I forgot to remove - removed some debug code what I forgot to remove - small API changes for Graphics.print, Graphics.draw, Graphics.fill and Physics.fixture - moved some more Java code to Ruby - updated default logo, icons and loading screen - added automatic icon resizing. Now, instead of adding custom icon to project/non for each required icon dimension for each platform, compiler will resize one icon.png with reccomened size of 512x512 pixels to correct dimensions required by specified platform - updated splash screens for iOS platforms - moved loading bar to bottom of screen - fixed major bug with Application module - fixed major bug with YAML loading on Android. This caused to crash of projects trying to load config.yml on Android devices - forgot to remove stdlib dependency, so now it is done - added comparison checks for assets. Before, each time project was built, all assets was copied. Now compiler checks if they are modified - added "clean" task to CLI - removed --compile flag for start task [0.4.5] - added --compile (example: non build desktop --compile) flag which will set that all ruby code is compiled to java bytecode during build. This means performance almost equal to native Ruby (sometimes even faster) but this also means a bit slower start and build tasks. Then to force load your optimized code, just add .class suffix when using require method - removed ALL ruby builtin and standard libraries for maximum performamce and cross-platform compatibility. Anyways, NÖN is a game engine, and all important is included in it's own libraries - fixed few small bugs with non.launcher and joined some tasks together, so this should descrease build time by few seconds - now resolveDependencies task is executed only when NÖN version changes and not before every task - improved ruby backtrace (now displays only important messages) - fixed small networking bug caused by sharing same listener instance between both client and server - fixed small bug where compiler was creating empty "project" folder on wrong location - merged non.launcher and non source code for easy building with single "rake" command [0.4.4] - added stdlib support (not tested) - added physics module back - some small API changes for physics and lights module - rewrote audio, keyboard, mouse, accelerometer and touch modules in Ruby - fixed big android bug with resource files about what I forgot before - another structure changes of source code - speeded up build times a bit by removing unnecessary gradle projects - removed time module (not needed cause of Ruby) and GUI module - added app module [0.4.3] - changed directory structure and removed auto-updater as this now handles RubyGems - new event API - updated Android plugin to 1.1.0 version - updated Gradle to 2.3 [0.4.2] - moved from JavaScript scripting backend to Ruby - moved Non to RubyGems, easier and automated installation, actual command-line interface (replaced 'java -jar non.jar" with simply "non") - changed configuration file format from JSON to YAML [0.4.1] - renamed setGraphics(..) method from GUI and particles module to link(..) method - renamed particleLoader from particles module to effectLoader - renamed load(..) method from particles module to effect(..) - added particles sample (usage gen:particles) - added non.time module - added threading (usage in scripts: "non.thread(function);" ) - added contacts() method to physics module - now desktop window title is changed correctly [0.4.0] - added self variable to classes - added particles module (non.particles) - last API changes for Joints in physics module - fixed lights module API to match new physics and graphics API introduced in 3.9.0 update - updated physics example to match new API changes - removed graphics parameter from gui renderer and added setGraphics(..) method to GUI module - loading screen resources are now properly cleared after game is loaded - optimized game rendering code - now not only assets loading but also game core loading (scripts, configuration) is shown on loading screen - changed non.getPlatform() method to non.platform variable - added non.config variable - optimized rhino engine [0.3.13] - added vscroll (vertical scrollbar) to GUI module - added hscroll (horizontal scrollbar) to GUI module - updated GUI sample - fixed few bugs in GUI system - added lights demonstration to physics sample - added pointAtLight(x, y) and pointAtShadow(x, y) to lights module. These methods tests if specified point is in light or in shadow. Usefull for roguelike games. - refactored source code as possible preparation to add web support via GWT - added back non.getPlatform() what I accidentally removed before - fixed build script to actually include correct .js files from res/ folder - fixed build script to check for changed icons and loading screen in project res/ folder - removed android.permission.VIBRATE as this feature is no longer in Non - added cache clearing to build.gradle - added android.permission.INTERNET to enable non.networking module - added Network sample (usage gen:network) - fixed non key events to match keyboard module key events [0.3.12] - created GUI sample (usage java -jar non.jar gen:gui) - added setVisible(boolean) method to keyboard and mouse modules - added measureText(text) and measureText(text, width) methods to graphics module - started working on GUI system (for now only button, label and text box) - overhauled physics and graphics module (read wiki again please) - fixed Pong example - speeded up engine (at start it is slower than before, but after "warming up" it is a bit faster) - changed non.touchdown(position, pointer, button) to non.touchdown(x, y, pointer, button) - changed non.touchup(position, pointer, button) to non.touchup(x, y, pointer, button) - changed non.touchdragged(position, pointer) to non.touchdragged(x, y, pointer) - changed non.mousemoved(position) to non.mousemoved(x, y) - fixed non.keytyped(character) event - added support for setBlending from strings (additive, alpha, subtractive, multiplicative, premultiplied, replace, screen) - added uniqueNumber and uniqueString methods to math module - added getTint() method to graphics module [0.3.11] - added destroy(..) method for destroying bodies and joints to physics (usage physics.destroy(joint) or physics.destroy(body)) - added many new methods to physics module for different types of joints and joint definitions - added physics example (usage java -jar non.jar gen:physics) - added example of require function (usage java -jar non.jar gen:require) - added support for classes to JavaScript engine (read Wiki for example usage) - removed CoffeeScript support, now engine only supports JavaScript - renamed non.cfg to config.json to actually show in what language is it and to support external editors - removed plugin system, replaced it with module system introduced in last patch (prefix "non" is used for determining non modules) - moved non.buffer to network.buffer - split input module to parts, so now f.e input.keyboard is keyboard, input.mouse is mouse etc - fixed bug when clearing screen via graphics.clear method caused to erase all text from screen permanently (now calling clear method is required before drawing anything on screen and not optional as before) - added queryAABB method to physics - optimized calling of functions from scripts by storing them properly in variables - fixed unproject method from graphics module [0.3.10] - added awesome method of handling multiple script files similar to node.js - removed non.require as it was never working - moved launcher source code to separate repository to decrease amount of downloaded data for each update and to split versioning of launcher and Non - added checks for outdated non.jar version - replaced Lua support with CoffeeScript and optional JavaScript - removed support for custom scripting languages (sorry folks :/) - removed need of adding "language" to non.cfg [0.3.9] - fixed major dependency resolving bug (thanks to Murii for finding it) [0.3.8] - more output logs from gradle - changed some previous output logs to be more clear - fixed weird whitespace with warnings - removed logging of dexing warnings [0.3.7] - fixed desktop:run task finally - fixed few visual bugs in console [0.3.6] - revamped Non launcher, now it automatically updates your Non version - renamed hello task from gen:hello to hello [0.3.5] - updated Gradle Android to 0.14.4 - updated RoboVM to 1.0.0-beta-03 - updated LibGDX to 1.5.3 - updated Gradle to 2.2 - revamped physics plugin again (read Physics and Box2D section on Wiki) - added support for fixtures to physics plugin - renamed non.getWidth to non.width - renamed non.getHeight to non.height - renamed non.getConfig to non.config - renamed non.getDelta to non.delta - renamed non.getFPS to non.fps - renamed non.checkPlatform to non.platform - removed non.getPlatform - fixed android:run task (read Running and packaging a project section on Wiki) - fixed loading of physics plugin - fixed bug where gradlew was not recognized as executable on Unix systems - fixed major bug with handling mouse and touch input - optimized console launcher a bit - fixed bug when task fails, it was not recognizing it until all tasks ended - console now properly ignores fake errors from LuaJ and Rhino libraries (Lua and JavaScript) [0.3.4] - added proper loading animation for Non command line - added getPosition method to input.touch - added option for hiding mouse (desktop only) with show() and hide() methods - added automatic dependency loading to plugins [0.3.3] - simplified logging of non.jar CLI - added support for multi-threading for JavaScript, not yet working on Lua - fixed translate method in graphics plugin - added project and unproject method to graphics plugin - now logging functions do not return values (was returning always NULL) - removed warning logging level - error logging level do not force quit application - tweaked default log messages a bit - added setting for log level to non.cfg - fixed networking - semi-fixed desktop:run task from CLI (still failing to load resources) - now update task from CLI properly clears unused plugins and languages - plugin loader now uses reflection and not initializer class what was generated by gradle - because of above update, moved all internal plugins from "non.plugins.internal" to "non.plugins" package - added checks for missing configurations from non.cfg - added checks for missing resources - added checks for missing plugins [0.3.2] - revamped Non launcher, now only non.jar is required (this also changed some commands, so please read again the Wiki) - fixed bug what caused that mobile devices thought that all apps made by non are same (so when you tried to install 2 different Non projects on your device, second one simply replaced first one) - added "package" property to non.cfg - added sqrt() to math plugin - added pow() to math plugin [0.3.1] - added non.buffer what can be used for reading and writing data to and from byte array - added checks for not existing functions to scripting - added more features to math plugin - added get() method to scripting - revamped physics plugin - removed "raw" argument for loading assets, now it is automatically determined if file should be loaded directly or via asset loader - removed init() method from scripting - replaced hacky networking with KryoNet (still WIP, some threading issues with scripting) [0.3.0] - added drawing of various shapes to graphics plugin - added new method to graphics plugin for drawing formatted text (printf) - added new method to graphics plugin for drawing texture quad (drawq) - added 2 new examples to gen task: Hello World and Pong - added line and quad to math plugin - added support for custom scripting languages - changed non.cfg "main" to "language" and changed its functionality - removed input.keyboard.isKeyJustPressed - removed input.touch.isJustTouched - removed input.mouse.isJustClicked - renamed graphics.texture to graphics.imageLoader - renamed graphics.font to graphics.fontLoader - renamed audio.sound to audio.soundLoader - renamed audio.music to audio.musicLoader - renamed graphics.newTexture to graphics.image - renamed graphics.newFont to graphics.color - renamed graphics.newShader to graphics.shader - renamed graphics.newColor to graphics.color - renamed graphics.setBackground to graphics.clear - renamed graphics.setColor to graphics.tint - renamed input.keyboard.isKeyPressed to input.keyboard.isDown - renamed input.touch.isTouched to input.touch.isDown - renamed input.mouse.isClicked to input.mouse.isDown - renamed math.newVector to math.vector - renamed math.newRectangle to math.rectangle - renamed math.newCircle to math.circle - renamed math.newPolygon to math.polygon - renamed math.newPolyline to math.polyline - renamed network.newServer and network.newClient to network.server and network.client - renamed physics.newShape to physics.shape - removed need for using graphics.begin and graphics.display when drawing anything - fixed graphics.translate and graphics.rotate - fixed calling of resize event [0.2.0] - added asynchromous resource loading (use non.load(assets) event) along with super sexy loading screen what is displayed during loading - removed TILED support (sorry, I wasn´t able to make it work with normal coordinate system) - totally revamped graphics, audio and input plugin - added some new events for handling input - removed need of entire res/ folder for new projects - fixed major bug with Lua integration what I do not noticed before - added non.exit method what will quit current game - added option for changing display mode for desktop from non.cfg