blob: e8b6247201f85a6714bf260e58ba1eb06a1b5619 [file] [log] [blame]
Apache BSF 3 Beta3 Release Notes
--------------------------------
Apache BSF 3 is an open-source implementation of JSR-223,
"Scripting for the Java Platform".
*----------------------------------------------------------------------*
* BSF3 was developed according to the JSR-223 specs, but has not yet *
* been tested via the JSR-223 TCK. BSF can therefore not be considered *
* a compatible implementation of JSR-223. *
*----------------------------------------------------------------------*
However, the implementation is believed to be complete.
* BSF-3.0 is not compatible with BSF-2.4 - the API is completely different.
* BSF-3.0 can be deployed and used on Java 1.4+ - it does not require Java 1.6
Incomplete packages
-------------------
The org.apache.bsf.utils.http and org.apache.bsf.xml packages contain several classes.
These are not complete, and should not be relied on.
They are not needed in order to use the javax.script API.
Changes from previous releases
------------------------------
This 3.0-beta3 release is a maintenance release update to support the latest releases
of various script language engines.
The classes in the javax.script package have been overhauled to align the API, Javadoc and
the behaviour with the JSR-223 spec, and several unit tests have been added.
Some of these changes may cause problems for programs that have been written to the BSF 3.0
Javadoc rather than the JSR-223 spec.
javax.script class changes
==========================
AbstractScriptEngine - Javadoc only
Bindings - Javadoc only
Compilable - Javadoc only
CompiledScript - Javadoc only
Invocable - Javadoc only
ScriptContext - Javadoc only
ScriptEngine - Javadoc only
ScriptEngineFactory - Javadoc only
ScriptEngineManager - Javadoc, also protected fields made private:
- engineSpis
- nameAssociations
- extensionAssocitions
- mimeTypeAssociations
- globalscope
- now uses javax.imageio.spi.ServiceRegistry.lookupProviders()
rather than the Sun-specfic method sun.misc.Service.providers()
- put() method checks that key is non-null (NullPointerException)
and non-empty (IllegalArgumentException)
- setBindings() throws IllegalArgumentException if the parameter is non-null
- the registerXXX() methods throw NullPointerException if any of their parameters is null
- the getEngineByXXX() methods throw NullPointerException if their parameter is null
ScriptException
- all fields made private and final
SimpleBindings
- Javadoc
- protected field "map" made private & final
- methods now check keys to ensure that they are non-null, non-empty strings
SimpleScriptContext
- globalScope field now defaults to null
- reader, writer and errorWriter fields are now protected (rather than private)
This is required by JSR-223
- name parameters are now checked to ensure that they are non-null, non-empty strings
- getBindings() throws IllegalArgumentException if the scope is invalid
- getScopes() now returns an unmodifiable List