Skip to content

Releases: materiahq/materia-designer-public

v1.1.4

05 Jul 20:11
95027d1
Compare
Choose a tag to compare

Features

  • (Entities) Auto positioning of entities when multiple entities are added at the same time (e.g. git pull or synchronization)
  • (Settings) Enhance UI
  • (Settings) Add cors options
  • (Server) Increase bodyParser limit (1mb) - configurable in materia.json

Bug Fixes

  • (AppBuilder) Ensure database check always occurs on form changes
  • (Settings) Handle empty db password
  • (Settings) Fix database connection
  • (Settings) Remove dependencies from settings
  • (Controller) Clear require's cache on restart
  • (PackageManager/NPM) Fix upgrade package
  • (Sync) Allow to synchronize when there is collision name (Add alias with as)
  • (Sync) Fix overflow in modal dialog
  • (Sync) Create entity name in database column has the right name
  • (Entities) Possibility to sync when there is no entity
  • (Icon/Linux) Fix .AppImage icon
  • (AutoUpdater) Fix crash on restart after updating the application

Other changes

v1.1.3

21 Jun 18:44
95027d1
Compare
Choose a tag to compare

Bug fixes

  • AppBuilder: Support database empty password
  • Linux: Fix AppImage icon
  • Linux: Fix PATH
  • CLI: Fix schematics path for addon generation

v1.1.2

03 May 21:52
95027d1
Compare
Choose a tag to compare

Features

  • Schematics to generate addon from @materia/server using: materia generate addon

Dependencies

  • Upgrade Materia Designer + Addons to Angular 9.1.4

Bug fixes

  • Addon/loading: Add missing dependencies in addon's loader
  • Linux/icon: Fix icon display for Linux distribution
  • AppNav/shortcut: Fix shortcut display in applications list

v1.1.0 - February Release 2020

20 Feb 20:58
95027d1
Compare
Choose a tag to compare

Some of the key highlights of this release include:

  • Linux support,
  • Improved performance in all the application,
  • Frameless window on Windows,
  • Dependencies management,
  • Migration to Angular v9 & Electron v7.

Linux build

Materia Designer is now available on most Linux Distribution:

materia-linux

You can download it directly on the website: https://getmateria.com. Available in 3 format: rpm, deb and tar.gz

If you need more, don't hesitate to contact us at [email protected].

Improved performance

In older version, there was some freezes / slow in the UI when heavy tasks were launched. It is now not the case anymore as we now launch these tasks in a separate process.

Frameless window on Windows

In Windows build, Materia is now displayed in a frameless window to enhance the design:

windows-titlebar

Dependencies management

It is now possible to install / uninstall / upgrade your NPM package directly within Materia Designer

dependencies

You don't need to open your terminal to do this kind of task anymore ! :)

Migration to Angular v9 & Electron v7

Angular and Electron has been upgraded to their latest version which add a performance boost and simplify the addon development. You don't need any tricks to create a dialog or use any dynamic component anymore.

Bug Fixes

  • Ensure permissions are always invoked in the same order,
  • Fixed some typo in payment form,
  • Fix server port fallback not correctly incremented,
  • Return properly multiple missing params error msg when running an endpoint,
  • Fix sql query not working properly on sqlite.

v1.0.4

20 Aug 11:11
95027d1
Compare
Choose a tag to compare

Feature

  • structure: allow adding/deleting supported relationships to addon entities.

Bug fixes

  • apps-nav: display app with shortcut id equal to 9,
  • param-editor: display visual components depending on param type,
  • api/permissions: redirect properly with route guard if permission editor is opened.

Dependencies

  • @angular/*: upgrade to v8.2.x,
  • @materia/server: upgrade to v1.0.3,
  • @materia/interfaces: upgrade to v1.0.2.

v1.0.3

02 Aug 13:55
8d6b85d
Compare
Choose a tag to compare

Features

  • addon/custom-setup: new dispatch optional output used to dispatch @ngrx actions,
  • addon/custom-setup: new saveAndRestart output used to save settings and restart the designer,
  • api/endpoint-runner: enable custom components inputs like queries inputs.

Bug fixes

  • dashboard/subscription: fix 'need payment' toolbar flashing when switching app,
  • entities/relation-modal: fix related entity selector not correctly flexed,
  • entities/query-code-footer: fix inputs not correctly flexed,
  • data: fix query state not reset when switching app.

Performance

  • data/table: perf improvement by setting pagination/sorting before data on MatDataSource.

v1.0.2

04 Jul 05:56
8d6b85d
Compare
Choose a tag to compare

Feature

  • apps: Use current @materia/server version when generating new app's package.json file,
  • store/dashboard: new materiaVersion key retrieved from main-process.

Bug fixes

  • menu: Fix materia-designer repo urls,
  • main-nav: Display materia version from store,
  • table: Fix sort/pagination broken after angular v8 migration,
  • subscription: Fix invalid form once VAT number displayed,
  • auth: Fix error message style & clear error message when form value changes,
  • website: Fix install deps message should not be displayed in live mode.

Internal changes

  • electron-builder: upgrade from v20.44.0 to v20.44.4.

v1.0.1

24 Jun 17:34
dfc0923
Compare
Choose a tag to compare

Bug fixes

  • boilerplates: fix angular monopackage structure not working,
  • data: fix overflow-x hidden,
  • queries: fix LIKE conditions not correctly checking joker characters,
  • website: fix client URL not correctly set on port fallback,
  • auto-updater: fix install-and-restart after downloading update,
  • auto-updater: add progress bar when downloading the update.

Internal changes

  • electron: update from v3 to latest v5,
  • angular: upgrade from v7 to latest v8.

v1.0.0 - June Release 2019

14 Jun 17:51
aa6e937
Compare
Choose a tag to compare

After 2 years of hard working, we're excited to announce the first v1 of Materia Designer and Materia Server !

Materia is a development platform that let you build powerful web and mobile applications. In one side, there is Materia Designer, a desktop application that provide all the tools to develop and manage your applications and in the other side, there is Materia Server, the server that host your application and provide the API to Materia Designer to manage your application.

Some of the key highlights of this release include:

  • Full rework of the UI with the migration to Angular (v7)
  • Materia Server - Admin REST API
  • Instant live mode to access your production server
  • Handling virtual entities (entity that don't rely on the database (e.g. REST API))
  • Handling hooks
  • Using Monaco editor as default internal editor
  • Handling Websocket endpoint
  • Allow cloning GIT repository to create app from existing source
  • Generating boiletplate in 1 click: Angular / React / Vue.js
  • Colorized terminal output
  • Handling dependencies installation

Migration from Angularjs to Angular (v7)

To get a more professional interface, we've upgraded our interface from AngularJS to Angular (v7) which a task lots longer than what we could imagine. We had to rethink totally our interface to get the improvement that we have today: Smooth interface with more predictable interactions.

screen-entities

Materia Server - Admin REST API

Instead of using Materia Server as a Node.js library, Materia Server now expose an admin REST API that allows Materia Designer to manage your application. This admin API is protected with a root password you have to define. For the curious, the Admin API is described here: https://materiahq.github.io/materia-server/

Instant live mode to access your production server

Before this release, accessing your production server was long as it required to clone a copy of your repository and your computer needed to have a direct access to the production database. Now, thanks the Admin REST API, you can access any Materia application in Materia Designer using its URL and its root password,

live-mode

You can execute a query or an endpoint directly on your production server, it can be particularly helpful to administrate your application.

Handling Virtual Entities

Materia Designer now supports Virtual Entities which are entities that does not rely on the database like a file in your file system or an external REST API (e.g. twitter API). A Virtual Entities defines multiple javascript query that can be called in your API like normal queries. This step is important to allow addons like Stripe or Mailjet to work optimally.

virtual entity

Handling Hooks

Hooks are a new powerful way to chain actions on a specific event. A hook can be attached to a query or an endpoint before or after executing it. It allows you to for instance send an automatic email with a specific action or log something on your server etc...

Improvement of the internal editors - Monaco editor

Monaco editor is now used as the internal code editor to edit your files and to display diff between your files and the last files in your last commits. This is the editor that powers VS Code.

editor

To achieve this, we're using our own Angular library @materia-ui/ngx-monaco-editor, which works in electron and in the browser. You're free to use it for your project if you wish: https://github.com/materiahq/ngx-monaco-editor.

Handling Websocket endpoint

You can now define Websocket endpoint in your Materia application. It allows realtime communication between your server and your client.

realtime

Generating boiletplate in 1 click

Bootstrap your front-end client in 1 click with our boilerplates ready-to-use for Angular, React, Vue.

boiletplates

After the install process, your client is ready:

frontend-boilerplate

Creating new application from Git Repository

Materia Designer now allows you to choose between creating an application from your File system and creating an application from a Git repository. It makes it really easy to start your application with an example available on Github.

image

Dependencies installation

When you application's dependencies are not installed, Materia designer install them for you at startup and build your client if you have defined one. This process ensure your application is fully working the first time your start it.

initialization

Colorizing terminal output

term-color

v0.8.0 - July Release 2017

17 Jul 17:20
Compare
Choose a tag to compare

I'm thrilled to announce the July Release - v0.8 which introduce some major improvements !

Some of the key highlights include:

  • Google App Engine deployment: 1 click deploy
  • Docker support: Generate Docker compose files
  • Git integration Enhancement
  • NPM Bundled in Materia Designer: Fix addons installation by providing NPM
  • NPM scripts support (build / watch / prod)
  • Has one relationship support
  • SQL Playground: Test your SQL queries easily
  • Log: Trace what Materia Server is doing
  • Enhancements and bug fixes

Deployment

Deployment has long been a source a frustration for developers and configuring all your stack can be really painful. With this new release, we automate a good part of the work for you:

deploy

Google App Engine

Google Cloud Platform is the first deployment platform we support.

To deploy on GCP, you need a Google Cloud Platform project with a Google Cloud SQL database installed. Once configured, just click the deploy button and there you go :)

You'll benefit of all the monitoring tools proposed by Google Cloud Platform to check the health of your production environment.

Docker

Materia application now support Docker and your application can be containerized with all your production architecture in Docker VMs - with all the dependencies needed already installed for you (DB / Node.js / NPM etc...)

Materia generate for you the Dockerfile and the docker-compose.yaml files, then you just need to:

  • Build your containers: docker-compose build
  • Run your containers: docker-compose up

You may want to push (using docker push) your built containers in a private registry to pull it from your production server (using docker pull).

Git integration enhancement

This version brings a new UI to manage your application versionning via Git efficiently.

git

  • Instead of a single sync button which was a bit dangerous, we watch the state of the repository to display the appropriate button (Fetch / Pull / Push / Publish)

  • Auto fetch

  • Display diff of status & history

  • Stage all/Unstage all button.

NPM Bundled + Client build support

Npm is now bundled in Materia Designer so you don't need to have NPM installed locally to install addons in your application. It just works out of the box (as anybody would expect).

Having a hand on NPM give us lots of new possibility like run npm run build within Materia Designer to build your frontend.

client-build

In your settings, a new "Client" section is available to configure your NPM scripts. You can enable the Auto Watch mode which run automatically the npm watch command to auto build your client when you open your application in Materia Designer.

Has one relationship

The "Has One" relationship is finally there which means "an entity A has 0 or 1 entity B".

e.g. a User has 0 or 1 Address

relation-1-1

SQL Playground

To ease your SQL test, we've added a little SQL playground to allow you to run custom SQL query. It is useful when you want to execute a small query but you don't want to create a query in Materia Designer for this as you would like to remove it after your test.

sql-playground

Log enhancement

The logging has been enhancement in Materia Server to display exactly what's happening

Logs example:

$ materia start
(Load) Application: test
 └── Path: /Users/thyb/projects/materia/tests/test-app
 └── Mode: Development
 └─┬ Database: OK
 │ └── Dialect: sqlite
 │ └── File: database.sqlite
 └── Server: OK
 └─┬ Addons: 1
 │ └── @materia/users
 └── Files
 └── Database: Authenticated
 └─┬ Entities
 │ └─┬ @materia/users
 │ │ └── user
 │ │ └── user_permission
 │ │ └── user_role
 │ └── Completed in 16 ms
 └─┬ Queries
 │ └─┬ @materia/users
 │ │ └── user_permission.getUserRoles
 │ │ └── user_permission.getRoleUsers
 │ └── Completed in 10 ms
 └─┬ API
 │ └─┬ @materia/users
 │ │ └── POST /api/user/signin
 │ │ └── POST /api/user/logout
 │ │ └── GET /api/user/me
 │ │ └── PUT /api/user/me
 │ │ └── PUT /api/user/me/password
 │ │ └── DELETE /api/user/me
 │ │ └── POST /api/user/signup
 │ └── Completed in 20 ms
 └── Successfully loaded in 1402 ms

(Start) Application test3
 └── Database: OK
 └── Entities: OK
 └── Addons: OK
 └─┬ Server: Started
   └─ Listening on http://localhost:8080

Enhancements and bug fixes

  • (Global) Better animation
    animation

  • (App Builder) Autocomplete databases when possible

  • (App Builder) Create database if it does not exist

materia-list-create-db

  • (Installer/Windows) NSIS support for 32/64bits build in one binary instead of Squirrel