- go-mod-bootstrap
- go-mod-core-contracts
- go-mod-messaging
- go-mod-registry
- go-mod-configuration (indirect dependency)
- go-mod-secrets (indirect dependency)
- Add option for Batch to merge results before sending. (#1103) (#8ff173f)
- Add pipeline IDs as tags to the metris collected for each pipeline. (#1102) (#cad5e53)
- Add Line Protocol function to transform Metric DTO (#1100) (#4ae2578)
- Added initial SDK level App service metrics (#1098) (#3a510b3)
- Added support for custom app service to have custom service metrics (#1094) (#a0ca9d1)
- Enable Delayed Start and Service Metrics capability (#1093) (#cf0a0b1)
- Optimize findMatchingFunction (#1071) (#5f18f9a)
- Expose the RequestTimeout configuration setting to app service (#1039) (#c8cbc5e)
- Improve service initialization process (#1047) (#6bcd8b5)
- Location of client service obtained from the registry (#1038) (#cc5ba68)
- store-forward: Enable Custom Factory Registration (#1051) (#c4fff4f)
- webserver: Create Common DTOs with ServiceName (#1029) (#3b5051e)
- Use latest 1.8.8 of redigo and ignore bad v2.0.0 tag (#1049) (#73b9dee)
- Refine the retry mechanism inside the MQTT trigger Initialize func (#1090) (#241a840)
- Missed ServiceName in Swagger (#1033) (#1fe855a)
- Update sample data in swagger for /secret to be correct (#1075) (#7cb97b0)
- Enable controller tests to run and fix failures (#1067) (#2bb5a09)
- improper use of secretAddedSignal channel (#1054) (#50cceb0)
- Update all doc links in app template to refer to version 2.2 (#1105) (#8d5a86b)
- configuration: add handling for custom configuration section in c… (#1082) (#e072562)
- triggers: Write HTTP Response Data (#1034) (#7f6b5c5)
- triggers: Log / Config Access (#1021) (#221b25e)
- triggers: Return Bad Request Errors Where Appropriate (#1022) (#354085e)
- triggers: Pass Child Context to Response Handler (#1011) (#4ccfd54)
- Improve the code readability for the change of issue #1046 (#1060) (#fa9e06d)
- triggers: Normalize Orchestration (#967) (#a4177a0)
- update outdated link in configuration.toml (#1097) (#3fb663e)
- Publish swagger to 2.2.0 (#1015) (#7c5d33e)
-
Update to latest go-mod-messaging w/o ZMQ on windows (#1009) (#d30acd6)
BREAKING CHANGE: ZeroMQ no longer supported on native Windows for EdgeX MessageBus
- Updated CORs implementation to handle preflight request (#990) (#d9713a4)
- Add CORS support (#983) (#2f5b3cf)
- Add Pipeline per Topic capability (#938) (#262cc6a)
- Add Clone to Context (#950) (#b86fbeb)
- Support Multi-Topic Pipeline Configuration (#947) (#0793683)
- Custom Trigger Multi-Pipeline Support (#941) (#18ff6e1)
- transforms: Enable Batch to optionally marshal data as Events (#977) (#b877746)
- transforms: Add support for Object type to PushToCore function (#973) (#162e49c)
- transforms: Add ability to use generic Event tags (#969) (#83cc0a2)
- transforms: new AES 256 Encryption Transform (#984) (#8fa13c6)
- Update docs links in README to 2.0 version of links (#943) (#a082b2d)
- runtime: ignore charset in unmarshalPayload for Content-Type comparison (#951) (#952) (#be777dc)
- Clean up TOML quotes and add LF MD files (#63ccb94)
- FilterByResourceName - Create Event copy with all required fields (#925) (#e52849b)
- Set logger in MqttFactory to avoid panic when AuthMode is empty (#926) (#1bc0c5a)
- Change logging of CorrelationID to use proper function call (#924) (#83c633e)
-
Add debug logging of Event/Reading details (#666) (#fc40647)
-
Upgrade to new V2 Clients and refactored PushToCore context API (#882) (#69a9f95)
BREAKING CHANGE: PushToCore signature and required parameters have changed
-
Remove deprecated MQTTSend pipeline function (#592) (#c9ed7d5)
BREAKING CHANGE: MQTTSend pipeline function no longer available. Replaced by MQTTSecretSend.
-
Remove MarkAsPushed context API (#607) (#c562d37)
BREAKING CHANGE: MarkAsPushed API is no longer available.
-
Allow for multiple MessageBus subscription topics (#625) (#b307360)
-
Expect V2 Event DTO from triggers. (#616) (#2ceec0a)
BREAKING CHANGE: Event and Reading DTOs have differrent/add/renamed fields from the V1 Event and Reading Models
-
Switch to Redis as the default MessageBus for template service (#811) (#89c75ca)
-
Add custom structured configuration capability (#753) (#bc08826)
-
Add debug logging of the Event Tags (#dfa455d)
-
Add MakeItStop to stop the function pipeline form executing (#613) (#baae3ee)
-
store-forward: Remove Mongo as supported DB option (#589) (#d5e638f)
BREAKING CHANGE: Mongo DB no longer availble as an option
-
transforms: Refactored PushToCore function (#882) (#69a9f95)
BREAKING CHANGE: PushToCore required parameters have changed
-
transforms: Add ability to chain HTTP exports for export to multiple destinations (#860) (#1d9ed87)
-
transforms: Remove MarkAsPushed function (#607) (#c562d37)
BREAKING CHANGE: MarkAsPushed is no longer available.
-
transforms: Update Filters for V2 DTO changes (#680) (#583298e)
BREAKING CHANGE: FilterByValueDescriptor has chnaged to FilterByResourceName
-
transforms: Add new FilterBySourceName function (#731) (#3ee2f0b)
-
transforms: Add secrets capability to Encryption pipeline function (#706) (#e84fe62)
-
transforms: Add KeepAlive and ConnectionTimeout to MQTT Export settings (#859) (#d9301fa)
-
transforms: Add URL Formatting To HTTP Sender (#877) (#24752ac)
-
transforms: Use Default Topic Formatting for Triggers (#897) (#b82a6b8)
-
transforms: Add Topic Formatting Capability to MQTTSecretSender (#872) (#881afdc)
- Errors in dynamic pipeline updates allow previous pipeline to run, hiding the errors (#711) (#db11a9b)
- Clean up retry properties and update secret path (#865) (#83c109e)
- Added missing .ExternalMqtt subsection to error log message (#836) (#7563e5d)
- Add missing instructions to remove replace statement from go.mod file (#818) (#caac711)
- Fix webserver to use ServerBindAddr only if not blank, same as rest of EdgeX Services (#776) (#1fb879a)
BREAKING CHANGE: Webserver will be locked down to listen just to `Host` value when If `ServerBindAddr ` is blank
- Add json array check when determining CBOR of JSON encoding (#896) (#d07bca6)
- Normalize Trigger Factory Returns (#699) (#d22e914)
-
Use Core Metadata version API for version check (#906) (#94336c9)
-
Replace use of deprecated io/ioutil with proper package (#893) (#a453267)
-
Remove support for V1 Events/Readings (#889) (#d651532)
BREAKING CHANGE: V1 Events/Readings no longer supported
-
Use common ServiceInfo struct and adjust code/configuration (#855) (#d73e4bf)
BREAKING CHANGE: App Service's [Service] configuation has changed
-
Update for new service key names and overrides for hyphen to underscore (#838) (#d014dc0)
BREAKING CHANGE: Service key names used in configuration have changed.
-
Move topic config to appropriate config struct (#830) (#c9e8075)
BREAKING CHANGE: Edgex-MessageBus and External-Mqtt configuration has changed
-
Replace file based with use of Secret Provider to get Access Tokens (#784) (#c52b117)
BREAKING CHANGE: All App Services running with the secure Edgex Stack now need to have the SecretStore configured, a Vault token created and run with EDGEX_SECURITY_SECRET_STORE=true.
-
Switch to 2.0 Consul path (#782) (#da3d051)
BREAKING CHANGE: Consul configuration now under the `/2.0/` path
-
Make SDK a V2 Go Module (#643) (#29611b3)
BREAKING CHANGE: Custom App Service's go.mod must have /v2 on end of SDK url All SDK imports must have /v2 in the path
-
Change to using service keys for names in Clients configuration (#747) (#c6680ff)
BREAKING CHANGE: Clients configuration has changed and must be updated to use service keys for names
-
Rework SDK to use Interfaces and factory methods (#741) (#3a57661)
BREAKING CHANGE: App Services will require refactoring to use new interfaces and factory methods
-
Remove V1 REST API code and swagger (#730) (#7e0294b)
BREAKING CHANGE: V1 REST API's no longer supported. Replaced by V2 REST API code and swagger.
-
Consolidate function pipeline configuration (#728) (#4a1f060)
BREAKING CHANGE: Configuable Pipeline function setting have changed
-
Restructure Trigger configuration (#724) (#8767d03)
BREAKING CHANGE: - Renamed `Binding` to `Trigger` - Removed deprecated `MessageBus` trigger type, replaced by`edgex-messagebus` - Renamed `MessageBus` to `EdgexMessageBus` - Move `EdgexMessageBus` and `ExternalMqtt` under `Trigger` configuration
-
Remove deprecated environment variables and related code (#718) (#866257f)
BREAKING CHANGE: The following environment variables no longer supported: - `edgex_profile` (replaced by uppercase version) - `edgex_service`
-
Rename MqttBroker configuration to ExternalMqtt (#717) (#a6c3fef)
BREAKING CHANGE: Configuration section name changed
-
Rework secrets for HTTP Export so value in InsecureSecrets can be overridden (#714) (#4075ac3)
BREAKING CHANGE: Parameters have changed for HTTP Post/Put with SecretHeader
-
Refactor V2 API /secrets to be singular /secret (#648) (#78327a4)
BREAKING CHANGE: /api/v1/secrets changed to /api/v2/secret and expected JSON has chnaged
- Add badges to readme (#ae6271d)
- Update files for Go 1.16 (#824) (#7ab1d82)
- add code scanning (#805708f)
- standardize dockerfiles (#610) (#6d0fca7)
- Add V2 Version endpoint (#435) (#6174217)
- add message bootstrap handler, fixes #423 (#424) (#430b7bf)
- V2 Swagger Doc Design (#422) (#298ccb9)
- Implement V2 Ping endpoint and V2 layers (#433) (#1cb68c1)
- Implement transform to add Tags to Event (#467) (#c89ea64)
- Add logging of service version and total startup time (#434) (#ef90721)
- Implement V2 Secrets endpoint (#441) (#ffc77a0)
- Implement V2 Trigger endpoint (#440) (#b46b5c8)
- Implement V2 Config endpoint (#437) (#5783a75)
- Implement V2 Metrics endpoint (#436) (#9c4a1fd)
- Add ability to export via HTTP PUT with secret header support (#546) (#812c8b5)
- configurable ListenAndServe address, fixes #405 (#406) (#e8b2565)
- Add background publisher to MessageBus (#466) (#7cb694d)
- expose RegistryClient on SDK (#501) (#3b3ebc9)
- Expose SDK EdgeX clients (#525) (#15f2541)
- triggers: Add MQTT Trigger with secure connection options (#498) (#f40e2be)
- Fix response content type issue 567 (#568) (#a22ec22)
- http trigger response can set content-type (#551) (#d7502e4)
- Adjust timing so test doesn't fail intermittently (#549) (#529345a)
- backwards compatibility broken by #406, fixes #408 (#409) (#6ebb1d4)
- Set Redis password in MessageBus.Optional when using redisstreams (#534) (#7fa6067)
- Skip compatibility check when Core Data's version is 0.0.0 (developer build) (#533) (#35ab7bc)
- Make
path
property required for the Secrets V1 & V2 APIs (#497) (#a28a1e2) - Data races detected from messagbus unit test #488 (#489) (#c0b07c9)
- Fix unit tests that fail when using Go 1.15 (#485) (#dd68bd8)
- Add locking around MQTT client setup and around connecting to avoid race conditions. (#474) (#b0f6186)
- Request DTO's RequestId is not required. Can be blank or a valid UUID (#475) (#3e706d9)
- Data races detected from Batch function #448 (#449) (#337bfa7)
- Rename swagger file to use
yaml
extension. (#465) (#a75dd35) - Trigger API schema type of
text
for errors is invalid, should bestring
(#453) (#6b45ea7) - V2 Secrets return proper 201, 400 or 500 status codes, not 207. (#443) (#fc2196f)
- Allow startup duration/interval to be overridden via environement vars (#426) (#5d4b522)
- InsecureSecrets change processing should update SecretProvider.LastUpdated (#420) (#a9fe1e5)
- app-service-configurable issue 74 (#383) (#f08b8d6)
- sdk: Fix version check to handle new core-data
dev
versions. (#416) (#4847189) - triggers: MQTT subscribe via onConnect handler so re-subscribe on reconnects (#537) (#c8e7ff0)
- Replace calling NewBaseResponseWithoutMessage with NewBaseResponse (#557) (#10e68ac)
- Change all unit tests to use logger.NewMockCient() (#555) (#02b6e43)
- Refactor V2 API to use new errors mechanism for go-mo-core-contracts (#494) (#e35ffeb)
- Remove Client monitoring. (#386) (#0aa127b)
- addition of version and LTS refs to README per arch's meeting (#7a11604)
- update pr template to include dependencies question (#382) (#b5e0c58)
- Switch to use Go 1.15 (#478) (#6f19a0c)
- Enable DependaBot via YML file, rather than external BOT (#030bce6)
- fixed log message formatting (#378)
- Add ability to Filter functions to reverse the logic to filter out specified names (#375)
- Allow overrides that have empty/blank value (#374)
- update changelog
- github actions experiment (#366) #78b69fc
- allow merge in git history #62cc162
- improve conventional commit conformance #1f63c5f
- jenkins: remove sandbox file #531f52b
- VERSION: Remove VERSION file #9d74176
- update links to point to v1.2 #d3c62bb
- move docs to edgex-docs #76095f3
- pr-template: remove contribution guidelines from PR checklist since commitlint checks this #4321bad
- adding batch to TOC #9695d7b
- batch documentation created #2d51189
- Update PR Template based on feedback #b1a1b0b
- Add webserver usage to ToC #7ea3b5e
- swagger: add swagger annotations to generate spec from code #8e83cab
- PR Template #ec47f61
- changelog information #75cbd94
- Change serviceName override to be ServiceKey (#365) #85cb718
- CBOR: Replace ugorji/go with fixmacker/cbor #93f855c
- tests: Fix order of expected vs actual and other clean up #c0ff507
- sdk: Add MQTT MessageBus Support #9cc961e
- Updated to use latest core-contracts changes #7c6633a
- examples: Move examples out of SDK into new app-service-examples repo #ed9e796
- formatted code #c6dcc18
- sdk: Update usage of NewSecretClient to use the latest go-mod-secrets #8b11b1f
- Updated to latest go-mod-core-contract for bug fix (#364) #aceb24c
- go.mod: update dependencies #2da5c5e
- update go version to 1.13 #b26dc8a
- Update relevant files in app-functions-sdk-go for Go 1.13. Close #280 #0123828
- Jenkinsfile: Pipeline changes for Geneva release #5de66a3
- Attribution: Add missing Attribution.txt file and update makefile test target #6f1a755
- go.mod: Add running go mod tidy to
make test
#d24fbcd - makefile: allow building in gopath by setting GO111MODULE=on #d11277d
- Add more sleep time to Batch and Send unit test to fix ARM CI failures (#361) #2c4cbff
- Use correct parameter key name for MQTTSecretSend AuthMode in configurable pipeline (#358) #b47159d
- Implement smarter configuration update processing (#354) #678d12a
- Added longer sleep to fix intermittent unit test failure on ARM (#352) #65b44ef
- JSONLogic now runs rules everytime insted of 1st time [#e83dc16](https://github.com/edgexfoundry/app-functions-sdk-go/commits/e83dc16c714ff806052072b14cc5f609f337ef7a
- retry loop: Wrap version check and DB connection is a retry loop instead of sending an error (#345) #1bfa060
- Use credentials from Database config if not found in InsecureSecrets #5c97927
- Remove code that returns empty credentials for Redis #bd9dac5
- Handle deprecated edgex_service env variable #9e68ba5
- profile: Set profile properly in service's service key when env override used #f6dd20a
- SecretClient: Initialization of secret client retry logic #ba62973
- SecurityProvider: Make initialization of secret clients optional #4b86353
- batch: 2nd batch hanging in count mode #3879fbb
- go.mod: Removed wrong version of ZMQ package used. #4bd3797
- trigger: invoke connect on initialization #b5a07d6
- StoreForward: Add missing retrieval of DB credentials from Vault #e2e81ce
- urlclient: Update contracts version to fix bug in URLClient. #a8ba403
- README: Fix example code in README to not panic if LoggingClient not initialized #a7f6acd
- Add ability for command-line and environment override of service name (#356) #dcb01ac
- Integrate with new redis streams message bus implementation #6fcbfc4
- bootstrap: Integrate go-mod-bootstrap for common bootstraping #1034e84
- configurable: add mqtt secret support #d9433ed
- mqtt: add security provider support for mqtt connection #9695290
- configurable: support secrets for http export #3358642
- configurable: add JSONLogic #e05bd13
- configurable: add batch functions [#3ef7d39](https://github.com/edgexfoundry/app-functions-sdk-go/commits/3ef7d39f8f6b264ec371b2a4968901b46d76af58
- security: Add second SecurityStore client for service specific secrets #204e3ef
- http-export: add support for auth token in header #311414e
- jsonlogic: add filter feature of jsonlogic #9637eb0
- core contracts: Upgrade to latest Core Contracts for Reading enhancements #a93dbb5
- sdk: Add full path to secrets api route #9f72141
- sdk: Implement StoreSecrets in app functions SDK #1f7dc12
- sdk: Add support for insecure secrets for when running non secure mode #ad238fe
- sdk: Add helper function to SDK to get string slice from App Settings. #f83b325
- appsdk: Add support for HTTPs on REST trigger #b594893
- appsdk: Add support for HTTPs on REST trigger #b9ccbab
- configuration: Add overwrite option for force local settings into Registry #7b6318d
- version: Validate that SDK's major version matches Core Service's major version #d91fdf1
- appsdk: Change configuration intervals to duration strings #e80ce9a
- MqttSend: Add SkipCertVerify setting and refactor MqttSend #2c25a52
- appsdk: Appsdk changes for Store and Forward. #211efe4
- batch and send #1a44398
Inserting preceding "-" when replacing <profile>
in the service key has been removed so the use is more flexible. The only service using the replacement text is app-service-configurable which will be updated to add the "-" in the initial service key.
- go.mod: Add running go mod tidy to
make test
- makefile: allow building in gopath by setting GO111MODULE=on
- readme: Address unknown type issue from getting started section #a6b9976
- readme: Updated sample code in readme #2fbe312
- contributing: Document suggested format for commits #b264877
- fix typo "rigistry" -> "registry" in README #0cce673
- toc: Adding a Table of Contents #08620d2
- Context: Add useful edgex clients to expose them for pipeline functions and internal use. #29978f0
- Filter: Pass all events/reading through if no filter values are set #ad8e2ed
- configurable: Expose MarkAsPushed #d86d0a0
- contracts: Update to latest Core Contracts for new Command APIs
- coredata: Provide API to push to core-data #d18e9d2
- coredata: MarkAsPushed is now available as a standalone function #fdc4f0e
- examples: Add example to demonstrate using TargetType #1b9758f
- mqtt: Support to pass MQTT key/pair as byte array #985c91b
- profile: Add environment override for profile command line argument #c75d2ca
- runtime: Support types other than Event to be sent to function pipeline #ee6cf0e
- runtime: Store and Forward core implementation in runtime package. #1d28cc9
- store: Redid Mongo integration tests. #132f2fc
- store: Added error test cases. #52e7605
- store: add abstraction for StoredObject. #b8d7b6a
- store: Explicitly return values, fix missing imports on test. #93fbaa2
- store: Address PR feedback. #8ab3aba
- store: add mongo driver #48f9171
- store: Updated to remove all indexing by ObjectID. #01c114b
- store: Added contract validation and tests. #354adfb
- store: Added Redis driver. #4f8ef02
- store: Refactored validateContract(). #50b0712
- store: Add mock implementation for unit testing. #5cd4eaf
- transforms: Add ability to persist data for later retry to export functions #351bbc2
- webserver: Expose webserver to enable developer to add routes. #e48170e
- webserver: Docs and tests for webserver use #3d5ac67
- version: Add /api/version endpoint to SDK #d9fdfd0
- contracts: Update to latest Core Contracts for new Command APIs #e818c23
- TargetType: Make copy of target type before using it. #069304b
- configuration: Utilize protocol from [Service] configuration #c6bec4a
- configuration: Check Interval is now respected #06a310f
- logging: When trace is enabled, log message for topic subscription is correct #ebe38a9
- pushtocore: error not returned to pipeline #61a3c1b
- trigger: Return error to HTTP trigger response #af60e79
- webserver: Timeout wasn't be used #df39230
- CommandClient: Use proper API Route for Command Client #b76f85c
- log-filename: filename specified in configuration.toml was not being respected #9007019
- db.redis: Denormalize AppServiceKey out of store object to optimize update #d065621
- Ensure test names are consistent with function names #b1e3b13
- sdk: Refactor to use New func pattern instead of helper functions #105f120
Pipeline functions used in the SetPipeline() now need to be created with the provided New…() functions.
/trigger
endpoint now follows standard edgex convention. It is now /api/v1/trigger
HTTPPost and MQTTSend no longer automatically call MarkAsPushed upon success. It is upon the developer to ensure the method is called appropriately.
Pipeline functions used in the SetPipeline() now need to be created with the provided New…() functions.