# Andromeda

## 1.0 Andromeda   |   *22 June 2018*

### Major Changes

* **Upgraded Minimum API** from 14 (*Android 4.0*) **to 16** (*Android 4.1*)
* Added ***Copy Screen*****&#x20;feature**
  * Added *Import Screen (.AIS)* and *Export Screen (.AIS)*
* Added **British English** and **Portuguese** languages
* Added a nice **Welcome Email**  for new users
* Upgraded **Google Login system**
  * *Say bye to that ugly Google Login, and say hello to OAuth2*&#x20;
* Implemented **Email & Password login** system
  * *Welcome China users! You can now use* [*Makeroid*](https://www.makeroid.io/) *without a VPN*
* Implemented **Runtime Permission** system
  * Watch [this video](https://youtu.be/dTJe8o9vhR4) to see what is this
* &#x20;Upgraded **Target SDK to API 27** (*Android 8.1*)
  * *This warning will **NOT** appear again*:\
    [![image](https://community.makeroid.io/uploads/default/optimized/2X/e/eddcf2e4c40b6f227d8d6277bf5c757a953b447c_1_690x151.png)](https://community.makeroid.io/uploads/default/original/2X/e/eddcf2e4c40b6f227d8d6277bf5c757a953b447c.png)
  * [*Makeroid*](https://www.makeroid.io/) *is the first* [*builder*](http://builder.makeroid.io/) *on implementing a **real** Target SDK 27, as it’s required to have runtime permissions as we use now*
* **Improved server perfomance**
  * *See “Servers” section*
* Added **fancy error pages** when 5xx error appears
* **Changed Default Package Name**
  * Changed from `com.makeroid.email.app` to **`io.makeroid.email.app`**
  * *This only applies to new apps. Old created apps will still have the old format*
* **Removed 10MB app limit**
  * Testing showed that now the limit is on 20MB
* **Removed** [**black SplashScreen**](https://community.makeroid.io/t/splashscreen-when-loading-app/1062?u=barreeeiroo)
  * You can now even set *your own image*!
* **Added new blocks**
  * *“**Break**” block* will allow you to stop loops
  * *“**Wait for milliseconds**” block* will allow you to stop the execution of your code X milliseconds
* You can now **delete a single&#x20;*****block*****/*****group of blocks*** from the *Backpack*
* Added abilty to **move blocks with arrow keys** on *Blocks Editor*
* **General Data Protection Regulation**:
  * Added to *AdMob components new dialog asking for consent* for EU users to show customized ads
  * Added *warning when dropping AdMob components* to phone

### New Services

* [**Makeroid Account**](https://community.makeroid.io/t/makeroid-account/5035?u=barreeeiroo)\
  Centralized login system for all Makeroid Services and control panel for your data
* [**Makeroid IDE**](https://community.makeroid.io/t/makeroid-extensions-ide/5033?u=barreeeiroo)\
  Build Makeroid Extensions online without installing any external software
* [**Makeroid Store**](https://community.makeroid.io/t/makeroid-store/5034?u=barreeeiroo)\
  New online Store developed by Makeroid to share Apps, AIAs, Screens and Extensions

### Servers

* **AppEngine instance uses now better servers** so lag should have been reduced
* **Three compilers will now be processing app builds**:
  * Dedicated VPS Cloud servers with *2 CPUs* up to *3.1GHz*, *4GB of RAM* and *100MB/s of*\
    *minimum bandwidth*
  * In front of all of them there is a dedicated *load balancer* in ArubaCloud redirecting requests to reduce their loads
    * *This allows us to create new compilers without having to stop our service or build requests*
    * *It will also automatically stop forwarding traffic to compilers that are down until they are fixed*
* Thanks to [**our partner ArubaCloud**](https://community.makeroid.io/t/makeroid-arubacloud/4653?u=barreeeiroo)**,** [Makeroid](https://www.makeroid.io/) Servers are much powerful now

### Companion

* Changed **Companio**n **design**
  * *Now it’s much more simple, clean and useful*
* Changed **Companion Package Name** to **`io.makeroid.companion`**
  * *Previously `com.makeroid.companion`*
* Companion is now only compatible with **Android 5.0 or higher**
* Implemented *some* **translations** on Companion

### UI Changes

* **Mock-Phone Preview**: *This means that these settings, when changed, will be now updated on the phone preview*
  * Show/Hide *Navigation Bar*
  * Show/Hide *Status Bar*
  * Show/Hide *Title Bar*
  * Show/Hide *3 Dots*
  * Color of *Navigation Bar*
  * Color of *TitleBar Text*
  * Text of *TitleBar Subtitle*
  * Properties of *Radio Button*
  * Clickable property of *any Layout*
* **COMPLETLY REDESIGNED** [**MAKEROID**](https://www.makeroid.io/) **UI**
  * [Makeroid](https://www.makeroid.io/) wants to be unique, *so our amazing designer* [*@Vishwas*](https://community.makeroid.io/u/vishwas) *implemented the official Material Design into* [*Makeroid*](https://www.makeroid.io/) *Builder*
  * Now it is much clean and simple:
    * **Added a SearchBox** in Palette
    * **Moved properties to hidden panel**, so if you want to show them just click on the name of a Component
    * **Added categories to properties** for a better sorting
  * *And, yeah, you are right.* [*All SneakPeeks*](https://community.makeroid.io/t/makeroid-release-sneakpeeks/5470?u=barreeeiroo) *were “fake”*\
    \&#xNAN;*We’ve used the old design in the SneakPeeks because we didn’t want to leak anything releated with it*
* **Redesigned&#x20;*****Building Project*** dialog
  * Added *Hide Dialog* button
* **Non-Visible components names are now visible** below Mock-Phone
* Increased **SplashScreen height**
* **Added country flags next to their respective languages** on Language Selector
* **Fixed Dark Theme**

### Bugs Fixed

* **Fixed Layouts** issues
  * *Layouts were always clickable*
  * *Extensions that were depending on Layouts weren’t working properly*
* **Fixed TitleBar Tabs** issue *which made them to have the previous color when TitleBar Color was changed*
* **Fixed ListView** *NullPointerException on some devices*
* **Fixed Show/Hide Navigation Bar** not working *in some devices*
* **Fixed “reset” Screen** bug *on Orientation Change*
* **Fixed Logout** issue *which was logging out from ALL Google Accounts*
* **Fixed Color for StatusBar and TitleBar** issue
* **Fixed TopBar buttons** issue *which was overriding the created tab*
* **Fixed blocks** getting stacked *on top of eachother*
* **Fixed Blockly Translations** issue
* **Fixed Custom Package Name**
  * Now [*this Tutorial*](https://community.makeroid.io/t/how-to-use-the-custom-packagename/1547?u=barreeeiroo) is no longer required!
* **Fixed Tablet-Mode bug** causing *strange behaiours on refreshing*

### New Components

* &#x20;Added new **Bottom Sheet** component to *User Interface category*
* Added new **Circular Progress** component to *User Interface category*
* &#x20;Added new **Linear Progress** component to *User Interface category*
* &#x20;Added new **Snack Bar** component to *User Interface category*
* Added new **View Flipper** component to *User Interface category*
* &#x20;Added new **Card View** component to *Layout category*
* Added new **ExoPlayer** component to *Media category*
* Added new **Maps** components to **new** *Maps category*
  * Thanks to *MIT App Inventor Team*
* &#x20;Added new **Dynamic Button** component to **new** *Dynamic category*
* &#x20;Added new **Dynamic Label** component to **new** *Dynamic category*
* &#x20;Added new **Dynamic TextBox** component to **new** *Dynamic category*
* &#x20;Added new **Amazon Ads** components to *Monetization category*
  * Thanks to *AppyBuilder Team*
    * **Amazon Banner**
    * **Amazon Interstitial**
* &#x20;Added new **Facebook Ads** components to *Monetization category*
  * **Facebook Banner**
  * **Facebook Interstitial**
* Added new **Shell** component to *Experimental category*
* *Renamed* Google Map *to* **Google Maps**
* *Moved* Surface View *to* **Layout Category**

### App Features

* **Side Menu**\
  \&#xNAN;*This new feature allows you to create professional side menus from blocks. You will just need to design inside a Vertical Layout what you want, and then call it from blocks*\
  Download [this APK](https://community.makeroid.io/uploads/default/original/2X/a/a114acf6b450effadda6dfda45740c99f7a419eb.apk) for a demo, or read [this tutorial](https://community.makeroid.io/t/side-menu-tutorial/5613?u=barreeeiroo) to see how to create one
  * Functions:
    * `SideMenu` - *Creates a Side Menu with the give Layout*\
      ![image](https://community.makeroid.io/uploads/default/original/2X/0/03a9d1fd4020c6b3f87423307d5d8859faa10fdc.png)\
      &#x20;
    * `Side Menu Open` - *Opens the Side Menu*\
      ![image](https://community.makeroid.io/uploads/default/original/2X/c/c78b53aabe7a3dadd0c0760d23293a814aa2aa8e.png)\
      &#x20;
    * `Side Menu Close` - *Closes the Side Menu*\
      ![image](https://community.makeroid.io/uploads/default/original/2X/a/a7ee47678b5ac3b3020c4340428592370fecc66d.png)\
      &#x20;
  * Properties:
    * `Is Side Menu Open` - *Returns true if the Side Menu is open*\
      ![image](https://community.makeroid.io/uploads/default/original/2X/6/6c27dae8b5b4fc6daecaf5036114b793e414fe99.png)\
      &#x20;
  * Events:
    * `Side Menu Opened` - *Triggered when the Side Menu is opened*\
      ![image](https://community.makeroid.io/uploads/default/original/2X/8/8df738dbf82e4feb0d0cde30357230d157cbc8a3.png)\
      &#x20;
    * `Side Menu Closed` - *Triggered when the Side Menu is closed*\
      ![image](https://community.makeroid.io/uploads/default/original/2X/c/cbe0978f6f15add302c89f5361c856f47cf99536.png)\
      &#x20;
  * *This feature is not fully compatible with the **Companion** and it can make it to crash*
* **Splash Screen**\
  \&#xNAN;*Based from* [*this suggestion*](https://community.makeroid.io/t/splashscreen-when-loading-app/1062?u=barreeeiroo)*,* [*Makeroid*](https://www.makeroid.io/) *has removed the black screen that appeard when app is loading*\
  \&#xNAN;*Also, we have added some options for it if users wants to customize it more*
  * `Splash Enabled`: If selected, the app will remove the black screen\
    ![image](https://community.makeroid.io/uploads/default/original/2X/4/43cf4bea0a99a3f6a711078b5023dd9535573524.png)\
    &#x20;
  * `Splash Image` (*Available when Splash Enabled checked*): If set, the app will show this image instead of the black image\
    ![image](https://community.makeroid.io/uploads/default/original/2X/6/602dba94ab80d68fb6f17ae57696bae9ee011d2d.png)\
    &#x20;
* **New Functions:**
  * `Add Menu Item with Icon`: Adds an item to the menu but with an image\
    ![image](https://community.makeroid.io/uploads/default/original/2X/d/d347151f96c406d85491fac77a4de154bcd20608.png)\
    &#x20;
* **New Properties:**
  * `About Screen Background Color`: Sets the background color of the About Screen\
    ![image](https://community.makeroid.io/uploads/default/original/2X/b/b85dbe2c406e920d0d6da72b3d3719d077a77053.png)\
    &#x20;
  * `Accent Color`: Sets the Accent Color of the App\
    ![image](https://community.makeroid.io/uploads/default/original/2X/8/8e19fa18482fce36ab6fb17c579eeb4655b581fa.png)\
    &#x20;
  * `Primary Color / Title Bar Color`: Sets the Primary Color of the App, *which is the Title Bar Color if not set*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/4/4d5f36289c014897e6c44204b4c0886deea66261.png)\
    &#x20;
  * `Primary Color Dark / Status Bar Color`: Sets the Primary Dark Color of the app, *which is the Status Bar Color if not set*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/7/74326a875f317c711b54dac4a5c54bdd78a68b38.png)\
    &#x20;
  * `Screen Orientation`: Added *Behind*, *Full Sensor*, *No Sensor*, *Reverse*, *Landscape*, *Reverse Portrait*, *Sensor Landscape* and *Sensor Portrait*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/b/b450680acf5c66503f217002d21a2b37e162739e.png)\
    &#x20;
  * `Theme`: Sets the theme for the app between *Default*, *Light Theme* or *Dark Theme*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/8/8727043351b6deb51af3afee99daa5320b9a5fed.png)

### New Events

* **Notifier** component
  * `Custom Dialog Selection`: triggered after selecting a *Custom Dialog*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/f/f7fb8f341cd6faba1f4e7b3f96ce4d25c8753ef0.png)
* **Web Viewer** component
  * `Web View String Change`: triggered after the *WebViewerString changes*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/2/2561438d7ce482fc05f37fc531e078fe86c8de57.png)
* **File** component
  * `After Zip`: triggered after successful *Zip*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/2/219f98ebf612379e9f214620eb0c38a47a65c647.png)\
    &#x20;
  * `After Unzip`: triggered after successful *Unzip*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/5/5110028128128b71fcebbeb5196ee10f141d6444.png)\
    &#x20;
  * `On Zip Failure`: triggered when an error occurrs in *Zip* or *Unzip*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/b/b6673c2fbd3816ad44d78be324f6afb4cfe39c9c.png)

### New Functions

* **Button** component
  * `Set Shadow`: sets a shadow for the *Button*\
    Thanks to *AppyBuilder Team*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/9/980f99e223cdbcbf1cb723d208efd9377b3d542f.png)
* **Checkbox** component
  * `Set Shadow`: sets a shadow for the *Checkbox*\
    Thanks to *AppyBuilder Team*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/b/b86d9b8b36146f1bb93f7b340a25de3789cd9601.png)
* **Image** component
  * `Clear Image Tint Color`: cleans the Tint Color set for the *Image*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/1/17d490594a98ae02cab155ee1c19cf3c12ce766a.png)
* **Notifier** component
  * `Create Custom Dialog`: creates a *Custom Dialog* from the given component (removes it from the Screen and places in the *Custom Dialog*)\
    ![image](https://community.makeroid.io/uploads/default/original/2X/0/09958b624d337089ba3468ee229eae20b1f20728.png)\
    &#x20;
  * `Show Custom Dialog`: shows a *Custom Dialog*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/7/7feed68d54148fa556f80ae85b13c3ec58e6bffa.png)
* **Textbox** component
  * `Set Shadow`: sets a shadow for the *Textbox*\
    Thanks to *AppyBuilder Team*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/7/719398e4f67d5ebed736bac0de1686d8f5aa1115.png)
* **Canvas** component
  * `DrawArc`: generates an *Arc* with the given params\
    ![image](https://community.makeroid.io/uploads/default/original/2X/a/a01399cbd6c26a7157ab29e9b56ebca3e46d1043.png)\
    &#x20;
  * `DrawShape`: generates a *Shape* with the given points from a list\
    ![image](https://community.makeroid.io/uploads/default/original/2X/e/ecbe3f8cc5df1a83f244d363f24f7015161a1e72.png)
* **File** component
  * `Zip`: zips a given folder in the given path, with an *optional password*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/5/591464829b7e6bd31ad2a751154b24f11e9d8d30.png)\
    &#x20;
  * `Unzip`: unzips a given file in the given folder, with an *optioanl password if set*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/5/5582f80ef1a54b678e1273cf55aea8596aad786a.png)
* **Device Tools** component
  * `Copy`: copies the given text to the *clipboard*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/1/1644eddb206c43edac933f214768023ab8509ff4.png)\
    &#x20;
  * `Parse`: parsers the given string with *between a start and an end*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/e/e99f7a72effb6319826537c9ef1a9eed8f08a780.png)\
    &#x20;
  * `Paste`: pastes the *copied text*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/1/122b0312df4865525da6dc6d0c6262f487cbe6fa.png)
* **Web** component
  * `URI Decode`: decodes the given *URI Encoded text*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/6/6f8f9fab95f6a4ea2c722f39a9e63694b59ef69f.png)
* **WiFi** component
  * `Mac Address`: returns the *MAC Address* of the device\
    ![image](https://community.makeroid.io/uploads/default/original/2X/b/b55056cab95c899a500db54c8c6c310f08064eae.png)

### New Properties

* **Button** component
  * `Rotation Angle`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/0/02cefc26ad79fe12dad9bde2191d76494bea9dcf.png)
* **Image** component
  * `Clickable`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/f/fd03ea8191bc60553dbd7292bcf904f57dac001e.png)\
    &#x20;
  * `Image Tint Color` *Customizable from Blocks*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/c/cd95867255eb573c93684d6312f2bd2c7b4c1d77.png)
* **ListPicker** component
  * `Title Visible`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/c/c05e8e75a10326b16149889ddfbe4e16975a9c44.png)
* **Notifier** component
  * `Dim Amount`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/d/da471c2efd29d824da6786fa097bb18399e247ec.png)\
    &#x20;
  * `Use Background Color`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/0/0a1ec81dd4ad8eb4add11c462ced680a5d5318be.png)
* **Slider** component
  * `Rotation Angle`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/0/02cefc26ad79fe12dad9bde2191d76494bea9dcf.png)
* **TextBox** component
  * `Rotation Angle`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/0/02cefc26ad79fe12dad9bde2191d76494bea9dcf.png)
* **Layout** components
  * `Clickable`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/f/fd03ea8191bc60553dbd7292bcf904f57dac001e.png)\
    &#x20;
  * `Use Round Card`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/8/86c1efd75a970b14fe878ce37aad6476065f548e.png)
* **OCR** component
  * `Language`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/a/a88191021f8048613dc1f213147586e1b46af798.png)
* **EmailPicker** component
  * `Cursor Color`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/6/6291d6b5123b7ef9c0c82a6f04e1ceceb06ee50c.png)\
    &#x20;
  * `Line Color`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/3/361c9a65a19a3bdabfed5062efabde1ffb73699b.png)
* **FusionTables** component
  * `Loading Dialog Message`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/5/5b2e274b0d2556497076f397abc0fad89eb18be9.png)\
    &#x20;
  * `Show Loading Dialog`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/a/a19cbbab89ad1903ec4b17afb2ba068088360a04.png)
* **TinyDB** component
  * `Namespace`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/4/40d140d2259b55d855b77b0d491dafc0949df237.png)
* **Screenshot** component
  * `Dim Amount`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/3/382f0abd46582a9b9ad175414c89821148124604.png)\
    &#x20;
  * `Notification Share Button`\
    ![image](https://community.makeroid.io/uploads/default/original/2X/a/a6498b81560b53c504615e45d96ec4616bfff153.png)\
    &#x20;
  * `are Permissions Granted` *Available at Blocks*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/3/39dada6c12892f578c2daf70dd40e8415fa31d38.png)\
    &#x20;
  * `is Read Permission Granted` *Available at Blocks*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/6/6503a474f0b3afadbb60023efb1b332354e55572.png)\
    &#x20;
  * `is Write Permission Granted` *Available at Blocks*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/6/690d859eb88925fef7bfcaa5502b65738417408c.png)
* **Download** component
  * `Requires Charging` *Customizable from Blocks*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/b/b0d7185d2cbfdd833d7aa7c6a8ca61737c809dae.png)\
    &#x20;
  * `Requires Device Idle` *Customizable from Blocks*\
    ![image](https://community.makeroid.io/uploads/default/original/2X/f/f22c7dc033713aa8362b3521f40a4290ac1d094b.png)

## 1.0.1 Andromeda   |   *23 June 2018*

### Bugs Fixed

* Fixed: Download app scannign QR Code (*missing GPlay update, probably tomorrow it will be live)*
* Fixed: “Create” block from “FAB” was crashing companion if there was no image added
* Fixed: ListViews
* Fixed: Random crashes using some components

## 1.0.2 Andromeda   |   *28 June 2018*

### New Blocks

* Added **RemoveSideMenu** block to *Screen*

### Bugs Fixed

* Temporarily removed Import/Export screen feature
* Removed “wait for milliseconds” block
* Fixed: Server error that sometimes happened when copying screens
* Fixed: Copied screens couldn’t be opened
* Fixed: Errors with extensions
* Fixed: Some issues with Leadbolt component
* Fixed: Sizing issues with CardView component
* Fixed: TitleBar Subtitle not updating on the companion when subtitle removed
* Fixed: Some issues with ListViewImageText

## 1.0.3 Andromeda   |   *19 June 2018*

### UI Changes

* Added “*Import Project*” button on Projects Panel
* Added “*Loading Project*” dialog
* Imported *Turkish Translation* to Blockly
* Fixed some Descriptions for some components which had a larger font
* Made ScrollBar of Palette thicker

### Companion

* Added missing “:” to IP Address Label

### New Features

* Added “Show Ad” block for *Facebook Interstitial Ad* component
* *CloudDB* component now handles images

### Bugs Fixed

* *NullPointer Exception* on some Alerts
* *NullPointer Exception* on GetUserId of PushNotifications
* *Button* Size wasn’t affected if Shape was set
* *Facebook Interstitial Ad* should be working now
