Long story short: I started a design in Mac EAGLE 5.6 because it's so much better than the 4.x Mac version. But then my design got too elaborate for the limitations of the freeware version I was using. I didn't want to start over in my 4.x Pro version. (The files are not backward-compatible.) So I found a way to get my libraries, schematics, and PCB design out of 5.6 and in to 4.16. Here's how:

Start with your libraries. If you try to browse your libraries in the 4.x Control Panel, you'll get warnings about all the libraries that are too new. Make list of those libraries.

For each library on your error list:

  • Open the library in EAGLE 5.x.
  • Choose "File->Export…" and choose "Script" from the popup menu.
  • Name the script file after your library (e.g. "analog_devices.scr"). I saved the script in the same directory as the library.
  • Close the library.
  • Move the library file (e.g. "analog_devices.lbr") and backup files ("analog_devices.l#1" through "analog_devices.l#9") to a safe place.

For each script file (e.g. "analog_devices.scr") you saved:

  • Create a new library in EAGLE 4.x.
  • Choose "File->Script…" and select the .scr file.
  • Close the library. You'll be prompted to save the library. Give it the same name as the original library.
  • Delete the script file.

Now you've got your libraries rebuilt. Next up, your schematics. Download the ULP file "export-schematic.ulp" from the EAGLE Web site.

For each schematic file:

  • Open the schematic in EAGLE 5.x.
  • Choose "File->Run…" and choose the "export-schematic.ulp" file from where you downloaded it.
  • The ULP will write out a file named "temp.scr", in the same folder as the schematic file.
  • Close EAGLE 5.x.
  • Open EAGLE 4.x.
  • Create a new folder for the 4.x version of your project.
  • In the new folder, create a new schematic.
  • Choose "File->Script…" and open the "temp.scr" script file you saved from EAGLE 5.x. It'll take a while if your schematic is substantial. If you get questions about moving one net into another, say "yes".
  • Close the schematic, saving the file to the 4.x project folder you created, and using the same filename as your EAGLE 5.x project.

Next, your PCB layouts. Download my ULP file "export-board-layout.ulp" (derived from "export-board.ulp" from the EAGLE Web site).

For each board:

  • Start EAGLE 5.x.
  • Open your board file. Don't do ANYTHING else at this point, or your export script file will get weird.
  • Choose "File->Run…" and choose the "export-board-layout.ulp" file from where you downloaded it.
  • The ULP will write out a file named "temp.scr", in the same folder as the board file.
  • Close EAGLE 5.x.
  • Open EAGLE 4.x.
  • Open the 4.x version of your schematic.
  • Choose "File->Switch to board".
  • Allow EAGLE to "create from schematic".
  • Choose "File->Script…" and choose the "temp.scr" file you saved in an earlier step.
  • Close the board, saving the file to the 4.x project folder you created, and using the same filename as your EAGLE 5.x project.

Whew. Not easy, but a whole lot easier than re-entering the schematic and board layout for a 100-component design… I hope this is helpful to somebody!