123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638 |
- Migrate 2.8
- ===========
- Features and enhancements
- - #2379289 - Better handle interaction of --update with highwater marks.
- - #2403643 - Support an additional level of subfields.
- - #2472045 - Add language subfields only if field is translatable.
- - #2474809 - Provide better message for bad dependencies.
- - #2397791 - Provide detailed field validation errors.
- - #2309563 - Add support for running migrations via wildcard name.
- - #2095841 - Abstract mail system disablement for more flexibility.
- - #2419373 - Provide ability to cache map lookups.
- - #2141687 - Provide detailed message on file copy error.
- Bug fixes
- Field sanitization added to prevent possibility of XSS - see security advisory
- https://security.drupal.org/node/155268.
- - #2447115 - Add xpath handling to the field mapping editor.
- - #2497015 - Term reference handler would ignore all terms if one was NULL.
- - #2488560 - MigrateSourceList/MigrateSourceMultiItems iterators prematurely
- return.
- - #2446105 - Keep coded DNM source field mappings from overriding UI mappings.
- - #2415977 - Use temporary:// instead of /tmp for drush logging.
- - #2475473 - Fix handling of --idlist when map not joined.
- - #2465387 - Fix handling of --stop option on migrate-import.
- Migrate 2.7
- ===========
- Features and enhancements
- - #2296911 - Add a source handler for IBM DB2.
- - #2256761 - Add a destination handler for variables.
- - #2047815 - Support multi-column source keys in idlist.
- - #1751438 - Add spreadsheet source plugin.
- Bug fixes
- - #2415597 - Make batching of SQL sources optional, and force map_joinable FALSE.
- - #2403593 - SQL batching messes up cases with altered queries, such as idlist.
- - #2298969 - Verify wizard validation function exists.
- - #2268863 - Fix drush --all option.
- - #2410523 - Remove inconsistent escaping of migrate_drush_path.
- Migrate 2.6
- ===========
- IMPORTANT CHANGES SINCE MIGRATE 2.5
- -----------------------------------
- Migration developers will need to add the "advanced migration information"
- permission to their roles to continue seeing all the info in the UI they're
- used to.
- Auto-registration (having classes be registered just based on their class name,
- with no call to registerMigration or definition in hook_migrate_api()) is no
- longer supported. Registration of classes defined in hook_migrate_api() is no
- longer automatic - do a drush migrate-register or use the Register button in the
- UI to register them.
- Migration class constructors should now always accept an $arguments array as
- the first parameter and pass it to its parent. This version does support legacy
- migrations which pass a group object, or nothing, but these methods are
- deprecated.
- Features and enhancements
- - #2390229 - Make literal strings monolithic.
- - #2391789 - Add extender getter to better support extending wizards.
- - #2363015 - Add support for modifying wizards defined by other modules.
- - #2353527 - Add getter/setter for trackLastImported.
- - #2302929 - Explicitly count IDs for JSON source counts.
- - #2296187 - Batch MigrateSQLSource queries.
- - #2260211 - Allow skipping of file contents in MigrateListFiles.
- - #2259089 - Display actual query for SQL sources.
- - #2224297 - Destination handler for custom blocks.
- - #2370677 - Add removeStep() method to Wizard API.
- - #2306953 - Give basic users a little more information.
- - #2261357 - Add prepareCallback/completeCallback to table destination.
- - #2306923 - Propagate message statuses to drupal_set_message in batch.
- - #2301679 - Display all source key fields in the message view.
- - #2312075 - Add --ignore-highwater option to drush imports
- - #1961316 - Get data from all XML namespaces
- - #1298724 - Add a node revision destination plugin.
- - #1890610 - Add a MongoDB source plugin
- - #2065295 - Add ability to disable other module's hooks during migration.
- - #2051547 - Add ability to revert UI-defined field mappings.
- - #1998632 - Extend MigrateItemsXML to handle an array of XML files.
- - #1990612 - Add a row status argument to MigrateException, allowing rows to
- be cleanly skipped by throwing exceptions.
- - #2017835 - Add MigrateFileUriAsIs file class, and make file migrations more
- flexible.
- - #2004426 - UI support for editing dependencies; enable setting dependencies
- through arguments.
- - #1826112 - A new API has been added to support external modules in developing
- easy-to-use wizard-based UIs.
- - #1833380 - Major refactoring of the UI, breaking groups and migrations
- (tasks) into separate pages, introducing an advanced permission and
- presenting a simplified UI to those with only the basic permission.
- - #1860450 - The UI now has the capability of spawning import/rollback operations
- in drush, with email notifications of completion. The notification
- ability is available when running drush at the command line, which
- may be useful for running imports via cron.
- - #1996602 - A default field handler is now provided that should handle many if
- not most field types without custom handlers.
- - #1901980 - Support encrypting particular arguments saved to the database, to
- support wizard implementations that may be prompting for secure
- database credentials.
- - #1896096 - Add ability to define field mappings via arguments at registration
- time, and use those to override mappings in code.
- - #1961620 - When editing field mappings, allow destination or source fields to
- be explicitly set DNM.
- - #1996280 - Allow all field/subfields/options to be edited, and indent
- subfields/options to make the relationship more clear.
- - #1996350 - Allow sourceMigration to be edited.
- - #1996736 - Add support for hook_migrate_api_alter().
- - #1984568 - Add setters to enable constructing migrations according to a
- dependency injection pattern.
- - #1835822 - Hash source rows to detect changes.
- - #1975180 - Explicitly check dependency existence so missing dependencies aren't
- reported as circular.
- - #1984534 - Updating/cleanup of examples to reflect current best practices.
- - #1972600 - Add getter for the MigrateXMLReader member of MigrateSourceXML.
- - #1856694 - Allow disabling of uri encoding.
- - #1835142 - Add names-only option to drush ms command.
- - #1892296 - Increase time limit for batch UI migrations.
- - #1839644 - Groups have been extended to record titles and arguments in the db.
- - #1896920 - Remove auto-registration, and make static registration expicit.
- - #1928956 - Clean up registration/instantiation chicken-and-egg problems, by
- supporting consistent constructor arguments.
- - #1550878 - Added UI for deregistering migrations, including one-button
- deregistration of orphans.
- - #1792894 - Remove empty field values, permitting proper defaulting.
- - #1903236 - Allow reset of migrate_migrations() cache.
- - #1894344 - Support warn_on_override for bulk unmigrated methods.
- - #1886404 - Allow subfields to be mapped before primary fields.
- Bug fixes
- - #2391891 - idlist with XML source causes exception.
- - #2314077 - Don't merge group dependencies into migration dependencies.
- - #2392683 - Set vocabulary name (bundle) explicitly for term reference fields.
- - #2266395 - Check for valid picture file saving users.
- - #2225551 - Add field validation to entity destination plugins.
- - #2285966 - Added exception handling around constructors.
- - #2370877 - Fix reloading of wizard steps after first.
- - #2358767 - Topological sort to help avoid false circular dependency errors.
- - #2019193 - Properly handle destination DNM status on field mapping save.
- - #2250081 - Fix PostgreSQL failure updating node statistics on comments.
- - #2157933 - Fix PostgreSQL error with empty source migrations.
- - #2177313 - Make sure reused file entities are saved to pick up field changes.
- - #2352971 - Treat empty default values as NULL in field mapping editor.
- - #2347205 - Explicitly default the language for terms.
- - #2307599 - Notice for non-advanced users on rollback.
- - #2305105 - Remove pedantically-deprecated hyphens.
- - #2325237 - Handle language arrays for file fields.
- - #2258909 - Use migrated languages for file fields.
- - #2323605 - Handle single-parent terms properly.
- - #2313495 - Handle multilingual path aliases.
- - #2261227 - Fixed missing subfields on edit mapping form.
- - #2154385 - Add file/line context to source plugin exceptions.
- - #2190255 - Remove duplicate warnings on missing XML source.
- - #2129609 - Remove warnings on MS SQL counts.
- - #2109931 - Pass drush global options to subprocess.
- - #2236279 - Prevent ignore_case from causing created terms to be lower-cased.
- - #2104149 - Sanity-check decrypted arguments.
- - #2047523 - Consistently document destination handler fields() implementations.
- - #2244759 - Rollback migrations in proper (reverse) order in UI.
- - #2184641 - Make saveHighwater() work with PostgreSQL.
- - #2076035 - Properly check key values in saveMessage().
- - #2076035 - Validate that term names are not empty.
- - #2225809 - Use proper API for registering wizard classes.
- - #2105037 - Expose nid/uid destinations when is_new is on.
- - #2145213 - Add SQLMap constructor documentation.
- - #2213033 - Add batch callback documentation.
- - #2095829 - Remove all variables on uninstall.
- - #2072721 - Proper title for migrate_example_baseball feature.
- - #1999228 - Removed AJAX from field mapping form for performance.
- - #2237755 - Fix activeUrl handling in JSON source.
- - #2237891 - Use drupal_register_shutdown_function().
- - #2141409 - Handle drush spawning when Drupal in subdirectory.
- - #2191335 - Remove unused columns from CSV source row.
- - #2210533 - Properly pass directory by reference.
- - #2141569 - Explicitly create group in baseball example.
- - #2159291 - Add message for missing argument to drush migrate-messages.
- - #2019193 - Fix unsetting of DNM source fields through the UI.
- - #2227061 - Fix to subfields in a multi-value context.
- - #2170177 - Properly handle multi-value fields when a subfield is mapped first.
- - #2120205 - Fix bug when upgrading lastimported from D6 to D7.
- - #2109821 - Handle multi-value subfields in the default field handler.
- - #2039649 - Smarter setting of file 'type' field.
- - #2106925 - Fix machine_name generation for legacy migrations.
- - #2102087 - Don't pass --group to drush subprocess.
- - #2099585 - Enable group option on drush migrate-stop.
- - #2088255 - Eliminate notices on migrate_map_hash with track_changes.
- - #2014849 - Make sure (again) statistics properly default to 0.
- - #2042535 - Properly set file_usage for user pictures.
- - #2060631 - Fix notices on poll vote import.
- - #2049689 - Empty values for node is_new caused SQL errors.
- - #2042399 - Node import did not respect revision flag.
- - #2034885 - For XML sources, don't override values populated in prepareRow().
- - #2041267 - Handle lack of potential dependencies on edit page.
- - #2040101 - Breadcrumbs in migration UI missing sections
- - #2033947 - Empty migration display names when matching group names.
- - #2037265 - Static migrations were not registered on module enable.
- - #2021457 - Coding standard improvements for xml.inc.
- - #2030559 - Add deprecation messages for arguments().
- - #1854382 - Fix handling of terms with leading spaces.
- - #2025137 - Ignore --update in the presence of --idlist.
- - #2023813 - Apply defaultValue() for empty XML values.
- - #2023657 - Prevent duplicate aliases when updating nodes.
- - #2021973 - Drush deregistration needs to handle mixed-case machine names.
- - #2017443 - Properly hash XML source rows with track_changes on.
- - #2020095 - Preserve arguments in legacy constructors.
- - #2018841 - Default field handler needs to account for empty column
- descriptions.
- - #2016173 - Fix fatal error editing MigrationBase migrations.
- - #2015327 - Remove broken automatic field mapping feature.
- - #2014849 - Make sure statistics properly default to 0.
- - #2011024 - Wildcard groups/tasks in the menu hierarchy, saving the need to
- rebuild menus when migrations are registered/deregistered.
- - #2010884 - Clean up empty default groups on dbupdate.
- - #2004296 - Enforce map/message table names with prefixes.
- - #2009222 - Properly update map/message tables on a non-default connection.
- - #2006158 - Fix warnings on default field handler fields().
- - #1999918 - Move permissions to core Migrate module.
- - #1999290 - Check that an XMLMigration has actually populated $row->xml.
- - #1989012 - Support preserve_files for MigrateFileFid.
- - #1982564 - Properly handle messages for ignored rows.
- - #1989022 - Strip HTML tags from drush fields output.
- - #1988008 - Restore group dependency support.
- - #1985750 - Add missing prepareRollback/completeRollback for file destinations.
- - #1978702 - Check highwater marks against the starting highwater.
- - #1974216 - Change field mapping table PK to a simple serial column.
- - #1977578 - Bad exception handling in MigrateDestinationTableCopy.
- - #1973030 - Handle zero-valued timestamps properly.
- - #1973092 - Fix preservation of sourceMigration when editing mappings.
- - #1968358 - Prevent unnecessary reimport when using track_changes.
- - #1968014 - Fix menu notices on task list page.
- - #1967946 - Missing check on existence of mapping.
- - #1849350 - Make sure encoding of uris doesn't break query strings.
- - #1844316 - Ensure rollback_action is added to all map tables.
- - #1913462 - Fix update functions returning arrays.
- - #1831940 - Allow empty string source keys in handleSourceMigration().
- - #1896042 - Fix incorrect usage of originalQuery.
- - #1954936 - Allow overriding source count in isComplete.
- - #1952430 - Prevent bogus "no error provided" messages.
- - #1931168 - Properly cache class info in _migrate_class_list().
- - #1900914 - Disable email with no custom mail system configured.
- - #1901648 - Missing bundle property on file migrations.
- - #1885362 - Make access callback explicit, to avoid conflict with admin_views.
- - #1880512 - Strip tags from descriptions on drush migrate-mappings.
- - #1872446 - Properly handle updates on role migration.
- - #1871764 - Pass zero values through handleSourceMigration.
- - #1839534 - Handle missing chunk separator in MigrateItemFile.
- - #1854382 - Prevent duplicate terms due to leading/trailing spaces.
- - #1794236 - Namespace detail pages within menu system.
- - #1836426 - Proper check on activeUrl for multiple XML files.
- Migrate 2.5
- ===========
- IMPORTANT: Automatic registration of new migration classes is no longer done on
- a cache clear. Depending on automatic registration is now deprecated, and you
- are encouraged to implement your migrations as DynamicMigration and explicitly
- register them via hook_migrate_api() or MigrationBase::registerMigration().
- If your migrations are not explicitly registered, you must request auto-registration
- with a "drush mar" (drush migrate-auto-register) command, or by clicking the
- "Register" button at admin/content/migrate/registration.
- Features and enhancements
- - #1824024 - Destination and field handlers may now be registered through
- hook_migrate_api(). Automatic registration of all migration and
- handler classes may be disabled at admin/content/migrate/registration.
- The handler configuration formerly at admin/content/migrate/configure
- is now at admin/content/migrate/handlers.
- - #1778952 - Update examples to emphasize explicit registration via
- hook_migrate_api().
- - #1819730 - Make migration of files in a field context non-fatal.
- - #1816652 - Provide useful warning when file subfield arrays don't line up.
- - #1778952 - Enable registration of dynamic migrations via hook_migrate_api().
- Add explicit auto-registration of non-dynamic migrations, remove
- performing registration on cache clear.
- - #1421974 - Add queueMessage(), so messages can be generated in prepareRow().
- - #1626374 - Allow creation of duplicate terms.
- - #1810306 - Allow multi-value keys in MigrteItemJSON.
- - #1799964 - Add reference query getter to MigrateSourceSQL.
- - #1670410 - Sanity-check migration machine names.
- - #1637458 - Pass field instance rather than just field name to field() methods.
- - #1688312 - Allow any file field argument to have per-instance values.
- - #1701764 - Add prepareKey() method to customize source keys.
- - #1703050 - Add track_last_imported option for maps.
- - #1690092 - Protect migrations, or specific rows, from rollback.
- - #1672572 - Stifle mapping override messages.
- - #1621608 - Support for splitting files on import.
- - #1637292 - Support case-sensitive matching on term reference fields.
- - #1647594 - Add information message on unmatched terms.
- - #1621906 - Support DESTINATION system-of-records for menu links.
- Bug fixes
- - #1827052 - Properly check for bad XML.
- - #1824118 - Make --force work for rollbacks.
- - #1659150 - Change 'ok' message types to 'status'.
- - #1690080 - Deal with self-references in handleSourceMigration().
- - #1797644 - Remove bogus assignment on term update.
- - #1807522 - Handle ignored map rows in handleSourceMigration().
- - #1803648, #1805184 - Handle empty values in handleSourceMigration().
- - #1780850 - By default, urlencode all path components in MigrateFileUri;
- - #1763932 - Empty path aliases generated for users.
- - #1717284 - Make sure nodes with unspecified languages end up language-neutral.
- - #1712434 - Highwater fails when highwater field values == 0.
- - #1708296 - Handle timestamps before 1902.
- - #1637444 - Don't offer format subfield for plain text fields.
- - #1700678 - Only show path as a destination where applicable.
- - #1693304 - Role import results not reported.
- - #1676652 - Fix preserve_files issues with file destination, MigrateFilFid,
- FILE_EXISTS_REUSE cases.
- - #1679798 - Remove remote file import, for reliability of simpletests.
- - #1619822 - Cleanup drush subprocess handling.
- - #1635184 - Properly NULL csvHandle when closing.
- - #1630544 - Fix FILE_EXISTS_REUSE to actually reuse existing file entities.
- - #1618466 - Fix picture notice when updating users.
- - #1615682 - Fix to CSV record counting.
- Migrate 2.4
- ===========
- IMPORTANT: The file migration support (both MigrateDestinationFile and
- the file field handler) has been completely refactored since Migrate 2.3 - if you
- are importing files as part of your migration, you MUST change your migrations
- to properly use the new implementation. See http://drupal.org/node/1540106 for
- details on how to use the new handlers and destination.
- Features and enhancements
- - #1685122 - Add previous source field name to notice.
- - #1692912 - Add vocabulary name to notice.
- - #1606586 - Add activeUrl public method to MigrateSourceXML.
- - #1587842 - Remove sample CSV files from migrate project.
- - #1152878 - drush migrate-analyze command, for source data analysis.
- - #1587566 - Support escape option for CSV sources on PHP 5.3.
- - #1189328 - UI option to ignore dependencies.
- - #1016452 - Support migrating user role assignments by name.
- - #653636 - Add migrate-messages command to dump message table.
- - #1428166 - Make message columns sortable.
- - #1459888 - Removed deprecated source count(), showMessage(), setOutputFunction().
- - #1528916 - Link field descriptions to drupal.org documentation.
- - #722686 - Support for node statistics.
- - #1299646 - Enforce dependencies on rollback.
- - #1328408 - Support --group on drush migrate-status.
- - #1402822 - Cleaner handling of exceptions from source plugins.
- - #1240928 - File handling completely refactored - see note above.
- - #1279778 - Improved method for mapping options and subfields.
- - #1403044 - Added menu destination plugins.
- - #1350284 - Visually group migrations by group in drush.
- Bug fixes
- - #1680878 - Fix rollback through UI.
- - #1693492 - Map table query not using right connection.
- - #1614318 - MigrateFileUri failed to pass file object through.
- - #1601974 - Remove percent sign fix-up, leave to particular application.
- - #1600912 - Base constructor was undermining UI override of displayFunction.
- - #1595056 - Handle empty arguments from migrate_status table.
- - #1595166 - Support multiple source keys in MigrateList.
- - #919108 - Cleaner error-handling when updating destinations that don't exist.
- - #1574502 - Coder review, remove dead code.
- - #1570536 - Undefined property in term.inc.
- - #1569612 - skip_empty should only skip NULL values.
- - #1561448 - Proper handling of is_new for users.
- - #1205278 - Don't multiply-increment usage counts when preserving files; remove
- file_usages on uninstall.
- - #1438282 - Handle errors thrown when getting counts.
- - #1358318 - Fix dedupe() overdeduping on --update.
- - #1538046 - Give highwater marks a chance at preparation before using them.
- - #1408248 - Handle errors in complete() cleanly.
- - #1541882 - Make sure displayFunction is set before calling it.
- - #1529362 - Make proper check if previously imported.
- - #1537076 - Apply languages to each value in a multi-value field.
- - #1542922 - Fix XML parsing bug.
- - #1538508 - Fix notice when mapping parent_name.
- - #1537352 - Check limits and status before next().
- - #1540120 - Zero not working as defaultValue.
- - #1508654 - MigrateSourceSQL needs to respect join aliases.
- - #1518076 - UI side of subfield handling.
- - #1480762 - Fix cross-database joins to map table.
- - #1520688 - setDisplayFunction needs to be static.
- - #1518064 - Upgrade needs to check field existence.
- - #1518008 - Upgrade uses obsolete db_column_exists API.
- - #1308268 - Term migration should link to pre-existing terms.
- Migrate 2.3
- ===========
- Features and enhancements
- - #1315910 - Added migrate-deregister drush command.
- - #1437076 - Make Migration class field mapping methods public.
- - #1430528 - Document importance of migrating term parents first.
- - #1418126 - Use node_delete_multiple on migrate-wipe.
- - #1424632 - Improve user migration performance by reducing hash count.
- - #1414616 - Automatically update migration arguments.
- - #1364326 - Default --limit option to items.
- - #1337640 - Properly optimize the SQL source query for highwater marks.
- - #1366588 - Source plugin support has been refactored to put more of the common
- processing in the base class. When implementing a source plugin,
- implement performRewind() and getNextRow().
- - #519906 - Added support for the core poll module (choices and votes).
- - #1355940 - Track all source rows in the map table.
- - #1358650 - Truncate text fields according to configured max_length.
- - #941440 - Autodetection of source fields when unspecified.
- - #1341776 - Add option to skip source counting.
- - #1342936 - Pass source key in calls to Migration::createStub().
- - #1335110 - Automatically lowercase MD5 passwords.
- - #1331912 - Catch exception due to skipped beginProcess().
- - #1337810 - Documented hooks in migrate.api.php.
- - #1342322 - Added default implementation of prepareRow(), simplifying source plugins.
- - #1336534 - Added MigrateSourceXML for efficient handling of large XML files.
- - #1330552 - Provide more detail on bad field mappings.
- - #1321078 - Display incomplete dependencies in the error message.
- - #1321062 - Simple base class for field handlers.
- - #1314448 - Added tnid to node destination handler.
- - #1231492 - Added source handler for retrieving content from file directories.
- - #1290706 - Centralize loading of XML.
- - #1295040 - Support --update functionality in UI.
- - #1304444 - Added static displayMessage(), deprecating showMessage().
- - #1290706 - Centralize loading of XML.
- - #1254398 - Prevent accidental emailing during migration.
- Bug fixes
- - #1378114 - Handle case-sensitive term name variations properly.
- - #1450950 - Convert user datetimes values to timestamps.
- - #1437208 - Handle malformed CSV files quietly.
- - #1413350 - Support invoking subprocesses under Drush 5.
- - #1404732 - Properly call taxonomy_term handler fields() method.
- - #1447368 - Handle purely numeric PHP memory_limit.
- - #1432802 - Default $options to prevent PHP 5.4 error.
- - #1333656 - Remove content type/fields when uninstalling migrate_example_baseball.
- - #1416012 - Cleanly handle NULL source key values in saveIDMapping().
- - #1419086 - Better error handling in MigrateXMLReader::next().
- - #1422114 - ID list array must be imploded for queries.
- - #1372204 - Fix loss of pictures when updating users.
- - #1364034 - Add cache_key option to sources, for disambiguation.
- - #1354162 - Make sure messages are retrieved from the right connection.
- - #1352648 - Update mode reapplied on each batch in UI.
- - #1349246 - Postgres error updating migrate_log.
- - #1342686 - Generalized needs-update support.
- - #1341598 - filename/filemime not set in file_link/file_blob cases.
- - #1342736 - drush options don't need -- prefix.
- - #1340204 - MigrateDestinationFile::prepare() didn't call parent::prepare().
- - #1336880 - Fix XPath handling in MigrateItemsXML::getIDSFromXML.
- - #1334546 - Validate compound keys passed to handleSourceMigration().
- - #1305338 - Corrected type-hint in MigrateSourceSQL constructor.
- - #1305910 - MigrateDestinationTable now tracks inserted/updated records.
- - #1284592 - Fixed error on empty term parents.
- - #1300258 - Fixed error on unfulfilled term references.
- - #1292462 - Group missing from drush options.
- - #1290122 - Force destinations to implement __toString().
- - #1290120 - Warnings updating users if roles not set.
- - #1290118 - Warning in MigrateItemJSON::getItem()
- - #1133096 - Failure to clear currentRow in MigrateSourceMultiItems.
- Migrate 2.2
- ===========
- Features and enhancements
- - #1240928 - Generalize file handlers, to ease media module support.
- - #1226768 - Improved exception handling.
- - #1230294 - Get correct count of CSV with embedded newlines.
- - #1185632 - Handle (potentially multiple) headers in CSV source plugin.
- - #1210152 - Improved error messages on file field migration.
- - #1212818 - migrate_ui support for one-step rollback-and-import.
- - #1218244 - Support for is_new for users.
- - #1216796 - Use file_destination() to generate destination filespec.
- - #719650 - Implemented ability to assign migrations to groups, and run by group.
- - #1201762 - Implemented built-in caching for source counts, and flag to enable it.
- - #1205278 - Added preserve_files argument to MigrateFileFieldHandler.
- - #1205278 - Added preserve_files option to MigrateDestinationFile.
- - #1078368 - Implemented create_term argument for term references, to lazy-create terms.
- - #1199150 - Added file_fid function to file field migration.
- - #1195802 - Added prepareRow() support for MSSQL plugin.
- - #1195784 - Added verification of required extension to MSSQL plugin.
- - #1180188 - Added ability to save BLOB data to file fields and file entities.
- - #1181136 - Provided mechanism to handle incoming MD5-encrypted passwords.
- - #1181720 - Add item/second limiting to UI.
- - #1181826 - Implemented hook_hook_info(), so implementing modules can define
- hook_migrate_api() in example.migrate.inc.
- - #1179464 - Added capability of disabling handlers.
- - #1175094 - Added support for field handler complete() methods.
- - #1176930 - Renamed migrate-descriptions to migrate-mappings, enhanced to export to CSV.
- - #1169724 - Implemented source plugin for Oracle.
- Bug fixes
- - #1265514 - Fixed error message for failed XML load in MigrateItemsXML.
- - #1231398 - Add map data to row in Oracle source plugin.
- - #1225636 - File field: fixed warnings, added docs.
- - #1227130 - On import, clear messages before applyMappings().
- - #1195802 - Fixed SQL Server problem handling end of batch; brought Oracle/SQL
- Server implementations in line with each other.
- - #1205278 - Fixed file entity rollback to preserve files when requested.
- - #1223468 - Make sure getIDsFromXML always returns an array.
- - #1223734 - Fixed bogus assignment of uid to file fields.
- - #1223756 - Fix warnings with file_blob when file exists in file_managed.
- - #1216796 - Make sure file_replace argument exists.
- - #1195802 - Fixed prepareRow() support for MSSQL plugin.
- - #1210076 - Filled out parameter docs for MigrateFileFieldHandler::buildFileArray().
- - #1185046 - Wine example mistakenly said GROUP_CONCAT could only be used once.
- - #1202234 - Fix translatable field language handling.
- - #1184538 - Fixed term field allowed values in migrate_example.
- - #1181652 - Fixed MigrateDestinationTable to work on update.
- - #1174934 - Support multi-column keys for table_copy destination.
- - #1176790 - Prevent multiple handlers from messing up fields info.
- - #1169796 - Handle example upgrades if image field is missing.
- Migrate 2.1
- ===========
- API change:
- Any field handler prepare() or complete() methods you have defined must be changed
- to remove stdClass for the $entity argument. I.e., prepare(stdClass $entity, stdClass $row)
- should now be prepare($entity, stdClass $row).
- Features and enhancements
- - #1025754 - Added support for multi-value source keys to handleSourceMigration().
- - #1161584 - Added lookupSourceID() and lookupDestinationID() to MigrateMap.
- - #1017246 - Added support for running migrations from the dashboard.
- - #1004812 - Added schema-driven table destination plugin.
- - #1009708 - Added role destination plugin.
- - #737170 - Added support for field level callbacks.
- - #1005090 - Modified filefield property import to use JSON input.
- - #730980 - Added more detailed reporting on import.
- - #1142384 - Extended file field support to copy from remote URLs.
- - #1138096 - Added MigrateSourceMultiItems class for self-contained XML sources.
- - #1101586 - Add shortcut methods for adding several field mappings at once.
- - #1101592 - Replace --itemlimit with --limit, supporting time limits as well.
- - #1139080 - Added example and test for importing profile pictures over http.
- Bug fixes
- - #1161612 - Handle integer highwater marks properly.
- - #1159274 - Handle spaces in URLs for MigrateDestinationFile.
- - #1161812 - Added handling for NULL watchdog variables.
- - #1009708 - Fixed E_STRICT notice on MigrateDestinationRole::getKeySchema().
- - #1161590 - Made $migration optional for handleSourceMigration(), createStubWrapper(),
- lookupDestinationID().
- - #1161482 - Handle NULL source_field mappings.
- - #1156972 - Do not include message table in source queries.
- - #1155740 - Make remote file fetch HTTP version independent
- - #1037872 - Deal with updates with idlists when mapping nids directly.
- - #943546 - Make sure both slashes and backslashes are trimmed where necessary.
- - #1146366 - Fixed rollback of table destinations.
- - #1148474 - Enforce unique IDs in MigrateItemsXML.
- - #1132034 - Don't assume entity is a stdClass.
- - #753284 - Fixed systemOfRecord==DESTINATION updates for nodes and users.
- - #1142104 - Proper prefixing of tables when updating comment statistics.
- - #1136852 - Fixed cross-threaded test in preImport().
- - #1134858 - Improved validation for XML imports.
- - #1134300 - Add parameter $messages_only to MigrateMap::delete().
- - #1134506 - Removed obsolete views_alter() hook.
- - #1133096 - CSV source always processed last row, fix to clear currentRow.
- - #1124318 - Properly use source_field arguments for file field attributes.
- - #1133030 - Undefined constant in drush migrate-fields-destination.
- - #1128532 - Handle call to watchdog when Migration class not defined.
- - #1126108 - Fix undefined variables in XML error handling.
- - #1117602 - Bad counts reported on bulk rollback.
- - #1118480 - Document _name arguments to file fields.
- - #1108700 - Remove obsolete references to prepare().
- - #1107546 - Check file presence with is_file() instead of file_exists().
- - #1097136 - Replace list_number with list_integer and list_float in set of
- supported simple field types.
- - #1103042 - Rollback broken with multi-valued keys.
- Migrate 2.0
- ===========
- Features and enhancements (since first 2.0-dev)
- Added JSON source plugin.
- - #919108 - Add deleteDestination() for maps; cache migration list.
- - #1005090 - Support multiple values for file fields.
- - #996086 - Add prepareRollback and completeRollback methods for entities.
- - #1039882 - Pass client migration to stub creation. Note that $migration->values
- (the destination object being built) is now $migration->destinationValues - any
- migrations referencing this member will need to change.
- - #946350 - Accept arrays in sourceMigration();
- Let a node migration set node_revisions.uid. That's the 'last edited by' user
- - #989200 - Support "dynamic" migrations. Changes to be aware of:
- All modules implementing migration classes must now implement hook_migrate_api()
- (see migrate_migrate_api() for an example).
- Dependencies and sourceMigrations must now be expressed in terms of
- machine name rather than class name.
- MigrationBase::getInstance now takes a machine name rather than a class name.
- Migration class names are no longer required to end in 'Migration'.
- - #992898 - Pass options to source and destination constructors as arrays.
- File destinations (i.e., migrating directly to the file_managed table, with
- optional copying of the files themselves) are now supported.
- Allow migration of comment enable/disable.
- Check max_execution_time as well as memory_limit, for graceful exit when
- max_execution_time is in play.
- Add dedupe() method for a field mapping.
- Apply MigrateBase::timestamp() to comment created/changed
- Bug fixes
- - #867940 - Prevent overwriting of migrated files with common basenames.
- - #1072170 - Allow revision setting to be overridden.
- - #1073770 - Quietly skip missing files in MigrateFileFieldHandler.
- - #1079416 - postRollback called outside of rollback operation.
- - #1070894 - Apply tokens when saving files.
- - #1067918 - Static cache of migrations messes up simpletests.
- - #1053798 - Message meant for debug not marked 'debug'.
- - #1063926 - prepareRow() call missing from MigrateSourceList.
- - #1062200 - Validate arguments for getFieldLanguage().
- - #1061284 - Appropriately translate watchdog severities to migrate severities.
- - migrate_example error when auto_nodetitle module not present.
- - #1053798 - Missing 'debug' on showMessage.
- - #1053798 - Consistent use of error codes.
- - #1053526 - Machine names in drush commands now case-insensitive.
- - #914440 - Enhance multilingual support.
- - #1014648 - Defaulting of file field subfields.
- - #1037872 - Make sure is_new is off for previously migrated content.
- - #919706 - Fix drush migrate-descriptions command.
- - #1027468 - Limit map/message table name lengths.
- - #1045646 - Handle PHP memory_limit of -1.
- - #1050348 - Check map table existence in correct DB.
- - #1028824 - Errors during registry rebuild trigger fatal error.
- Fix highwater handling to deal with duplicate values.
- - #998604 - Fixed dedupe.
- - #998586 - Improved feedback for disabled migrations.
- - #972382 - Fix MigrateDestinationTableCopy.
- - #962120 - Support idlist on rollback.
- - #1017256 - Document case-sensitivity in beer.inc.
- - #1013844 - Better error handling in getInstance().
- - #1008228 - migrate_example broken by list changes in D7 RC3.
- - #1006272 - Remove lengths on int fields in schema (breaks Postgres)
- - #1005030 - Replace eval() with proper call_user_func().
- - #1005360 - Skip .test files in registry scan
- - #1004268 - Don't munge date separators
- - prepareRow() hook skips current row only if boolean FALSE is returned.
- - #989622 - Fix undefined variable in MigrateDestinationNode::import().
- - #984294 - Make migrate dashbard a local task.
- needs_update => needs-update to match drush conventions.
- - #959400 - Better way to get vid for vocabulary.
- - #984336 - Additional fields and vocabularies not reported on migration info page
- - #990960 - Initialize fields array for profiles
- - #993684 - hook_requirements should always return array.
- - #983968 - Bogus settings of ->uid
- - #984294 - Migration info pages are blank
|