== Changelog == section of the plugin’s own readme.txt, which remains the source of truth shown inside WordPress.
1.0.5
Checkout address entry fixes, both reported from live stores.- Fixed the checkout address form collapsing after every field change when another plugin re-renders the checkout. Multi-step checkout extensions unmount and remount WooCommerce’s checkout blocks while the customer is still typing; Unwan re-read the half-entered address on each remount, treated it as an address it did not recognise, and hid the fields. Selection state now survives a remount.
- Fixed an address entered at checkout not reaching the address book after such a re-render. The same remount reclassified an explicitly new address as an edit of an existing one, which silently suppressed the save.
- Fixed the billing address being overwritten by the shipping address when local pickup was selected. WooCommerce keeps its “use shipping as billing” flag set during collection while making billing the only editable address, so Unwan kept mirroring one into the other and collapsed the billing form on every keystroke. Synchronisation is now suspended whenever collection is active.
- Address fields now stay visible and editable for an address that is not in the address book, at both classic and block checkout. Correcting one previously meant clearing it and retyping from scratch.
1.0.4
Compatibility verification, and a regression suite to keep it verifiable.- Verified compatibility with WordPress 7.1, WooCommerce 11.0.1, and PHP 8.3. No deprecated WordPress functions are in use, and none of WordPress 7.1’s breaking changes apply to Unwan — they land in
@wordpress/components,@wordpress/icons,@wordpress/reusable-blocks, and jQuery UI, none of which Unwan’s block scripts or classic-checkout script depend on. - Added an automated test suite: 168 integration tests that boot a real WordPress install with WooCommerce active, covering address storage and sanitization, duplicate detection, lossless default-role swaps, the additional-address limit, checkout option shaping, request-level caching, the public hook contract, settings sanitization, uninstall gating, My Account rendering and escaping, and both checkout adapters. See Testing.
The test suite is development tooling and is not part of the plugin download. The released archive is unchanged in size and contents apart from the version bump and regenerated translation headers.
1.0.3
Translations, and the i18n defects found while producing them.- Added bundled translations for ten languages: Spanish, French, German, Italian, Portuguese (Brazil), Dutch, Polish, Russian, Swedish, and Japanese. See Translations.
- Fixed the saved-address counts (“2 saved addresses”) staying in English at checkout and in My Account. The same message was registered both as a singular-only string and as a plural, and gettext can only resolve one of those.
- Fixed the row action menu’s Make default billing / Make default shipping entries interpolating an untranslated English word into an otherwise translated sentence.
- Sanitized the request-method check in the My Account form handler.
- Verified compatibility with WordPress 7.0 and WooCommerce 11.0.1.
1.0.2
- Verified compatibility with WordPress 7.0.2 and WooCommerce 11.0.1.
1.0.1
- Renamed the plugin to Unwan – Multiple Address Book for WooCommerce. The slug, text domain, and every public identifier are unchanged.
1.0.0
Initial release.- Released Unwan with My Account address management, classic checkout support, and WooCommerce Checkout Block integration.
- Added the standard-DOM address picker with a scoped CSS reset, BEM classes, and a concise variable API.
- Added automatic checkout address saving, duplicate protection, configurable limits, and developer hooks.
- Added lossless billing and shipping default swaps.
- Added a dedicated WooCommerce settings subsection with editable labels, accent color, light/dark/system appearance, and checkout persistence preferences.
- Added opt-in uninstall cleanup and a direct Settings link on the Plugins screen.
- Reduced production files and added request-level address repository caching.