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)
