<document>
<s1>

- Basic conversion completed.
- Added basic @Stateful support
- Added basic @Stateless support
- Changed to unified entity LruCache

- Clear dead objects from EJB (rep by Kirk Rasmussen)
- Clear caching of dependent relation (rep by Scott Croco)

- Avoided NPE in PersistentManager (rep by T McAuley)
- Fixed message bean receiving with new API (rep by Andrea Mari)
- Add ContainerTransaction.setDescription (rep by T McAuley)
- JDBC-backed Queue and Topic (rep by Travis Atkins and PeterB)

- Updated message-driven bean configuration (rep by Alon Salant)
- method-parameters wasn't properly parsed in ejb.jar file (rep by Richard Esasterling)

- (2004-01-14) Misc JMS updates
- (2003-11-12) Missing setDescription on EjbJar

- Support top for sql-server (rep by Kirk Rasmussen)

- QEntityContext creation needs to set the used flag on creation (rep by Francois Bertrand)
- CMR issue case with collection and missing local key getter (rep by Rudy D'hauwe)

- (2003-08-21) Errors with EJB-QL disjunctions (rep by Mike Wynholds)
- Exception thrown in ejbCreate does not force rollback (rep by Kirk Rasmussen)
- EJB validation problem with merged relations (rep by Max Kutny)
- hessian handling of remote user (rep by Charbel El-Achkar)

- Added <boolean-literal> for literal configuration

- (2002-05-12) Uppercase of auth-method FORM needs to be recognized (rep by Jeff Miller)
- Changed protection of _ejb_trans in __QPersist (rep by Chuck Adams)
- (2002-04-22) Quercus comments weren't working (rep by Jason Chesko)
- (2002-03-19) ClockCache was using == instead of equals
- (2002-03-18) Update EJB to use ClockCache instead of LruCache
- JMX needs to support the custom MBeanServerBuilder (rep by Michael Rumpf)
- Added doc for custom login config (rep by Max Kutny).
- Added custom sql to <query-function> (rep by Max Kutny)
- xsi:schemaLocation was missing from ejb-jar.rnc (rep by Russ Egan)
- queries need to add dependencies to the bean (rep by Max Kutny)
- basic aliasing with identifying relationships (rep by Bo Glenn)
- IIOP issues with generating the IOR (rep by Fabien Thiriet)
- added auto-gen support for String based keys when getGeneratedKeys is available (rep by Kirk Rasmussen)

- getCollection() wasn't allowed to use old bean in some cases (rep by Kirk Rasmussen)
- cache-size overflow wasn't handled cleanly (rep by Kirk Rasmussen)
- (2003-05-21) Date allowed as primary key (rep by Kirk Rasmussen)
- (2003-04-29) Hessian serialization of byte[] was using writeBinary instead of writeBytes. (rep by zayda)

- (2003-04-08) test.ejb depends wasn't properly cleared on server restart (rep by Max Kutny)
- (2003-03-26) ejb.jar needs to accept META-INF/foo.ejb (rep by Jorgen Wahlberg)
- (2003-03-14) IIOP stub code generation issues (rep by Fabien Thiriet)
- order dependency in ejb-relation with foo.ejb and foo-resin.ejb (rep by Daniel Lopez)
- create with failed ejbCreate wasn't properly removing the bean from the cache (rep by Max Kutny)

- (2003-02-25) create was throwing DuplicateKeyWrapper when it should have thrown CreateException
- fastcgirunner.pl.in missing from Resin-EE (rep by Kevin Skidmore)
- IIOP server in subpath (rep by Fabien Thiriet)

- added require-source to <compiling-loader> (rep by Max Kutny)
- beans sharing same classes need to be distinct (rep by Frank Juang)
- (2003-01-08) In Map relations, FinderException but not ObjectNotFoundException should throw EJBException (rep by Max Kutny)
- handling Maps with local keys missing (rep by max Kutny)
- adding logs for select/activate (rep by Max Kutny)
- missing primary key type checking (rep by Max Kutny)

- (2003-01-08) <order-by> in collections should allow multiple order-by (fixed! by Upil)
- MySQL table generation should use DATETIME instead of TIMESTAMP (rep by Michael Wynholds)
- (2002-12-17) removed lower limit of 1024 on the entity-cache-size (rep by Sher)
- read-only was improperly setting Supports as ejbHome and business method transaction (rep by Max Kutny)
- (2002-12-04) identifying primary key issue with a particular config (rep by Joseph Toth)
- getCollection().add(...) shouldn't select entire db (rep by Kirk Rasmussen)
- EJBCompiler should allow multiple *.ejb (rep by Kirk Rasmussen)

- n-m with int primary key failed regression (rep by Andrew Barton)
- Print enclosed stack trace from FinderExceptionWrapper (rep by Max Kutny)
- (2002-11-07) n-m with int primary key failed regression (rep by Andrew Barton)
- Print enclosed stack trace from FinderExceptionWrapper (rep by Max Kutny)
- (2002-11-01) Fix handling of unidirectional 1-n with int primary key (rep by Mike Wynholds)
- Fix -app-dir usage() printing in EJBCompiler (rep by Dash Sam)
- Generated EJB skeleton does not depend on the impl class or the bean class, only the interfaces (rep by Andrew Barton)

- (2002-09-26) EntityConfig validation was missing prim-key-class check (rep by Max Kutny)
- Allow LIMIT 1 to work with find methods with single values (rep by Max Kutny)
- insufficient validation of container-transaction (rep by Max Kutny)
- (2002-09-24) EJB depends on custom key class (rep by Max Kutny)
- validator was throwing exception for cmp-field with missing impl (rep by Max Kutny)
- ejbRemove doesn't need to throw RemoveException (rep by Rick Hightower)
- (2002-09-23) Collection/read-only sync issues (rep by Jan Heise and Adam Langley)
- Map example fixes (rep by Tauren Mills)
- Burlap/Hessian Stub fixes to ensure that exceptions aren't caught twice (rep by Alon Salant)
- primitive key types must treat columns as NOT NULL (rep by Adam Langley and Max Kutny)
- (2002-08-30) create should try PersistentUtils.getGeneratedKeys (rep by Joseph Toth)
- (2002-08-26) sql-column with references and n-1 relation (rep by Bo Glenn)
- (2002-08-07) count(..) needs to deal with multiple-key objects (rep by Kirk Rasmussen)

- PersistentBean needs to understand interface vs impl (rep by Andre van Dalen)
- EJBCompiler needs to throw wrapped exception (rep by Kirk Rasmussen)
- Add error checking with cascade-delete on wrong side (rep by Yannick Menager)

- (2002-06-24) Added proper JNDI for Burlap and Hessian (rep by Alon Salant and Christian Bauer)
- (2002-06-21) query returning int can return Integer from ejbSelect (rep by Chris Beck)
- Bean introspection wasn't catching field defined in interfaces (rep by Nicholas Lesiecki)
- Allow Burlap/Hessian to instantiate classes with non-zero-arg constructors (rep by Rene Palad)
- primary key decoding was ignoring protocol (rep by Joseph Toth)
- brought Burlap into sync with Hessian
- Added resin-isolation='row-locking' to EJBServer (rep by Jan Heise and Max Kutny)
- Added jdbc-isolation to EJBServer (rep by Jan Heise)

- (2002-06-06) find and ejbSelect methods are read-only
- (2002-06-04) Made generated inner constructor public to workaround jikes bug (fixed! by David Soergel)
- Burlap specify expected class for array s(rep by Rene Palad)
- Error messages for the DataSource were using java:comp/jdbc/test no matter the actual setting (rep by Kirk Rasmussen)
- query-function was only allowing a single item (rep by Sunil Kamath)
- (2002-05-28) Make transaction-timeout configurable in EJBServer (rep by Rene Palad)
- disabled same-jvm optimization for Burlap (rep by Luiz Parzianello)
- relationship-role needs check for exactly two elements (rep by Mark Crowthers)
- result-type-mapping was missing from query element (rep by Maykey Tres)
- int max(int) signature added to FunExpr (rep by Andre van Dalen)
- char arguments in ejbSelect weren't treated as Strings for function matching (rep by Andre van Dalen)
- (2002-05-22) cached beans weren't timing out in find, waiting for the getData (rep by Kirk Rasmussen)
- Relations in separate packages weren't handling ejbSelect preload (rep by Nicholas Lesiecki and Ron Tapia)
- Checking for null relation in finder needs to set null type (rep by Joseph Toth)

- check for null with local interfaces in find method (rep by Serge Knystautas)
- IN ('a', 'b') fixes (rep by Kirk Rasmussen)
- (2002-05-13) collections getters should be treated as getter
- collections need to have cache-timeout controlled by owning bean (rep by Kirk Rasmussen)
- Added -app-dir for EJBCompiler (rep by Thomas Memenga)
- (2002-05-09) Hessian stub generator was generating wrong code for Date (rep by Marc Villenueve)
- (2002-05-06) regression
- (2002-04-30) implicit relation code generation problems (rep by Kirk Rasmussen)
- (2002-04-28) regression cleanup
- Lazy ejbLoad of fields
- (2002-04-23) Allow ?2 in ORDER BY (rep by Kirk Rasmussen and Timothy Falconer)
- Added resin-isolation
- Added query-loads-bean (rep by Christian Sell)
- ejb-ql LIMIT support for Postgres and unknown databases
- Hessian and Burlap need to handle Throwable like Exception (rep by Nicholas Lesiecki)
- (2002-04-17) getId() does not need to be in local interface (rep by Daniel Lopez)
- Added method configuration to resin-ejb
- Added query-function to resin-ejb (rep by Kirk Rasmussen)
- <2002-04-15) Hessian stub wasn't throwing accurate exceptions (rep by Nicholas Lesiecki)
- Several IIOP 1.2 protocol fixes (rep by Joseph Toth)
- DependentServer no longer exists (rep by Drew Davidson)
- Added data-source to <entity> config (rep by Luiz Claudio Parzianello)
- Update only EJBs affected by a relation not necessarily target (rep by Nicholas Lesiecki)
- Can't use _caucho as a temporary SQL name for Oracle (rep by Paul Visan)
- (2002-04-08) Add single read load optimization (rep by Serge Knystautas)
- Remove Lock code (rep by Serge Knystautas)
- Cleanup _EJB dependencies (rep by Nicholas Lesiecki)
- Allow separation of Resin-specific configuration from EJB configuration. (rep by Daniel Lopez)
- auto-compile wasn't propagaged to persistence (rep by Kirk Rasmussen)
- EJBcompiler needs Thread.setContextClassLoader (rep by Kirk Rasmussen)

- EJBcompiler needs a wrapped DynamicClassLoader (rep by Kirk Rasmussen)
- (2002-03-22) sql-column was broken for collections (rep by Mike Wynholds and Kirk Rasmussen)
- (2002-03-20) Quercus: Added Weblog replaced WeblogComment with general Comment
- Quercus: eliminated Product/S2 and replaced with general Category
- Quercus: UserRoles now is identifying relation
- Quercus: passwords now MD5(user:password)
- cleanup object releases in TransactionContext (rep by Serge Knystautas)
- byte [] wasn't being set to setBinaryStream property (rep by Serge Knystautas)
- create methods were wrapping custom exceptions (rep by Rudy D'hauwe)
- (2002-03-18) added sql-column/references (rep by Joseph Toth and Christian Sell)
- (2002-03-16) issues with identifying relation and 1-1 implicit (rep by Kirk Rasmussen)
- (2002-03-13) Avoid setBytes because of Oracle bug (rep by Drew Davidson)
- Added com.caucho.ejb.EJBCompiler (rep by Kirk Rasmussen)
- (2002-03-08) regression
- (2002-03-05) java.util.Date wasn't retrieved properly
- error message for bad data-source was swallowed (rep by Guido Schoonheim)
- (2002-03-01) added queue-connection-factory to EJBServer
- better error message for relations returning mismatches (rep by Kirk Rasmussen)
- added database init for SQL Server (rep by Kirk Rasmussen)
- (2002-02-27) setString generated by EJB needs to check for null and call setNull
- Set return values had mismatch with removeImpl signature
- added entity-cache-size, entity-cache-timeout, and lock-timeout (rep by Kirk Rasmussen)
- Added ejb-config-dir as init-param to EJBServer (rep by Joseph Toth)
- autogen sql now supports auto-increment for mysql, postgres, oracle
- (2002-02-15) restrict relation alias checking (rep by Kirk Rasmussen)
- added com.caucho.ejb.TableLockFactory (rep by Serge Knystautas)
- basic implementation of create-database-schema
- Added lock-factory as an init-param (rep by Serge Knystautas)
- (2002-02-13) aliasing of sql-name with cmp-field must throw exception
- (2002-02-11) fillKeys needs transaction sync to get updates (rep by Nicholas Lesiecki)
- ejbSelect with single value can return null (rep by Kirk Rasmussen)
- (2002-02-08) Fixed IS EMPTY (rep by Rick Hightower)
- Added MEMBER OF (rep by Rick Hightower, Andy Barton, Paul Visan)
- n-1 collection was inadvertantly affected by 1-1 fix (rep by Kirk Rasmussen)
- (2002-02-07) CMP can't use sql-table-name for Java field for tables with '.' (rep by Kirk Rasmussen)
- Added order-by for collection relations (rep by Serge Knystautas)
- (2002-02-01) 1-1 relations were not handled properly with non-bidirectional tables
- (2002-01-31) Unloaded locals need to be able to reference reloaded local (rep by Anders Vesterberg)
- (2002-01-30) Use short fields for work around DB ORDER BY (rep by Anders Vesterberg)
- wasn't properly handling null for relations (rep by Drew Davidson)
- (2002-01-27) Major rewrite to change EJB configuration to resource-ref
- (2002-01-15) In CMP, ejbFindXXX methods can now be implemented (rep by Frederic R)
- findXXX methods were incorrectly rolling back transactions (rep by Serge Knystautas)
- Added burlap message support.

- CMP column validation no longer needs count (rep by Max Kutny)
- (2002-01-02) regression cleanup
- (2002-01-01) create methods weren't obeying new locking scheme.
- getKey() methods shouldn't load the bean (rep by Serge Knystautas)
- Integer fields weren't handling null (fixed! by David Soergel)
- added lock-timeout to EJBServlet's init-param (rep by Serge Knystautas)
- Burlap return of void object needs to be <null></null>
- (2001-12-31) findXXX methods weren't handline interface extensions properly (rep by Max Kutny)
- added EJBAdmin as caucho.ejb.admin with cacheInvalidate (rep by Thomas Memenga)
- transaction timeout now rolls the transaction back (rep by Serge Knystautas)
- added getCollection() transaction assert (rep by Nicholas Lesiecki)
- added cache-size and cache-timeout (rep by Roger Campbell)
- create debug needs to be after super.ejbCreate call (rep by Nicholas Lesiecki and Ron Tapia)
- (2001-12-28) Configurable lock-factory with LockFactory and Lock and made ExclusiveLockFactory the default (rep by Serge Knystautas)
- removeImpl() was setting updateCount instead of changeCount (rep by Rick Hightower)
- setXXX(Collection) was stubbed out (rep by Rick Hightower)
- (2001-12-27) composite key create with autogen key field
- Identifying relationship with autogen key field
- (2001-12-26) Write lock contention performance issues (rep by Serge Knystautas)
- Object(o) wasn't testing types correctly (rep by Christian Sell and Rick Hightower)
- (2001-12-13) First Resin-EJB snapshot
- completed message-driven beans
- need to check metadata before querying database for tables and columns (rep by Rick Hightower)
- rollbacks should throw the underlying exception when possible (rep by Serge Knystautas)
- stateless session beans can call remove()
- relation with multiplicity=1 update wasn't convering key to object (rep by Joseph Dane)
- (2001-12-13) Cleanup writeLock logic (rep by Serge Knystausas)
- Change table/column validation to use SELECT count(col) ... WHERE 0=1 (fixed! by Thomas Memenga)
- (2001-12-12) verify that collection modification happens in same context as the collection is obtained (rep by David Soergel)
- isIdentical can't delegate to equals (rep by Joseph Dane)
- equals and hashCode for entity objects should not be remote calls (rep by Joseph Dane)
- (2001-12-11) Only jars in WEB-INF/lib and *.ejb are automatically deployed
- improved testing of *.ejb change date
- relations need to be verified before find/select query processing (rep by Joseph Dane)
- (2001-12-08) reload on *.ejb change
- Integer relationship keys weren't handling null properly (fixed! by David Soergel)
- (2001-12-05) collection relations with methods not in local interface generated bad code (rep by Nigel Taylor)
- multiple collection relations would generate bad QPersist code (rep by Nigel Taylor)
- (2001-12-03) env-entry wasn't handling compound names (rep by Christian Sell)
- default.sql changes to cleanup examples for postgres (fixed! by Paul Snively)
- parent interfaces weren't properly validated (rep by Rick Hightower)
- (2001-11-28) sql-name missing from identifying relation ejbCreate (rep by Christian Sell)
- added env-entry (rep by Christian Sell)
- persistent relations don't need to be in local interface (rep by Christian Sell)
- (2001-11-21) jdbc-ref wasn't properly used in error messages (rep by Christian Sell)
- primkey-field not allowed with composite key (rep by Anders Vesterberg)

- EntityLocals need to be serialized differently than Remote (rep by Serge Knysautas)
- getPublic must be allowed (rep by Serge Knystautas)
- Beans which are about to be DELETEd shouldn't also UPDATE set their relations (rep by Serge Knystautas)
- BETWEEN needs to allow date (rep by Nicholas Lesiecki)
- Added identifying relation examples.
- (2001-11-11) added mapping relation with identifying relation
- (2001-11-08) clearing a relation with an int field must call setNull, not setInt(0) (rep by Matthew Pangaro)
- BeanSkeletonGenerator needs to throw better MethodNotFoundException (rep by Christian Sell)
- abstract methods implemented in a subclass were treated as abstract.
- added method-permission
- basic message-drive-bean implementation
- need to throw exception when setting primary key outside of ejbCreate (rep by jelmer)
- sql-name should be allowed in cmr-field (rep by Christian Sell)
- (2001-10-30) more regression failures due to composite key changes
- (2001-10-26) regression failures due to composite key changes
- (2001-10-24) same JVM, but separate web-apps need proxy serialization.
- Composite keys were not implemented according to the spec (rep by Nicholas Liesiecki and Rick Hightower)

- `>' and '>=' weren't parsed properly (rep by R Tapia)
- (2001-09-28) Update view beans when primary beans change (rep by Nicholas Lesiecki)
- java.sql.Date wasn't handled as a field (rep by Michal Mosiewicz)
- StatelessServer needs to retry create() when it fails initially (rep by Michal Mosiewicz)
- collection.add() and remove() must throw illegal argument exception if bad argument (rep by Michal Mosiewicz)
- n-1 with int primary key wasn't checking key list properly (rep by Neil Aggarwal)
- Burlap base64 encoding wasn't properly masking bytes
- (2001-09-24) local interface needs to be public (rep by Michal Mosiewicz)
- added composite primary key (rep by Michal Mosiewicz)
- delete order wasn't correct in dealing with foreign keys (rep by Rick Hightower)
- ejb-ql type checking wasn't allowing int = Integer (rep by Rick Hightower)
- (2001-09-11) rollback in ejbPostCreate didn't rollback object properly (rep by Kai Zaunick)
- (2001-09-04) date comparison `<' must accept java.sql.Timestamp, etc. (rep by Paul Hettl)
- date queries must accept java.sql.Timestamp, etc. (rep by Curtis Spencer)
- Added mapping: getFoo(int i) and setFoo(int i, String value)

- create code must use SQL-name for id. (rep by Paul Visan and Nicholas Lesiecki)
- EJBServlet should accept jdbc-ref='jdbc/test' (rep by Neil Aggarwal)
- boolean field needs to use getBoolean (rep by Michal Mosiewicz)
- In persist.Generate, setNull should include type (rep by Jim Walkin)
- char should be allowed as primary key (rep by Adam Langley)
- ejbCreate should automatically detect unset keys (rep by Rick Hightower and Nicholas Lesiecki)
- (2001-08-15) added source-cascade-delete and target-cascade-delete
- cmp-field validation error message was printing wrong method (rep by George Moshovitis)
- All the functions in the JDBC 2.0 core should be allowed (rep by Adam Langley)
- LIKE should allow ?1 as pattern (rep by Anders Vesterberg)
- use _ejb as a package prefix (rep by Anders Vesterberg)
- Allow burlap clients outside of Resin (rep by Jim Paterson and Travis Romney)
- Added SQL for the entity config test (rep by Rick Hightower)
- (2001-08-07) fixed unidirection relation updates when bean is remove
- ejb configuration can now refer to beans defined in another ejb configuration file (rep by Gerret Apelt)
- (2001-07-31) support serializable fields
- support byte[] fields (fixed! by Rick Hightower and Nicholas Lesiecki)
- handle select overloading properly (rep by Gerret Apelt)
- HandleEncoder didn't handle session ids (rep by Rafael Luque Leiva)
- (2001-07-24) cleaned up delete callback to EntityServer (rep by Gerret Apelt)
- 1-1 relation with select was using wrong column (rep by Gerret Apelt)
- Use metadata when possible for field/column validation (rep by Rick Hightower and Nicholas Lesiecki)
- Support BigDecimal (rep by Rick Hightower and Nicholas Lesiecki)
- Catch exceptions thrown by bean constructor (rep by Gerret Apelt)
- Added LIMIT (mysql only) (rep by George Moshovitis)
- Added DESC and ASC to ORDER BY (rep by George Moshovitis and Gerret Apelt)
- (2001-07-20) BMP custom primary key support (rep by Rafael Leiva)
- select with zero integer value was throwing ObjectNotFoundException
- More cases of missing update with remove (rep by Gerret Apelt)
- (2001-07-10) missing update with remove of n-1 relation (rep by Gerret Apelt)
- Home.remove(obj) wasn't properly handled (rep by George Moshovitis)
- Expressions now allowed in select expressions
- fixes to parsed method-name (fixed! by Gerret Apelt)
- allow parsed method-name
- source-ejb, etc in ejb-relation. (rep by Gerret Apelt)

- Support Byte, Integer, etc as cmp fields (rep by Jerome Audouy)
- Support full paths in LocalContextFactory (rep by Gerret Apelt)
- Added 'distributed' option to EJBServlet
- better transaction locking (rep by Jedi Huang)
- better wrapping of FinderExceptions for findByPrimaryKey (rep by Jerome Audouy)
- sql-name in cmr-field is forbidden (rep by Gerret Apelt)
- added ORDER BY (rep by George Moschovitis)
- ejbRemove has trouble with relations and primary key as int
- findByValue had trouble when primary key was int (rep by Gerret Apelt)
- methods duplicated in subinterfaces were generated twice (rep by Gerret Apelt)
- AbstractServer was over-hasty in catching ejb-name conflicts
- (2001-06-26)
- getDate and setDate null pointer issues (rep by Gerret Apelt)
- Queries for n-1 relations use wrong name (rep by Gerret Apelt)
- PersistentList.Iterator's remove was incorrect (rep by Gerret Apelt)

- findByFoo(TestLocal) should be allowed (rep by Gerret Apelt)
- Added PersistentSet
- validate getXXX and setXXX methods (rep by Gerret Apelt)
- check for illegal duplicate elements (rep by Gerret Apelt)
- added cascade-delete
- Local objects no longer need load-on-startup or full url
- Support Object(h) in EJB-QL (rep by Gerret Apelt)
- Support SELECT DISTINCT in EJB-QL (rep by Gerret Apelt)
- Support IN(foo.bar) syntax for EJB-QL (rep by Gerret Apelt)
- changed try {} block in ejbRemove to avoid compiler problem (rep by Jerome Audouy)
- handle multiplicity one and many for 1-n unidirectional
- redesign generated code to handle rollbacks better (rep by Jerome Audouy)
- find returning collection must support Integer keys (rep by Alexander Dergatch)
- find returning collection in LocalHome was returning EJBObject (rep by Gerret Apelt)
- cmr-field must detect when return type is bad or method not implemented (rep by Gerret Apelt)
- Upgraded cmr validation
- JDBC validation must not stop entire web-app (rep by Gerret Apelt)
- BurlapContext lookup of a local bean must throw an exception (rep by Gerret Apelt)
- LocalContext lookup of a remote bean must throw an exception (rep by Gerret Apelt)
- added sql-name for cmp-field
- Must detect when column is missing (rep by Gerret Apelt)
- cmp-version wasn't allowed (rep by Gerret Apelt)
- added sql-table-name
- Must detect when ejb-names conflict (rep by Gerret Apelt)
- Need better error message for missing JNDI for DataSource (rep by Gerret Apelt)
- Support Integer as primary key (rep by Alexander Dergatch)
- Fixed distribution error
- Let database generate primary key (rep by Jerome Audouy)
- Support Long as primary key (rep by Stephane Huther)
- EJBLocalHome and EJBLocalObject from the new EJB 2.0 spec
- EJB find with collections was broken (rep by Dmitri Maximovich)
- Added getCallerPrincipal using Resin 2.0 SecurityContext.

- removed ::burlap:meta, replacing it with _burlap_getAttribute
- allow Integer as primary key (rep by Joris Verschoor)
- fixed dpo relation set entity bean transactions
- CMP data-source needs to be configurable (rep by HR Harkins)
- foo_bar needs to map to getFooBar (rep by Rich Harkins)
- fixed loader issues with the ;ejbid=meta (rep by Dino Fancellu)
- BMP finder can return Collection and Enumeration (rep by Dmitri Maximovich)
- Completed session beans
- Changed Burlap encoding for EJB objects.
- SML-RPC renamed "Burlap"
- Major redesign to separate core from protocols
- SML-RPC now supports standard XML entities
- EJB-QL implemented except for remote finder methods and 'IN'
- basic n-m relations
- Completed dependent object create
- ObjectSkeleton and HomeSkeleton are now serializable
- Support EJB-QL IS EMPTY, IS FALSE, IS TRUE
- Support EJB-QL functions: concat, substring, locate, length, abs, sqrt
- Support EJB-QL IS NULL
- Support EJB-QL LIKE
- Support EJB-QL BETWEEN
- remove interface now validated.
- home interface now validated.
- Clients can now use jndi context.
- ejbRemove method now generated for CMP entity beans
- ejb-jar.xml and *.ejb now picked up automatically
- find<method> now generated for CMP entity beans
- ejbHome<method> now allowed in entity beans
- clients accessing beans in the same JVM use in-JVM serialization
- clients accessing beans in the same classloader use pass-by-reference
- multiple beans now allowed per server
- added /__smlrpc__:meta virtual object for meta requests
- removed type from the handles and from <remote>
- added MetaStub for direct calls
- String []getFoo() could generate [Ljava/lang/String; instead of String[] (rep by uwe schaefer)
- Initial implementation of EJB 2.0 CMP

- Sessions and bean-managed entity beans

- SML-RPC serializer
- Initial session bean stub and skeleton generators.

</s1>
</document>