Download Latest Version walkerOS v4.9.0 source code.zip (13.2 MB)
Home / v4.8.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-10-09 11.9 kB
walkerOS v4.8.0 source code.tar.gz 2026-10-09 11.0 MB
walkerOS v4.8.0 source code.zip 2026-10-09 13.0 MB
Totals: 3 Items   24.0 MB 0

Changes

The sessionReplay, experiment and engagement descriptions now say that @amplitude/unified sets up all three plugins on every init and that these settings only pass options to them, and how Session Replay sampling is decided. The step examples name the destination config they rely on, and the login example uses a millisecond timestamp.

Step examples that run with destination settings now name them in their description (settings.identify, settings.consent), because the docs show only an example's event, mapping and output, not the settings it runs with.

The context of getMappingValue now requires collector in its type (Mapping.ValueContext), matching the runtime, which already threw without one.

A failed async cache write no longer escapes as an unhandled rejection on pages that replace the global Promise, and a * * mapping rule's condition runs once per event instead of twice. A transformer with code or package that declares both config.mapping and mapping now gets a warning naming both.

The demo destination's step examples now show the call it really makes: one log call with the [demo] prefix and the event as indented JSON, instead of the event object. The package's docs link now points to the destinations overview instead of a page that does not exist.

format: true now accepts extra keys on user and source (custom user attributes, GA4 transformer fields, a previous validate verdict), as the types always allowed. user.optout is typed as a boolean. Unknown top-level fields and wrong types still fail.

@walkeros/explorer/design/components gains BrowserFrame, a browser window on the site theme around any page: an address field with the URL, an optional reload button, a slot for the caller's actions and an optional bookmarks row that marks the current page. It is sized by its caller and styled by @walkeros/explorer/styles.css. Icon gains lock, reload and bookmark.

New @walkeros/explorer/design/components export with Button, InlineCode and EventLegend, styled by @walkeros/explorer/styles.css. Button forwards tagging attributes to its element and accepts a router link component.

@walkeros/explorer/design/components gains the building blocks of the walkerOS home page: Icon, InstallCommand, Card, Eyebrow, Stat, Text, TextLink, CheckList, SectionHeading, ProblemCard, FeatureItem, FaqItem, PlanCard, CaseCard, HighlightCard, Section, CardGrid, Split, Cluster, Hero, and the three home page demos (HeroTaggingViz, ArticleTeaserTracking, DestinationMappingViz). Every design component forwards tagging attributes to its root.

Explorer components now read the walkerOS design tokens: import @walkeros/explorer/design/tokens.css beside styles.css. The old theme variables (--bg-box, --color-text and the rest) are removed. Code panels are dark in both page themes. Removed exports: lighthouseTheme, registerLighthouseTheme, palenightTheme, registerPalenightTheme, type ExplorerTheme, and registerAllThemes, replaced by registerTheme. ELB_THEME_DARK is now exported.

Explorer now ships the walkerOS design system. Import @walkeros/explorer/design/tokens.css for colour, type, spacing, radius and layer tokens (dark by default, light under data-theme="light"), the opt-in design/base.css, the Tailwind v4 bridge design/tailwind.css, and typed colour and font constants from @walkeros/explorer/design. A walkeros-design-check command lints consuming code. Existing exports are unchanged.

@walkeros/explorer/design/tokens.css now declares every type style as CSS variables: --type-<style>-size, -line-height, -weight, -family and, when the style sets one, -tracking. Components can take sizes and weights from the design system instead of fixed values.

The PromotionPlayground and LiveCode mapping examples show events and results again, and every failure says so in the box it concerns. Preview takes a collector instead of elb and captures the page's events through it; its document carries the design tokens, base rules and design atom styles, so the demo product card is built from Card, PhotoPlaceholder, Text and Button. The Playground drops its separate Code box and the labelCode prop: the Preview's HTML, CSS and JS tabs edit the page. New props: placeholder and error on CodeBox, error on Box, boxWidth on Grid for one row of fixed-width boxes.

Add Playground: a tagged component, its event, an editable mapping and the resulting gtag call side by side, on one real flow (startFlow, the browser source scoped to a shadow root, and the gtag destination with a stubbed gtag). @walkeros/web-destination-gtag is now a runtime dependency.

New ViewSource component: wrap a tagged element, hover it and toggle to its live HTML with the data-elb attributes, edited in place. Back in Visual the element renders your edit and walkerOS picks up the new tags; a Reset icon restores the original. New ToggleButton: one button that names the option a click switches to, at a fixed width.

The warehouse examples of flow-complete.json (Pub/Sub, the warehouse source and the BigQuery row) now carry the customer segment next to ltv, as the events upstream do.

Frames belong to a flow: frame_manage (list, page and get) and the CLI frame reads now take the flowId of the flow they live in. Deleting a flow also deletes its frames. A frame read also returns lastSavedVersion, lastSavedNumber and markupAssetId, so a client can tell whether a frame has changed since it was last saved as a version.

The startCaptureManually description now says that the FullStory script still loads at init and that recording starts once a consent key mapped to capture is granted. The step examples name the consent mapping they rely on.

The Cloud Function and Pub/Sub push handlers now accept the request headers that Express and the Functions Framework pass, where a header value may be undefined. The typed handler from Source.getSource now plugs straight into http() from the Functions Framework or an Express route, without a cast.

The settings schema now lists the GA4 settings scriptSrc and init, so walkeros validate no longer warns about them as unknown properties.

The disablePageviewAutocapture, disableSessionReplay and ingestServer descriptions now say that the classic Heap SDK loaded by loadScript ignores them. The settings schema lists heapConfig for further heap.load() options, and the step examples name the destination config they rely on and the consent methods the classic SDK lacks.

The five event colours (globals, context, entity, property, action) now have a light-theme value that reads as text on light backgrounds. Their constants in @walkeros/explorer/design are now { dark, light } objects, like every other themed colour; read .dark where the colour sits on a dark ground.

The ecommerce step examples are no longer published in the docs, and their descriptions say they are test fixtures. Matomo needs an addEcommerceItem call per product before a cart update, and before an order to record its products, and tracks a product view as setEcommerceView followed by a page view. One rule sends one command.

deploy_manage and flow_manage preview_create take the settings identifier as settingsName. flowName is only a display name in results. Unknown input keys on these two tools are now rejected instead of ignored.

The group setting description now says it is resolved and sent with set_group on every push, not at init. The step examples name the destination config they rely on, the login example uses a millisecond timestamp, and a new example covers the destination-level group.

The identified description and hint now explain why its consent states stay out of config.consent: a destination needs only one granted state there, so a repeated state lets events through on its own, and as the only state it holds events back, so no anonymous hit is sent.

The custom event step example now sends scalar props only. Plausible accepts no arrays or objects as prop values and expects revenue as { currency, amount }, as the purchase example shows.

The capture_heatmaps and capture_exceptions descriptions now say that, when unset, the PostHog project setting decides. The identify and group descriptions say when the calls repeat. The step examples name the destination config they rely on, and the login example uses a millisecond timestamp.

The runner refuses to start when the loaded flow does not match WALKEROS_FLOW_RELEASE (and WALKEROS_FLOW_NAME, when set), so a container never serves an artifact other than the one it was deployed with. Every start logs the loaded flow's name and release.

The consent setting description now says that only mapped keys are forwarded and that no consent context is sent without it. The cdnURL description says the setting is not applied, the identify description says identify repeats on every push while anonymousId is set, and the step examples name the config they rely on.

The ecommerce step examples now test for a product entity without a package helper. The published condition, shown in the docs and returned by package_get, referenced a minified import and threw when copied into a flow; it now runs on its own.

Highlight colours now follow the walkerOS design system. Outlines on the story canvas, the highlight buttons and the attribute badges use the same event colours as the rest of walkerOS, and every outline carries a thin dark edge so it stays readable on light and dark stories.

The walkerOS panel takes its text sizes from the Storybook theme, so labels, highlight buttons and attribute badges match the rest of the Storybook UI.

Published Packages

Source: README.md, updated 2026-10-09