Skip to content

Releases: ZenSoftware/zen

v15.0.0 - Nx v19, Angular v18, Angular Material v18 update

11 Jun 05:13
Compare
Choose a tag to compare
  • Updated to Nx v19 and ran all migrations.
  • Updated to Angular v18
  • Updated to Angular Material v18. Updated the SASS (.scss) theme for this version of Angular Material that is now abiding by the major updates to Material v3. I generated two themes utilizing ng generate @angular/material:m3-theme and integrated a basic light and dark theme for the repo. The themes are directly importing the SASS styles and can be tweaked to your own taste under the theme folder.
  • Updated Prisma to v5.15.0
  • Scrubbed out all deprecated packages and updated every dependency within the project.
  • Implemented Prisma's new createMany and createManyAndReturn feature. Please delete your resolvers within apps/api/src/app/graphql/resolvers/prisma and regenerate them. You may keep the User.ts resolver file as it already has been regenerated for you. No other significant changes should be needed if you've managed to merge all the other changes successfully.
  • Refactored the code generation of GraphQL resolvers for Prisma models. There are now some minor efficiency gains that have been made.
  • Went through all the feature branches and updated those as well. Recompiled and tested all of them to ensure that they are still in working order.
  • @zen/grid now shows the refresh button by default.
  • @zen/grid now defaults to @Input() sortable: SortSettings = { mode: 'multiple' }; instead of single.
  • @zen/grid under the kendo branch now has working filtering for Prisma's Filter on "-to-one" relations. This will allow you to have columns within the grid that can now be filtered over with nested objects. As an example:

apps/api/prisma/schema.prisma

model User {
  id            String   @id @default(uuid())
  ...
  address       Address? @relation(fields: [addressId], references: [id])
  addressId     String?
}

model Address {
  id      String  @id @default(uuid())
  country String?
  ...
  User    User[]
}

libs/graphql/src/lib/fields/User.gql.ts

import gql from 'graphql-tag';
import { AddressFields } from './Address.gql';
export const UserFields = gql`
  fragment UserFields on User {
    id
    address {
      ...AddressFields
    }
  }
  ${AddressFields}
`;

libs/main/src/lib/zen-portal/zen-super/zen-user-manager/zen-user-grid/zen-user-grid.component.ts

const DEFAULT_SETTINGS: KendoGridSettings<UserFields> = {
  columnsConfig: [
    {
      field: 'address.country',
      title: 'Country',
      filter: 'text',
      custom: { nullable: true },
    },
  ],
};

v14.0.0 Ultra Scientific CodeMiko Majestic Yuumei Touch My Dingbat Release

09 Feb 03:04
Compare
Choose a tag to compare

🧪🥽🪽

  • Publicized the unity branch and will be committing to maintaining and improving it for the long term.
  • Updated the README.md files for the project to describe what is included and provided instructions on how to get your development environment setup and compile the Unity WebGL project.
  • Updated all dependencies to the latest stable versions. Notably:
    • Updated the repo to Nx v18 and ran all migrations
    • Updated Prisma
    • Updated Apollo
    • Update Angular
    • Update Angular Material
    • Updated Nest
  • Polish, polish, and more polish

This project is rock-solid with now more than 3 years of refinement. It combines the best libraries I could possibly find within the ecosystems that this project is utilizing. The starter kit is highly robust with hyper lean implementations. git merge in whichever features you need for any particular project and git pull in changes from this repo for your own git clone to keep your own projects up to date.

Roadmap:

  • Integrate a standard leg humping mechanic that is highly modular and robust
  • Imbue the full might of #BlueDickLanguage into this repo

v13.0.0 Angular v17 Update

17 Nov 10:43
Compare
Choose a tag to compare
  • Updated all dependencies. Including an update to Angular v17.
  • Regenerated the Nx repo utilizing Nx v17
  • Converted all ngIf and ngFor structural directives to Angular's new control flow syntax.
  • Introduced i18n branch with all text extracted into JSON files ready to be translated.

Breaking Changes

  • loggedIn and userRoles fields within AuthService have been changed from Angular signals to rxjs observables. This change was necessary to update to Angular v17.

v12.0.0 Updated Prisma to v5.5.2

05 Nov 23:55
Compare
Choose a tag to compare
  • Updated Prisma to v5.5.2

Breaking Changes

  • There have been changes to the typings for Prisma count in their latest release. This requires deleting and regenerating the Nest GraphQL resolvers under apps/api/src/app/graphql/resolvers/prisma. The User GraphQL resolvers can be kept as the changes have been pushed to the repository.

v11.3.0 Nx v17 update

05 Nov 07:56
Compare
Choose a tag to compare
  • Updated repo to Nx v17
  • Updated dependencies

v11.2.0 Dependencies update

29 Sep 23:53
Compare
Choose a tag to compare
  • Updated all dependencies

Breaking Changes

  • 6de92f8 Updated @nestjs/throttler to v5. apps/api/src/environments/environment.ts and environment.prod.ts have changed the throttle option to utilize the updated ThrottlerModuleOptions.

v11.1.0 Prisma v5 update

04 Sep 04:40
Compare
Choose a tag to compare

Pal.Js v6.0.5 has resolved the issues that blocked us from upgrading to Prisma v5. The code generating templates have been updated. Resolvers under apps/api/src/app/graphql/resolvers/prisma can be deleted and regenerated. Though, the User.ts resolver can be kept as it has been regenerated and committed to the repo.

v11.0.0 Pal.Js v6 update

22 Aug 20:19
Compare
Choose a tag to compare

Updated all dependencies we are not blocked on. Notably the largest change is an upgrade to Pal.Js v6. Code generation scripts have been adapted to accommodate for the changes.

v10.0.0 Project structure updates and new defaults

08 Jun 05:21
Compare
Choose a tag to compare

🎉 This major release completes many large milestones. There has been a refactor across the project to consolidate code into fewer libraries and a new project structure that is more organized to enable better management of domain assets. There is much more clarity of where things belong and there is a better conceptual model for consumers of core libraries. The new default configurations that come out of the box should be sufficient for the majority of projects.

The starter kit is now in a pristine state and the solutions provided are feature complete. Nearly every line of code has been reviewed and rewrites have been done across the project for cleaner and leaner solutions.

Furthermore, debugging with VSCode works well for both the api (Nest) and portal (Angular) apps. There have been problems within the Nx community with not having breakpoints working. Fortunately, there are workarounds that this project implements to ensure everything is operating as expected.

Tech stack

The project dependencies have been updated to the latest version across the board. We are not blocked from updating to the latest version for almost any of our dependencies. We're riding on the bleeding edge of all solutions available.

Noteable updates for this version include:

  • Nx updated to v16.3.2
  • Angular updated to v16.0.5
  • Prisma updated to v4.15.0
  • apollo-angular updated to v5.0.0
  • @graphql-codegen/cli has been updated to v4.0.1

Documentation

  • Better coverage of documenting project environment configurations.

Kendo branch

🎐 The kendo branch has integrated new features.

  • @zen/grid component is able to export data grid results to JSON.
  • Updated to newest theme and packages.

Refactors

  • GraphQL resolvers for the Prisma endpoints now have their code generated output to its own prisma subfolder within the GraphQL resolvers folder.
  • Default auth scheme is now set to RBAC for the code generating script at tools/generate.ts.
  • @casl/prisma integration is marked as experimental but its integration is kept as the project's solution for ABAC and is still feature complete.
  • The Angular component has been moved from its own library @zen/layout to @zen/components and @zen/layout has been removed.
  • @zen/auth has had a major overhaul for all its Angular components to make everything more reusable.

v9.0.0 Angular v16 update and standalone component migration

10 May 19:42
Compare
Choose a tag to compare
  • Updated to Angular v16
  • Updated to Node v20
  • Updated to Nx v16
  • Updated to Apollo v4
  • Migrated entire project from Angular NgModules to standalone components
  • Refactored code to replace all Apollo reactive variables with Angular signals

Breaking changes

  • AuthService userRoles & loggedIn fields are now Angular signals