== Changelog ==

The full history. The current release is also in readme.txt, which the
WordPress.org handbook asks to keep short.

= 1.0.28 =

Stops you switching on a card that would do nothing.

**Enhancements**

* A card can no longer be switched on while your own profile has no mobile number, or has one the plugin cannot use. The reason sits at the top of the Integrations tab and links straight to the field, instead of leaving you to find out later that nothing was sent.

**Other**

* Every warning that mentions your profile is now a link to it, so you are not sent hunting through the dashboard.

= 1.0.27 =

Sends each channel the number in the shape it actually accepts.

**Bugfixes**

* Fixes WhatsApp, voice calls, Telegram, Bale and Safir refusing to deliver. Those channels want the number with its plus and country code, and the plugin was sending it without. Numbers are now kept that way too, so what you see stored is what goes out.

**Other**

* SMS still goes out in the Iranian form, starting with a zero, because that is what the gateway takes there today.

= 1.0.26 =

Settles on one mobile number format, and says why a login code could not be sent.

**Enhancements**

* Every mobile number is now written the same way wherever it is asked for: a plus, then the country code, like +989121234567 or +96891234567. A number entered without one is refused where it is typed, and the field shows the standard form back to you. This ends numbers that worked under one region and quietly stopped under another.

**Bugfixes**

* A number typed as 09121234567 on a site set to Iran is still understood and is stored with its country code, so it keeps working if the region ever changes.

**Other**

* When a login code cannot be sent, an administrator now sees what the gateway said rather than only that it failed.

= 1.0.25 =

Finishes the lockout fix that 1.0.24 only half closed.

**Bugfixes**

* Fixes a sign-in still being refused when the code could not reach you. A mobile number written in Iranian form, like 09121234567, lost its leading zero outside Iran and became a number with no country code that nothing could deliver to — so the message never arrived and the login was refused with it. Such a number is now refused where it is entered, with the shape to use instead, and a sign-in is never taken apart for a code that cannot be sent.

**Other**

* The message about a number the plugin cannot deliver to now says how the number should be written.

= 1.0.24 =

Fixes a lockout, and makes three things on screen clearer.

**Bugfixes**

* Fixes being locked out of your own site. With the region set somewhere the two-step login's channel cannot reach — the Gulf, which does not offer SMS — every login code was refused before it left, and the sign-in was refused with it. The only ways back in were editing wp-config.php or switching the plugin off. The second step now stands down instead, sign-ins work as normal, and the card on the Integrations tab says why.

**Other**

* The refund and privacy links on the Credit tab now open the plugin's own site instead of the seller's.
* Puts the converted dollar and euro amounts on the Credit tab in bold, so they stand out from the rest of the line.
* A login code's expiry now names the clock it is on, for example "Valid until 14:32 (Tehran)", and so does the time on an event alert.

= 1.0.23 =

Puts the Credit tab on the right money for the region it is set to.

**Enhancements**

* Top-up amounts now follow the region. An account set to the Gulf is offered 5, 10, 20 and 50 Omani rial, with 5 as the smallest, instead of the Iranian figures it was shown before.
* Shows what an amount is worth in US dollars and euros while you type it, so a currency you do not think in still tells you something. The dollar figure is exact, because the Omani rial is pegged to it; the euro figure is approximate and says which day its rate is from.

= 1.0.22 =

Puts the two Gulf payment gateways on screen, ahead of them going live.

**Enhancements**

* Adds Paymob and Thawani to the Credit tab for accounts set to the Gulf region, with Thawani's own mark. Both are shown greyed out and cannot be chosen: they switch on once DiceX accepts them.

= 1.0.21 =

Adds the terms that cover a top-up paid for outside Iran.

**Enhancements**

* Shows the seven-day money-back guarantee on the Credit tab before you pay, along with the refund terms, what happens to your details, and who the seller is. It appears on every dashboard that is not in Persian, and links to both full policies.

= 1.0.20 =

A small fix on the Sender lines screen.

**Bugfixes**

* The test box now keeps up with the table. Choosing a line updated the list of lines in use but left the test box naming the old state until the page was reloaded.

= 1.0.19 =

A housekeeping release that changes how the plugin is listed, not what it does.

**Other**

* Adds a link to the plugin's own site in the plugin header, so it shows on the plugin page and on the Plugins screen.
* Changes the terms the plugin is filed under in the directory, so it turns up for people looking for one-time codes, two-step login and WhatsApp.

= 1.0.18 =

Corrects which channels can send without a line of their own, and adds two things people asked for.

**Enhancements**

* Adds a note on the Credit tab for anyone holding a discount coupon, which has to be spent in the DiceX panel rather than here.
* Adds a link to the plugin's own page on the Getting started tab.

**Bugfixes**

* Only SMS, voice calls and Safir can send on the DiceX shared line. WhatsApp, Telegram Bot and Bale Bot need a line activated on your own DiceX account, and the Sender lines tab now says which channels are ready and which are still waiting for a line, instead of promising a default for all six.

= 1.0.17 =

A wording fix, ahead of the first release on the WordPress.org plugin directory.

**Bugfixes**

* Corrects the description at the top of the Integrations tab, which said switching a card on opens its settings. Every card's settings are always visible; switching the card on is what makes them editable.

= 1.0.16 =

A channel with no sender line of its own now sends on your account's default line, which is what DiceX does with it anyway.

**Enhancements**

* Channels you have not chosen a line for send on your account's default line for that channel. The Sender lines tab says so, and shows Account default against any channel you have left unset.
* The test send now works without choosing a line, so you can see what your account's default actually does.

**Bugfixes**

* The plugin no longer refuses to send when no line is chosen.

**Other**

* Rewrites the release notes to say what changed rather than how it was done.

= 1.0.15 =

**Bugfixes**

* Fixes the resend line on the two-step login screen, which could run past its panel and did not name the channel the next code would use.

= 1.0.14 =

**Bugfixes**

* Fixes the layout of the two-step login screen: the countdown no longer overflows, and the confirm button sits centred with room above it.
* The countdowns and the channel name are now bold, so they are easier to find.

= 1.0.13 =

**Enhancements**

* Adds a setting for the language of the words the plugin puts into a message, such as when a code expires or when an event happened. Your own message templates are untouched. Useful when the people receiving your messages do not read the language of your dashboard.

**Bugfixes**

* Fixes spacing and alignment on the two-step login screen.

= 1.0.12 =

This release gives you control over the login code and the voice call, and puts more useful detail into the messages that go out.

**Enhancements**

* Adds a setting for the length of the two-step login code, from four to eight digits.
* Adds a setting for the language a voice call speaks. Arabic and German are listed and turn on by themselves once DiceX supports them.
* A login code now says when it expires, and an alert says when the event happened. Both can be switched off, since on a Persian SMS an extra line can cost a second message.
* Getting started now shows the installed version and what changed in recent releases.
* Channels and integration cards now show their own logos.

**Other**

* Moves the release history to changelog.txt, as the WordPress.org handbook recommends.

= 1.0.11 =

**Bugfixes**

* Fixes the DiceX icon in the admin menu, which was drawing at full size and covering the menu items below it.

= 1.0.10 =

**Bugfixes**

* Fixes the alignment of the text under the buttons on the Getting started tab.

= 1.0.9 =

**Enhancements**

* Asking for a new login code now tries the next channel rather than repeating the one that did not reach you.
* A voice call now says so on the code screen, instead of asking you to look for a message.

= 1.0.8 =

**Bugfixes**

* Fixes two broken images introduced in 1.0.7.

= 1.0.7 =

**Other**

* Updates the admin menu icon to the DiceX brand mark.

= 1.0.6 =

**Enhancements**

* The two-step login screen now names the channel the code was sent through. A card tries its channels in order, so the code does not always arrive by SMS.

= 1.0.5 =

Translations now come from the WordPress community rather than being bundled with the plugin.

**Enhancements**

* The plugin's screens follow your WordPress language, and the Connection tab shows which language is in use and where to change it.
* Translations come from translate.wordpress.org, so the plugin can appear in any language the community has translated, and new translations reach existing sites on their own.

**Other**

* Removes the separate "Plugin language" setting, which did the same job WordPress already does.

= 1.0.4 =

**Other**

* Updates the admin menu icon to match the DiceX brand mark.

= 1.0.3 =

**Enhancements**

* Bundles the Vazirmatn font and uses it on the plugin's screens, so Persian is readable without depending on the fonts installed on the reader's machine. It is served from the plugin; no font service is contacted.

= 1.0.2 =

**Other**

* Code documentation for the WordPress.org review.

= 1.0.1 =

**Other**

* Renames the plugin's classes to carry the full Dicex_Connect_ prefix, as the Plugin Review Team asks.
* Annotations for the WordPress.org review.

= 1.0.0 =

First release submitted to the WordPress.org plugin directory.

**Enhancements**

* The External services section now names every DiceX address the plugin contacts or links to, what leaves your site and when.

**Other**

* Renames the plugin to DiceX Connect, so the name, the folder and the text domain agree.
* Uninstalling now also removes the mobile numbers stored on user profiles.

= 0.20.0 =

**Enhancements**

* Adds WhatsApp and Telegram to the GCC and Europe regions. SMS and voice remain available in Iran only.
* Phone numbers now follow the region. Iran keeps the form it has always used; other regions expect the country code, in any of the usual ways of writing it.
* The profile field, the admin numbers box and the error messages now show the number format the region actually wants.

**Bugfixes**

* A number the plugin cannot understand is now refused before it is sent, rather than reaching the gateway mangled.

= 0.19.0 =

The plugin now knows where your DiceX account operates, and offers only what is available there.

**Enhancements**

* Adds a region setting on the Connection tab — Iran, GCC, Europe or the United States. Existing sites are set to Iran and behave exactly as before.
* Channels the region does not cover are refused when a message is sent, not merely hidden.
* Payment gateways follow the region, and a region with nothing available says so rather than billing through the wrong bank.
* Amounts and the account balance now use the currency of the region.

**Other**

* Nothing about the region is sent to DiceX. It only decides what the plugin offers you.

= 0.18.0 =

**Enhancements**

* The DiceX menu now opens on Getting started. Every other tab keeps its own address.
* The two-step login card carries the DiceX mark, and any card can now show a logo.

**Bugfixes**

* Fixes the icons and layout on the Getting started tab.

**Other**

* Removes two duplicated links, which now live on Getting started only.

= 0.17.1 =

**Enhancements**

* The payment gateways now show their own logos, aligned with each other.

= 0.17.0 =

**Enhancements**

* Online top-up now asks which bank to pay through: Saman, Sepehr, or credit payment with Digipay. Saman is chosen for you.
* A bank logo dropped into the plugin's gateways folder is shown automatically; without one the bank name is shown.

**Bugfixes**

* Sends the payment provider the gateway now expects, so an unrecognised choice can no longer become a refused payment.

= 0.16.0 =

**Enhancements**

* Adds a Getting started tab: what DiceX is, what the plugin does with it, and the two ways forward. There is a Getting started link on the Plugins screen, and no activation redirect or dashboard notice.
* Renames Bale and Telegram to Bale Bot and Telegram Bot, the names the DiceX panel uses.

**Bugfixes**

* Fixes the spacing of the SMS field on the Sender lines tab.
* Corrects the link to the DiceX panel.

= 0.15.3 =

**Bugfixes**

* Fixes the Persian translation, which never loaded on any site — every screen fell back to English.
* Fixes the spacing of the SMS label on the Sender lines tab.

**Other**

* Messages are now signed "DiceX WP" by default rather than the WordPress site title. The Connection tab still overrides it.

= 0.15.2 =

**Enhancements**

* Adds a setting for the name used in messages, so the {site_name} tag no longer has to be your WordPress site title.

**Bugfixes**

* Choosing Persian turned the screens round but left the labels in English. Fixed.
* Fixes an alert that read "1 failed logins in a row" after a single attempt.
* Fixes the position of the SMS label, and of labels generally when the plugin is set to Persian on an English WordPress.

= 0.15.1 =

**Other**

* The admin menu now carries the DiceX mark.

= 0.15.0 =

Top-up is fixed, and the settings screens have been tidied.

**Enhancements**

* Adds quick top-up amounts starting at the smallest the gateway accepts, with a box for any other amount. An amount below the minimum is refused straight away.
* Adds a top-up button beside the credit shown on the Connection tab.
* Sender lines are one table again, with a tick against every channel that has a line.
* Rounds the corners of fields and buttons across the plugin, and gives each settings tab its own icon.

**Bugfixes**

* Fixes online top-up, which reported an error no matter what happened. A refused top-up now shows what the gateway said.

= 0.14.1 =

**Enhancements**

* The failed-login warning now sends after a number of attempts you choose, including every attempt. It was fixed at five.
* Each counted attempt is written to the log, so it is clear the counter is working before the warning is due.

= 0.14.0 =

Cards can now try more than one channel.

**Enhancements**

* Each card sends over a list of channels rather than one. Drag them into the order you want, and if the first does not get through the next is tried.
* The log names each channel that was skipped and which one was tried next.

**Other**

* Cards saved before this release keep working; their single channel becomes a list of one.

= 0.13.0 =

**Enhancements**

* The code screen now counts down how long the code is good for.
* You can ask for a new code without starting the sign-in again — up to three per sign-in, one a minute.
* Switching the two-step login card on now tells you straight away if it cannot work yet.

= 0.12.1 =

**Bugfixes**

* A mobile number the plugin cannot use was accepted by the profile form and then discarded. WordPress now refuses the save and says why.
* The two-step login card now says when it is switched on but cannot do anything.

= 0.12.0 =

**Enhancements**

* Adds the Digits integration: switch the card on, choose DiceX in Digits' own gateway settings, and every code Digits sends goes out over DiceX. Digits keeps control of the wording and the recipient.

= 0.11.0 =

The plugin is now written in English with a Persian translation, rather than written in Persian.

**Other**

* Nothing changes for a Persian site. Translators of every other language now work from an English original, which is what translate.wordpress.org expects.

**Bugfixes**

* The account credit was always shown in Persian digits and rials whatever the site language. It now follows the site.

= 0.10.0 =

Two-step login over SMS, with no other plugin needed.

**Enhancements**

* Choose on the card: a code after the password, a code instead of the password, or both offered on the login page.
* The second step applies to any user with a mobile number on their profile. Anyone without one signs in exactly as before, so turning it on cannot lock a site's users out.
* Codes are six digits, stored only as a hash, valid for two minutes, dead after five wrong guesses and limited to one a minute.
* If a code cannot be sent the login is refused rather than allowed through. A setting in wp-config.php stands the whole module down if you are ever locked out.

= 0.9.0 =

**Enhancements**

* Ships a translation template, so the plugin can be translated into any language.
* Rewritten listing page, including an External services section stating exactly what is sent to DiceX and when.

**Other**

* Renames the plugin on the directory listing so the name says what it does. Your saved data is untouched.

= 0.8.0 =

Security alerts, built on WordPress's own hooks rather than on any security plugin.

**Enhancements**

* Alerts for repeated failed logins, an administrator signing in, a new user registering, and a password reset. Each can be switched on separately.
* Failed logins alert once per address every fifteen minutes, so a brute-force run cannot become a flood of messages.
* Sites behind a CDN or reverse proxy can supply the real visitor address through a filter.

= 0.7.0 =

Form integrations are live.

**Enhancements**

* Adds WPForms, Contact Form 7 and Gravity Forms: a successful submission messages the admins, the person who submitted the form, or both.
* The submitter's number is found automatically among the submitted fields, on any form, with no mapping to configure.
* Spam entries in Gravity Forms no longer trigger a message.

**Bugfixes**

* Phone numbers written with Persian or Arabic-Indic digits are now understood instead of being discarded.
* Numbers written with a leading 0098 are now understood.

= 0.6.0 =

WooCommerce integration is live.

**Enhancements**

* Switch the card on and DiceX messages the admins, the customer, or both whenever an order changes status. Choose which statuses send; processing and completed are ticked by default.
* Declares compatibility with WooCommerce High-Performance Order Storage.

= 0.5.0 =

**Enhancements**

* Adds the Integrations tab: every plugin DiceX can notify on has a card with a switch, its own channel, its own recipients and its own message.
* Recipients can be a shared list of admin numbers, WordPress administrators who filled in the new profile field, or the customer the event is about.
* A card whose plugin is not installed is shown greyed out rather than hidden, so it is clear what is possible once that plugin is added.

= 0.4.0 =

**Other**

* Renames the plugin to DiceX Connect. The previous name could not have been published, as WordPress.org does not allow "WordPress" or "WP" in a plugin name or slug.
* Your API key, lines and logs are carried over automatically the first time the renamed plugin is activated.

= 0.3.4 =

**Enhancements**

* Telegram, Bale and Safir can now be sent through, not just configured.
* The test-send box lists every channel your account actually has, and labels any channel that has no line yet.

= 0.3.3 =

**Enhancements**

* Rebuilds the Sender lines tab: pick a network, pick one of its lines, and it is stored straight away.
* Telegram, Bale and Safir now have real line lists.

**Bugfixes**

* Fixes the social line lists, which were always empty.

= 0.3.2 =

**Bugfixes**

* The line picked on the Lines tab is now saved as soon as it changes, so a test send can no longer use a stale line.
* A gateway response reporting a failure while returning a success status is now treated as a failure.

**Other**

* The log now records the line number, send type and status for every send, so a rejection can be traced to the line used.

= 0.1.0 =

First working version: API key connection and verification, per-channel line selection, credit balance, a test-send tool and a debug log.
