Subsequent versions replaced Javassist with a new bytecode manipulation layer called Plastic that is based on ObjectWeb ASM.
[11][12] Tapestry 5 versions up through 5.3 bundled the Prototype and script.aculo.us JavaScript frameworks, along with a Tapestry-specific library, so as to support Ajax operations as first-class citizens.
Project team members claim that all Tapestry releases since 5.0 have been highly backward compatible.
Project members now claim that this deficiency has been largely addressed with a thoroughly revised and updated User's Guide and other documentation.
In response, the Tapestry community developed modules that allowed jQuery to be used in addition to, or instead of, Prototype.
According to Howard Lewis Ship, Tapestry was initially conceived as an attempt to implement in Java some of the general concepts and approaches found in WebObjects, which was at that time written in Objective-C and closed-source.