Skip to content

v0.14.0-0

Pre-release
Pre-release
Compare
Choose a tag to compare
@kkopanidis kkopanidis released this 06 Jul 20:58
· 993 commits to main since this release

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 now runs by default on port 3030
  • Router is no longer part of the core service, so usage of grpc-sdk 0.14 is needed

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

More details:
refactor(router): split internal router from router package
feat(hermes): introduce new routing library for conduit
refactor(security): remove /admin exclusion from client validation
refactor(core): merge config into self
chore(core): structural refines
refactor(commons,security): remove platform types and import from grpc-sdk
refactor(router): merge security into router
refactor(router): make a standalone module
ci(router): proper build pipeline
chore: package names
chore(grpc-sdk): add comments in ManagedModule steps
fix(grpc-sdk): add case for module manager onConfig for modules without "active" field
refactor(hermes): change initSocket signature to require redis details
feat(grpc-sdk): exit process when module cannot activate
feat(hermes): make rest routing configurable
fix(authentication): oAuth2 providers declaring routes even when not active
feat(router): add host url config, transport config
feat(router): add onConfig checks to enable/disable transports
refactor(hermes): modified ConduitRouter to not auto-create express objects
feat(hermes): add shutdown function in ConduitRouter to cleanup objects
feat(hermes): add shutdown function in GraphQL, Rest and Socket routers
fix(router): move highAvailability function so that routes are not recovered twice
feat(hermes): add hash checks to route registration
chore: update express to most current version
chore: remove unused dependencies
refactor(core): make redis the primary configuration store
refactor(grpc-sdk): redis prefix keys to something better
feat(core): config storage manager
feat(grpc-sdk): add plain health check function
refactor(core): check first for module health before registering
refactor(grpc-sdk): core should not use initializeModules
feat(grpc-sdk): add useForce option in GrpcServer for forceful shutdowns
chore(router): remove GrpcConverter from utils
feat(hermes): new conduit request interface
fix(hermes,admin,router): conduit object missing from express request
fix: modules not awaiting Database
refactor(chat): get hostUrl from router instead of core
refactor(router): remove unused port parameters
refactor(admin): add transport and hostUrl settings
refactor(core): remove transport and hostUrl settings
refactor(router): unnest clientvalidation
refactor(authentication): unnest clientvalidation
feat(admin): use config manager singleton
feat(config): check module is up
feat(admin): do not recover routes of inactive modules
fix(forms): not properly waiting for email
fix(hermes,router,admin): socket servers defaulting to same port number
fix(admin): admin swagger never requires authorization
fix(admin): isDev check always failing
feat(admin,commons,core): live admin transport toggling
fix(hermes): including baseUrl when we shouldn't
fix(hermes): erroneous check on graphql
fix(admin): proper graphql checks for admin
chore(router): remove redundant helmet security middleware exception for admin swagger
chore(grpc-sdk): remove redundant module setConfig methods
feat(hermes,admin,router): cleanupRoutes timeout support

Thanks to @kon14 and @Michael-Vol
Full Changelog: v0.13.1...v0.14.0-0