PURISTA API / Modules
Changelog
All notable changes to this project will be documented in this file.
[unreleased]
Breaking changes
Breaking change: make service methods and fields protected
Breaking change: make defintions async
Breaking change: make getInstance async
Bug Fixes
- Esm imports
- Warning on default stores
- Pr workflow
Documentation
- Update temporal example
- Update handbook links in doc index
- Update api documentation
- Update api documentation
- Update temporal integration
- Update schema documentation
- Add and improve doc
- Fix typo
- Update changelog.md
Miscellaneous Tasks
- Mark example package private
- Context store getter functions
- Cleanup project config and settings
- Update vscode settings
- Update tsconfig.json files
- Improve typing for custom stores
- Improve store doc & types
- Fix tests
- Fixup store unit tests
- Add github workflow for update website
- Update project config
- Update doc output folder
- Update workflow
- Update workflow
- Update workflow
- Update package.lock
- Update workflow
- Update workflow config
- Update workflow
- Remove docs and improve workflow
- Update doc build output folder
- Add publish package workflow
- Set action environment
- Test github action
- Update workflows
- Fix workflow
- Fix workflow
- Update workflows
- Reduce code and dependencies
- Cleanup code
- Update code and doc to use await on getInstance
- Improve code and fix test
- Collect coverage from unit and integration tests
- Minor improvements
- Migrate and finalize example tests
- Include examples in tests
- Minor improvements and cleanups
- Update lint config
- Lint prefer using nullish coalescing operator
- Fix publish workflow
- Update publish workflow
- Update publish workflow
- Bump minor version to v1.11.0
- Update publish workflow
- Cleanup workflow names
- Include changelog in release workflow
- Include breaking change in changelog
[1.10.8] - 2024-02-18
Bug Fixes
- Cli init index event bridge configs
- Hono server when no protect handler is provided
- NATS example
Documentation
- Update docs and examples
Miscellaneous Tasks
Bump vitest version
Add eslint vitest globals plugin
Improve naming
Improve NATS bridge
Improve cli install
Fix lint and improve tests
Update project settings
Chore bump packages
Bump versions to 1.10.8
[1.10.7] - 2024-02-18
Bug Fixes
- CLI init
- NATS state store getter
Documentation
- Update handbook
- Update api documentation
- Update doc
Features
- Add version check to CLI
Miscellaneous Tasks
- Improve store getter types and code cleanup in stores
- Bump packages
- Update package lock
- Fix lint
- Fix store tests
- Use vitest instead of jest
- Fix tests
- Disable unstable integration tests
- Impove test setup
- Improve test
- Increase vitest hookTimeout
- Bump versions to 1.10.7
[1.10.6] - 2024-02-15
Bug Fixes
- Mocked context invoke
Miscellaneous Tasks
- Bump versions to 1.10.6
[1.10.5] - 2024-02-15
Bug Fixes
- Mutable obj issue in context mocks
Miscellaneous Tasks
- Bump versions to 1.10.5
[1.10.4] - 2024-02-15
Bug Fixes
- Mutable issue in createInvokeFunctionProxy
Miscellaneous Tasks
- Bump versions to 1.10.4
[1.10.3] - 2024-02-14
Bug Fixes
- Hono webserver request content type
Miscellaneous Tasks
- Bump versions to 1.10.3
[1.10.2] - 2024-02-14
Miscellaneous Tasks
- Minor fixes and dep updates
- Bump versions to 1.10.2
[1.10.1] - 2024-02-14
Bug Fixes
- Hono vars
Documentation
- Update doc
- Chore update
- Fix analytics
- Update
- Update
- Doc update doc
Miscellaneous Tasks
Chore update doc
Bump versions to 1.10.1
[1.10.0] - 2024-02-11
Breaking changes
Breaking change: remove deprecated methods from builders
Breaking change: Mark @purista/httpserver deprecated
Bug Fixes
Version bump for new packages
Hono based servers compress issue
Fixup esm support
UnhandledError.fromError returns UnhandledError
Minor code smells
Keep OT traceId and custom trace id separated
OpenApi path parameter and add example
Add missing type params
Refactor type handling in builders fixes #159
SafeBind
Package.json files use dist instead of lib
Service config type in service builder getInstance
Test
Documentation
- Add new packages to api docs
- Migrate to vitepress #152
- Add schema page
- Fix k8s examples
- Minor readme changes
- Update documentation
- Fix api doc generation
- Update doc
- Update doc
Features
- Add secret store for AWS Secrets Manager #106
- Add cache map to basic config store class
- Add config store for AWS Systems Manager Parameter Store #104
- Add secret star for Azure Key Vault #107
- Add chained invoke functions in commands and subscriptions #149
- Hono based web server #153
- Allow different schema libs #154
- Add schema for custom emit and improve types #158
- Add dynamic route registration to hono server
- Add esm support to cli
- CLI support for ESM, vitest and Biome
- Cli add parameter type and schema per default to subscriptions
Miscellaneous Tasks
- Minor cleanup
- Bump dependency versions
- Fix typo
- Fix test setup
- Update nvmrc to node 20
- Improve logger
- Add lint rule to force imports with type scope
- Make props available in subclass in HttpClient
- Prepare esm support in purista cli
- Improve imports to use type imports
- Simplify stores and cleanup code
- Refactor code base to ESM #147
- Update vuepress setup
- Bump dependency versions
- Exclude test files from npm packages
- Dev env should use repo typescript version
- Improve error handling
- Bump dependency versions
- Fix lint
- Exclude tests from build
- Improve Hono types
- Add toJSON method to error classes
- Use PatternRouter instead of own implementation
- Remove unused dev dependencies
- Cleanup dependencies
- Bump dependencies to most recent
- Update and fix tests
- Remove deprecated method calls
- Update package-lock.json
- Bump dependencies
- Prevent multiple command endpoint registrations
- Use safeBind instead of bind to keep types
- Minor code improvements
- Minor improvements
- Improve example
- Minor improvements
- Bump dependencies
- Migrate to hono v4
- Minor improvements
- Add static file servering to example
- Improve tests
- Fix build package.json
- Bump versions to 1.10.0
[1.9.1] - 2024-01-26
Bug Fixes
- Filename typo in cli
- Set opentelemetry status on error in HttpClient
- Set span processor in service class
Miscellaneous Tasks
- Lint
- Bump versions to 1.9.1
[1.9.0] - 2023-11-18
Breaking changes
- Breaking change: Add caching to Infisical secret store and enable per default cache
Bug Fixes
- InfisicalSecretStore docs
Documentation
- Add Google Secret Manager secret store package
- Update api documentation
- Update documentation
- Update CHANGELOG
Features
- Add caching option to secret store
- Add secret store for Google Cloud Secret Manager #108
Miscellaneous Tasks
- Update dependencies
- Bump versions to 1.9.0
[1.8.3] - 2023-10-19
Documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
Features
- Make healthz function configurable
- Add optional openapi paths in config
Miscellaneous Tasks
- Bump dependencies
- Update hono router
- Bump versions to 1.8.3
[1.8.2] - 2023-09-27
Bug Fixes
- Correct build config and upgrade esbuild
- Pass principalId and tenantId to response msg
Documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
Miscellaneous Tasks
- Improve type imports
- Bump versions to 1.8.2
[1.8.1] - 2023-09-12
Bug Fixes
- Downgrade esbuild
- Traceparent handling in HttpServerService
Documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
Miscellaneous Tasks
- Bump versions to 1.8.1
[1.8.0] - 2023-09-09
Bug Fixes
- Openapi security
- Improve mock of startActiveSpan and wrapInSpan
- Update InfisicalClient to api changes
- Http server service default config
- Handle traceId in HttpServerService correctly #140
Documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
Features
- Add optional tenantId to message body #136
- Update to mqtt lib version 5
Miscellaneous Tasks
- Update tsconfig
- Update packages
- Cleanup bun test
- Update github issue bug template
- Bump dependency versions
- Update package log
- Update build config
- Bump versions to 1.8.0
[1.7.5] - 2023-07-06
Bug Fixes
- Error handling
Documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
Miscellaneous Tasks
- Bump versions to 1.7.5
[1.7.4] - 2023-07-06
Bug Fixes
- Make instanceof working with custom errors
- Cli package and add prettierrc file
- Lint
- Error handling
- Fix lint
Documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
- Update api documentation
- Update documentation
- Update CHANGELOG
Features
- Add readme files in code gen
Miscellaneous Tasks
- Update dependencies
- Update deps in cli auto generator
- Update package.lock
- Bump versions to 1.7.3
- Use node 20 for develop
- Bump versions to 1.7.4
[1.7.2] - 2023-06-10
Breaking changes
Breaking change: remove nanoid package
Breaking change: unify naming of params to parameter
Breaking change: remove x-trace-id header in favor of W3C complaint traceparent
Breaking change: simplify DefaultEventBridge constructor
Breaking change: simplify ServiceBuilder getInstance method call
Breaking change: simplify HttpServerService constructor
Breaking change: simplify AmqpBridge constructor
Breaking change: refactor and improve subscriptions resolve #62 resolve #65
Breaking change: refactor set guards methods and remove deprecated methods #83
Breaking change: remove deprecated FunctionDefinitionBuilder #66
Breaking change: Add content type and content encoding to messages #80
Breaking change: factor out schemas in definitions #84
Breaking change: improve service constructor #95
Breaking change: Remove sending of command timeout info message #94
Breaking change: move service info sending from service into event bridge #70
Breaking change: improve subscription builder method names
Breaking change: Require node 18 as it is current LTS
Breaking change: use hono package for http server
Breaking change: flat configs and improve config types
Breaking change: replace @anatine/zod-openapi with fork
Breaking change: remove inclusion of source maps in libs to reduce size
Breaking change: Add instanceId for receiver and remove root instanceId from message
Signed-off-by: Sebastian Wessel sebastianwessel@users.noreply.github.com
Bug Fixes
Lint
Fix package clash
Error logging
Remove cycling dependency
Remove cycling dependency
Fixup cli
Fixup cli
Export test
TraceId in payload of error responses
Missing receiver and sender in SubscriptionBuilder getDefinition
AMQP bridge ack handling #72
Improve gracefully shutdown of eventbridges
Esbuild issue
Redis state store and add integration test
Issues and improve code and add inline documentation
Strip and check query parameter
Fixup node version
Fixup helper
Generate correlation id only once
Use loglevel from config
Typo
Fixup : mqtt bridge
Fixup remove hono-node-server
Fixup docs
Fixup doc config
Fixup improve MQTT
Add types to exports in package.json
Fixup convertToKebabCase version in dapr sdk
Use correct package in examples
Fixup config
Use function from core in generated code
Rebuild packages after version bump to reflect correct version
Version bump of state-store-redis
Trace and log command error responses
Mqtt command handler
Disable durable for endpoint info subscription
Setting instance id in event bridge
Fixup
Signed-off-by: Sebastian Wessel sebastianwessel@users.noreply.github.com
- Cli init template outdated fixes #128
- Cli init does not contain nats bridge #130
- Core package requires Hono package fixes #129
- Blueprint tsconfig files
- Deps in package.json
- Do not overwrite user config with defaults
Depreciation
- FunctionDefinitionBuilder in favor of CommandDefinitionBuilder resolve #66
- Set/getFunction in SubscriptionDefinitionBuilder
- GetFunctionContextMock in favor of getCommandContextMock
Documentation
- Update documentation
- Update code example
- Update documentation according to breaking changes
- Add blog to website
- Refactor handbook
- Update example
- Update doc structure
- Fix website setting
- Update documentation #97
- Revamp website #97
- Revamp example #96
- Update api documentation
- Update documentation
- Update CHANGELOG
- Update doc
- Add Product hunt upvote
- Update website
- Update website
- Update twitter img
- Add inline code documentation
- Improve doc
- Update dapr doc
- Update typedoc config and update packages
- Add postman collection to Dapr example
- Update block entry
- Update
- Update doc
- Update doc
- Update api documentation
- Update api documentation
- Update documentation
- Update CHANGELOG
- Add quickstart example code
- Update package readme files
- Update nav
- Add nats bridge info
- Update api documentation
- Update documentation
- Update CHANGELOG
- Add version 1.7 blog article
- Fix order of posts in blog
- Update api documentation
- Update documentation
- Update CHANGELOG
- Update outdated docs
- Update api documentation
- Update documentation
- Update CHANGELOG
Features
- Implement OpenTelemetry into core resolve #63
- Subscribe to event now supports optional version parameter
- Add purista version to packages
- Add support for sinon sandbox in test helpers
- Simplify init logger - set default instead of required property
- Implement OpenTelemetry into AmqpBridge resolve #63
- Add @purista/cli package
- Implement purista cli
- Add EventBridge status check resolve #68
- Add /healthz endpoint to httpServer resolve #69
- Add string case helper functions
- Add operationId to OpenAPI schema resolve #77
- Provide an abstract secret store (getter) similar to event bridge #88
- Improve secret store #88
- Provide an abstract config store (getter) similar to event bridge #87
- Provide an abstract key-value state store similar to event bridge #89
- Add OpenApi deprecated flag option #78
- Add predefined tests for service builder usage #100
- Add receiveMessageOnEveryInstance flag
- Add package @purista/redis-state-store #103
- Add k8s helper package #110
- Add helper and cleanup code
- Add Dapr eventbridge #85
- Add optional log level to general event bridge config
- Add HttpEventBridge and HttpClient
- Implement Dapr SDK
- MQTT eventBridge #98
- Add AMQP & MQTT bridges to cli tool
- Add js emit event to bridges
- NATS as message broker #112
- Add NATS JetStream state store package #124
- Redis config store #125
- NATS config store for JetStream enabled NATS server #126
- Infisical secret store #127
Miscellaneous Tasks
- Bump dependency packages
- Update doc theme config
- Bump versions to 1.4.9
- Cleanup code structure
- Provide full example
- Update vuepress-theme-hope
- Correct vuepress packages
- Cleanup setup
- Improve automated document generation
- Use @swc/jest in favor of ts-jest
- Minor code cleanup
- Update package.lock
- Cleanup code - remove onSuccess and onError hook in favor of event listening
- Add cycling dependency checker
- Add inline documentation
- Fix file casing
- Fix git file casing
- Minor improvements
- Update github issue templates
- Evaluate bun and correct package.json duplicates resolve #74
- Add vscode launch jest single file execution
- Improve types and code cleanup
- Code cleanup
- Bump zod package versions
- Improve code and types
- Add fatal to logger mock and improve type
- Improve code, types and inline documentation
- Add unit tests #2
- Improve addQueryParameters types solves #90
- Update github issue templates
- Update github issue templates
- Update integration test #2
- Minor fix and improvements
- Remove spanProcessor parameter
- Minor code improvements
- Improve getter types in stores #87 #88
- Improve types
- Add warning
- Add inline doc #78
- Update test
- Add inline doc
- Update and improve cli #102
- Update gitignore
- Bump dependencies
- Set types because of package update
- Code and type improvements
- Improve code
- Update uptrace example config
- Refactor HttpserverService to ServiceBuilder #111
- Big code cleanup
- Update packages and project config
- Unify config handling in event bridge
- Minor output improvement
- Improve types
- Update project config
- Update package script
- Update packages
- Set current version
- Package
- Bump versions to 1.5.0
- Improve k8s-sdk
- Improve event bridge config typ
- Use node query parser instead of external qs package
- Require at least node v 18.15
- Use enum EventBridgeEventNames
- Cleanup code
- Improve span names
- Improve setup
- Improve k8s-sdk and enable http compression
- Improve setup
- Add testcontainers package
- Add test and cleanup and improve code
- Improve types
- Add test
- Minor fixes
- Update dependencies
- Remove async if not needed
- Use @hono/node-server 1.0.0-rc.1 with native fetch
- Log span context and traceId
- Chore improve HttpClient
Signed-off-by: Sebastian Wessel sebastianwessel@users.noreply.github.com
Add inline doc and cleanup code
Minor changes
Minor cleanup
Bump versions to 1.6.0
Update packages
Add Teletrace example and docu #122
Share bridge integration test setup
Set hono router name
Unify folder name to package name
Minor opentelemetry improvements
Update config
Minor code improvements
Update dependencies
NATS only without durable
Minor updates
Chore bump package versions
Cleanup
Do not run release build parallel
Bump versions to 1.7.0
Disable coverage threshold for quickfix
Bump versions to 1.7.1
Cleanup tsconfig blueprint in cli tool
Remove unused dependency
Bump versions to 1.7.2
Refactor
- Improve code and types and reduce complexity in DefaultEventBridge
- Improve code and types and reduce complexity in Service
- Unify logger name to be always logger
[1.4.8] - 2022-10-09
Breaking changes
- Breaking change: disableHttpSecurity defaults to true and meaning is inverted
Bug Fixes
- [BUG] HttpServer onError hook does not return #55
- [BUG] OpenApi does not reflect multiple path parameter resolves #57
- Correct documentation generation
Documentation
- Update documentation
- Update documentation
Features
- Add token status codes
Miscellaneous Tasks
- Bump versions to 1.4.7
- Bump version
- Bump dependencies
- Bump versions to 1.4.8
Resolves
- [TASK] Add duplication check on service builder #54
[1.4.6] - 2022-09-25
Bug Fixes
Package run command
Fix example test
Fix test
Documentation
- Update documentation
Miscellaneous Tasks
- Bump versions to 1.4.6
[1.4.5] - 2022-08-21
Miscellaneous Tasks
- Correct tag
[1.4.4] - 2022-08-21
Breaking changes
- Breaking change rename to AmqpBridge
Bug Fixes
- Httpserver error response
- Improve types
- Use status 204 on empty response and log errors
Documentation
- Add documentation
- Update api documentation
- Update documentation
- Update doc
- Update api doc
- Update documentation
- Update doc
- Update documentation
- Update documentation
Miscellaneous Tasks
- Cleanup example
- Return trace id in response header
- Update dependencies
- Bump versions to 1.4.4
[1.4.3] - 2022-07-31
Documentation
- Update documentation
Miscellaneous Tasks
Chore improve hook and config
Add eslintignore
Bump versions to 1.4.3
[1.4.2] - 2022-07-31
Bug Fixes
Fixup
Make testhelper package private
Subscription builder typings
CreateTestCommandResponseMsg helper return type
Documentation
- Add google analytics
- Update documentation
- Add inline documentation
- Update handbook src
- Update documentation
- Update api docs
- Add and extend examples
- Update doc
- Update documentation
- Update documentation
- Update api documentation
- Update documentation
- Fix typos
- Update documentation
- Update documentation
Features
- Add function context mocks and refactor mocks
- Refactor http server to use fastify and move to own package
- Update testhelper and example
- Create logger abstraction to allow different loggers
- Add service builder
- Add events to service and event bridge
- Add metric events
- Add principalId handling to httpserver service
- Add before response hook in http server solves #50
Miscellaneous Tasks
Add task template
Add unit tests for core
Improve types
Update project config
Improve file naming
Make getErrorMessageForCode generic
Improve code
Update config
Improve types, add instanceId
Remove obsolete http-server code from core package
Cleanup package json and minor fixes
Move testhelper back to core to prevent cycling dependencies
Improve types and subscription builder
Use test helper in tests
Update packages
Minor cleanup
Minor code cleanup
Update packages
Update test
Chore update examples and documentation
Bump versions to 1.4.0
Bump versions to 1.4.1
Update packages and config
Cleanup simple example
Bump versions to 1.4.2
Refactor
Refactor hooks
Default eventbridge and add function context
[1.3.1] - 2022-06-23
Documentation
- Add change log file #11
- Add simple example #5
- Update documentation
- Update documentation
- Add readme to packages
- Fix typos
- Add documentation for hooks
- Update documentation
Features
- Add form multipart upload suppport to webserver
- [FEATURE-REQUEST] Add hooks #34
- Allow multiple hooks closes #34
- Improve service function hooks
Miscellaneous Tasks
- Migrate to mono repo #31
- Add turbo
- Update project configs
- Build esm and commonjs
- Setup publish pipeline
- Bump versions to 1.3.0
- Update changelog
- Align command naming
- Correct file name
- Simplify typing
- Bump versions to 1.3.1
[1.1.5] - 2022-05-15
Bug Fixes
- Function builder
[1.1.4] - 2022-05-15
[1.1.3] - 2022-05-15
Bug Fixes
- Minor code fixes
Features
- Add authorization method to openapi #32
Miscellaneous Tasks
- Move test helper into own package #19
[1.1.0] - 2022-05-14
Bug Fixes
- Cookie handling
- Log traceId and service name + version #28
- Allow string array in headers
Documentation
- Update documentation and website
- Update config and update generated docs
- Update doc
- Update building documentation
- Add costum events page dummy
Features
- Unify ErrorStatus and SuccessStatus to StatusCode resolves #26
- Add traceId to handled and unhandled errors resolves #27
- Use promise.race instead timer interval #29
- Timed out invoke should send a info message #30
- Failing subscription should emit a info message #25
- Improve error handling - differentiate between handled and unhandled #24
Miscellaneous Tasks
- Update website
- Code cleanup and update doc
- Fix lint
[1.0.5] - 2022-05-11
Bug Fixes
- Middleware response issue
[1.0.4] - 2022-05-11
Bug Fixes
- Fix [BUG] set content type in FunctionDefinitionBuilder and default to application/json #22
Documentation
- Update documentation
Miscellaneous Tasks
- Remove js files from linting
[1.0.3] - 2022-05-10
Bug Fixes
[BUG] openapi3-ts dependency missing #14
Fix #17 fix #16 : not working under windows os and routing issues:wrong 404 handling
Use copressionMiddleware as default last middleware
Documentation
- Add first simple documentation version resolves #4
- Add .nojekyll file to vuepress and doc folder
- Correct doc folders
- Minor improvements
Features
- Add swagger ui
Miscellaneous Tasks
- Initial
- Setup domain and gh-pages
- Install and setup vuepress
- Minor code cleanup
- Add vuepress config to lint ignore
- Add CNAME to doc public folder
- Update test config
- Improve test mock
- Fix package.json script