# CPalius CMF 2.2.3

**Released:** 2026-09-23 · **Channel:** stable · **Critical:** no

Turkish: [2.2.3-tr.md](2.2.3-tr.md)

Importer now accepts a SQL dump or a live MySQL, lets you pick which steps run, and can ingest the old board's files. Forum leftover BBCode is rewritten on view. XenForo smilies import. AACP user edit holds the full profile. After a password login, an e-mail code is asked when SMTP works.

## What's new

**Importer source kinds.** Choose XML (WXR), a SQL dump, or remote MySQL. WordPress no longer feeds a dump into XMLReader. Saved source credentials persist across runs.

**Selectable steps.** Check only the migrations you want — users only, for example. Dependencies are not forced in.

**Board files.** Optional directory or zip: WordPress `wp-content/uploads`, XenForo `data/` (and `internal_data/` if you have it), MyBB `uploads/`. Avatars attach to users. `[ATTACH]` / `[attachment=]` become images. Local smilie files become assets.

**Forum leftovers.** Stored `[USER]`, `[IMG]`, mentions and similar BBCode rewrite to HTML on render. Imported smilies replace codes at display. Rebuild refreshes postbit names from current usernames.

**Imported accounts.** Users without an e-mail still become accounts. Duplicate usernames get a suffix. Dry-run dependents can resolve through the scratch map.

**AACP profile.** Location, locale, bio, custom title and core custom fields sit on user edit. Overlay capabilities show language labels, not raw strings.

**Login e-mail code.** After password, every account that is not enrolled in 2FA is asked for a one-time mail code when SMTP can send. Sites without mail skip it.

**N+1.** Forum profile JOIN FETCHes the section. Blog category strip JOIN FETCHes the term tree. The migration map hydrates once per request.

## Upgrade notes

`cp:update` applies Forum `20260923_forum_smilies.sql` (`cp_forum_smilies`). After files land, empty `cp-core/var/cache/prod/` (leave the folder). If you already imported XenForo or MyBB without the data folder, run users + attachments + posts again with the files attached.

## Known limits

Blog rebuild still only refreshes category `post_count`. Full-size XenForo attachments need `internal_data/` in the zip; otherwise thumbs from `data/` are used.
