Skip to content

Latest commit

 

History

History
367 lines (312 loc) · 16.7 KB

changelog.md

File metadata and controls

367 lines (312 loc) · 16.7 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[1.6.0] - 2018-01-08

Added

  • Infrastructure: Added Jenkins file.
  • Core: Zeroconf support for robot discovery over the network.
  • Core: About box to VPL and Playground.
  • VM: Added deque functions to stdnative library.
  • Compiler: Implemented optimisation of absorbing element.
  • Asebahttp: New experimental bridge for accessing Aseba through http.
  • Playground: Added Thymio support with several example scenes.
  • Playground: Added pick up of objects.
  • Internationalization: Added Greek language.
  • Internationalization: Added Chinese language.

Changed

  • Core: Aseba now depends on (a subset of) C++14.
  • Core: Moved part of the code to C++11/14.
  • Core: Use C99 fixed-size types instead of custom ones.
  • Core: Rewritten author book-keeping scripts and vastly improved about boxes.
  • Blockly: Moved into a standalone web-based application on Windown and macOS.
  • VPL: Support for codes for centre button.
  • Internationalization: Updated translations.

Removed

  • Infrastructure: Removed support for subversion.

Fixed

  • Core: Work-around bugs in old Android libstd++ version.
  • Core: Fixed disconnection of Dashel stream on Android.
  • Studio: Fixed reconnection on Windows 10.
  • VM: Fixed a critical bug in VM where a reset would modify bytecodes.
  • Packaging: Windows: Sign packages and drivers.
  • All: Fixed minor bugs.

1.5.5 - 2016-12-05

Fixed

  • Compiler: Fixed crash in compiler.
  • Studio: Fixed code generation in Blockly.
  • Packaging: Full support for certified bundles under Mac OS Sierra.

1.5.4 - 2016-11-21

Added

  • VPL: Added remote-control block in VPL.

Changed

  • VPL: Refactored VPL compiler.

Fixed

  • Core: Fixed compilation on Ubuntu Yakkety.
  • Compiler: Corrected bug in the optimizer when multiplying by zero.
  • Compiler: Corrected code emission bug when returning from subroutine from within a test.
  • Examples: Fixed wrong computation of timeout in examples.

1.5.3 - 2016-04-22

Added

  • Thymio Firmware Upgrader: Now Thymio upgrader can download latest official by itself.

Changed

  • Connection dialogue: Improved connection error message when target is a Thymio.
  • VPL: Improved tooltips of blocks in VPL.
  • ThymioVPL: VPL standalone background now shows connection status.

Fixed

  • Studio: Fixed bugs in Blockly plugin.
  • All: Minor cleanup.

1.5.2 - 2016-03-07

Changed

  • Studio: Improved load and save of files when using multiple Thymios in Studio.

Fixed

  • VPL: Fixed bug with button "New" in VPL.

1.5.1 - 2016-02-22

Fixed

  • Studio: Fixed crash when VPL is used as plugin in Studio.

1.5.0 - 2016-02-17

Added

  • Infrastructure: Continuous integration for Ubuntu, OS X and Windows.
  • Core: Implemented proper support of Wireless Thymio by upgrading communication protocol to version 5.
  • Studio: Added Blockly language for Thymio in Studio.
  • Studio: Studio now provides the possibility to increase and decrease fonts size.
  • VPL: Added execution feedback to Thymio VPL.
  • VPL: Button "New" in Thymio VPL keeps the mode (simple or advanced).
  • Wireless Thymio Network Configurator: Added Wireless Thymio Network Configurator, a program to configure Wireless Thymio dongles.

Fixed

  • All: Corrected multiple bugs, see commit log for details.

1.4.0 - 2015-10-22

Added

  • Compiler: Added anonymous _emit keyword.
  • VPL: New visual design.
  • VPL: Multiple actions per event.
  • VPL: Improved blocks.
  • VPL: Undo/Redo.
  • VPL: Export of program as svg or common raster image formats.
  • VPL: Optional user action logging.
  • VPL: Optional visual feedback of execution.

Changed

  • Internationalization: Updated translations.
  • Core: Many small changes for building and packaging.
  • Core: Updated authors list.
  • VPL: Improved line and blocks interaction, drag & drop, and removal.
  • VPL: Changed event policy execution from if to when (see https://www.thymio.org/en:thymiovpl13to14 for details).
  • Packaging: New icons.
  • Packaging: New menu structure.

Fixed

  • All: Fixed memory leaks and minor bugs
  • VM: Fixed error reporting in case of stack underflow.
  • VM: Fixed crash when modulo by zero.
  • Compiler: Fixed crash when modulo by zero.
  • Simulators: Fixed memory corruption on disconnection.

1.3.3 - 2014-06-22

Added

  • Studio: Implemented a plugin to stop the Thymio.

Changed

  • Internationalization: Updated compiler translations and other minor updates.

Fixed:

  • Compiler: Fixed bug in optimisation of not.
  • Compiler: Fixed bug in optimisation of substraction and division in presence of literal at the left.
  • Compiler: Fixed bug with arrays when rhs is assigned to lhs.
  • Compiler: Fixed emit statement when using a simple variable as argument.
  • Compiler: Fixed loops with a single element.
  • Compiler: Fixed memory leak.
  • Studio: Fixed crash in auto-completer.
  • VPL: Fixed thresholds for horizontal distance sensors.
  • VPL: Fixed wrong reporting of line number in case of line duplication.

1.3.2 - [YANKED]

  • Skipped because of too long RC

1.3.1 - 2013-09-10

Added

  • Connection dialogue: Added animation when there is a disconnection for ser: targets.

Changed

  • Internationalization: Minor corrections to translations.

Fixed

  • Compiler: Fixed memory leaks.
  • Studio: Fixed behaviour of VPL plugin upon disconnection/reconnection.
  • Studio: Fixed code in Studio being removed when VPL plugin is closed.
  • Studio: Fixed spurious autocompleter's context switch.
  • Studio: Show last used directory for load dialogue box.
  • VPL: Fixed crash when saving an empty VPL scene.
  • VPL: Fixed missing recompilation in VPL when an event-action pair was added.
  • VPL: Fixed disappearing robot in motor block.
  • VPL: Improved error message when action-pair is duplicated.
  • VPL: By default, set colour to black for LEDs block.
  • ThymioVPL: Fixed saved dialogue on OS X.
  • ThymioVPL: Show last used directory for load dialogue box.
  • ThymioVPL: Show version in title bar.

1.3.0 - 2013-07-15

Added

  • Studio: Implemented support for auto-completion of subroutine names.
  • VPL: Added timer event/action blocks.
  • VPL: Added go to line button for showing errors.
  • ThymioVPL: A standalone VPL client.
  • ThymioVPL: Added Android port.
  • Examples: Added asebashell, a command-line tool to interact with an Aseba network, whose goal is to demonstrate how to write client applications.
  • Examples: Added Qt4 client application example.
  • Internationalization: Added skeleton for Japanese translation.
  • Packaging: Windows: Added asebashell and ThymioVPL binaries.

Changed

  • Core: Re-factored source tree, modularised Studio.
  • VM: Compressed documentation of native functions to fit the requirements of wireless operations.
  • Studio: Target list is dynamically updated in the target-selection dialogue.
  • Studio: Improved linear camera viewer.
  • Studio: Uses Dashel locking to prevent race conditions upon disconnections, this requires at least Dashel 1.0.7 on Windows (1.0.6 on Unix) to work properly.
  • VPL: major source code clean-up.
  • VPL: Reworked sound block.
  • VPL: Replaced colour-circle block with ground colour block.
  • VPL: Uses LEDs from colour circle to show state, reworked state filters.
  • VPL: Improved look and feel, consistency and user-friendliness of the user interface.
  • VPL: Improved window management, positioning and icon resizing.
  • VPL: Fixed disconnection crash under Windows.
  • VPL: Reduced number of recompilations, improved performances.
  • Thymio Firmware Upgrader: Renamed from ThymioUpdater to prevent warning dialogue on Windows.
  • Internationalization: Updated all translations.

Removed

  • VM: Removed math.nzseq from default native functions.
  • Packaging: Windows: Removed support for the e-puck kit (please fetch it directly from the Wiki).

Fixed

  • Compiler: Fixed a bug in the compiler that prevented writing back values from native functions on dynamically-indexed arrays.

1.2.2 - 2013-05-17

Added

  • Internationalization: Added Italian translation to Challenge.

Changed

  • Internationalization: Updated all translations.
  • Packaging: Thymio Firmware Updater now consistently has the "Thymio Firmware Updater" name on all platforms.

Fixed

  • Studio: Hidden function are now shown at start if the setting says so (issue #181).
  • Studio: Main windows now properly resizes on small screens (issue #172).
  • Packaging: Windows: Silent install now works, just use the '/S' switch on the command line (mind the uppercase).
  • Packaging: Windows: On a new install, the install.log was truncated due to the missing output directory at the beginning of the process.

1.2.1 - 2013-03-28

Changed

  • Thymio Firmware Updater: Thymio Firmware Updater is now a robust program, independent from Studio (issue #153).
  • Internationalization: Updated translations.
  • Studio: VPL plugin is now able to recover from disconnection.

Fixed

  • Compiler: Fixed compiler crash (bug #162).
  • Studio: Incorrect filename in title bar (bug #171).
  • Studio: Help browser: navigation links (left menu) were not updated when navigating inside the documentation (bug #175).
  • Studio: When editing the name of a constant inside studio, the name was blanked (bug related to wish #98).
  • Studio: On Windows, fixed crash of when loading a Marxbot AESL (bug #120).
  • Tests: Fixed unicode unity test (bug #23).
  • Packaging: Windows: Fixed installation on Windows 8 (see wininstall).
  • Packaging: Windows: Fixed missing asebaswitch, added the new Thymio Firmware Updater.
  • Packaging: Windows: The development package was installed at the same location as the regular Aseba, due to a bug in the packaging script. The defaut location is now AsebaDev inside user's home.
  • Packaging: Windows: Fixed missing headers in the development package.
  • Packaging: Windows: When installed, the entries in the Start Menu are now better sorted.
  • Packaging: Windows: Use Qt 4.8.4, instead of Qt 4.8.2.
  • Packaging: Windows: Use gcc (mingw) 4.5, instead of 4.4 (fix for the windows-specific bug).

1.2.0 - 2012-09-02

Added

  • Core: Added helper tool to execute an external program upon reception of a given event.
  • Compiler: Simplify constant expressions at compile time:
    • Array sizes can be defined using constant expressions.
    • Constant expressions can be used to statically access arrays.
  • Compiler: Added return instruction.
  • Compiler: Make an error when a variable has the same name as a constant.
  • Compiler: Translation support of error messages.
  • Studio: Added Visual Programming Language (VPL) for Thymio as plugin.
  • Studio: Added configuration dialogue.
  • Studio: Added automatic reconnection support.
  • Studio: Added display of memory usage.
  • Studio: Auto-completion of names (variables, constants, local and user events, native functions) while typing.
  • Studio: Added the keyword toolbar.
  • Studio: Ensure line PC+1 is visible when in debugging in step-by-step.
  • Internationalization: Added Spanish translation.

Changed

  • Compiler: Generalized the support of temporary variables at the end of the memory space:
    • Allow generic expressions in function calls.
    • Allow generic expressions for arrays' index.
  • Compiler: Generalized array/tuple support:
    • Anonymous arrays can be created with a comma-separated list of expressions enclosed by []. Anonymous arrays are accepted anywhere a static array was accepted, and their usage was further extended to any r-value.
    • Mathematical operators now work on arrays.
    • Array subscript can now be used as l-values.
  • Studio: Compiler error messages are now translated by Qt and displayed in the same language as Studio.
  • Studio: Improved management of constants and events:
    • Constants can be renamed.
    • Added reordering of events and constants by drag & drop.
  • Studio: Minor usability improvements (more consistent naming, re-factored menus).
  • Challenge: Widgets are not any more drawn on OpenGL as this caused problems.
  • Tests: Improved coverage of unit tests.

Fixed

  • Studio: Fixed crash on OS X.
  • Studio: Fixed crash when stream closes unexpectedly.
  • Studio: Windows: fix editor's selection colour when using the find dialogue.

1.1.0 - 2012-05-03

Added

  • Core: Added dummy node for testing purposes (commit be2940ed56).
  • Compiler: Added new operators {+,-,/,*,&,|,^,~,«,»}= and {++,—} (commit 816a3f7f01).
  • VM: Added math.argbounds() to stdnative library (commit e2dcb1e6a9).
  • Studio: New offline help system, with script to update from the Wiki (pull request #41).
  • Studio: Added option to do automatic memory refresh (issue #32).
  • Studio: Added command-line option to show user manual instead of normal environment (issue #50).
  • Studio: Added the possibility to export the bytecode along with some VM information in the so-called aseba binary object format. (issue #49).
  • Studio: Added filter to variable list (commit 36a60b0585).
  • Studio: Added background compilation in a separate thread (commit bffe978091).
  • Studio: Added view/hide functionality to event log (issue #10).

Changed

  • Infrastructure: Switched to git and github.
  • Tests: Improved coverage of unit tests (commit fb09698bb7).
  • Studio: Improved drag & drop (commit 53d5361f6e).
  • Studio: Improved variable tree (commit 5c9d063313).

Fixed

  • VM: Fixed bug in vm when reporting out-of-bounds array acces (commit a25f3927f7).
  • Compiler: Fixed crash in optimiser (issue #24).

1.0.2 - 2012-03-23

Fixed

  • VM: Fixed bug in vm when reporting out-of-bounds array access (commit a0f314f4ed).

1.0.1 - 2011-09-28

Fixed

  • Compiler: Fixed crash in optimiser (issue #24)

1.0.0 - 2011-09-07

Added

  • Core: Added big-endian support.
  • Core: Added UTF8 support (yes, you can even write code in japanese 笑 :-)
  • Core: Added Icons for Linux.
  • Compiler: Compiler now provides intelligent name suggestion for variables, events, constants, native functions and subroutines.
  • VM: Added math.rand() to stdnative library.
  • Studio: Added German and updated French translations.
  • Studio: Target-selection dialog of Studio now remembers choice.
  • Studio: Studio now completes language structures when they are on an empty line.
  • Studio: Improved the event plot pane:
    • Added button to plot event in addition to contextual menu,
    • Added rec/stop and clear button,
    • Added option to limit record duration,
    • Add option to save events in file (similar feature to asebarec, but per event).
  • Studio: Added target-dependent entries in help menu.

Changed

  • Studio: Improved the intelligence of drag-and-drop. For instance, when one drags-and-drops leds.circle, it prints call leds.circle(led1, led2, led3, led4, led5, led6, led7, led8) in relevant situations.
  • Studio: Global toolbar is visible only if there is more than one VM on the network.
  • Studio: Improved breakpoint management:
    • Breakpoints are shown in the margin.
    • When a breakpoint occurs, the editor is scrolled to the active line. If the tab is hidden, its name is highlighted in red.
    • The state of each node is shown by an icon in each tab.
  • Studio: Improved code editor:
    • Line numbers are displayed next to the code editor.
    • Code selection can be (un-)commented using keyboard and menu shortcut.
    • Code lines are highlighted on their full width.

Fixed

  • VM: Fixed math.atan2() on C30 targets.
  • Studio: Fixed "click on exception does not go to line in studio".
  • Studio: De-indentation now works when indented with spaces.
  • Studio: Fixed crash if serial connection was in settings but not present any more.