π₯π₯π₯ The Only Production-Ready AI-Powered Backend Code Generation
OTHER License
Bot releases are hidden (Show)
Published by mshidlov almost 3 years ago
Amplication strongly believes in constant improvement in the product π
Today we are releasing a better version of our product, with various bug fixes and more stability. βοΈ
We are happy to announce the patch release of Amplication 0.10.3
. π₯³
This release will fix some essential bug fixes! π
token.service.ts
in the server tests folder #2020For this release, we had the help of 7 committers β thank you all very much!
Published by mshidlov almost 3 years ago
We are pleased to announce a new patch release of Amplication 0.10.2
.
This release resolves essential bug fixes.
Noteworthy additions and improvements in this release:
The complete list of all issues resolved in this release can be found on the 0.10.2 milestone on Github
For this release, we had the help of 4 committers β thank you all very much!
@tupe12334
@Rutam21
@SachinHatikankar100
@mshidlov
Published by tupe12334 almost 3 years ago
We are pleased to announce a new patch release of Amplication 0.10.1
.
This release fixes a critical bug in the applications sandbox deployment.
Noteworthy additions and improvements in this release:
npm install && npm run setup:dev
to set up all the project packages and run the docker development database. #1798package.json
node\npm version to 14.X\7.X (LTS) as required #1764package-lock.json
s files #1777 #1772Promise<T | null>
instead of T | null
.Customize your auth strategy - We updated the auth strategy to align with our Base and implementations logic to give the developer complete control to extend or change the default auth strategy logic. Now you can write your code to extend the basic functionality. #1788
Health service - We added health checks and readiness APIs to the generated app to indicate the ability of the generated server to serve incoming requests. This new capability will allow monitoring and orchestration services like load balancers, auto scalers, and k8s, to better integrate with Amplication generated servers. #1775
.gitignore
.DS_Store` #1786.gitignore
#1781The complete list of all issues resolved in this release can be found on the 0.10.1 milestone on Github
For this release, we had the help of 4 committers β thank you all very much!
@tupe12334
@mshidlov
@SachinHatikankar100
@g-traub
Published by yuval-hazaz about 3 years ago
Today, we are excited to release v0.10.0
π€
From this version, the generated app includes a new authentication schema, the JWT authentication schema.
JWT is used by default for new apps.
Existing apps are not changed and keep using the basic HTTP schema. You can change that on the new setting page.
As we progress to our goals, we implement more and more conventions and standards. The SecretsManager is a service for reading secrets in the server code.
By default, it used a provider that read the secrets from the .env file. You can use custom providers to read secrets from other places, like AWS Secrets Manager.
See our docs for more details on custom providers.
You can now use a custom script to seed the database with any data on initialization.
To do that use the customSeed.ts file.
See our docs for more details on the custom seed.
Published by yuval-hazaz about 3 years ago
Today, we are excited to release v0.9.0
π
From this version, the generated app includes a new authentication guard named "DefaultAuthGuard" (for REST endpoint) and "GqlDefaultAuthGuard" (for GraphQL mutations and queries).
Currently, the default auth guards are just a wrapper (extending the class) around "BasicAuthGuard" and "GqlBasicAuthGuard".
import { BasicAuthGuard } from "./basicAuth.guard";
export class DefaultAuthGuard extends BasicAuthGuard {}
import { GqlBasicAuthGuard } from "./gqlBasicAuth.guard";
export class GqlDefaultAuthGuard extends GqlBasicAuthGuard {}
The purpose of these files is to support new authentication providers without updating the relevant decorators throughout the system.
From now, all the REST API controllers and GraphQL queries and mutation are importing only the DefaultAuthGuard.
@common.UseGuards(defaultAuthGuard.DefaultAuthGuard)
@common.UseGuards(gqlDefaultAuthGuard.GqlDefaultAuthGuard)
In the next versions, we will add support for additional authentication providers (e.g., JWT authentication). You will be able to select and customize the authentication provider without breaking the code in any other file.
Published by yuval-hazaz about 3 years ago
Today, we are excited to release v0.8.0
π
Starting today, you can now add a Unique Field
attribute for specific fields.
Fields with the Unique Field
attribute generate a unique field attribute in the Prisma schema and a unique field constraint on the database.
You can only add the Unique Field
attribute to specific fields and not multiple fields.
We reduced the docker build duration on the sandbox environment from around 9 minutes to around 4 minutes.
The dependencies in the generated app were updated using renovate (https://github.com/renovatebot/renovate) and are now up to date.
β #1312 - Client: Build errors visibility
Huge thanks to @lalit8347 and @TimDurward for helping! β€οΈ
Published by yuval-hazaz over 3 years ago
Today, we are excited to release v0.7.0
Starting today, you can now control some of the database parameters from Amplication UI.
The parameter values are injected into the generated code and allow finer control on the development environment.
The name of the database host.
The database name. By default is field is empty.
You can use this field to deploy two or more different apps on the same DB server in the development environment, by settings a unique name for the DB on each app.
Port number to connect to at the server host.
You can use this field to run two or more separate PostgreSQL containers for different apps in the development environment, by settings a unique Port number for the DB on each app.
PostgreSQL user name to connect as.
Password to be used to connect to the DB.
The password appears in clear text in the generated app.
It should only be used for the development environment password and should not include sensitive data.
Read more here about PostgreSQL connection string https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
The following files in the generated code are impacted when the DB parameters are changed:
./.env
POSTGRESQL_USER=${dbUser}
POSTGRESQL_PASSWORD=${dbPassword}
POSTGRESQL_PORT=${dbPort}
./server/.env
POSTGRESQL_USER=${dbUser}
POSTGRESQL_PASSWORD=${dbPassword}
POSTGRESQL_PORT=${dbPort}
POSTGRESQL_URL=postgres://${dbUser}:${dbPassword}@${dbHost}:${dbPort}${dbName}
Starting with this version, a new environment variable "COMPOSE_PROJECT_NAME" is added to the server .env file.
This variable is used to allow running multiple applications generated with Amplication on the development environment.
Without this parameter, when using docker-compose to run the DB docker image, the image gets the same name for all apps generated with Amplication.
See issue #1423 for more details
The dependencies in the generated app were updated using renovate (https://github.com/renovatebot/renovate) and are now up to date.
β
#1420 - Server build: Build process failure due to a missing dependency
β
#1425 - Admin UI: password field is disabled
Published by yuval-hazaz over 3 years ago
Today, we are excited to release v0.6.5
Now you can invite team members to work and collaborate with you in Amplication
The invited users have full access to all apps in the workspace, and can also create new apps.
Published by yuval-hazaz over 3 years ago
Today, we are excited to release v0.6.4
We are happy to introduce workspaces.
Workspace is a wrapper to all your apps, and from now on you can create and manage multiple workspaces to better organize your apps.
This is an important step before adding support to invite team members to work and collaborate with you in Amplication.
Published by yuval-hazaz over 3 years ago
Today, we are releasing version 0.6.3.
Features
β
#1393 - Generated app: Add a UserInfo decorator to access the current user data from a resolver
Fixes
β
#1387 - Data Service Generator: Relation properties are not generated on the model
Big thanks to @yenicelik for reporting these issues.
Published by yuval-hazaz over 3 years ago
Today, we are releasing the 0.6.1
patch release.
β
#1377 - Admin UI failed to fetch data from entities with multiple words in their name
β
#1379 - admin-UI cannot handle a many-to-many relationship
β
#1376 - Import from Excel, should not allow for blank entity name
β
#1386 - Admin UI: Failed to generate list view for non-searchable relations
Big thanks to @twavis for reporting some of these issues in record time.
Published by yuval-hazaz over 3 years ago
Today, we are excited to release v0.6.0
This version contains breaking changes, you may need to manually resolve conflicts in your custom code. Read below for more details.
The search queries in GraphQL and REST API were updated with advanced filtering, sorting, and pagination:
You can filter the results of your search query by any field of the queried object, with advanced filters like startsWith
, Contains
and more. The available filters are determined by the data type of each field. (e.g. String. Boolean, DataTime)
query{
customers(where:{
firstName:{
contains:"jack"
}
}){
id
firstName
lastName
createdAt
updatedAt
}
}
You can sort the results of your search query by using the orderBy
parameter
query{
customers(orderBy:{
firstName:Asc
}
){
id
firstName
lastName
createdAt
updatedAt
}
}
The search queries now support pagination using the skip
and take
parameters
query{
customers(
skip:10,
take:5
){
id
firstName
lastName
createdAt
updatedAt
}
}
The Searchable
flag in the entity field settings now determines whether the records can be searched based on the value of that field.
The new _EntitiesMeta
API can be used to get the record count of a query.
The meta query support all the parameters that are supported in the FindMany query.
query{
_customersMeta(where:{
firstName:{
contains:"jack"
}
}){
count
}
}
The meta query can be used together with the findMany query in order to get the result count.
query customers($where: CustomerWhereInput, $orderBy: CustomerOrderByInput, $skip: Float, $take: Float) {
items: customers(where: $where, orderBy: $orderBy, skip: $skip, take: $take) {
id
createdAt
updatedAt
firstName
lastName
__typename
}
total: _customersMeta(where: $where, orderBy: $orderBy, skip: $skip, take: $take) {
count
__typename
}
}
New and feature-reach Admin UI was built from scratch using React-Admin.
The new Admin UI includes pagination, sorting, and a master-details view.
The new admin UI is generated to a new folder named "admin-ui".
In case you already generated the admin UI with a previous version and pushed the code to GitHub, the previously generated code is left untouched in the "admin" folder.
You can now create a full app, just by importing an Excel file or one of many other flat-file formats (e.g. CSV).
A visual entity diagram allows you to normalize the data schema before you create the app.
You can now rebuild your app and trigger a sync with GitHub and a deployment to sandbox even without making any changes in your app. The Commit button is available and enabled, so you can use it any time you need it.
All DTOs, and models are now generated with an additional line break after each property for better readability.
β
#1346 - Data Service Generator: roles not saving properly
β
#1193 - Client: I can't set specific permissions to fields
β
#1314 - Server: Swagger documentation does not match REST-API
β
#1303 - Client: text search input in the entity field is unreadable
β
#1327 - Client: browser block popup and client don't alert
β
#1325 - GitHub Connector: Sync repo on Safari
Big thanks to @Jithinlal, @timhuebenerm, @MatanForU, @tupe12334, and @go4cas for reporting these issues.
Huge thanks to @tupe12334 for helping, and for many members on our Discord server who suggested many of the features released today.
Published by yuval-hazaz over 3 years ago
Today, we are excited to release v0.5.3
With JSON, you can create fields that store and include different kinds of data in your models. This makes it easier for you to add custom fields to your applications, to be used with GraphQL or REST API.
You can now create JSON fields as part of your data model when creating an entity field.
Big thanks to @gabrielmoncea and @mrtrombone for suggesting this feature
Staled sandbox environments are destroyed after 30 days
β
#684 - Numeric data types allow negative ranges
β
#1151 - Numeric data type validation range was removed to allow any valid numeric values
β
#1293 - Client: Validation for entity name plural vs singular form
Huge thanks to @almogbhl for helping!
Published by yuval-hazaz over 3 years ago
Today, we are excited to release v0.5.2
This version contains breaking changes, you may need to manually resolve conflicts in your custom code. Read below for more details.
Amplication server and the generated apps were upgraded to use TypeScript v4.2.3
After generating a new version of your app, follow these instructions:
@prisma\cli
to avoid conflicts with the new prisma
package (Prisma CLI is now part of prisma
package)$ cd server
$ npm un @prisma/cli
npm i
in the server
folder to upgrade to the new packages$ npm i
$ npx prisma generate
Delete the ./server/prisma/migrations
folder. This folder contains migrations in the old format.
Run npx prisma migrate dev
to generate new migrations. This command will also reset (delete and recreate) the DB, so make sure you run on your dev environment.
$ npx prisma migrate dev
npm run seed
Note that upgrading Prisma version comes with some breaking changes.
You can read the Prisma release notes to learn more about all the changes that come with the new version - https://github.com/prisma/prisma/releases.
Specifically, these changes impact the following areas in the generated apps:
FindManyEntityArgs
to EntityFindManyArgs
to align with the changes in PrismaFindOneEntityArgs
to EntityFindUniqueArgs
to align with the changes in PrismaIf you are running with a local Amplication server, you need to reset your development DB to start working with the new version of Prisma migrate.
This command will delete all the data in the development DB and will reset the migrations table
npx prisma migrate reset
Added support to deploy Amplication on a Kubernetes cluster using Helm charts.
Read more about it here https://docs.amplication.com/docs/helm-chart/
β
#1298 - DSG: WhereUniqueInput is missing @Field property decorator
β
#1272 - Docker build fails when entities with reserved words are used.
β
#1293 - Validation for entity name plural vs singular form
Big thanks to @AndrewTraub, @EndersDev, and @MatanForU for reporting these issues.
Huge thanks to @almogbhl, @TimDurward for helping!
Thanks to @prisma/prisma for their great format for release notes which we learned from and adopted.
Published by yuval-hazaz over 3 years ago
β
Add findProperty function on the base service for to-many relations (e.g. CustomerServiceBase.findOrders)
β
Add getProperty function on the base service for to-one relations (e.g. CustomerServiceBase.getCity)
β
Add async syntax for all functions on base service
β
Use the new findProperty function on controller and resolver
β
Use the new getProperty function on resolver
β Fixed #1287 DSG: 'references' is missing on Prisma schema on annotated relations
Published by yuval-hazaz over 3 years ago
Published by yuval-hazaz over 3 years ago
New server design to support custom code
https://docs.amplication.com/docs/how-to/custom-code
Published by yuval-hazaz over 3 years ago
Big improvements in how we manage related entities.
Published by yuval-hazaz over 3 years ago
Bug Fixes:
Published by yuval-hazaz over 3 years ago