diff --git a/CHANGES.txt b/CHANGES.txt
index 55b51314..196f0861 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -53,6 +53,7 @@ for detailed view of each issue, please consult http://issues.apache.org/jira/br
- NEW: A checkstyle report is generated (IVY-483) (thanks to Jan Materne)
- NEW: Hide private or specific conf when publishing (IVY-77)
+- IMPROVEMENT: Upgraded VFS dependency to 1.0 and removed dependency on VFS-sandbox (IVY-498)
- IMPROVEMENT: Use maven2 repository to download dependencies
- IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag) (IVY-480) (thanks to Archie Cobbs)
- IMPROVEMENT: Remove @author tags (thanks to Stephane Bailliez)
diff --git a/ivy.xml b/ivy.xml
index b1223b74..c5e9ddc3 100644
--- a/ivy.xml
+++ b/ivy.xml
@@ -26,7 +26,6 @@
true if stale checking will be enabled on HttpConections
- * @see HttpConnection#isStaleCheckingEnabled()
- */
- public boolean isConnectionStaleCheckingEnabled() {
- return this.params.isStaleCheckingEnabled();
- }
-
- /**
- * Sets the staleCheckingEnabled value to be set on HttpConnections that are created.
- *
- * @param connectionStaleCheckingEnabled
- * true if stale checking will be enabled on HttpConections
- * @see HttpConnection#setStaleCheckingEnabled(boolean)
- */
- public void setConnectionStaleCheckingEnabled(boolean connectionStaleCheckingEnabled) {
- this.params.setStaleCheckingEnabled(connectionStaleCheckingEnabled);
- }
-
- /**
- * @see HttpConnectionManager#getConnection(HostConfiguration, long)
- * @since 3.0
- */
- public HttpConnection getConnectionWithTimeout(HostConfiguration hostConfiguration, long timeout) {
-
- HttpConnection httpConnection = getLocalHttpConnection();
- if (httpConnection == null) {
- httpConnection = new HttpConnection(hostConfiguration);
- setLocalHttpConnection(httpConnection);
- httpConnection.setHttpConnectionManager(this);
- httpConnection.getParams().setDefaults(this.params);
- } else {
-
- // make sure the host and proxy are correct for this connection
- // close it and set the values if they are not
- if (!hostConfiguration.hostEquals(httpConnection)
- || !hostConfiguration.proxyEquals(httpConnection)) {
-
- if (httpConnection.isOpen()) {
- httpConnection.close();
- }
-
- httpConnection.setHost(hostConfiguration.getHost());
- httpConnection.setPort(hostConfiguration.getPort());
- httpConnection.setProtocol(hostConfiguration.getProtocol());
- httpConnection.setLocalAddress(hostConfiguration.getLocalAddress());
-
- httpConnection.setProxyHost(hostConfiguration.getProxyHost());
- httpConnection.setProxyPort(hostConfiguration.getProxyPort());
- } else {
- finishLastResponse(httpConnection);
- }
- }
-
- // remove the connection from the timeout handler
- setIdleStartTime(Long.MAX_VALUE);
-
- return httpConnection;
- }
-
- /**
- * @see HttpConnectionManager#getConnection(HostConfiguration, long)
- * @deprecated Use #getConnectionWithTimeout(HostConfiguration, long)
- */
- public HttpConnection getConnection(HostConfiguration hostConfiguration, long timeout) {
- return getConnectionWithTimeout(hostConfiguration, timeout);
- }
-
- /**
- * @see HttpConnectionManager#releaseConnection(org.apache.commons.httpclient.HttpConnection)
- */
- public void releaseConnection(HttpConnection conn) {
- if (conn != getLocalHttpConnection()) {
- throw new IllegalStateException("Unexpected release of an unknown connection.");
- }
-
- finishLastResponse(getLocalHttpConnection());
-
- // track the time the connection was made idle
- setIdleStartTime(System.currentTimeMillis());
- }
-
- /**
- * @since 3.0
- */
- public void closeIdleConnections(long idleTimeout) {
- long maxIdleTime = System.currentTimeMillis() - idleTimeout;
- if (getIdleStartTime() <= maxIdleTime) {
- getLocalHttpConnection().close();
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public HttpConnectionManagerParams getParams() {
- return params;
- }
-
- /**
- * {@inheritDoc}
- */
- public void setParams(HttpConnectionManagerParams params) {
- this.params = params;
- }
-
-}
diff --git a/src/java/org/apache/ivy/plugins/repository/vfs/IvyWebdavFileProvider.java b/src/java/org/apache/ivy/plugins/repository/vfs/IvyWebdavFileProvider.java
deleted file mode 100644
index dcf9318e..00000000
--- a/src/java/org/apache/ivy/plugins/repository/vfs/IvyWebdavFileProvider.java
+++ /dev/null
@@ -1,48 +0,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.
- *
- */
-package org.apache.ivy.plugins.repository.vfs;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.vfs.FileName;
-import org.apache.commons.vfs.FileSystem;
-import org.apache.commons.vfs.FileSystemException;
-import org.apache.commons.vfs.FileSystemOptions;
-import org.apache.commons.vfs.provider.GenericFileName;
-import org.apache.commons.vfs.provider.webdav.WebdavFileProvider;
-
-/**
- * Modified version of the WebdavFileProvider from VFS which adds support for httpclient 3.x. See
- * http://issues.apache.org/jira/browse/VFS-74 for more info. A provider for WebDAV.
- */
-public class IvyWebdavFileProvider extends WebdavFileProvider {
-
- /***********************************************************************************************
- * Creates a filesystem.
- */
- protected FileSystem doCreateFileSystem(final FileName name,
- final FileSystemOptions fileSystemOptions) throws FileSystemException {
- // Create the file system
- final GenericFileName rootName = (GenericFileName) name;
-
- HttpClient httpClient = IvyWebdavClientFactory.createConnection(rootName.getHostName(),
- rootName.getPort(), rootName.getUserName(), rootName.getPassword(), fileSystemOptions);
-
- return new IvyWebdavFileSystem(rootName, httpClient, fileSystemOptions);
- }
-
-}
diff --git a/src/java/org/apache/ivy/plugins/repository/vfs/IvyWebdavFileSystem.java b/src/java/org/apache/ivy/plugins/repository/vfs/IvyWebdavFileSystem.java
deleted file mode 100644
index 63b726ad..00000000
--- a/src/java/org/apache/ivy/plugins/repository/vfs/IvyWebdavFileSystem.java
+++ /dev/null
@@ -1,34 +0,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.
- *
- */
-package org.apache.ivy.plugins.repository.vfs;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.vfs.FileSystemOptions;
-import org.apache.commons.vfs.provider.GenericFileName;
-import org.apache.commons.vfs.provider.webdav.WebDavFileSystem;
-
-/**
- * This class extends from WebDavFileSystem because it doesn't provide an accessible constructor.
- */
-class IvyWebdavFileSystem extends WebDavFileSystem {
-
- protected IvyWebdavFileSystem(GenericFileName arg0, HttpClient arg1, FileSystemOptions arg2) {
- super(arg0, arg1, arg2);
- }
-
-}
diff --git a/src/java/org/apache/ivy/plugins/repository/vfs/ivy_vfs.xml b/src/java/org/apache/ivy/plugins/repository/vfs/ivy_vfs.xml
index 55702506..3becc828 100644
--- a/src/java/org/apache/ivy/plugins/repository/vfs/ivy_vfs.xml
+++ b/src/java/org/apache/ivy/plugins/repository/vfs/ivy_vfs.xml
@@ -39,14 +39,6 @@