Back to Migration Overview
The v5.x members below were renamed in v6.x (same behavior, new name). This is the fast list to search-and-replace before reading the detailed sections.
| Control | v5.x member | v6.x member |
|---|---|---|
| Select / MultiSelect | EqualItems(Func<T,T,bool>) |
DefaultMatchBy(Func<T,T,bool>) |
| Select / MultiSelect | OnlyView(bool) |
ViewOnly(bool) |
| Select / MultiSelect | DefaultHistory(bool) |
UseDefaultHistory() (no parameter) |
| Select / MultiSelect | EnabledHistory(string, Action<IHistoryOptions>?) |
EnableHistory(string, Action<IHistoryOptions>?) |
| MultiSelect | PredicateSelected / PredicateSelectedAsync |
PredicateChecked / PredicateCheckedAsync |
Select<T>keepsPredicateSelected/PredicateSelectedAsync. Only the multi-choiceMultiSelect<T>renamed them toPredicateChecked/PredicateCheckedAsync.
EqualItems → DefaultMatchByBefore (v5.x):
using PromptPlusLibrary;
PromptPlus.Controls.Select<Product>("Product:")
.AddItems(products)
.EqualItems((a, b) => a.Id == b.Id)
.Run();
After (v6.x):
PromptPlus.Controls.Select<Product>("Product:")
.AddItems(products)
.DefaultMatchBy((a, b) => a.Id == b.Id)
.Run();
OnlyView → ViewOnly// v5.x
.OnlyView(true)
// v6.x
.ViewOnly(true)
DefaultHistory(bool) → UseDefaultHistory()Before (v5.x):
PromptPlus.Controls.Select<string>("Option:")
.AddItems(options)
.EnabledHistory("myhistory")
.DefaultHistory(true)
.Run();
After (v6.x):
PromptPlus.Controls.Select<string>("Option:")
.AddItems(options)
.EnableHistory("myhistory") // also renamed: EnabledHistory → EnableHistory
.UseDefaultHistory() // no parameter — always enables it
.Run();
Filter(FilterMode, bool caseinsensitive) → Filter(FilterMode)// v5.x
.Filter(FilterMode.Contains, false)
// v6.x — the caseinsensitive parameter was removed
.Filter(FilterMode.Contains)
MaxWidth(byte) — removed// v5.x — remove this line during migration
.MaxWidth(60)
DefaultMatchBy, ViewOnly, UseDefaultHistory, and the following async variants are new (v5.x had only the synchronous forms):
PromptPlus.Controls.Select<Product>("Product:")
.AddItems(products)
.ChangeDescriptionAsync(async item =>
{
var details = await LoadDetailsAsync(item.Id);
return details.Description;
})
.PredicateSelectedAsync(async item =>
{
bool active = await CheckStatusAsync(item.Id);
return (active, active ? null : "Inactive item");
})
.Run();
New: ChangeDescriptionAsync · InteractionAsync · TextSelectorAsync · ExtraInfoAsync · PredicateSelectedAsync (x2).
EqualItems → DefaultMatchBy// v5.x
.EqualItems((a, b) => a.Id == b.Id)
// v6.x
.DefaultMatchBy((a, b) => a.Id == b.Id)
OnlyView → ViewOnly// v5.x
.OnlyView(true)
// v6.x
.ViewOnly(true)
DefaultHistory(bool) → UseDefaultHistory()// v5.x
.DefaultHistory(true)
// v6.x
.UseDefaultHistory()
MaxWidth(byte) — removed// v5.x — remove this line during migration
.MaxWidth(60)
HideCountSelected(bool) — removed with no equivalentBefore (v5.x):
PromptPlus.Controls.MultiSelect<string>("Items:")
.AddItems(items)
.HideCountSelected(true)
.Run();
After (v6.x):
// HideCountSelected was removed — the selected count is always shown
PromptPlus.Controls.MultiSelect<string>("Items:")
.AddItems(items)
.Run();
New: DefaultMatchBy · ViewOnly · UseDefaultHistory · TextSelectorAsync · ExtraInfoAsync · ChangeDescriptionAsync · InteractionAsync · PredicateCheckedAsync (x2).
In
MultiSelect<T>, the v5.xPredicateSelected/PredicateSelectedAsyncwere renamed toPredicateChecked/PredicateCheckedAsync.
PromptPlus.Controls.MultiSelect<Product>("Products:")
.AddItems(products)
.TextSelectorAsync(async p => await FormatNameAsync(p))
.ExtraInfoAsync(async p => await FormatPriceAsync(p))
.PredicateCheckedAsync(async item =>
{
bool available = await CheckStockAsync(item.Id);
return (available, available ? null : "Out of stock");
})
.Run();
| Method | v5.x | v6.x | Change |
|---|---|---|---|
EqualItems(Func<T,T,bool>) |
✅ | ❌ | Renamed to DefaultMatchBy |
DefaultMatchBy(Func<T,T,bool>) |
❌ | ✅ | New name |
OnlyView(bool) |
✅ | ❌ | Renamed to ViewOnly |
ViewOnly(bool) |
❌ | ✅ | New name |
DefaultHistory(bool) |
✅ | ❌ | Replaced by UseDefaultHistory() |
UseDefaultHistory() |
❌ | ✅ | New (no parameter) |
MaxWidth(byte) |
✅ | ❌ | Removed |
Filter(FilterMode, bool) |
✅ | ❌ | bool parameter removed |
Filter(FilterMode) |
❌ | ✅ | New |
EnabledHistory(string, Action<IHistoryOptions>?) |
✅ | ❌ | Renamed to EnableHistory |
EnableHistory(string, Action<IHistoryOptions>?) |
❌ | ✅ | New name |
ChangeDescription · Interaction · TextSelector · ExtraInfo · PredicateSelected (x2) · AutoSelect · AddItem · AddItems · AddGroupedItem · AddGroupedItems · AddSeparator · HideTipGroup |
✅ | ✅ | Unchanged |
ChangeDescriptionAsync · InteractionAsync · TextSelectorAsync · ExtraInfoAsync · PredicateSelectedAsync (x2) |
❌ | ✅ | New |
| Method | v5.x | v6.x | Change |
|---|---|---|---|
EqualItems(Func<T,T,bool>) |
✅ | ❌ | Renamed to DefaultMatchBy |
OnlyView(bool) |
✅ | ❌ | Renamed to ViewOnly |
DefaultHistory(bool) |
✅ | ❌ | Replaced by UseDefaultHistory() |
MaxWidth(byte) |
✅ | ❌ | Removed |
HideCountSelected(bool) |
✅ | ❌ | Removed with no equivalent |
Range(int, int?) |
✅ | ✅ | Unchanged |
Filter(FilterMode, bool) |
✅ | ❌ | → Filter(FilterMode) |
PredicateSelected / PredicateSelectedAsync (x2) |
✅ | ❌ | Renamed to PredicateChecked / PredicateCheckedAsync |
EnabledHistory(string, Action<IHistoryOptions>?) |
✅ | ❌ | Renamed to EnableHistory |
EnableHistory(string, Action<IHistoryOptions>?) |
❌ | ✅ | New name |
ChangeDescription · Interaction · TextSelector · ExtraInfo · AddItem · AddItems · AddGroupedItem · AddGroupedItems · AddSeparator · HideTipGroup |
✅ | ✅ | Unchanged |
DefaultMatchBy · ViewOnly · UseDefaultHistory · PredicateChecked · async variants |
❌ | ✅ | New |