# What changed in Dot (/docs/products/dash-dots/reference/changelog)

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.
