Skip to content

v0.1.1 — Review fixes

Latest

Choose a tag to compare

@ernestdefoe ernestdefoe released this 24 Jul 02:59

Maintenance release from an external code review — performance, hardening, and better handling of real-world MySQL dumps. No breaking changes.

Fixed

  • Much faster NodeBB post imports. NodeBB orders posts by post id rather than by topic, so a single batch could span dozens of discussions and fire a separate query for each one. Those are now a single grouped lookup per batch.
  • Safer XenForo password migration. The stored authentication blob is now decoded without allowing object instantiation, so a malicious source database can't influence the import. A corrupt row is skipped instead of stopping the run.
  • Uploads are checked before they hit the disk. Dumps over 500 MB are rejected with a clear message, and the file's leading bytes are inspected so an obviously wrong file (an image, an archive) is refused straight away.
  • Better support for modern mysqldump output. Character-set introducers such as _binary'…' and _utf8mb4'…' are now handled — previously they could cause a table's rows to be skipped.
  • You'll be told when a dump only partly parsed. If any row batches can't be read, the upload step now warns you instead of quietly importing incomplete content.
  • The command line importer can no longer hang forever if a run gets stuck; it stops with an explanatory message.

Under the hood

Dump conversion now runs through Flarum's managed database layer rather than a direct connection, and the parser's known limitations are documented in the source.

Upgrade with composer update ernestdefoe/importer.