Use this script:
function releaseAllClippingMasks(doc) {
var items = doc.pageItems;
for (var i = items.length - 1; i >= 0; i--) {
var item = items[i];
if (item.typename === "GroupItem" && item.clipped) {
try {
item.clipped = false;
for (var j = item.pageItems.length - 1; j >= 0; j--) {
item.pageItems[j].move(item, ElementPlacement.PLACEATEND);
}
} catch (e) {
$.writeln("Error releasing clipping mask: " + e);
}
}
}
}
function ungroupAll(doc) {
var changed = true;
while (changed) {
changed = false;
var items = doc.pageItems;
for (var i = items.length - 1; i >= 0; i--) {
var item = items[i];
if (item.typename === "GroupItem") {
try {
for (var j = item.pageItems.length - 1; j >= 0; j--) {
item.pageItems[j].move(item.parent, ElementPlacement.PLACEATEND);
}
item.remove();
changed = true;
} catch (e) {
$.writeln("Error ungrouping: " + e);
}
}
}
}
}
if (app.documents.length > 0) {
var doc = app.activeDocument;
app.executeMenuCommand('unlockAll');
app.executeMenuCommand('selectall');
releaseAllClippingMasks(doc);
ungroupAll(doc);
alert("All clipping masks released and all groups ungrouped.");
} else {
alert("No document open.");
}