Differences between revisions 62 and 63
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
 * Too many arguments in method compared to the @Ponder2op argument cause an arrayindex error in the parser  * Too many arguments in method compared to the @Ponder2op argument cause an array index error in the parser

Change Log

This page details all the changes made to the Ponder2 software. Changes may be made at any time and this page will let you know whether the change is large or small and help you decide whether you need the latest version. Changes are marked by the Subversion version number of the latest commit of the main program in ponder2.jar.

The version number is the number printed out by the shell when you connect to the SMC using telnet.

Version 2.xxx - Next version to be released

These are changes made to the core system that have not been released yet. They will appear in the next release.

Known Problems in current release but not fixed yet

  • An empty block causes a compiler error. Instead of "[]" use "[ true ]"

  • Shell reports old version number - reports the SVN number of when it was last checked in
  • Too many arguments in method compared to the @Ponder2op argument cause an array index error in the parser

Version 2.897 - Latest released version

Category: Minor new features, no bug fixes

  • New PonderTalk accessible arguments can be given to the SMC when it is started

  • New function added to Array
    • at: anIndex put: anObject

  • Collections - Domain and Hash now have
    • size

    • has: aName

    • hasObject: anObject

    • remove: anObject - to remove anObject

    • removeObject: anObject - to remove all occurences of anObject

  • Collections - Array now has
    • size

    • has: anIndex

    • hasObject: anObject

    • remove: anIndex

    • removeObject: anObject - to remove all occurences of anObject

  • Block
    • valueVars: aHash - to supplement/override the enclosing variables

  • Numbers and Strings have better comparisons for hasObject: and removeObject

  • Internal object references have better comparisons for the above operations.
  • Removed Security manager from RMI protocol. Use -Djava.security.manager= instead

  • Random commands added for numbers and booleans
  • Java APT factory for @Ponder2op can be built without requiring an existing previous version

Version 2.840

Date: 28th April 2009

Category: Major

  • Added missing NOT operation for Boolean - use as bool not.

  • Removed possible race condition when an Event is sent to different threads

Category: Minor

  • Added experimental onError: message to Block - see P2Block. This may change in the future.

  • Added Ponder2 Error object, handed as an argument to the error block - see P2Error

  • Improved documentation for basic objects

Version 2.834

Date: 21st November 2008

Category: Major

  • Added focus "st" to authorisation policies
  • Fixed authorisation checking to allow messages to objects with no parents e.g. "Hello, " + "World!".

Category: Minor

  • Ant build includes all lib Jars so that user defined libraries may be added easily

  • Ant build includes Ponder2 documentation .css file in ponder2.jar - affects Ponder2 documentation layout

Version 2.809 - Latest released version

Date: 4th September 2008

Category: Major

  • Added java.policy security file for RMI
  • Ant build file automatically checks and starts the rmiregistry if necessary

  • Added user source tree with example and ant build file

Category: Minor

  • Simplified complete source build
  • Added ANTLR and tuProlog runtime libraries to distribution
  • Various small improvements to basic objects
  • Added ability to send remote PonderTalk via RMI, see PonderTalk managed object

  • Now accepts commas between file names within a single -boot argument

Version 2.783

Date: 14th July 2008
Bastille Day

Category: Major

  • Fixed problem when using RMI to some non-local hosts

Category: Minor

  • Better error reporting when an error occurs within a block
  • Various small improvements to basic objects
  • Improved error handling when path name could not be resolved
  • Allow all Ponder2 exceptions to hold source file information
  • Added EventForwarder to control event propagation between SMCs

  • Added error block to blocks
  • Added error block to obligation policies
  • Added whileTrue: and whileFalse: to blocks

  • Added ping SMC command, returns true if remote responds
  • Added sleep SMC command
  • Added Missions and Interfaces
  • Allow "_" character in pathnames
  • To/From XML now manages recursive structures properly
  • Block method now returns a block not an adaptor
  • Java nio package no longer used - not available on all small devices
  • Added "has: anObjectName" operation to Domain
  • RMI communications tries reconnecting on error
  • Socket protocol always uses new sockets to cope with overlapping requests
  • Web Service protocol rewritten

Version 2.731

Date: 21st February 2008

Category: Major

  • build.xml: Javadoc - added classpath for jars of non source items.

  • JavaDoc: Fixed javadoc warnings

  • PonderDoc: Added missing comments

  • auth system: Provided for alternative authorisation system.
  • proximity event bus: policies can now be attach:ed to any managed object

Version 2.709

Date: 13th February 2008

Category: Major

  • Add Web Services protocol module
  • Added divide (/) to numbers
  • Added '!' character into the parser set of permissible binary operation characters
  • Refactored underlying authorisation code
  • Removed compilation dependencies of some Managed Objects upon their Adaptor Objects
  • New authorisation examples
  • Improved distribution scripts
  • Added style sheets to PonderDoc documentation

  • Rewritten ANTLR grammar file, distinguishing between path names and identifiers properly
  • ANTLR grammar produces slightly more efficient abstract syntax tree

Version 2.669

Date: 11th January 2008

Category: Major

  • Added floating point numbers in multiple formats and hex e.g. 3.0 3.4e6 0x0ff23
  • Added authorisations with examples
  • Added PonderTalk string execution

  • Checks for Null in P2String

  • Null Pointer Error fixed when getting to EOF
  • Read PonderTalk from a file using PonderTalk Managed Object

  • Shell: ls -l shows object class rather than external managed object
  • Allows first element of pathname to be a variable
  • Fixed problem in parser. "a + b msg" was parsed incorrectly.
  • Changed collate: to collect: throughout.
  • New PonderTalk/XML RMI interface
  • Removed return type from PonderTalk do: operation

  • Completely reorganised internal class hierarchy. All objects are managed objects. The managed object code is lazily evaluated so that there is minimal overhead.

Version 2.432

Date: 3rd July 2007

Category: Minor

  • Improved Ponder'Talk Managed Object

  • Fixed problem where "'" characters were not handled properly in strings
  • Improved error messages. Stack traces printed only when tracing on

Version 2.427

Date: 27th June 2007

Category: Major

  • Fix to parsing of arrays. Variables/names were not included properly
  • Added and: and or: to Boolean

  • Strings now allow escaped " characters i.e. \"
  • Fixed JAR recipes to include generated files properly

Version 2.423

Date: 25th June 2007

Category: Major

  • First release of Ponder2 version 2 incorporating PonderTalk

  • PonderTalk Compiler and interpreter

  • Easier to write Java objects
  • Improved shell

Version 1.287

Date: 30th Mar 2007

Category: Minor

  • Fixed incorrect name of library in Ponder2 build.xml
  • The line was changed to <property name="qdparser" location="${dist}/qdparser.jar"/>

Version 1.283

Date: 29th Mar 2007

Category: Major

  • Added authorisation policies and examples

Note: This release was previously released incorrectly as version 1.1 containing the wrong source files. This version should be downloaded to use authorisation policies.

Version 161

Date: 12th Dec 2006

Category: Minor

  • Added revision number and date to shell and main routine
  • Added -version option to print out the current version number and then exit

ChangeLog (last edited 2011-02-22 14:56:09 by KevinTwidle)