Releases: materiahq/materia-designer-public
v1.1.4
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
- (Addon/Mailjet) Fix template listing
- Migrate to @materia/[email protected]
v1.1.3
v1.1.2
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
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:
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:
Dependencies management
It is now possible to install / uninstall / upgrade your NPM package directly within Materia Designer
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
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
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
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
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
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.
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,
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.
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.
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.
Generating boiletplate in 1 click
Bootstrap your front-end client in 1 click with our boilerplates ready-to-use for Angular, React, Vue.
After the install process, your client is ready:
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.
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.
Colorizing terminal output
v0.8.0 - July Release 2017
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:
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.
-
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.
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
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.
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
-
(App Builder) Autocomplete databases when possible
-
(App Builder) Create database if it does not exist
- (Installer/Windows) NSIS support for 32/64bits build in one binary instead of Squirrel