Skip to content

Releases: ConduitPlatform/Conduit

v0.15.0-rc.0

07 Oct 14:42
Compare
Choose a tag to compare
v0.15.0-rc.0 Pre-release
Pre-release

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

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.

CHANGELOG

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, de...
Read more

v0.14.7

31 Aug 16:23
Compare
Choose a tag to compare

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

Full Changelog: v0.14.6...v0.14.7

v0.14.6

24 Aug 20:27
Compare
Choose a tag to compare

What's Changed

  • fix(admin,hermes): GraphQL middleware and return type fixes by @kon14 in #279
  • fix(database,email,forms): handler returned types not matching declared types by @kon14 in #280
  • fix(admin): auth middleware body query check by @kon14 in #281
  • feat(authentication): add qr code library for 2fa authentication by @ChrisPdgn in #283
  • refactor(storage): change storage folder structure by @kkopanidis in #284
  • fix(core): admin config update channel inconsistency by @kkopanidis in #285
  • fix(database): db schema validation not working for JSONB type by @Michael-Vol in #287
  • fix: invalid config updates polluting Convict config object by @kon14 in #288

Full Changelog: v0.14.5...v0.14.6

v0.14.5

05 Aug 15:42
Compare
Choose a tag to compare

What's Changed

  • refactor(authentication): email verification link rework by @ChrisPdgn in #272
  • chore(database): typo in function name by @kon14 in #273
  • fix(hermes,router): socket registration, security client validation by @kon14 in #274
  • fix(hermes): Swagger admin section includes admin config routes by @kon14 in #276
  • feat(admin,core,router): ping routes by @kon14 in #275
  • fix(core): fix configureModule not passing schema to register routes by @Michael-Vol in #277
  • fix(core,admin,router): router types by @kon14 in #278

Full Changelog: v0.14.4...v0.14.5

v0.14.4

27 Jul 17:07
Compare
Choose a tag to compare

What's Changed

  • fix(core): config set not working by @kkopanidis in #270
  • Core Support for Recovering Config Routes by @Michael-Vol in #271

Full Changelog: v0.14.3...v0.14.4

v0.14.3

27 Jul 09:45
Compare
Choose a tag to compare

What's Changed

  • fix(grpc-sdk): monitorModule() not awaiting module before first callback call by @kon14 in #256
  • fix(authentication): email dependent app route registration by @kon14 in #257
  • fix(grpc-sdk): module inconsistency on momentary core unavailability by @kkopanidis in #258
  • docs: update all README files by @kon14 in #260
  • fix(hermes): Swagger route tags by @ChrisPdgn in #259
  • fix(admin): outdated master key warning check by @kon14 in #262
  • build: docker-compose v0.14.2 by @kon14 in #261
  • Add Module Instance Id to Loki Logger by @Michael-Vol in #263
  • feat(authentication): implement change email by @ChrisPdgn in #255
  • fix(admin,router): helmet blocking slash-suffixed GraphQL endpoints by @kon14 in #265
  • fix(admin,commons,core,grpc-sdk,router,storage): config updates by @kon14 in #267
  • Independent Config Route Creation for Packages & Modules by @Michael-Vol in #266
  • fix(core): fix get config routes not working by @Michael-Vol in #268
  • feat(authentication): resend verification email by @ChrisPdgn in #264
  • fix(admin,core,grpc-sdk): initial config sync by @kon14 in #269

Full Changelog: v0.14.2...v0.14.3

v0.14.2

21 Jul 11:05
Compare
Choose a tag to compare

What's Changed

  • chore: remove packages for Unsupported SQL Databases by @Michael-Vol in #254
  • feat(database): Convert JSON to JSONB type in model for Postgres Databases by @Michael-Vol in #253

Full Changelog: v0.14.1...v0.14.2

v0.14.1

20 Jul 19:57
Compare
Choose a tag to compare

What's Changed

  • build: fix compose file ui CONDUIT_URL env var by @kon14 in #247
  • Default Router & Admin Config Values by @Michael-Vol in #248
  • feat(grpc-sdk): add support for logging to Grafana Loki by @kkopanidis in #249
  • fix(core): service discovery registering new modules as serving by @kon14 in #250
  • fix(hermes,router,admin): decouple router logic by @kon14 in #251
  • fix(authentication): user model dropping hashedPassword due to object ref deletion by @kon14 in #252

Full Changelog: v0.14.0...v0.14.1

v0.14.0

15 Jul 13:56
Compare
Choose a tag to compare

Conduit 0.14 is here 🎉 🎉

This release is focused on stability, performance improvements and cleanups.

tldr; The Conduit Core now handles only admin routes, service-discovery and configuration management. Security and Router have been merged and extracted from core into a standalone microservice. The core also no longer requires the database to fully initialize, it uses Redis as a primary store.

Breaking Changes:

  • Admin's HTTP server now defaults to port 3030
  • Admin's HTTP server no longer uses an /admin prefix
  • Admin's http/socket ports are now specified via ADMIN_HTTP_PORT and ADMIN_SOCKET_PORT
  • Router is no longer part of the core service, so usage of grpc-sdk 0.14 is needed
  • Config update admin route is now a PATCH operation

Features:

  • Router can be individually scaled now
  • Core does not have a hard dependency on the database (it is required to be running in order for admin to work though)
  • Admin now supports GraphQL and sockets

Details:

  • refactor(router,config,core,admin,commons)!: architecture change by @kkopanidis in #212
  • feat(admin): Helmet middleware by @kon14 in #217
  • fix(router): not registering SetConfig rpc by @kon14 in #218
  • fix(grpc-sdk,commons,core,admin): config validation by @kon14 in #219
  • chore: cleanup by @kkopanidis in #221
  • refactor(grpc-sdk): remove "on" function which introduced callbacks by @kkopanidis in #220
  • fix(grpc-sdk): module connectivity reporting by @kon14 in #222
  • fix(storage): registering routes while disabled by @kon14 in #224
  • fix(grpc-sdk): module configurations being reset on startup by @kon14 in #225
  • chore(deps): bump moment from 2.29.2 to 2.29.4 by @dependabot in #226
  • chore: dependencies update by @kkopanidis in #227
  • chore: update packages by @kkopanidis in #228
  • feat(database): db engine connection attempts during startup by @Michael-Vol in #223
  • Database admin routes register without router by @ChrisPdgn in #233
  • refactor(forms): decouple form controller and admin router from router fixes #229 by @ChrisPdgn in #236
  • Schema collection names renaming (on new deployments) by @Michael-Vol in #231
  • chore(admin): remove admin prefix from REST routes by @Michael-Vol in #242
  • build: docker-compose v0.14 by @kon14 in #234
  • chore(core): convert update config to a PATCH route by @kon14 in #243
  • fix(database): CMS crudOperations migration not aggregating schemas correctly by @Michael-Vol in #244
  • fix(database): createWithPopulations looking for wrong properties by @kkopanidis in #245
  • fix(database): get pending schema model based on collection name by @Michael-Vol in #246

New Contributors

Full Changelog: v0.13.1...v0.14.0

v0.13.2

15 Jul 12:08
Compare
Choose a tag to compare

What's Changed

  • build: docker-compose v0.13 by @kon14 in #235
  • build: fix env names (v0.13) by @kon14 in #240
  • fix(database): createWithPopulations looking for wrong properties

Full Changelog: v0.13.1...v0.13.2