The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
## What's Changed
### Breaking changes
* Renaming library from `nRFMeshProvision` to `NordicMesh` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/606
* Only when library was added using CocoaPods or Carthage, SPM already was using that name
### Other
* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) library updated to 1.8.1 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/602 and https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/604
* *PrivacyInfo* fixed for CocoaPods by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/603
* [App]: Light LC Server UI (Mode, Occupancy Mode, Light OnOff) by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/608
* [App]: Group controls for Light LC Server model by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/609
### Documentation
* [DocC](https://www.swift.org/documentation/docc/) Plugin updated to 1.3.0 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/605
* Documentation regenerated by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/607
**Full Changelog**: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/compare/4.1.0...4.2.0
## What's Changed
* Remove old node only when provisioning succeeds by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/579
* Launch Screen fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/580
* Bug fix: ACK was sending too late by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/581
* [Access Layer] Skip logging if message is decoded multiple times to the same type by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/582
* [App] Display detail button only in Security row by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/583
* [Lower Transport Layer] Fixed synchronization by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/584
* [App] Fixed behavior on Proxy screen by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/585
* Reset counter for app keys in debug keys by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/590
* Documentation improved and regenerated by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/575 and https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/591
**Full Changelog**: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/compare/4.0.1...4.1.0
## Bugs fixed
* Critical bug fix: Discarding packets of segmented messages fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/567
* Bug fix: Vendor messages fixed in the nRF Mesh app by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/570
* Bug fix: Fixed dealing with closed PB Remote bearer by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/569
## Improvements
* Improvement: Added log message when sending provisioning message over PB Remote bearer failed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/566
## Miscellaneous
* Version 4.0.1 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/571
* Documentation regenerated by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/572
**Full Changelog**: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/compare/4.0.0...4.0.1
This is the biggest releases so far. It brings tons of updates, some of which deprecated old API, or replaced it with a different one. Migration guides are available in related PRs.
## Main changes
* The library is now compatible with **Bluetooth Mesh Protocol 1.1**, **Mesh Model 1.1** and **Mesh Configuration Database Profile 1.0.1**. New features contain:
* Remote Provisioning #536
* New provisioning algorithm #464
* Private beacons #465
* Support for new models #505
* New Segmentation and Reassembly (SAR) implementation in lower transport layer #555
* Minimum iOS set to 13.0 due to use of `async`
* Async methods for sending messages #527
* There are also corresponding methods with completion callbacks
* Fixed Equatable implementation for `Node` and `Group` types #563 and #564
* New documentation (yey!)
## What's Changed
* Making properties public in Light LC messages by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/424
* CO2 and VOD concentration added by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/426 and https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/427
* Bug fix: Acknowledged messages sent to group addr should not await Statuses by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/428
* Fix appending min interval incorrectly by @CS-CW in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/436
* fix: prevent ivindex timestamp update on initial beacon by @anees17861 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/440
* Added support for Generic Location Global messages. by @daretobeorjan in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/441
* Support for `TimeGet/Set/Status` and `TimeZoneGet/Set/Status`. by @daretobeorjan in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/443
* Change `LightLightnessDefaultGet` opCode from 0x8254 to 0x8255 by @TobiasTu in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/446
* Add support for Scheduler messages by @daretobeorjan in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/444
* Changed Data extensions to public. by @daretobeorjan in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/449
* Minimum deployment target increased to iOS 12 (was 9) by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/450
* Api improvements by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/420
* Documentation, part 1 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/451
* Renaming workspace, targets and app's source folder by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/452
* Documentation, part 2 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/453
* Setting default feature values to Unknown and Enabled for Low Power case by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/460
* Modified constructor and property for raw value to public. by @daretobeorjan in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/448
* Support for CDB 1.0.1 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/461
* Allow oob input generation to be configured, version 2 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/462
* Provisioning Security Improvements by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/463
* Support for Mesh 1.1 (Part 1: Provisioning) by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/464
* Support for Mesh 1.1 (Part 2: Private beacons) by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/465
* Transition time improvements by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/466
* Company identifiers updated by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/467
* Showing related (base and extending) models by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/483
* Bugfix: Fixed `ConfigModelSubscriptionVirtualAddressAdd` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/484
* Automatic node configuration by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/486
* Update incorrect member vars in Crypto and SchedulerMessages by @agurusa in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/485
* API improvement related to getting models from an Element by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/487
* CryptoSwift version set to 1.7.0 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/488
* Warnings fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/489
* Bugfix: Groups in Heartbeat subscription by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/492
* Support for Mesh 1.1 (Part 3: Models) by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/468
* Add search bar for searching node and group by @Hung6129 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/475
* Search for Nodes and Groups by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/493
* Documentation improvements by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/494
* Bugfix: Accepting SNB from a Node that does not know the Primary Network Key by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/495
* Bugfix: Crash when configuring a node with no primary key by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/496
* Bug fix: Fixed displaying Element number by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/500
* Migration from SecKeyGeneratePair to SecKeyCreateRandomKey by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/501
* Ignoring message failures when not initiated by user by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/502
* Welcome screen by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/503
* Automatic node configuration: publication by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/504
* Support for Mesh 1.1 (Part 3: Models) - continuation by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/505
* Bugfix: Sensor server screen fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/506
* Parsing sensor values fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/508
* Breaking: Encoding invalid Device Property Characteristic as `.invalid` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/509
* Sensor pressure unit fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/510
* More sensor properties by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/511
* Fix: Alert about node UUID conflict before, not after provisioning by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/512
* API improvement: contains methods added by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/513
* Switching GATT connection to newly provisioned node by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/514
* Bugfix: Displyaing special groups in Publication screen when no custom group exist by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/515
* Bug fix: Fixed cycling reference loop by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/516
* API improvements for Key Refresh Procedure by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/517
* Automatic node reconfiguration by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/518
* Fixed updating Relay Count slider value by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/519
* Documentation updated by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/520
* Company identifiers updated and moved out from the library by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/521
* Breaking: Network parameters improvements by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/523
* Minor typos by @roshanrajaratnam in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/525
* Breaking: Message callbacks by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/524
* Breaking: Asynchronous message sending with `async`(iOS 13 required) by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/527
* Breaking: Fixed handling messages sent to virtual address by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/528
* New API: Methods to wait for a messages by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/533
* Messages as `AsyncStream` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/534
* Vendor types refactored by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/535
* Remote provisioning by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/536
* Clean up `UnprovisionedDeviceBeaconDecoder.decode` by @roshanrajaratnam in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/530
* Bug fix: Allowing 5-byte long array of zeros as valid TimeStatus by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/544
* Fixed resetting Proxy Filter by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/545
* Renaming `Task` to `MeshTask` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/547
* Bug fix: Adding missing `self.` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/548
* Possible NPE fixed by unwrapping weak values by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/549
* Mesh Protocol 1.1 renamed `inclusionList` to `acceptList` and `exclusionList` to `rejectList` by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/550
* New SAR implementation by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/555
* Improvements/fix messages by @roshanrajaratnam in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/552
* Apply missing node features after receiving composition data by @kkellermann in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/539
* Typo in proxy filter setup fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/557
* Bugfix: Exporting URIs without escaping slashes by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/558
* Bugfix: SchedulerRegistryEntry fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/559
* Support for importing configuration with fractional seconds by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/560
* CryptoSwift updated to 1.8.0 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/561
* Version 4.0.0 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/562
* [Breaking] Fixed Equatable implementation by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/563
* [Breaking] Fixed Equatable implementation, part 2 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/564
* Documentation regenerated by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/565
## New Contributors
* @anees17861 made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/440
* @daretobeorjan made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/441
* @TobiasTu made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/446
* @agurusa made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/485
* @Hung6129 made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/475
* @roshanrajaratnam made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/525
* @kkellermann made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/539
**Full Changelog**: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/compare/3.2.0...4.0.0
## Info
This release introduces the following changes:
* Support for Node Identity messages (also in nRF Mesh in Configuration Server model) (#415).
* @gujor implemented Energy32, Power and Electric Current characteristics and Generic OnPowerUp messages (#394).
* Messages sent to All Nodes address will only be handled by the Primary Element on the local Node, not all (#410).
* Node features states will be shown as *Unknown* before they are read, not as *Not enabled* (#414).
* Option to subscribe to All Relays, All Friends and All Proxies addresses (#412). All Nodes address is returned always as a subscribed group for all Models on the Primary Element (#412).
* Custom Proxy Filter initialization (#390). This allows setting initial proxy config before connecting to a Proxy Node.
Find detailed list of PRs below.
## What's Changed
* Add Energy32, Power and Electric Current characteristics by @gujor in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/389
* Fix crash when set heartbeat publication with max value by @Coral-CW in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/395
* Add Generic OnPowerUp Get and Set to app by @gujor in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/394
* Update company IDs by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/405 and https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/413
* Bug fix: Handing messages sent to All Nodes only on the Primary Element by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/410
* Logging duplicate message decoder by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/411
* Custom Proxy Filter initialization by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/390
* Added an option to subscribe to All Relays, All Friends or All Proxies by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/412
* Node features fixed by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/414
* Support for controlling Node identities on connected nodes by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/415
* Fix: Disabling Node Identity switch in case of an error by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/416
* Feature: returning a node matching hash and random by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/417
* Bumping CryptoSwift to 1.5.1 by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/418
## New Contributors
* @gujor made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/389
* @Coral-CW made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/395
**Full Changelog**: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/compare/3.1.5...3.2.0
## What's Changed
* Fixed: Responses to acknowledged messages would be assigned to the wrong AcknowledgementContext by @hinzclaudio in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/367
* Enable public access to MessageHandles properties by @bspinner in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/373
* Bug fix: Strong self in closure causes crash. by @SteffenErn in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/369
* Making init in ProxyProtocolHandler public by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/376
* Making log messages lazy by @philips77 in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/377
## New Contributors
* @hinzclaudio made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/367
* @bspinner made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/373
* @SteffenErn made their first contribution in https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/pull/369
**Full Changelog**: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/compare/3.1.4...3.1.5
This version fixes the following issues:
* Bug fix: Possible crash when IV Index was 0 and IVI 1 (#358)
* Lots of selfs weakened (#356)
* Importing Android 2.1 on iOS 3.x (#348) fixed with Allowing groups to be nil when importing (#357)
Version 3.1.3 brings the following updates:
* Migration to Xcode 12.5.
* CryptoSwift updated from 1.3.8 to 1.4.0 (https://github.com/krzyzanowskim/CryptoSwift/releases/tag/1.4.0).
* Two threading issues fixed (#350 with #351 and #352 with #353).
* A bug in the sample app fixed: refreshing Last Modified date after importing new mesh network configuration (https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/commit/f60f3b25111bae1b1dcc1b5ffcf62e2a09615cf7).
This release fixes the following bugs:
* `DevicePropertyCharacteristic.pressure` was missing resolution when converting to Data (#344).
* Invalid calculating message sequence when Seq > 8191 (#345).
This version fixes 2 issues found in 3.1.0:
- `SegmentedAccessMessage` overflow crash (#339).
- Validation failure if database contains 10m publish resolution (#338).