diff -urp asset/asset/asset_wizard.inc patched/asset/asset_wizard.inc
--- asset/asset/asset_wizard.inc	2008-05-12 04:47:00.000000000 -0400
+++ patched/asset/asset_wizard.inc	2008-05-15 15:10:09.000000000 -0400
@@ -280,8 +280,16 @@ function asset_wizard_form($form_values 
       // Preview the image
       if(in_array($a->extension, $is_image)) {
         if(variable_get('asset_imagecache', 0)) {
-          $presets = _imagecache_get_presets();
-          $preset = $presets[variable_get('asset_imagecache', 0)];
+          // '_imagecache_get_presets is the imagecache 1.X API.  
+	  if (function_exists('_imagecache_get_presets')) {
+	    $presets = _imagecache_get_presets();
+	    $preset = $presets[variable_get('asset_imagecache', 0)];
+	  }
+	  // imagecache_presets() is from the imagecache 2.X API
+	  else {
+	    $presets = imagecache_presets();
+	    $preset = $presets[variable_get('asset_imagecache', 0)]['presetname'];
+	  }
           $preview = theme('imagecache', $preset, str_replace("//","/", $a->filepath));
         }
         else {
@@ -664,8 +672,16 @@ function asset_wizard_form_validate($for
     // Preview the image
     if(in_array($a->extension, $is_image)) {
       if(variable_get('asset_imagecache', 0)) {
-        $presets = _imagecache_get_presets();
-        $preset = $presets[variable_get('asset_imagecache', 0)];
+        // '_imagecache_get_presets is the imagecache 1.X API.  
+	      if (function_exists('_imagecache_get_presets')) {
+		$presets = _imagecache_get_presets();
+		$preset = $presets[variable_get('asset_imagecache', 0)];
+	      }
+	      // imagecache_presets() is from the imagecache 2.X API
+	      else {
+		$presets = imagecache_presets();
+		$preset = $presets[variable_get('asset_imagecache', 0)]['presetname'];
+	      }
         $preview = theme('imagecache', $preset, str_replace("//","/", $a->filepath));
       }
       else {
diff -urp asset/asset/modules/asset_content.inc patched/asset/modules/asset_content.inc
--- asset/asset/modules/asset_content.inc	2008-01-29 16:31:47.000000000 -0500
+++ patched/asset/modules/asset_content.inc	2008-05-15 15:08:05.000000000 -0400
@@ -179,8 +179,16 @@ function asset_widget($op, &$node, $fiel
           // Preview the image
           if(in_array($a->extension, $is_image)) {
             if(variable_get('asset_imagecache', 0)) {
-              $presets = _imagecache_get_presets();
-              $preset = $presets[variable_get('asset_imagecache', 0)];
+              // '_imagecache_get_presets is the imagecache 1.X API.  
+	      if (function_exists('_imagecache_get_presets')) {
+		$presets = _imagecache_get_presets();
+		$preset = $presets[variable_get('asset_imagecache', 0)];
+	      }
+	      // imagecache_presets() is from the imagecache 2.X API
+	      else {
+		$presets = imagecache_presets();
+		$preset = $presets[variable_get('asset_imagecache', 0)]['presetname'];
+	      }
               $preview = theme('imagecache', $preset, str_replace("//","/", $a->filepath));
             }
             else {
@@ -337,8 +345,15 @@ function _asset_widget_form(&$form_item,
     // Preview the image
     if(in_array($a->extension, $is_image)) {
       if(variable_get('asset_imagecache', 0)) {
-        $presets = _imagecache_get_presets();
-        $preset = $presets[variable_get('asset_imagecache', 0)];
+	// '_imagecache_get_presets is the imagecache 1.X API.  
+        if (function_exists('_imagecache_get_presets')) {
+          $presets = _imagecache_get_presets();
+          $preset = $presets[variable_get('asset_imagecache', 0)];
+	}
+	else {
+	  $presets = imagecache_presets();
+	  $preset = $presets[variable_get('asset_imagecache', 0)]['presetname'];
+	}
         $preview = theme('imagecache', $preset, str_replace("//","/", $a->filepath));
       }
       else {
diff -urp asset/asset/modules/asset_imagecache.inc patched/asset/modules/asset_imagecache.inc
--- asset/asset/modules/asset_imagecache.inc	2008-05-01 04:22:07.000000000 -0400
+++ patched/asset/modules/asset_imagecache.inc	2008-05-15 15:21:04.000000000 -0400
@@ -2,18 +2,37 @@
 
 function imagecache_asset_settings(){
   $form[] = array('#value' => '<p>Select which imagecache presets should be available to use as asset formatters.</p>');
-  $presets = _imagecache_get_presets();
-  foreach($presets as $id=>$name){
-    $formats[$name] = array(
-      'name' => $name . ' (imagecache)',
-      'types' => array('jpg','gif','png'),
-      'description' => _imagecache_asset_description($id),
-    );
-    $form['asset_imagecache_preset_'.$id] = array(
-      '#type' => 'checkbox',
-      '#title' => $name,
-      '#default_value' => variable_get('asset_imagecache_preset_'.$id, 1),
-    );      
+  // if we are dealing with the imagecache 1.X API
+  if (function_exists('_imagecache_get_presets')) {
+    $presets = _imagecache_get_presets();
+    foreach($presets as $id=>$name){
+      $formats[$name] = array(
+	'name' => $name . ' (imagecache)',
+	'types' => array('jpg','gif','png'),
+	'description' => _imagecache_asset_description_1($id),
+      );
+      $form['asset_imagecache_preset_'.$id] = array(
+	'#type' => 'checkbox',
+	'#title' => $name,
+	'#default_value' => variable_get('asset_imagecache_preset_'.$id, 1),
+      );      
+    }
+  }
+  // if we are dealing with the imagecache 2.x API
+  else {
+    $presets = imagecache_presets();
+    foreach($presets as $preset){
+      $formats[$preset['presetname']] = array(
+	'name' => $preset['presetname'] . ' (imagecache)',
+	'types' => array('jpg','gif','png'),
+	'description' => _imagecache_asset_description_2($preset),
+      );
+      $form['asset_imagecache_preset_'.$preset['presetid']] = array(
+	'#type' => 'checkbox',
+	'#title' => $preset['presetname'],
+	'#default_value' => variable_get('asset_imagecache_preset_'.$preset['presetid'], 1),
+      );    
+    }
   }
   return system_settings_form($form);
 }
@@ -21,15 +40,31 @@ function imagecache_asset_settings(){
 function imagecache_asset_formatter($op='info',$asset=null,$attr=array()){
   switch($op){
     case 'info':
-      $presets = _imagecache_get_presets();
-      foreach($presets as $id=>$name){
-        if(variable_get('asset_imagecache_preset_'.$id, 1)){
-          $formats[$name] = array(
-            'name' => $name . ' (imagecache)',
-            'types' => array('local' => array('jpg','gif','png')),
-            'description' => _imagecache_asset_description($id),
-          );
-        }
+      // check if we are using imagecache 1.x API
+      if (function_exists('_imagecache_get_presets')) {
+	$presets = _imagecache_get_presets();
+	foreach($presets as $id=>$name){
+	  if(variable_get('asset_imagecache_preset_'.$id, 1)){
+	    $formats[$name] = array(
+	      'name' => $name . ' (imagecache)',
+	      'types' => array('local' => array('jpg','gif','png')),
+	      'description' => _imagecache_asset_description($id),
+	    );
+	  }
+	}
+      }
+      // if we are dealing with the imagecache 2.x API
+      else {
+	$presets = imagecache_presets();
+	foreach($presets as $preset){
+	  if(variable_get('asset_imagecache_preset_'.$preset['presetid'], 1)){
+	    $formats[$preset['presetname']] = array(
+	      'name' => $preset['presetname'] . ' (imagecache)',
+	      'types' => array('local' => array('jpg','gif','png')),
+	      'description' => _imagecache_asset_description_2($preset),
+	    );
+	  }
+	}
       }
       return $formats;
     case 'options':
@@ -63,7 +98,8 @@ function imagecache_asset_formatter($op=
   }
 }
 
-function _imagecache_asset_description($preset_id){
+//compatible with imagecache 1.x API
+function _imagecache_asset_description_1($preset_id){
   $items = array();
   $actions = _imagecache_actions_get_by_presetid($preset_id);
   foreach($actions as $action){
@@ -91,9 +127,59 @@ function _imagecache_asset_description($
   return join($items, '  Then, ');
 }
 
+// compatible with imagecache 2.x API
+function _imagecache_asset_description_2($preset){
+  $actions = $preset['actions'];
+  foreach($actions as $action){
+    switch($action['action']){
+      case 'imagecache_scale':
+        $items[] = 'Proportionally scaled to '
+                 . $action['data']['width'] . 'x' . $action['data']['height'] 
+                 . '.';
+        break;
+      case 'imagecache_deprecated_scale':
+        $items[] = 'Proportionally scaled to '
+                 . $action['data']['fit'] . ' dimensions of '
+                 . $action['data']['width'] . 'x' . $action['data']['height'] 
+                 . '.';
+        break;
+      case 'imagecache_crop':
+        $items[] = 'Cropped to '
+                 . $action['data']['width'] . 'x' . $action['data']['height'] 
+                 . ' at offset '
+                 . $action['data']['xoffset'] . ',' . $action['data']['yoffset'] 
+                 . '.';
+        break;
+      case 'imagecache_scale_and_crop':
+        $items[] = 'Scaled and cropped to '
+		 . $action['data']['width'] . 'x' . $action['data']['height']
+		 . '.';
+        break;
+      case 'imagecache_desaturate':
+        $items[] = 'Image is desaturated';
+        break;
+      case 'imagecache_rotate':
+        $items[] = 'Rotated by '
+                 . $action['data']['degrees'] . ' degrees with background color ' 
+	         . $action['data']['bgcolor'] . '. Random: ' . $action['data']['random']
+                 . '.';
+        break;
+    }
+  }
+  return join($items, '  Then, ');
+}
+
 function _asset_imagecache_get_size($name,$path){
-  $preset = _imagecache_preset_load_by_name($name);
-  $actions = _imagecache_actions_get_by_presetid($preset);
+  // check if we are using imagecache 1.x API
+  if (function_exists('_imagecache_get_presets')) {
+    $preset = _imagecache_preset_load_by_name($name);
+    $actions = _imagecache_actions_get_by_presetid($preset);
+  }
+  // 2.x API
+  else {
+    $preset = imagecache_preset_by_name($name);
+    $actions = imagecache_preset_actions($preset);
+  }
   $action = array_pop($actions);
   $rule = $action['data'];
   
