<?xml version="1.0"?>
<!--
     Licensed to the Apache Software Foundation (ASF) under one or more
     contributor license agreements.  See the NOTICE file distributed with
     this work for additional information regarding copyright ownership.
     The ASF licenses this file to You under the Apache License, Version 2.0
     (the "License"); you may not use this file except in compliance with
     the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
<document xmlns="http://maven.apache.org/changes/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd">
  <properties>
    <title>Apache Commons Proxy Changes</title>
    <author email="mbenson@apache.org">Matt Benson</author>
  </properties>
  <body>
    <release version="2.0" date="2014-04-10" description="Requires Java 1.6">
      <action type="update" issue="PROXY-8">Improve Proxy Serialization</action>
      <action type="update" issue="PROXY-10">Introducing interfaces for ProxyFactory</action>
      <action type="fix" issue="PROXY-18">Invocation should return the proxy object, rather than the target, from #getProxy()</action>
      <action type="update" issue="PROXY-21">Remove Cyclic Package Dependencies</action>
      <action type="add" issue="PROXY-11">slf4j-like discovery of the Proxy implementation to use</action>
      <action type="add" issue="PROXY-20">Implement A SwitchInterceptor</action>
      <action type="add" issue="PROXY-22" due-to="Romain Manni-Bucau">Provide an ASM-based ProxyFactory implementation</action>
      <action type="add" issue="PROXY-23">Create stubbing facilities along the lines of Mockito mocks</action>
      <action type="remove" issue="PROXY-9">Remove logging interceptor</action>
      <action type="remove" issue="PROXY-24">Remove remoting ObjectProviders</action>
    </release>
    <release version="1.0" date="2014-03-16" description="Initial release" />
  </body>
</document>
