v0.15.0
Say hello to Conduit 0.15 馃帀 馃帀
This release brings tons of fixes, features and overall improvements!
Here's the tldr;
- Route return alignment & more route descriptions available
- Dependency updates all the way
- Prometheus metrics have been streamlined
- 2FA supported on Admin Panel along with better user management
- Huge code cleanups to Authentication module and across all modules as well
- 2FA has been streamlined in Authentication and now supports Authenticator apps too
- GitLab and Magic Link authentication methods now available
- GraphQL and swagger types have been greatly improved
- Cookies in Authentication are now better supported and can also be configured seperately
- Better metrics support with Prometheus
- So much more
Last but not least, this release includes the Authorization module, which we consider to be in alpha, and is not currently integrated with other modules. Things to look forward to in the next releases: More improvements, further API stabilisation, full support for user groups, roles and authorization rules
What's Changed
- fix(database): admin create schema return type regression by @kon14 in #289
- Prometheus Metrics Support by @Michael-Vol in #282
- fix(database): DeclaredSchema compiledFields extension field and custom endpoint generation by @kon14 in #290
- refactor(grpc-sdk): add prefix to metric names by @Michael-Vol in #291
- chore(deps): bump mongoose from 6.4.3 to 6.4.6 by @dependabot in #292
- fix(sms): not starting up with invalid config by @kkopanidis in #294
- fix(database): gRPC schema registration removing schema extensions from adapter models by @kon14 in #293
- fix(grpc-sdk,database): crash on unconditional Sequelize metrics by @kon14 in #295
- chore(deps): bump moment-timezone from 0.5.34 to 0.5.37 by @dependabot in #297
- feat(grpc-sdk): try/catch in wrapGrpcFunctions to wrap function calls by @kkopanidis in #300
- Code factor refactors by @sdimitris in #298
- chore(email): remove duplicate file by @kon14 in #302
- refactor(database): admin custom endpoints methods rework for code factor by @ChrisPdgn in #296
- refactor: rename schemaOptions, modelSchema to modelOptions, fields by @kon14 in #299
- Release fix by @kkopanidis in #303
- fix(database): modelOptions cms validation, unrebased modelSchema reference by @kon14 in #305
- fix(hermes): not throwing an error on unavaibable route middlewares by @kon14 in #308
- chore(core,admin,router,authentication): deprecate legacy compat options by @kon14 in #306
- refactor database cms handler by @SotiriaSte in #301
- chore(email): forgotten removal of file in #302 by @ChrisPdgn in #310
- chore(grpc-sdk,hermes,authentication,database,email,admin,core): set const instead of let by @ChrisPdgn in #309
- fix(database): schema types, stitching, custom endpoints by @kon14 in #311
- feat(database,grpc-sdk)!: compiled schema fields as gRPC schema type fields by @kon14 in #313
- fix(forms): getForms count not using search query by @kon14 in #314
- fix(database): createSchemaFromAdapter() crashing for non-registered schemas by @kon14 in #315
- refactor(storage): storage handler complexity rework by @ChrisPdgn in #316
- refactor(database): customEdpoints.admin.ts complexity by @SotiriaSte in #312
- refactor(email): sendEmail complexity by @ChrisPdgn in #318
- refactor(forms): duplicate code rework by @ChrisPdgn in #319
- fix(authentication): twoFaMethod missing param by @SotiriaSte in #321
- refactor(grpc-sdk): routing manager duplicate code rework by @ChrisPdgn in #320
- fix(core): module exist grpc function return type fixed by @sdimitris in #324
- Fix(authentication): get to post request in verify-qr-code endpoint by @SotiriaSte in #325
- refactor!: Port renames by @kkopanidis in #326
- refactor(core,grpc-sdk)!: remove deprecated gRPC functions by @sdimitris in #328
- feat: route doc descriptions by @ChrisPdgn in #322
- feat(hermes,grpc-sdk,database): db model router type registration by @kon14 in #286
- chore!: update Readmes, remove legacy env compat by @kon14 in #329
- chore(deps): bump jose from 2.0.5 to 2.0.6 by @dependabot in #330
- fix(hermes): named route response types handled as string responses by @kon14 in #331
- feat(admin): admin users expansion by @SotiriaSte in #327
- fix(database): startup model recovery, deleteSchema admin route by @kon14 in #332
- fix(admin): add package node2fa by @SotiriaSte in #333
- fix(admin): super admin migration by @kon14 in #334
- refactor(admin): merge enable and disable twofa endpoints by @SotiriaSte in #335
- fix(authentication): add token to qr 2fa verification by @ChrisPdgn in #336
- feat(authentication): change verification time window for qr tokens by @ChrisPdgn in #337
- fix!: metrics fixes, updates, cleanups by @kon14 in #338
- fix(admin): token in verify2fa by @SotiriaSte in #340
- fix(admin): crashing on disabled metrics by @kon14 in #339
- feat(admin): get admin by id, unselect admin password field by @kon14 in #341
- fix(admin): verifyTwoFactorToken missing window param by @SotiriaSte in #343
- fix(admin): temporary token expiration time by @SotiriaSte in #344
- fix(hermes): GraphQL mutation result nesting by @kon14 in #342
- fix(database): initial db schema registration by @kon14 in #345
- build: compose fixes for node v16.17 by @kon14 in #348
- feat: add node-2fa library by @ChrisPdgn in #347
- fix(storage): initialize metrics assuming files exist by @kkopanidis in #349
- fix(authentication): simplify monitors by @kkopanidis in #351
- refactor(authentication): 2fa handler implementation by @ChrisPdgn in #352
- chore(deps): bump vm2 from 3.9.9 to 3.9.11 by @dependabot in #353
- build: docker compose env for ui v0.14.2 by @kon14 in #355
- feat(grpc-sdk,hermes): rest/graphql cookies support by @kon14 in #358
- refactor(authentication)!: major code cleanup by @kkopanidis in #354
- refactor(authentication): route return alignments, phone login fix by @kkopanidis in #361
- refactor(grpc-sdk)!: cleanups & improvements by @kkopanidis in #362
- fix(authentication,database): admin route definition handler binds by @kon14 in #363
- feat(authentication): passwordless login by @SotiriaSte in #346
- chore(email): subject field required by @SotiriaSte in #366
- fix(database): cms fixes, refactors, cleanups by @kon14 in #365
- chore(database): improve schema operation details admin route response signature by @kon14 in #367
- feat(authorization): new authorization module by @kkopanidis in #350
- fix(database): getSchemas filters, declared schema collectionName uniqueness constraint by @kon14 in #368
- feat(authentication): gitlab provider by @SotiriaSte in #369
- fix(authentication): accidental startup errors by @kon14 in #370
- build: docker compose v0.15 by @kon14 in #371
- fix(grpc-sdk): admin_grpc_requests_total metric by @kon14 in #372
- feat(admin,router): host url initializer envs by @kon14 in #373
- fix(admin): generated config values reset on partial config update by @kon14 in #375
- fix(grpc-sdk): server restart race conditions by @kkopanidis in #376
- feat(grpc-sdk): gRPC retries for unavailable services by @kon14 in #377
- build: remove docker compose container name version suffixes by @kon14 in #378
- feat(grpc-sdk): client connection logs by @kon14 in #379
- fix(grpc-sdk): gRPC request retries for cancelled/aborted requests by @kon14 in #380
- feat(authentication): microsoft provider changes by @SotiriaSte in #381
- feat(authentication): oAuth2 state changes by @SotiriaSte in #382
- feat(core,grpc-sdk): rework service discovery by @kon14 in #383
- fix(authentication): TokenProvider singleton init Router dependency by @kon14 in #385
- fix(core): module config patch by @kon14 in #388
- fix(push-notifications,sms): health status by @kon14 in #387
- fix(authentication): drop Kakao login leftovers by @kon14 in #386
- refactor(grpc-sdk,hermes): move ConduitParser into Hermes by @kon14 in #384
- fix(email,forms): replace Forms event-based Email health sync by @kon14 in #390
- fix(core): service discovery not emitting update events on module health updates by @kon14 in #389
- fix(database): schema field validation by @kon14 in #391
- fix(grpc-sdk): gRPC function wrapper async error catches by @kon14 in #392
- feat(storage): getFolders() admin search query param by @kon14 in #393
- fix(storage): getFolders() admin route crash on undefined search query param by @kon14 in #394
- feat(grpc-sdk): service address url remapping for host/docker interoperability by @kon14 in #396
- fix(authentication): redirectUrl from router only set once by @kkopanidis in #397
- fix(grpc-sdk): loki availability checks by @kon14 in #402
Full Changelog: v0.14.6...v0.15.0