blob: 6e40e4fc1c394b37d5a0ea8e3b886517c2c88549 [file] [log] [blame]
Changes from 1.0.3 to 1.0.4
___________________________
* [2008-04-18] Check that the returned object from a service factory is an
instance of all classes named when the service was registered. (FELIX-540)
* [2008-04-13] Fix an issue when logging messages while holding framework
internal locks that could lead to a deadlock. For now we just disable
logging to log services inside the framework. (FELIX-536)
* [2008-04-13] Implemented various small performance improvments e.g.,
we now cache filters and create an index for objectclass to improve
service lookup performance and don't use the BundleInfo to get the
bundle id but the BundleImpl directly. Furthermore, we added an index to
get bundles by id.
* [2008-04-04] Fix an NoClassDefFoundError when trying to query the
framework classloader for whether a class is available or not.
* [2008-03-19] Don't try to resolve extension bundles and fix a
classcastexception that could happen if more then one framework is around
and both have extensions installed. Furthermore, make extension bundles
use the system bundle context.
* [2008-03-07] Bundle.getResource does now check for AdminPermission.
(FELIX-150)
* [2008-03-06] Make urlhandlers work when a handler factory is already set.
Furthermore, it is now possible to have more then one framework running
in more then one classloader. (FELIX-38).
* [2008-03-05] Make LDAP filter reentrant.
* [2008-02-29] Refactored the IContent abstraction from the module loader
layer to provide more generic access to the content of the module. This
makes it possible that a bundle's class path could span multiple module's,
which will be necessary for fragments. (FELIX-29)
* [2008-02-27] Applied a patch to disable the class loading diagnostic message
when the logger is not at the DEBUG level. (FELIX-500)
* [2008-02-15] Modified the service registry to use more fine-grained locking
to avoid callbacks to service factories while holding locks. (FELIX-489)
Changes from 1.0.1 to 1.0.3
---------------------------
* [2008-01-27] Moved framework docs to main, since the launcher examples now
depend on main for the auto-property handling.
* [2008-01-25] Applied patches to improve how Felix finds resources when
getResources() is called. (FELIX-466, FELIX-467)
* [2008-01-25] Make FilterImpl.toString() add escape characters where needed.
(FELIX-471)
* [2008-01-16] Fix a NPE on framework restart when extension bundles are
installed.
* [2008-01-15] Try to fix a potential visibility issue on loading a class
form a bundle where it seems to be possible that we create two classloaders
instead of one.
* [2008-01-15] Modified boot delegation to not terminate when delegating to
parent class loader for non-java.* packages. (FELIX-463)
* [2008-01-04] Fix some issues related to directories on the bundle class
path. Specifically, leading slashes created an issue and are now stripped
and entries were not being properly filtered when enumerating the contents
of a class path directory. (FELIX-426)
* [2007-12-20] Modified logger to have all of its public methods be final to
avoid it from being extended in undesired ways via the constructor supplied
logger. (FELIX-428)
* [2007-12-20] The TCK has changed to verify that bundles do not depend on
themselves, so we filter that case now.
* [2007-12-20] Applied patch from Guillaume Nodet to properly fire a framework
error event only when a bundle cannot be resolved. (FELIX-441)
* [2007-12-19] Modified framework to accept a Logger instance so that host
applications can do custom logging until the log service arrives. (FELIX-428)
* [2007-12-19] Add support for loading bundles on Google Android (FELIX-440).
* [2007-12-18] Improve native code loading - bundle installation will now
fail in case a native library is not in the jar and we only use the first
library of a given name. Furthermore, we now support .dylib extensions on
the mac as well as others; should make it possible to use .netmodules as
well. (FELIX-439)
* [2007-12-17] Make the win32 alias match any version of windows for native
clauses. (FELIX-438)
* [2007-12-14] Removed auto-property processing out of the framework and
into the default launcher, i.e, main. (FELIX-393)
* [2007-12-13] Fix a StackOverflowError in URLHandlers.createStreamHandler()
when creating URL on jamvm and Mika. This patch resolves an unfortunate
interaction between our ExtensionManager and the URLHandlers by making the
URLHandlers aware of the extension protocol. Pretty much like we do already
for the bundle protocol. (FELIX-435)
* [2007-11-26] Fix a small oversight in the extension manager that could lead
to a null pointer exception and save some memory by creating less objects.
* [2007-11-26] Degrate to version 0.0.0 if we can not find the Felix.properties
for some reason and avoid a null pointer in this case.
* [2007-11-08] Reorganized usage count methods to better handle null
reference checking in response to Karl Pauls seeing an NPE when trying to
get a service that was already unregistered while shutting down the
framework.
* [2007-11-06] Added a simple check to detect and work around a bug in J9.
(FELIX-416)
* [2007-10-30] Change how the extension manager url stream handler handles
request to the root path in order to make some tomcat issue go away.
(FELIX-414)
* [2007-10-26] Added support for "/" bundle resources as requested. (FELIX-383)
* [2007-10-24] Use system bundle when firing a framework error event when an
install error occurs.
* [2007-10-22] Fix a NPE when getEntryPaths is called on the system bundle.
(FELIX-394)
* [2007-10-16] Modifies bundle resource URL handling such that if a resource
URL points to a resource that does not exist, a bundle class path search
for the resource will be instigated and if any matching resource is found,
that one will be used instead. (FELIX-383)
* [2007-10-10] Auto-property handling now installs bundles into the default
bundle start level if a start level is not specified. (FELIX-359)
* [2007-10-08] Overwrite the URLStreamHandler.getHostAddress(URL) in the
ExtensionManager to immediately return null to prevent DNS lookup.
(FELIX-388)
* [2007-09-30] Resolved a concurrency issue that could result in the same
bundle being resolved more than once; also tried to simplify locking in
the core search policy implementation. (FELIX-381)
Changes from 1.0.0 to 1.0.1
---------------------------
* [2007-07-23] Fixed a bug in the framework shutdown process which was
causing threads calling Felix.stopAndWait() to not get notified that
the framework had shutdown. (FELIX-329)
* [2007-08-15] Fixed a bug in the LDAP filter which was not thread safe
on execution. (FELIX-338)
* [2007-08-17] Added support for persistent last used bundle ID to avoid
re-use of bundle identifiers. (FELIX-339)
* [2007-08-23] Modified BundleImpl.getHeaders(Locale) to accept a null
locale. (FELIX-346)
* [2007-09-11] Added support to handle external termination of Felix
which was not handled or detected and prevented a restart of future
Felix instances in the same VM. (FELIX-363)
* [2007-09-12] Add support for Collection values in the LDAP filter to
match the 4.1 spec.
* [2007-09-12] Fixed a bug in the LDAP filter where attributes where
limited to [a-zA-Z ] so didn't allow for e.g., numbers. (FELIX-361)
* [2007-09-13] Enable support for exporting the same package more than
once (FELIX-101).
* [2007-09-13] Returns the system bundle from a call to
PackageAdmin.getBundle(Class) in case the class comes from the
classloader (or one of its parents) that loaded Felix and the system
bundle exports the package.
* [2007-09-16] Fixed a bug in class space filtering in the service registry
that could result in class cast exceptions for service clients.
* [2007-09-16] Fixed a bug that prevented extension bundle exports to be
usable.
Changes from 0.8.0-incubator to 1.0.0
-------------------------------------
* [2007-01-18] Added support for bundle header localization. (FELIX-27)
* [2007-01-22] Modified framework resolver to support a generic
capability/requirement model.
* [2007-01-22] Reorganized and centralized manifest parsing code and added
support for resolver's generic capability/requirement model. (FELIX-98)
* [2007-01-22] Improved native library naming normalization. (FELIX-26)
* [2007-01-23] No longer eagerly resolving classes loaded from modules
since this was causing verification errors with IBM J9.
* [2007-01-25] Added some support for execution environment checking.
(FELIX-23)
* [2007-01-29] Added support for getAllServiceReferences(). (FELIX-32)
* [2007-01-31] Added Require-Bundle support to resolve using the generic
capability/requirement model of the resolver. (FELIX-28)
* [2007-02-05] Fixed a bug in processor type normalization for x86-64
processors.
* [2007-02-09] The resolver previously ignored packages that were pending
removal when resolving new bundles, now it does not.
* [2007-02-09] Bundles are automatically refreshed when updated/uninstalled
if none of their exported packages are in use.
* [2007-02-13] Added support for extension bundles. (FELIX-30)
* [2007-03-02] Added a Bundle.getBundleContext() method until actual
support for OSGi R4.1.
* [2007-04-26] Modified Bundle.findEntries() to return URLs to directory
entries as well as file entries.
* [2007-05-06] Modified LDAP evaluator to special case the fact that
BigDecimal is not available in Foundation profile.
* [2007-05-21] Made some performance improvements in LDAP evaluation.
* [2007-05-22] Modified JAR file to include Service Tracker package.
* [2007-05-22] Improved concurrency handling around checking for already
loaded classes and defining classes.
* [2007-06-05] Modified resource URLs to use port number rather than
prepend information to the resource path.
* [2007-06-13] Improved dynamic imports to cycle through all available
candidates when checking for class space consistency.
* [2007-06-18] Improved service registry filtering based on class versions
to allow a bundle to register a service for a different version of class
that it can access.
* [2007-06-21] Modified our "last ditch effort" to guess when to delegate
to the system bundle to make it a little more robust.
* [2007-06-29] Fixed a bug in EventDispatcher that was causing asynchronous
events to not be fired after stopping the framework instance and creating
a new instance. (FELIX-314)
* [2007-07-03] Fixed a bug in EventDispatcher that would not correctly
update a listener when it implemented multiple listener interfaces.
* [2007-07-04] Modified Felix framework class to implement the Bundle
interface to improve the startup/shutdown sequence and to provide a
simplified API for creating framework instances.
* [2007-07-11] Removed the PropertyResolver-related classes and now only
use Maps for configuration properties. (FELIX-324)