Version 4.1alpha (unreleased)
-
Fix redeploying when only a single application is deployed. A lock was added to the
kernel to prevent it from shutting down during redeployment.
(PR)
-
Add support for the excalibur-instrument project. An InstrumentManager is
now part of the Phoenix kernel (a Noop version by default). Applications can
have blocks that are Instrumentable as well as InstrumentManageable.
(PR)
-
PUnit added. See http://avalon.apache.org/phoenix/guide-punit.html
(PH)
-
Move to metagenerate (QDox using) instead of xdoclet for generating .xinfo and .mxinfo files.
(PH)
-
Remove several jars from the lib directory in Phoenix. They were causing
version conflicts with hosted applications which may want to use different
versions of libraries. Many of these libraries were not used by Phoenix at
all or could be moved to the container specific classloader. The libraries
that are no longer visible to the client applications include; excalibur-thread,
excalibur-threadcontext, excalibur-pool, excalibur-collections, excalibur-i18n,
excalibur-logger, excalibur-util, excalibur-extension, excalibur-concurrent, qdox
(PD)
-
Schema types should now be the URI (ie "http://relaxng.org/ns/structure/1.0")
rather than a shorthand (ie "relax-ng"). The old form is still supported but
you will need to add mapping for any custom schema handlers previously
implemented. See the kernel.xml for example mapping. Components that use old
shorthand type will cause warnings to logs and System.err
(PD)
-
Configuration Validation is now enabled by default. So if the BlockInfo specifies
a schema type and a schema exists the configuration for each Block will be validated.
To disable validation the user can modify the kernel.xml so that the component in role
"org.apache.avalon.phoenix.interfaces.ConfigurationValidator" uses
the "org.apache.avalon.phoenix.components.validator.NoopConfigurationValidator" component.
(PD)
-
The default configuration for the JMX SystemManager now does not automatically
start the HTTP Adaptor (ie the web interface). Users will need to explicitly
enable the Http Adaptor via <enable-http-adaptor>false</enable-http-adaptor>
in the MX4JSystemManager component section of the kernel.xml. See the kernel.xml
for further details.
(PD)
-
Add support for property expansion in Log4J configuration files. You can
now use propertys such as ${app.dir} and ${app.name} in the log4j logging
configuration. See src/test/org/apache/avalon/phoenix/components/logger/test/config3.xml
for a sample log4j config that uses property expansion.
(PD)
-
Move website to be based at http://avalon.apache.org/phoenix
(PD)
-
Move to Forrest http://xml.apache.org/forrest/ for document generation.
(NKB)
Version 4.0.4 (April 18, 2003)
-
Excalibur-Thread upgraded to 1.1
(PH)
-
Improved way to specify JNDI naming handler in the kernel.
(PD)
Version 4.0.3 (December 12, 2002)
-
MX4J can be bound to something other than localhost now.
(PH)
Version 4.0.2 (October 28, 2002)
-
MX4J JMX upgraded to 1.1.1
(PH)
Version 4.0.2 (October 28, 2002)
-
MX4J JMX upgraded to 1.1.1
(PH)
Version 4.0.1 (October 20, 2002)
-
Fix for Logging. Some backwards compatability was formerly lost.
(PD)
-
MX4J JMX upgraded to 1.1.1 beta1.
(PH)
-
Some work on the wrapper for Unix.
(PH)
Version 4.0 (September 16, 2002)
-
Small bug fixes. Some work on documentation.
(PD)
-
MX4J JMX Documentation.
(HR)
Version 4.0b2 (August 26, 2002)
-
Added support for Blocks that are not proxied.
(EP)
-
Added support for validation of a Blocks configuration
against a schema (such as XMLSchema, Relax NG etc).
(PR)
-
Added the ability for Blocks to request shutdown of their
enclosing application via BlockContext.requestShutdown().
This will in turn shutdown the JVM *if* there are no more
applications and the kernel has not been put in persistent
mode.
(PD)
-
Added the ability for Blocks to request resources from the
.sar file via BlockContext.getResourceAsStream(String).
(PD)
-
Addded documentation for new Management Info files.
(HR)
-
Addded xdoclet support for new Management Info files.
(HR)
-
Lots of work on JMX capability for Phoenix.
(HR)
-
BeanShell debug tools for Kernel.
(PH)
-
Removed support for the JMX RI as it did not support
RequiredMBean objects. We now require the MX4J
implementation.
(PD)
-
Made sure that the i18n resources are reloaded whenever an
application is redeployed. This fixed a bug where multiple
re-runs of the same application would not update the i18n Resource
bundles.
(PD)
-
Started creating a Administrators guide.
(DW)
-
Deprecated Manifest generation xdoclet task. It has never been
used, supported or required by Phoenix and is considered a
deprecated practice.
(PD)
-
Moved the default location of DTDs to be based in directory
http://jakarta.apache.org/avalon/dtds/phoenix/* rather than
http://jakarta.apache.org/phoenix/*. Old style DTD URIs are
still supported.
(PD)
Version 4.0b (August 11, 2002)
-
Added a monitor component that monitors the deployment directory.
The monitor will deploys any .sars that are added to directory, undeploy
.sars that are removed from directory and redeploy .sars that are
modified.
(PD)
Version 4.0a4 (Unreleased)
-
Added start of configuration validation framework
(PR)
-
Update documentation and move to Anakia for document generation.
(PD)
-
Remove deprecated functionality for deploying old style .sar files or
deploying from a directory.
(PD)
-
Remove deprecated Service interface.
(PD)
-
Remove some deprecated methods from BlockContext.
(PD)
-
Warn users if their blocks Work interfaces/Services implement
any lifecycle interfaces.
(PD)
-
Allow name sub-element in block section of BlockInfo.
(SM)
-
Add "sar:" URL protocol handling to policy section in environment.xml
file.
(PD)
-
Blocks no longre need to implement Block interface. Block interface
is thus deprecated as is AbstractBlock. This was done to facilitate
sharing of components between multiple containers.
(PD)
-
Extrace Blocks to directory based on name deployed with rather than
.sar name (to support multiple deployments of same .sar). Submitted
By: Ulrich Mayring (ulim@denic.de)
(PD)
-
Rework deployer such that jars are extracted to a temporary work
directory and then deleted when application is undeployed. This is
to work around the JVM locking and caching the jars and thus allowing
users to redeploy applications. Submitted By: Ulrich Mayring
(ulim@denic.de)
(PD)
-
Updated build script so it will work when installed in a directory
with spaces. Submitted By: dsmiley@mitre.org (David Smiley)
(PD)
-
Use MX4J project to provide the JMX management kernel rather than
RI.
(PD)
-
Make phoenix use a temporary located in its hierarchy by setting
the JVM system property "java.io.tmp". By default this temporary
location is $PHOENIX_HOME/temp
(PD)
-
Rework Embeddor so that it instantiates kernel components from a
by reading the contents of conf/kernel.xml file.
Submitted By: Joerg Bauer (bauer@denic.de)
(PD)
-
Add XDoclet tasks to generate the manifest and BlockInfo files
based on javadoc tags inserted into Blocks java file. Originally
Submitted By: vinay nair (vinayc77@yahoo.com)
(PD)
-
Added javadoc to more classes and added in package.html files
where appropriate.
(SM)
-
Added ApplicationListener objects that implement all same
funcitonality as BlockListener but also provide support
for Application Starting/Stopping/Failure events and
provide access to SarMetaData. Consequently deprecated
BlockListener interface.
(PH)
-
Enhanced DefaultManager to support authenticated connecitons.
Submitted By: "Jorg Bauer/Denic" (bauer@denic.de)
(PD)
-
Allow Blocks to declare that they are able to be exported to a Management
subsystem (ie JMS) by making their blocks declare (Management-access-points/)
in their BlockInfo. Blocks will be exported to JMX with names like
"application=Foo,name=MrBlock,role=org.apache.MyManagementInterface"
(PD)
-
Fixed bug where application names were inapropriately prefixed
to log categories. Submitted By Antal Attila (atech@nolimits.ro)
(PD)
-
Fixed bug where application names were inapropriately prefixed
to log categories.
(PD)
-
Add support for Parameterizable blocks. Submitted by:
Brian Olsen (brian@mmmanager.org)
(MT)
-
Validate the assembly.xml file and any BlockInfo files if they
declare the DTD correctly.
(PD)
-
Add native daemon support by using the daemon created in the
http://wrapper.tanukisoftware.org/ project. Submitted By:
Leif Mortenson (leif@apache.org)
(PD)
-
Allow jars contained within the .sar file to declare dependencies
on libraries using the standard JDK1.2+ Extension mechanism. For
more information about optional packages, see the document
Optional Package Versioning in the documentation bundle for your
Java2 Standard Edition package, in the file
guide/extensions/versioning.html.
(PD)
Version 4.0a3 (November 13, 2001)
-
Add documentation describing BlockListener.
(PD)
-
Fixed bug that allowed binary distributions to be built without
copying xerces.jar into correct place.
(PD)
Version 4.0a2 (November 12, 2001)
-
Add support for undeploying and unistalling applications. Add support for separating
out install phase from deployment phase and persisting information about
application installations.
(MT)
-
Created the start of a Phoenix Developers Kit (PDK) that will enable
developers to rapidly become accustom to developing Phoenix applications.
(PH)
-
Started to incorporate the JMX code more fully into Phoenix kernel. Started
doing this by refactoring the base MBeans and testing using the RIs agent.
(PD)
-
Update Phoenix to use the new Avalon Framework Logger interface rather than
directly using LogKits Logger class. This required a backwards incompatible
change in BlockContext. The getLogger() methods now return the Logger interface
rather than LogKits Logger class. If a Block implements Loggable then it will
be passed LogKits Logger, this is required for backwards compatability. If the
Block implements LogEnabled it will receive the new style Logger.
(PD)
-
Rework the application deployment format (ie .sar format) to be more in line
with other specifications. See docs/creating-a-server-application.html in distribution
for current format description. The old format is deprecated but will still work.
(PD)
-
Separated code that validated assembly of application into separate
classes. The validation is now much stricter and requires that
Blocks conform to established patterns. The validation phase should give
more reasonable explanations for violations. Extra validation checks
include verifying that services offered by a Block are actually interfaces,
that there is no circular dependencies, that declared Blocks and BlockListeners
actually implement Block or BlockListener interface, that the names of Blocks
are valid etc.
(PD)
Version 4.0a1 (September 25, 2001)
-
Too many things to enumerate here. This is the first public release,
and the code is still considered alpha. In future releases, we will
be much more careful to record the changes to Phoenix.
(BL)
Version 3.1a2 (Unreleased)
-
Added stylesheet to convert Stylebook markup to DocBook markup.
(BL)
-
Added SingleAppEmbeddor to launch a kernel to load a single Application.
Patch supplied by "Eung-ju Park" (colus@isoft.co.kr). This is useful if
you need to reuse the blocks in other contexts (such as in a Servlet).
(PD)
-
Made default SystemManager a NoopSystemManager. Patch supplied
by "Eung-ju Park" (colus@isoft.co.kr). To re-enable RMI manager a new
command line switch "--remote-manager" was added.
(PD)
-
Started Localizing text strings throughout Phoenix. This is done using
ResourceManager and Resources from Avalon/Excalibur project.
(PD)
-
Legacy support for nested configuration elements in assembly file
removed.
(PD)
-
Simplified Loader and made it set ContextClassLoader before executing
Main method. It will also use the System property phoenix.home if set
rather than always trying to dynamically determine home directory.
(PD)
-
Reworked SecurityManager setup. Instead of starting a security
Manager inside the code it has been re-architectured so that the
SecurityManager is set on the command line. This was to avoid a number
of issues related to creating a URLClassLoader in an unprotected context
before setting SecurityManager. ie As AccessControllerContext was null it
is impossible to use ClassLoader.getResource(AsStream)(). This means that
defining phoenix.insecure will no longer disable the SecurityManager. The
replacement method is to set the native OS environment variable
'PHOENIX_SECURE=false'.
(PD)
-
Separate Parsing of CLI arguements into separate class (CLISetup).
This is to facilitate launching Phoenix as a native daemon using
Tomcats Services API.
(PD)
-
Changed the documentation build process to use Cocoon to build
the site.
(BL)