Release Notes -- Apache Geronimo -- Version 2.1.1


Geronimo URLs
-------------
Home Page:     http://geronimo.apache.org/
Downloads:     http://geronimo.apache.org/downloads.html
Documentation: http://geronimo.apache.org/documentation.html
Mailing Lists: http://geronimo.apache.org/mailing.html
Source Code:   http://geronimo.apache.org/svn.html
Bug Tracking:  http://issues.apache.org/jira/browse/GERONIMO
Wiki:          http://cwiki.apache.org/geronimo


Documentation
-------------
Please see http://cwiki.apache.org/GMOxDOC21/documentation.html for the
latest documentation on this release.


System Requirements
-------------------
You need a platform that supports the Sun JDK 5.0+ (J2SE 1.5.0+) or greater.

Most testing has been done on Linux, Mac OS X, and Windows.


Geronimo 2.1 Enhancements
-------------------------

Custom server assemblies
- Lightweight server assemblies may be created that contain only the functional 
  components required by your application(s).

Flexible admin console
- The admin console is now component-based to mirror the server capabilities. 
  This allows the admin console to provide flexible administrative capabilities 
  that will mirrors the capabilities of a custom server assembly.

GShell
- GShell is a command-line processing environment that can be used for the execution
  of Geronimo commands. GShell is an extensible environment and includes support
  for editing, command history, and tab completion. 

Clustering Support
- WADI can now be used to support clustering of web applications for Geronimo configurations which
  use the Tomcat Web Container (WADI support for Jetty was in previous releases). 
- Applications can be deployed to administratively-defined groups of Geronimo servers

Monitoring Console Plugin
- The monitoring console plugin provides monitoring support in the Geronimo admin console. 
  The monitoring console can gather statistics and performance data from multiple Geronimo 
  servers and graphically display this data to users.


Geronimo 2.1.1 Issues Resolved
------------------------------
** Bug
    * [GERONIMO-3124] - Reminder:  Switch Axis2 stack back to axis2-saaj from Sun SAAJ Impl
    * [GERONIMO-3354] - Exception thrown by MDB involved in XA transaction
    * [GERONIMO-3440] - DB2-XA: when trace file is not specified, it caused error when running the sample
    * [GERONIMO-3687] - classloader deadlock during server startup
    * [GERONIMO-3705] - Maven 2.0.8 causes build problems
    * [GERONIMO-3719] - Monitoring agent uses sun classes
    * [GERONIMO-3765] - monitoring console throws IllegalArgumentException when editting a bad server
    * [GERONIMO-3780] - MDB unable to access JNDI in ejbPostCreate
    * [GERONIMO-3781] - Plugin Installer, CRSF issue when attempting to install a new plugin
    * [GERONIMO-3783] - MessageDrivenBean delivery problem
    * [GERONIMO-3806] - CLONE -Extraneous WARN messages during deployment of resource-env-refs in EJB jar
    * [GERONIMO-3807] - ERROR's logged during plugin installation for non-existent plugins
    * [GERONIMO-3814] - NPE in GBeanOverride
    * [GERONIMO-3831] - Incomplete classpath fed to wsgen
    * [GERONIMO-3833] - Hard-coded gbean names and versions in monitoring code
    * [GERONIMO-3836] - Deployment fails with FNFE due to missing jline_.dll on Cygwin
    * [GERONIMO-3837] - allowLinking Tomcat  atttibute in StandardContext not configurable through Geronimo
    * [GERONIMO-3840] - Server may try to start modules in an order that won't work
    * [GERONIMO-3841] - Need a way to load config.xml customizations without a whole config.xml file
    * [GERONIMO-3843] - Plan creator fails to create plan and to deploy
    * [GERONIMO-3845] - stop-server command ignores username/password
    * [GERONIMO-3847] - The .tar.gz and .zip assembly files contain unnecessary META-INF directory
    * [GERONIMO-3850] - Plan Creator suppresses exceptions rather than showing it to user
    * [GERONIMO-3854] - deploy/assemble and ERROR GroovyRuntimeException: Ambiguous method overloading for method org.apache.geronimo.kernel.repository.Artifact#<init>
    * [GERONIMO-3855] - PortletSecurityException in Plugins portlet
    * [GERONIMO-3865] - unresolved i18n keys
    * [GERONIMO-3866] - Export Plugin from web console contains empty  'Unique ID" field and throws NPE, preventing any possible export of a plugin
    * [GERONIMO-3867] - Export Plugin in Web Console results in NullPointerException if no component is selected
    * [GERONIMO-3869] - geronimo/stop-server doesn't use connection established by deploy/connect in gshell
    * [GERONIMO-3873] - Console Keystore Configuration links contain partial HTML tags
    * [GERONIMO-3879] - Web Access Log Viewer problems in multiple server instances scenario
    * [GERONIMO-3880] - PersistenceUnitInfo.getJarFileUrls() can return null
    * [GERONIMO-3881] - geronimo/stop-server dumps ConnectException: Connection refused: connect when server's stopped yet Shutdown request has been issued
    * [GERONIMO-3882] - Mdb container ids not set during creation.
    * [GERONIMO-3887] - After installing with wrong configuration unable to proceed with any new plugin installs
    * [GERONIMO-3891] - Derby Log Viewer portlet - ignores all search criteria
    * [GERONIMO-3893] - When installing plugins, exception thrown when no plugins selected
    * [GERONIMO-3896] - Error processing HEAD method by default HttpServlet#doHead()
    * [GERONIMO-3897] - Always set the web deploymentDescriptor, not just when we make it metadata-complete
    * [GERONIMO-3899] - Missing geronimo-common depend from car-maven-plugin
    * [GERONIMO-3901] - Security Realms portlet - "encoding" option missing for Properties File Realm
    * [GERONIMO-3902] - start-server, default.groovy in etc/rc.d overrides -Xmx value when starting server using gshell
    * [GERONIMO-3906] - start-server uses hard-coded credentials that cannot be overridden
    * [GERONIMO-3913] - NPE in org.apache.geronimo.security.SubjectId.hashCode() caused by incorrect JAVA_HOME or JRE_HOME
    * [GERONIMO-3921] - getContextRoot() returns forward slash rather than empty string for apps deployed to root context
    * [GERONIMO-3924] - Make car-maven-plugin assembly independent of tools-maven-plugin
    * [GERONIMO-3927] - Plugin installer can't unpack much from jars
    * [GERONIMO-3935] - start-server command fails to parse arguments correctly
    * [GERONIMO-3937] - java.lang.ArithmeticException: / by zero
    * [GERONIMO-3939] - Failing to start plugin after install if previous plugin install failed.
    * [GERONIMO-3955] - Typo

** Improvement
    * [GERONIMO-433] - Tolerate non-Sun JREs
    * [GERONIMO-3416] - make some -test artifacts that for instance start up a mock server suitable for testing deployment parts
    * [GERONIMO-3796] - Upgrade to 3.3 version of xbean-finder, xbean-naming, and xbean-reflect
    * [GERONIMO-3798] - Upgrade Geronimo to newly released geronimo-transaction 2.1 and geronimo-connector 2.1 components
    * [GERONIMO-3802] - In plugin installer, assembling a server, add a page at the end to confirm or deny the assembly of a server package.
    * [GERONIMO-3828] - Provide jaxws-tools stack traces to the server.log
    * [GERONIMO-3856] - Assemble a Server Confirmation Page
    * [GERONIMO-3859] - Provide toString method to StartupMonitorUtil to aid monitoring, logging, debugging
    * [GERONIMO-3900] - Add runtime support for non-Sun JVMs
    * [GERONIMO-3903] - Upgrade to OpenJPA 1.0.2
    * [GERONIMO-3918] - Upgrade to WADI 2.0-M9
    * [GERONIMO-3926] - Add a Derby config/plugin for easier inclusion of Derby jars without a system-database depend

** New Feature
    * [GERONIMO-3871] - maven archetypes for modules and assemblies
    * [GERONIMO-3898] - Provide handy way to configure log4j for a particular app



Certification Status
--------------------
Apache Geronimo v2.1.1 has passed 100% of SUN's Java Enterprise Edition 5.0 
Certification Test Suite. See "Distributions" for further details.


Distributions
-------------
Apache Geronimo v2.1.1 is available in five distributions so you can pick the 
one that better fits your environment.

The available distributions are as follows:

Certified distributions:
- Apache Geronimo with Tomcat web container, AXIS2 for Web Services and OpenJPA
  for persistence.
- Apache Geronimo with Jetty web container, CXF for Web Services and OpenJPA 
  for persistence.

Non-Certified distributions:
- Little-G with Tomcat web container, minimal configuration.
- Little-G with Jetty web container, minimal configuration.
- Geronimo framework, stripped down Geronimo pluggable framework.

Note: Non-Certified distributions do not contain a complete JavaEE5 stack and so 
cannot be certified.  Certified distributions can be reconfigured by the user 
(such as Tomcat web container with CXF for Web Services). 


Supported features
------------------
All programming elements of the Java EE 5.0 Specification are available.  


Known Issues and Limitations
----------------------------
** Bug
    * [GERONIMO-3957] -  Updating svn:ignore lists
    * [GERONIMO-3949] -  Problem creating a DB2 datasource
    * [GERONIMO-3946] -  WARN [JettyModuleBuilder] Web application . does not contain a WEB-INF/geronimo-web.xml deployment plan
    * [GERONIMO-3944] -  Web plan schema munging reordering elements wrong
    * [GERONIMO-3942] -  IllegalStateException warning message for Jetty plugin installer
    * [GERONIMO-3938] -  Geronimo must add Java2 security to run with security manager
    * [GERONIMO-3934] -  geronimo/start-server --timeout option does not work as expected
    * [GERONIMO-3933] -  Getting an Exception while creating JMS deployment plan through console.
    * [GERONIMO-3931] -  Unable to delete a datasource from administrative console
    * [GERONIMO-3930] -  IllegalArgumentException reading Transaction Log
    * [GERONIMO-3907] -  Persistence Exception is not visible/lost for client.
    * [GERONIMO-3892] -  Persistence.CreateEntityManagerFactory leads to an JNDI Exception in EJB Container
    * [GERONIMO-3878] -  Unable to deploy Postgres Datasource from console dialog "Database Pools" because of missing jar files in jar selection listbox.
    * [GERONIMO-3875] -  Enabling authentication for Derby renders DB Viewer portlet unusable for all db's except SystemDatabase
    * [GERONIMO-3874] -  Deployment of Spring SpringContextResourceAdapter fails
    * [GERONIMO-3864] -  Security warning about installation a certificate from a CA claiming to represent: Me
    * [GERONIMO-3863] -  Default TomcatWebConnector maxPostSize setting cannot handle DayTrader application
    * [GERONIMO-3858] -  start-server.bat fails to start server if there is a space in the path
    * [GERONIMO-3851] -  Plan Creator cannot recognize classes inside compressed JARs of WEB-INF/lib
    * [GERONIMO-3844] -  Errors on shutdown from admin console (Jetty only) - java.lang.InterruptedException
    * [GERONIMO-3815] -  ContextManager.getCurrentContext() throws NullPointerException
    * [GERONIMO-3768] -  deployment failure is not logged in either geronimo.log or deployer.log
    * [GERONIMO-3762] -  Web Applications displayed during server startup include "system" console plugins
    * [GERONIMO-3700] -  alias command fails
    * [GERONIMO-3685] -  Monitoring Console should display TimeStatistics and BoundedRangeStatistics correctly
    * [GERONIMO-3664] -  JNDIView Portlet should list ResourceAdaptors and its JCAManagedConnectionFactories for RAR Modules
    * [GERONIMO-3602] -  SEI specified in webservices.xml does not overwrite annotation
    * [GERONIMO-3581] -  Default security relam name in ContextManager
    * [GERONIMO-3562] -  customizable navigator icons for admin console extensions
    * [GERONIMO-3483] -  Redeploy should start any dependent configurations it stops.
    * [GERONIMO-3442] -  Tomcat exception reports reference non-existent log files
    * [GERONIMO-3424] -  Fatal error in geronimo-service-builder during copy-xmlbeans-schemas on windows
    * [GERONIMO-3419] -  Console displays wrong database pool type when derby embed local is used.
    * [GERONIMO-3243] -  ActiveMQ violates System Properties
    * [GERONIMO-3233] -  Local EJB references cannot be resolved when <inverse-classloading> is set in web application
    * [GERONIMO-2622] -  Implement PolicyContextHandlerSOAPMessage
    * [GERONIMO-2340] -  Network Listener state not persisted across server startups
    * [GERONIMO-2246] -  Why resource-env-ref:admin-object-module?

** Improvement
    * [GERONIMO-3959] -  Freeze during deploying OrderEAR sample from GMOxDOC21
    * [GERONIMO-3958] -  No web-app element when geronimo-web.xml contains other root element
    * [GERONIMO-3948] -  Allow multiple containers to be created for different types of ejbs
    * [GERONIMO-3940] -  A easy way to create a new server instance via command/gsh/console
    * [GERONIMO-3929] -  Load server implementation classes and it's libraries using a private classloader
    * [GERONIMO-3925] -  Monitoring agent should use JAXB to do XML manipulation
    * [GERONIMO-3915] -  Upgrade Monitoring and Debugview plugins to use Dojo instead of Dojolegacy
    * [GERONIMO-3905] -  Geronimo Database pool wizard
    * [GERONIMO-3870] -  Expose JSR77 stats in OpenEJB
    * [GERONIMO-3849] -  When display-name in web.xml contains the dot the remaining part's printed out in geronimo.log
    * [GERONIMO-3848] -  geronimo:deploy-module prints out Using non-artifact based plan: null when no plan is specified
    * [GERONIMO-3774] -  monitoring agent should separate any constant assignment inside one class
    * [GERONIMO-3770] -  Error reporting of undeclared data-sources from persistence.xml with the file path and such
    * [GERONIMO-3759] -  Geronimo Tomcat Clustering - No GBeans for adding Static Members
    * [GERONIMO-3682] -  The Monitoring Console should keep information about Stats available from a managed object
    * [GERONIMO-3681] -  The Monitoring Console should allow the type of graph to be chosen
    * [GERONIMO-3680] -  The Monitoring agent should optimize DB activity
    * [GERONIMO-3661] -  Optimize GShell libs for G server assemblies
    * [GERONIMO-3651] -  gshell should make it dead simple to run geronimo with remote debugging
    * [GERONIMO-3530] -  provide activemq destination and connector stats
    * [GERONIMO-3448] -  New threads launched from an EJB do not run as the same Subject as the launching thread
    * [GERONIMO-3408] -  Clean up deployer login code in ServerConnection
    * [GERONIMO-3399] -  Need JSR88 DConfigBeans for GerSecurityType
    * [GERONIMO-3389] -  console: java.lang.UnsatisfiedLinkError is thrown when create a Tomcat APR HTTP Connector
    * [GERONIMO-2758] -  Upgrade to Howl 1.0.2

** New Feature
    * [GERONIMO-3876] -  Allow configuring JMX over SSL
    * [GERONIMO-3665] -  Create ghell commands for wsgen and wsimport tools
    * [GERONIMO-3662] -  Provide JCA Resource statistics
    * [GERONIMO-3619] -  Allow context-param's to be overridden in geronimo-web.xml
    * [GERONIMO-3572] -  Disable access log by default and provide an easy way for the user to enable/disable logging at will.

