Bean services could not be autowired into other services.(JC) Fixes HIVEMIND-108.
Multiple interceptors with different names for the same interceptor factory id were treated as duplicates.(JC) Fixes HIVEMIND-102.
Core service implementations which implement RegistryShutdownListener are not notified for primitive and singleton service models.(JC) Fixes HIVEMIND-103.
Removed a potential deadlock related to the pooled service model.(HLS) Fixes HIVEMIND-104.
Allow for running with multiple Registries. (HLS) Fixes HIVEMIND-83.
Translate unique attribute values before checking uniqueness. (KW) Thanks to Michael Frericks. Fixes HIVEMIND-100.
Cache translated values in BuilderPropertyFacet. (KW) Fixes HIVEMIND-99.
Rename AdapterRegistry to StrategyRegistry, and AdapterRegistryFactory to StrategyFactory, to better reflect the relationship to the Gang-of-Four Strategy pattern.(HLS)
Make the interface attribute of <service-point> optional, and default to the service point's id. (HLS)
Update to Javassist 3.0. (HLS)
Version 1.1-alpha-3 (Mar 22 2005)
Interceptors can now be ordered by name rather than interceptor factory id.(JC) Fixes HIVEMIND-96.
Created a ServiceInterceptorFactory supporting AOP Alliance MethodInterceptors.(JC) Fixes HIVEMIND-45.
Upgrade Groovy to 1.0-beta-10. (HLS)
Make BuilderFactory rethrow construction exceptions, rather than swallow them and return null. (HLS)
Version 1.1-alpha-2 (Feb 23 2005)
Error running examples using Ant targets. (KW) Thanks to Brian K. Wallace. Fixes HIVEMIND-88.
service: object provider throws NPE with empty locator (KW) Thanks to Trent McClenahan. Fixes HIVEMIND-60.
Allow initialization in create-instance, rules, etc. (HLS) Fixes HIVEMIND-93.
NPE when module resource does not exist (KW) Fixes HIVEMIND-81.
Better, prettier HiveDoc. (HLS)
Add package attribute to <module> and automatically qualify Java class and interface names into that package. (HLS)
ManifestClassPath accessing deprecated variable (HLS) Thanks to Brian K. Wallace. Fixes HIVEMIND-92.
Allow service interfaces to be ordinary non-interface classes. (HLS)
Extend instance translator to configure properties of the instantiated instance. (HLS)
Version 1.1-alpha-1 (Jan 19 2005)
Added <dependency> construct providing support for dependencies between modules. Refactoring of RegistryBuilder: Now constructs Registry using a ModuleProvider. (KW)
Add visibility (public or private) to configuration points, service points and schemas. (HLS) Fixes HIVEMIND-58.
Add <null> constructor parameter element to BuilderFactory service. (KW) Fixes HIVEMIND-63.
Move some logic related to primitive Java types and arrays from Tapestry directly into DefaultClassResolver. (HLS) Fixes HIVEMIND-66.
Add support for the ErrorLog (a simple wrapper around an ErrorHandler and a Log). Add support for setting the service's ErrorLog to BuilderFactory. (HLS)
Add toString() support to ClassFab and MethodFab. (HLS)
Add the hivemind.lib.StrategyFactory service implementation factory. (HLS)
Added Groovy support. Module descriptors can now be defined using Groovy scripts. Although it requires some additional work in building the Registry. (KW)
Support the EasyMock Class Extension, if present on the classpath, to allow classes (not just interfaces) to be mocked. (HLS)
Added support for mapped configurations. A configuration schema can now specify an attribute which should be used as the key in a Map of all contributions. The BuilderFactory can inject such configurations as List or Maps. (KW)
Add support for conditional contributions. (HLS)
Allow services to be serialized (that is, service proxies can be serialized and deserialized). (HLS)
Add hivemind.lib.ChainBuilder service, an implementation of Gang Of Four Chain of Command. (HLS)
Add hivemind.lib.ChainFactory service. (HLS)
Report error if module descriptors define conflicting service or configuration points. (KW) Fixes HIVEMIND-64.
CVS connection string on website is incorrect (HLS) Thanks to Bruce Synder. Fixes HIVEMIND-56.
Properly report the actual method name when invoking a service initializer method. (HLS) Fixes HIVEMIND-68.
Add ability to set default value for non-matches in MethodMatcher. (HLS) Fixes HIVEMIND-75.
Improve MethodSignature and MethodIterator to filter out duplicate methods that differ only in terms of thrown exceptions. (HLS) Fixes HIVEMIND-76.
Change BuilderFactoryLogic to report the actual exception, not the InvocationTargetException, when an exception is thrown by a constructor or by a initializer method invocation. (HLS) Fixes HIVEMIND-77.
Smart translator properly returns attribute values as Strings when used with a <push-attribute> rule. (KW) Thanks to James Carman. Fixes HIVEMIND-15.
Attribute values are symbol-expanded by a <push-attribute> rule before being translated and pushed on the stack. (KW) Fixes HIVEMIND-57.
HiveDoc is now being generated from the parsed module descriptors instead of directly from the XML files. This will allow HiveDoc generation for module descriptors in other formats. (KW)
Upgrade to Forrest 0.6 (still in progress). (HLS)
Re-work the HiveDoc report to work naturally at the module (not project) level. (HLS)
Synchronize all access to java.beans.Introspector through a common mutex. (HLS)
Clear the PropertyUtils and Introspector caches when the Registry is shutdown. (HLS)
ApplicationRuntimeException will now display the location (if known) as part of its toString() method, making it much easier to track down problems in stack traces (especially deeply nested ones). (HLS)
Switch Javassist to version 3.0-rc-1. (HLS)
Removed the module parameter from ClassFactory.newClass() and from DefaultImplementationBuilder.buildDefaultImplementation(). (HLS)
BuilderFactory now supports autowiring through constructor based dependency injection. (KW)
Refactored SpringLookupFactory to identify a Spring BeanFactory directly, rather than via a SpringBeanFactorySource. (HLS)
Move ContextResource from Tapestry to HiveMind. (HLS)
Change HiveMindFilter load WEB-INF/hivemodule.xml if present. (HLS)
Version 1.0 (Sep 22 2004)
Ensure that the logging interceptor will work properly when wrapping around JDK dynamic proxies. (HLS) Fixes HIVEMIND-55.
Version 1.0-rc-2 (Sep 11 2004)
Add method getSymbolValue() to RegistryInfrastructure and Module (HLS)
Add clearCache() method to PropertyUtils. (HLS)
Add clearCache() method to PropertyUtils. (HLS)
Fix class loader issues concerning fabricated classes in different modules. (HLS) Fixes HIVEMIND-48.
Allow symbols to be escaped rather than expanded. (HLS) Fixes HIVEMIND-47.
The previous fix was incomplete; this should close the remaining sychronization gaps. (HLS) Thanks to James Carman. Fixes HIVEMIND-44.
Class loading issue inside Tomcat. (HLS) Fixes HIVEMIND-49.
Tweak HiveMind to work properly in a JavaWebStart application. (HLS) Thanks to James Carman. Fixes HIVEMIND-10.
Handle duplicated methods in service interfaces, avoiding "attempt to redefine method" errors. (HLS) Fixes HIVEMIND-52.
Class loading issue inside Tomcat. (HLS) Fixes HIVEMIND-49.
Tweak HiveMind to work properly in a JavaWebStart application. (HLS) Thanks to James Carman. Fixes HIVEMIND-10.
Handle duplicated methods in service interfaces, avoiding "attempt to redefine method" errors. (HLS) Fixes HIVEMIND-52.
Change the API for ClassFactory to take a ClassLoader, not a Module. (HLS)
Change the API for ClassFactory to take a ClassLoader, not a Module. (HLS)
Version 1.0-rc-1 (Aug 25 2004)
Add ability to mark attributes of an element as unique, such that duplicate values in contributions result in errors. (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-43.
Add Quick Reference Sheet. (HLS) Thanks to Stefan Liebig. Fixes HIVEMIND-42.
Add polling methods to Registry. (HLS) Thanks to Naresh Sikha. Fixes HIVEMIND-37.
Add polling methods to BeanFactory. (HLS) Thanks to Naresh Sikha. Fixes HIVEMIND-36.
SmartTranslator should differentiate between blank strings and null input (HLS) Thanks to Michael Frericks. Fixes HIVEMIND-29.
Add checks to SchemaProcessorImpl for empty stack conditions (HLS) Fixes HIVEMIND-41.
Add parameters-occurs attribute to <service-point> element. (HLS) Fixes HIVEMIND-33.
Specify location in all module deployment descriptor parse exceptions. (HLS) Fixes HIVEMIND-23.
Add getCause() method to ApplicationRuntimeException (HLS) Thanks to Luke Blanshard. Fixes HIVEMIND-16.
Fix broken synchronization in ThreadedServiceModel and PooledServiceModel that could make them randomly fail when creating a service by invoking a factory. (HLS) Thanks to James Carman. Fixes HIVEMIND-44.
Check for <sub-module> references that do not exist. (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-34.
Remove support for Simple Data Language ... it's all XML again. (HLS)
Re-work part of PipelineFactory to take advantage of object references. (HLS)
Make the service-id of <invoke-factory> optional and default to hivemind.BuilderFactory. (HLS)
Change the hivemind.Startup configuration to take an object reference, not a service id. (HLS)
Improvements to HiveBuild to properly handle changing versions or useages of artifacts. (HLS)
Version 1.0-beta-2 (Aug 1 2004)
Added a new module that contains HiveMind example code. (HLS)
Added StrictErrorHandler, an implementation of ErrorHandler that always throws an ApplicationRuntimeException. (HLS)
Removed dependency on Werkz. (KW) Fixes HIVEMIND-6.
Modifed the build scripts to properly include variable info when compiling. (HLS) Thanks to Achim Hügen. Fixes HIVEMIND-21.
Typo in jar-module.xml causes broken build if junit library is missing (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-31.
Made a number of changes to ensure HiveMind compatibility with JDK 1.3. (HLS) Fixes HIVEMIND-35.
Changed some unit tests to adapt to platform line endings. (HLS) Fixes HIVEMIND-26.
Fix the HiveDoc XSL to use XML (not SDL) output. (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-46.
Added link to the Jakarta mailing lists page. (HLS)
Moved the Ant build scripts to a new directory, hivebuild, in preparation for making hivebuild reusable on new projects. (HLS)
Added protected method constructRegistry() to HiveMindFilter. (HLS)
Renamed existing 'object' translator to 'instance', and created a new 'object' translator with great flexibility. Extend BuilderFactory to add a set-object element that leverages the object translator. (HLS)
Created service-property object translator. (HLS)
Added a version of Registry.getService() that omits the service id (but requires that exactly one service point implements the service interface). (HLS) Thanks to Marcus Brito. Fixes HIVEMIND-20.
Extended the BuilderFactory to autowire services. (HLS) Fixes HIVEMIND-22.
Fixed some latent bugs related to submodules inside the constructRegistry task. Made some more improvements to the hivebuild scripts. (HLS)
Updated the download location for the Forrest distribution. (HLS)
Added more examples and examples documentation. (HLS)
Moved the code for the Grabber Ant task into the tree and improve the build scripts to dynamically compile and use it. (HLS)
Version 1.0-beta-1 (Jun 26 2004)
Created two new services in hivemind-lib for creating default implementations of arbitrary interfaces (DefaultImplementationBuilder) and for using that to create placeholder services (PlaceholderFactory).(HLS)
Created MessageFormatter class as a wrapper around ResourceBundle and an easy way for individual packages to gain access to runtime messages. (HLS)
Added the qualified-id and id-list translators.(HLS)
Enhance logging of exceptions when setting a service property to a contribution (HLS) Fixes HIVEMIND-4.
Restore the getConfiguration() and expandSymbols() methods to the Registry interface. (HLS) Fixes HIVEMIND-11.
SimpleDataLanguageParser calls the ContentHandler with a null namespace argument instead of "". That leads to some problems if you want to use transformers. (HLS) Thanks to Dieter Bogdoll. Fixes HIVEMIND-9.
Fix how certain translator messages are generated to avoid unit test failures. (HLS) Thanks to Achim Hügen. Fixes HIVEMIND-7.
Fix a mistake in the BuilderFactory's set-object element, and add integration tests. (HLS) Thanks to Naresh Sikha. Fixes HIVEMIND-25.
Added change log. (HLS)
Refactored ClassFab and related classes for easier reuse outside of HiveMind. Added a new suite of tests related to ClassFab.(HLS)
Modified the read-attribute rule to allow a translator to be specified (overriding the translator for the attribute).(HLS)
Removed the <description> element from the module descriptor format; descriptions are now provided as enclosed text for element that support descriptions. (HLS)
Changed the MethodMatcher classes to use a MethodSignature rather than a Method. (HLS)
Changed MessageFormatter to automatically convert Throwables into their message or class name. (HLS)
Extended hivemind.BuilderFactory to be able to set the ClassResolver; for a service implementation, and to autowire common properties (log, messages, serviceId, errorHandler, classResolver) if the properties are writeable and of the correct type. (HLS)
Added methods newControl(), newMock(), addControl(), replayControls() and verifyControls() to HiveMindTestCase to simplify test cases that use multiple EasyMock mock objects. (HLS)
Changed HiveMindFilter to log a message after it stores the registry into the servlet context. (HLS)
Modify the build files to enable debugging by default. (HLS) Fixes HIVEMIND-12.
Added validation of id attributes in module deployment descriptors (using ORO regular expressions). (HLS)