Please see my blog post at http://www.angrydonuts.com for some discussion of the new features across the Panels 3 Suite.
Please be absolutely certain that you upgrade CTools and Panels at the same time!!!!!
Deprecated the callback-based 'defaults' in favor of the identical 'process' (plugin system). Consequently, moved the content_type plugin over to use 'process' instead of the 'defaults' callback.
Added a ctools.api.php file and began documenting some of our api/hooks there.
Changed all hook_ctools_plugin_directory() implementations to use the more informative variable naming scheme.
#817612 by elstudio: Fix validation error that was making it impossible to add 'Existing node' content_types.
#787644 by Amitaibu and merlinofchaos: Introduce export-ui and auto-submit. See API.txt for more.
Update the plugin system documentation, and clean up plugin system logic.
#827498: Allow the 'custom' content type to be re-usable and exportable.
#827370 by dereine: Allow the new auto-submit.js to allow a single class that causes every element in the form to auto-submit.
New features since ALPHA1:
#763700 by janusman: Added Reduce multiple AJAX requests for holdings widget for single page.
#762816 by janusman: Added Add holdings info to 'Millennium tools' tab.
Fixes:
#784478 by janusman: Fixed Important setting hidden when no vocabularies available: 'Status messages that mean items are available'.
#813012 by janusman: Fixed user_load() called with wrong arguments.
#795448 by janusman: Fixed Use of variable_set() during cron and other places can cause problems.
#807140 by janusman: Changed Secure any paths that enact admin actions.
#807136 by janusman: Fixed Missing options for fields lcc, title parts and others.
#790706 : Anonymous user gets error "drupal_add_css() not defined"
#790920 : Author taxonomy term is the string "Array"
Other fixes:
Removed commented cache_get() call.
Progress messages from same source but different 1000-item batches during batch processing were overwriting each other
Title comparison during cart import did not contemplate unicode entities in {}
Did not account that max_execution_time could be zero, which derailed cart imports
Added missing files in millennium_enrich submodule
Added @ to mb_strpos() to skip error reporting in fringe cases.
Reorganized tests to eliminate unneeded setup (which takes a long time).
New features since ALPHA1:
#763700 by janusman: Added Reduce multiple AJAX requests for holdings widget for single page.
#762816 by janusman: Added Add holdings info to 'Millennium tools' tab.
Fixes:
#784478 by janusman: Fixed Important setting hidden when no vocabularies available: 'Status messages that mean items are available'.
#813012 by janusman: Fixed user_load() called with wrong arguments.
#795448 by janusman: Fixed Use of variable_set() during cron and other places can cause problems.
#807140 by janusman: Changed Secure any paths that enact admin actions.
#807136 by janusman: Fixed Missing options for fields lcc, title parts and others.
#790706 : Anonymous user gets error "drupal_add_css() not defined"
#790920 : Author taxonomy term is the string "Array"
Other fixes:
Removed commented cache_get() call.
Progress messages from same source but different 1000-item batches during batch processing were overwriting each other
Title comparison during cart import did not contemplate unicode entities in {}
Did not account that max_execution_time could be zero, which derailed cart imports
Added missing files in millennium_enrich submodule
Added @ to mb_strpos() to skip error reporting in fringe cases.
Reorganized tests to eliminate unneeded setup (which takes a long time).