Products · API reference

What changed in Dot

What each Dot release changes for building dots, newest first.

Dash API 1.0 is the first stable version of the API a dot is written against. From the beta on, a release adds calls, options, components and fixes, but doesn't remove or rename anything in 1.0. This page lists what each release changes for dot developers, newest first.

To move a dot to a newer release, update @monimesl/dot-runtime and @monimesl/dot-cli together.

1.0.0-beta.10

  • Complete a dot's own colors, gradients and icons from the theme in dot.ts in .dml files, in VS Code.

  • Add hidden to View, which takes it off the screen and keeps what's inside alive, and disabled to View, ListItem, GridItem, Link, Tab, Disclosure and Option.

  • Stop a tap on something disabled reaching a tappable View around it, such as a disabled Button in a card with onTap.

1.0.0-beta.9

  • Refuse dash.payments.request as denied while the dot's payment sheet is open, so a double tap can't stack two sheets.

  • Add id to View and this.captureView(id), which makes a PNG of the View and gives back a DotFile to show or share.

  • Add Pinned, which keeps its children on the top or bottom edge of the screen while the page scrolls, on a bar that reaches past the padding of its View.

  • Add icon to Tab, and a bar variant to Tabs for a page's navigation: tabs share the width equally, with each icon over its label and the count on the icon's corner.

  • Stop a page taking taps while it slides away, including on a Scroll's items and a Carousel's slides.

  • Keep a Pinned or Footer on its edge while a Toast shows, keep a View's children when its direction changes, hide a Scroll's scroll bar on iOS before 18.2, stop a looping Carousel with a bound index sliding back across every slide, and draw the chosen underlined Tab's line at its full 2px.

  • Stop Scroll and Carousel cutting off the shadows of the cards inside them, without moving anything on the page.

  • Stop underlined Tabs scrolling up and down by 1px, which showed a small scrollbar beside them.

1.0.0-beta.8

  • The theme can add the dot's own icons (one-color SVGs in statics/, used by name wherever Dot's icons go) and gradients (for a View's background), give headings their own font and weight, and make all text smaller or larger with textSize.

  • theme.components gives components default props, for every use of a component and for each of its variants, such as { View: { variants: { card: { elevation: 'low' } } } }.

  • The theme can set density (compact, regular or comfortable), which scales the gaps and padding a dot names and a card's own padding, and elevation: 'raised', which gives cards and lists a soft shadow in place of their hairline.

  • More styling without CSS: the theme can set the tone colors (info, success, warning and danger) and a font (system, rounded, serif or mono); a Button takes variant="outline" or "ghost", a tone and a size; and a View takes an elevation.

1.0.0-beta.7

  • A dot can now have 12 reminders still to come at a time, up from 5.

1.0.0-beta.6

  • New Dash calls: dash.reminders.set(reminder), dash.reminders.cancel(key) and dash.reminders.list().

1.0.0-beta.5

  • A payment method's providers are now typed: MomoProvider is m17 (Orange Money) or m18 (Africell Money), and LinkProvider is one of the banks slb001, slb004, slb007, slb009 and slb013. A linked account is now at a bank only, so m17 and m18 are refused for link, and slb009 and slb013 are new.

1.0.0-beta.4

  • A List's size works again: md gives its rows more room and a bigger icon or picture, and sm, the default, keeps today's look.

1.0.0-beta.3

  • Errors from the CLI and the build now say what's wrong, then what to do, such as `width` must be a number, not "wide" and <Text> isn't closed. Add </Text> before the end of the file.

1.0.0-beta.2

  • A payment method's providers is now a plain list of the providers that may pay, such as providers: ['m17'].

1.0.0-beta.1

  • monime dot dev --device no longer puts an address phones can't reach, such as a VPN's, in the live test link.

1.0.0-beta.0

  • Dot 1.0 beta. What a dot builds on is now stable until 2.0:

    • the Dash API 1.0: every dash.* call, with its options, results and error codes;
    • dot.json and its schema;
    • defineDot and definePage.
  • isDashError and instanceof DashError now work after monime dot dev hot-reloads a page.

  • monime dot create --template showcase now declares the payments permission, so its payments page can ask Dash for a payment.

0.1.0-alpha.41

  • Any dot can still be live-tested, published or not, but its payments work only once it's published and dot.json has the ID Monime gave it.

0.1.0-alpha.40

  • dash.payments.request takes an optional financialAccountId, the Space's account the money goes to, such as fac-k6VgVTfSmLruHpiQgMg4DUeySZx.

0.1.0-alpha.38

  • A dot can open 6 dialogs in any 30 seconds, up from 5, and the payment sheet now counts as one.

  • dash.payments.request refuses metadata keys longer than 48 characters, and keys that start with "@", "_" or "monime", which Monime keeps for its own metadata on each payment.

0.1.0-alpha.37

  • Dots can take payments with dash.payments.request({ order, methods }), in Dash API 1.0.

0.1.0-alpha.35

  • A dot can no longer keep the person inside it with dialogs.

  • When a page hides the navigation bar, Dash still shows the dot's icon and its menu button at the top right, so a dot can't pass for Dash.

  • More limits that keep people safe from a harmful dot:

    • A published dot can't reach the phone or its local network, such as a home router.
    • dash.system.dial asks the person before dialling a code with * or #, as codes can send money or change the phone's settings, and rejects with cancelled if they say no.
    • A live test or local build keeps its files, secrets, cache and web data apart from an installed dot with the same package name.
  • Small fixes that keep a dot safer and steadier:

    • Long Markdown in a RichText no longer freezes the page.
    • dash.utils decodes text that isn't valid UTF-8 to "�", as browsers do.
    • When a page closes, a Dash call that one of its actions starts later, such as dash.ui.alert, is cancelled at once, so it can't reach the person.

0.1.0-alpha.30

  • A dot made with monime dot create --template showcase builds again.

0.1.0-alpha.28

  • On iOS, a dot's page now scrolls under the home indicator, while its last item and the content of a Footer or a Sheet stay above it.

Releases not listed here changed nothing for dot developers.

Keep reading