Skip to content

Release 1.0.0-preview.5 - #16

Merged
soyeyalon merged 234 commits into
mainfrom
candidate
Nov 12, 2026
Merged

soyeyalon merged 234 commits into
mainfrom
candidate

Conversation

@soyeyalon

Copy link
Copy Markdown
Collaborator

Promotes the candidate 0a3e327, whose full gate passed, as Forma 1.0.0-preview.5: FormaExplorer browses through FormaDataView, which owns its selection, grouping and activation, and opened as a picker keeps its choices across folders; the composer's stored-files dialog browses the host's folders; FormaDialog and FormaDataView hand the focus back in Safari's engine too, and FormaColorPicker holds its color in lowercase there; and the framework's and the components' members and parameters named for a participle, an adjective or a counting plural are named for what they hold, each rename listed in the changelog.

🤖 Generated with Claude Code

browser.ps1 takes -Filter, -Times and -LoadWith as test.ps1 does. Each run
writes its results, and the step ends with each failing check's rate across
the runs; a filter that selects no check is refused before publishing.
adb calls that find the device offline, missing or unauthorized throw
AndroidDeviceUnreachableException, the browser step counts the checks it
interrupted apart from those that failed, and an Android job that fails
describes its emulator.
The nightly run resolves dev to one commit, which every job checks out, and
runs the browser check twice more on Linux and on Windows; every job keeps
its checks' results, the MAUI example's smoke checks among them.
A last job reads every run's results and opens or updates one issue per
failing check, labeled flaky or regression by its rate on the commit; an
unreachable device and a job that failed outside its checks get one each.
BREAKING CHANGE: CatalogHistory is ExplorerHistory, in
Forma.Framework.Explorer.Navigation.
The data view pages and appends a provider's items, and nothing called
the catalog's own fetch of them any longer.

BREAKING CHANGE: CatalogProviderItems is gone; a surface lets
FormaDataView page or append a provider's items, or reads a whole query
with ReadAllAsync.
A grid row's box takes its item's name where the host sets ItemName,
as the boxes of the list, the cards and the tree do, and says
"Select Row" where the host leaves its items unnamed. IDataView
declares NamesItems.
A page's group sizes count the items each group lists, leaving hidden
items out, as every other count of what is listed does.
Every scenario of the data view plan's explorer gate has a test, the
keyboard in a browser in every runtime, so the plan's step 11 is done.
BREAKING CHANGE: framework members and parameters named for a bare
participle or adjective, or for a plural that counts, are named for
the noun they hold; the changelog lists each old name with its new one.
BREAKING CHANGE: FormaCalendar's Months, FormaPagination's TotalItems
and FormaEmojiPicker's Recent and RecentChanged are MonthCount,
TotalItemCount, RecentEmojis and RecentEmojisChanged.
BREAKING CHANGE: the table plugin's options, the table dialog's result
and parameters name their counts as counts, MaxRowCount for MaxRows and
the like, and a composer dialog's Reopening parameter is ReopeningResult.
BREAKING CHANGE: IDataView's AllSelected and PartiallySelected are
IsAllSelected and IsPartiallySelected, DataViewCurrentItemChange's
Previous is PreviousItem, and the selection handlers' parameters name
what they hold.
BREAKING CHANGE: FormaExplorer's Selected and SelectedChanged
parameters are SelectedItems and SelectedItemsChanged.
The full run builds the MAUI example from Forma's packages for iOS and
Mac Catalyst on a hosted Mac carrying Xcode 27, and reports those builds
without holding a release to them.
The data view's loading, counts and refusal are scenarios of the screen
reader check in English and in Hebrew, and the tree's scenarios find
their demos where the tree tab now places them.
The selection script notices the focused element leaving with a render
itself, since WebKit drops such a focus without a focusout, and hands
it back to the item as it did in Chromium.
A dialog closing, or taken away while open, hands the focus to what held
it as the dialog opened, and where that has gone with a menu that
closed, to its nearest ancestor that can take the focus.
The component checks run on the Server in Playwright's WebKit, the
engine of Safari and of Apple's web views, which the browser step
installs, and each check asks only what holds in either engine.
The MAUI example's scene delegate is PlatformScene, registered with iOS
and Mac Catalyst as SceneDelegate, as PlatformApplication is as
AppDelegate, so the analyzers pass on its Apple builds.
@soyeyalon
soyeyalon merged commit 0a3e327 into main Nov 12, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant