- go-mod-bootstrap
- go-mod-core-contracts
- go-mod-messaging
- go-mod-registry
- go-mod-secrets
- go-mod-configuration (indirect dependency)
BREAKING CHANGE: Remove snap packaging ([#4706](https://github.com/edgexfoundry/edgex-go/issues/4706))
- Implement notification retention feature (b213c8a…)
- Implement data retention feature (2b2ffc9…) Add new export error metrics to App Service common config (#4696) (a045e8e…)
- Add LastConnected metric to device service common config (596b81e…)
- Allow name field escape configurable (#4674) (8690ef6…)
- Accept Url escape in API path (67d489b…)
- Use a better error handling logic and messages when run in hybrid mode with no common config (#4617) (e9743d5…)
- Use file load for UoM to allow reading from local file or URI (#4600) (c4e9678…)
- Take secrets base directory from existing configuration (#4592) (b4f3d37…)
- Add warn log for create/update interval (#4597) (db7b7ee…)
- Replace mux with Echo for all services (d8e3ff3…)
- Replace gorilla/mux router library with Echo (f0b0b88…)
- Update UrlDecodeMiddleware to use echo format (84ead09…)
- Move all the common APIs into go-mod-bootstrap (b3c3aff…)
- Remove old InsecureSecrets backward compatibility elements (#4672) (5e4c173…)
- Remove github.com/pkg/errors from Attribution.txt (92b822a…)
- Remove duplicate definitions (#4692) (34f840c…)
- (security) CORS Allow-Credentials header applies to ALL CORS requests (#4669) (2bac5d1…)
- (security) Fix crash in entrypoint.sh due to exit code (#4642) (cd3e8a6…)
- (security) Restore CORS functionality broken in EdgeX 3.0 (#4638) (5be6da0…)
- Purge notifications properly (4482fa8…)
- Core-command fuzzing test http error 500 (7fce62d…)
- Initialize interval in the local time zone (418c923…)
- Fix core-command swagger file (#4631) (fe3620c…)
- Update core-metadata swagger for missing tags and description' (#4612) (54d035b…)
- Fix typo in README (78e29ba…)
- Add common API /secret to all Swagger files (74fb306…)
- Upgrade to go-1.21, Linter1.54.2 and Alpine 3.18 (#4680) (4687b85…)
- Pull spire-server and spire-agent from prebuilt containers (#4667) (7bfebe8…)
- (core-data) To improve core-data fuzzing test coverage with swagger… (#4690) (8da9149…)
- Add dockerfile and script to perform fuzzing test on all swagger files and individual (#4569) (6b7b8e6…)
- Report FuzzLean result to fuzz_results folder (#4637) (74b98e4…)
- Add automated release workflow on tag creation (f296da7…)
- Update base API version to v3 (#4519)
BREAKING CHANGE: All base API version is updated to v3
- Change configuration file format to YAML (#4456)
BREAKING CHANGE: Configuration files are now in YAML format, Default file name is now configuration.yaml.
- Accept URL escape for device command name and resource name (#4376) (#1bf67f4f)
- Common config bootstrapper and config implementation (#4292) (#9f6c2d12)
- Add ability to customize spiffe services (#4533) (#824c097d)
- Implement common config flag for security (#4464) (#0e3a5bd4)
- Add env override capability for common configuration (#4449) (#98f26a0c)
- Remove ZeroMQ MessageBus capability (#4234) (#a2765a98)
BREAKING CHANGE: ZeroMQ MessageBus capability no longer available
- Consume watch for common Writable config changes (#4432) (#043fa686)
- Add GetSecret and RunTimeSecret metrics (#4556) (#079d219b)
- Consume common config (#4335)
BREAKING CHANGE: Remove the common config information from all services.
- Remove UseMessageBus from config (#4330) (#6d8f4899)
- Remove old metrics collection and REST endpoint for all services (#4311)
BREAKING CHANGE: Remove old metrics collection and REST endpoint from all services.
- Change Database configuration to be single instance (#4308)
BREAKING CHANGE: Database configuration for services has changed from a Map to a single instance.
- Push common config to config provider (#4306) (#228e514b)
- command: Enable regex for Commands via Messaging (#f55e44b8)
- data Update Add Event REST endpoint to include service name (#4368)
BREAKING CHANGE: Event RSET endpoint will become `/event/{serviceName}/{profileName}/{deviceName}/{sourceName}`.
- metadata Remove device callback calls (#36411bb3)
BREAKING CHANGE: Device callback calls are replaced by Device System Events
- metadata Apply provision watcher model changes (#4471)
BREAKING CHANGE: Apply provision watcher model changes. Add 'discoveredDevice' field which includes profileName,adminState,autoEvents, and properties for discovered device.
- metadata Switch UoM API to YAML format (#4462)
BREAKING CHANGE: It was decided in Minnesota planning that all TOML files would be change to be YAML format, so switching YAML in UoM API.
- metadata Remove Notify field out of Device dto and add Properties field into ProvisionWatcher DTO (#4375)
BREAKING CHANGE: Per edgexfoundry/go-mod-core-contracts#807, the boolean field notify of Device DTO is removed as device creation notification is handled by system event message now. Per edgexfoundry/go-mod-core-contracts#803, the ProvisionWatcher DTO is updated with a new Properties field.
- metadata Remove LastConnected, LastReported fields from Device and UpdateLastConnected configs (#4369)
BREAKING CHANGE: Remove LastConnected, LastReported fields from Device and UpdateLastConnected configs
- metadata Replace REST device validation callback with MessageBus (#4366)
BREAKING CHANGE: Adding new Device requires Device Service running for validation.
- metadata Implement Device Service System Events (#4351)
BREAKING CHANGE: Publish System Events for Device Service add/update/delete, and remove the Device Service REST callback.
- metadata Allow Device Profile to be empty string in ProvisionWatcher (#8898ba7a)
- metadata Implement Provision Watcher System Events (#7d9adc03)
- metadata Implement Device Profile System Events (#4336) (#966ddbcd)
- metadata Remove DeviceChanged Notifications mechanism (#4320)
BREAKING CHANGE: Remove the 'Notifications' config and 'Clients.support-notifications' dependency. In EdgeX 3.0, metadata will leverage device system events to replace the original device change notifications
- scheduler Add authentication to support-scheduler actions (#4419) (#923421b8)
- security Create security-proxy-auth microservice (for proxy swapout) (#4387) (#68f229a3)
- security Support for sending outgoing JWTs from core services to device service REST APIs (#4384) (#248dcbaf)
- security Vault tokens are now identity-based instead of anonymous (#4327) (#fd143bca)
- security Implementation of JWT authentication ADR (#4244)
BREAKING CHANGE: Requires JWT authentication for all inbound requests except for /api/v2/ping URL. Removes support for Kong reverse proxy. In place of Kong, uses NGINX proxy auth module and introduces new security-prox-auth service. Changes secrets-config proxy adduser/deluser commands to create Vault users instead of Kong user. Changes secrets-config proxy tls command to write TLS certificate to docker volume instead of Kong. Removes security-proxy-setup go binary and replaces with shell script to create default TLS token.
- snap Remove secrets-config proxy snap options (#4511)
BREAKING CHANGE: The ability to add users by public key has been removed in secrets-config v3. The remaining parts which are to replace default TLS certificate, is possible via other, more secure means. As a result, this feature along with all its complexity is being removed.
- snap: Add core-common-config-bootstrapper (#4347) (#8ffa5fbc)
- Set exitcode of secrets-config for command execution errors (#4418) (#5942442a)
- Enable delayed-start services to get message-bus credential (#4550) (#2c041b41)
- Don't register spiffe token provider service (#4536) (#805e484e)
- Register healthcheck endpoint for security-proxy-auth (#4426) (#ad6eec9b)
- Use Database Timeout setting defined in the configuration (#ef48cf16)
- Adjust redis maxclients to 1000 as default (#87e0a753)
- Check the device service existence before calling the device validation (#8058126d)
- Add retry when calling HasConfiguration to wait for Consul (#4334) (#a5aecf7d)
- Remove Devices Service exists Check from Add/update Provision Watcher (#1258cfbf)
- data: Update validateEvent topic check (#510db3ea)
- security: Prefix security related env vars with EDGEX_ (#4514)
BREAKING CHANGE: Add EDGEX_ prefix to ADD_SECRETSTORE_TOKENS, ADD_REGISTRY_ACL_ROLES, ADD_KNOWN_SECRETS, and IKM_HOOK variables
- security: Restore ADD_PROXY_ROUTE functionality for docker NGINX (#4412) (#3ead8ec5)
- snap: Source security-bootstrapper config overrides from env file (#4283) (#01248c13)
- snap: Update env file path for security bootstrapper services (#4555) (#857beb77)
- Adjust app service names in Spire seed script (#4494) (#581b0da7)
- Remove use of TOML package (#4468) (#56c53f3e)
- Update secret path to secret name (#4435)
BREAKING CHANGE: Update secret path to secret name
- Add app service default subscribe topics (#4363) (#4dbbd61a)
- Consume Database Timeout changed to duration string (#01c1eb6e)
- Replace references to message queue in log messages (#4285) (#75e2dee3)
- Rework code for refactored MessageBus Configuration (#4268)
BREAKING CHANGE: MessageQueue renamed to MessageBus and fields changed. See v3 Migration guide.
- Remove system management agent and executor (#4265)
BREAKING CHANGE: SMA is deprecated in EdgeX 3.0.
- Rename config flags to be more consistent (#4255)
BREAKING CHANGE: - `-c/--confdir` to `-cd/--configDir` - `-f/--file` to `-cf/--configFile`
- Use common Config Stem constants for Core Contracts (#4243)
BREAKING CHANGE: Location of service configuration in Consul changed
- Remove vault wait from consul start (#4228) (#cfbe246e)
- command Replace Command message bus internal topics from config with new constants (#4348)
BREAKING CHANGE: Internal topics no longer configurable, except the base topic.
- command Rework Core Commands via messaging to use new MessageBus Request API (#4310)
BREAKING CHANGE: Topics configuration for Core Command has changed. Also the internal response topic is always `edgex/response/<responding-service-name>/<request-id>`.
- command: Use bool types for Command query parameters to be more consistent (#4276)
BREAKING CHANGE: Query parameters `ds-pushevent` and `ds-returnevent` to use bool true/false instead of yes/no
- security Change to camelCase args for secrets-config proxy TLS (#4433)
BREAKING CHANGE: To be consistent with other secrets-config sub-commands, the tls command will now accept camelCase command line arguments. Also fixes issue with -h option resulting in an error in addition to printing help.
- security Replace SecretStore service config with default values and overrides (#4291)
BREAKING CHANGE: SecretStore config no longer in service configuration file. Changes must be done via use of environment variable overrides of default values.
- snap Disable and stop services by default (#4552)
BREAKING CHANGE: Prior to #4448, it was possible to override configuration coming from the Config Provider via environment variables. This is no longer possible. As a result, the environment variables need to be set before initial startup. This PR changes the services startup to have them disabled and stopped by default, instead of enabled and started. This is to allow changing configurations via environment variables in this Snap (via snap options) when installing the snap manually.
- snap: Remove explicit config provider address (#4396) (#c62a5d89)
- snap: Several v3 cleanup and minor fixes in snap hooks (#4559) (#c33d50c2)
- snap: Remove obsolete parts, upgrade Go, build nginx (#4439) (#d51f32be)
- snap: Remove external metadata sourcing (#4453) (#fb374ba4)
- snap Replace deprecated snap options with app options (#4277)
BREAKING CHANGE: - Remove support for config and proxy config with env. prefix in favor of app config options. - Replace option to disable security from security-secret-store=off to security=false. - Replace <app>=on|off option with apps.<app>.autostart=true|false and autostart=true|false (global) options. - Refactor deferred startup to use autostart logic for starting services after configuration. - Refactor security disabling logic to make use of autostart and config.edgex-security-secret-store in instead. - Remove obsolete script for starting services with disabled security. - Add a new service that runs to apply secrets-config options. - Rename helper-go's options subcommand from service to app since it can handle all apps, incl. CLI apps.
- Add AuthMethod to support-scheduler API document (#9c0101fb)
- Update Value Properties max and min data type from string to number (#3bc247e5)
- Move swagger files to V3 folder (#6803b664)
- Update Add Event Swagger for new
serviceName
parameter (#4361) (#8776ce55) - security: Update SECURITY.md, add security.txt for docker images (#4407) (#b576a02c)
- security: Clarify units of adduser's tokenTTL and jwtTTL (#4431) (#962cd113)
- Update golangci-lint to be more verbose and info (#4476) (#e99ed673)
- Generate spdx sbom and add Makefile target for sbom generation (#4339) (#da675bb4)
- Upgrade to Go 1.20, Alpine 3.17 and linter v1.51.2 (#4dcf4701)
- Upgrade spire to v1.6.3 (#adae0844)
- snap: Remove deprecated kuiper and ASC from edgexfoundry snap (#4250) (#2918878e)
BREAKING CHANGE: Remove deprecated kuiper and app-service-configurable apps from the edgexfoundry snap since they are now available as standalone snaps.
- snap: Upgrade releases of Consul, Nginx and Redis (#4574) (#1557ff34)
- snap: Upgrade snap base to core22, upgrade env file loading logic (#4530) (#47e5a6d2)
- snap: Remove helper scripts from staged snaps (#4232) (#af696e21)
- Secure MQTT Bus Credentials (#4142) (#21503d9d)
- Add secure mqtt support for eKuiper (#4155) (#b7de7b77)
- Enable common security secret service metrics (#4184) (#8629e80a)
- Add go-winio to attribution (new SPIFFE dependency) (#4029) (#ba7dda9b)
- use different consul service policy rule for service role (#4104) (#85bfaaf4)
- Implement Device System Events (#4101) (#643a1ec0)
- Add management acl token and save token info to file (#4126) (#96e03a37)
- Add option to build Core/Support services with NATS Capability (#4137) (#604c3c95)
- Add NATS Subject for autoprovisioning streams (#4165) (#cf21bfd5)
- Add security Consul metrics (#4203) (#1656a83b)
- command: 3rd party command query via messaging (#4135) (#a0e04e55)
- command: Command request from external MQTT to internal MessageBus (#4153) (#1c2713d9)
- command: Update core-command to support message bus access (#4129) (#fd31c876)
- command: Publish device service response to external MQTT (#4166) (#1845739d)
- command: Subscribe command request via internal messaging (#6f71b1dc)
- command: Command query via internal messaging (#4182) (#07636ef9)
- metadata: Add UoM validation to POST deviceresource API (#4140) (#f87a0e7a)
- metadata: Implement GET Units of Measure API (#4127) (#de42c75f)
- metadata: Implement Unit of Measure (UoM) ADR (#4119) (#03487ec6)
- snap: Remove device-virtual (#4041) (#fed831e0)
- snap: Add secretstore token for device camera services (#4034) (#6f84e707)
- Delayed start services for support- services fail (#4159) (#726ff502)
- Fixed security-bootstrapper Docker volume init semantics (#4085) (#ad21f989)
- Fix security-secretstore-setup volume init semantics (#4092) (#66f7195a)
- Fixed Missing error check (#4100) (#062af8d3)
- Always run "kong migrations up" (#4172) (#f2edda91)
- Security services' bootstrap handler return true/false properly (#4107) (#48044024)
- Add consul policy list check (#4164) (#a3948579)
- Add missing edgex/security config stem resolution in security-consul-bootstrapper (#4110) (#a9913775)
- Addressed permission error in redis v7 #4027 (#4118) (#153a8924)
- Change redis username from redis5 to default (#4031) (#4c165043)
- data: Fix deleting numerous events HTTP request timeout by goroutines (#4063) (#e2bcede5)
- scheduler: Check interval when adding intervalAction (#895df5c4)
- scheduler: Remove unused field in scheduler config (#81b3411d)
- snap: Bind redis server to loopback interface (#4154) (#0ef95e30)
- Move all the db related check to the infrastructure layer (#b0f671d9)
- Move consul access and role interface (#4193) (#5b680ce2)
- command: refactor messaging handler (#4204) (#23251983)
- data: Use deepCopy of messageBusInfo to avoid external adds (#4038) (#9735311b)
- snap: Option handling and helper-go build (#822255de)
- snap: Merge install and configure packages (#d8cdf693)
- snap: Environment variable usage and const definitions (#4207) (#87ac77fe)
- snap: Use snapctl and log packages (#4187) (#d47f91d7)
- Dockerfile fix (#4217) (#8ec17376)
- Upgrade CodeQL modules, enable additional checkers (#4080) (#c49e1d00)
- Upgrade to go 1.18 and latest golangci-lint (#4068) (#fb67e349)
- Add convenient alias for each service's build and docker target (#4123) (#23918450)
- Optimize test-attribution-txt.sh to use go.mod, not vendor (#4059) (#25cc1d46)
- Switch from docker to alpine base image for sys-mgmt-agent (#6a305a0d)
- snap: Kong migrations up before Kong startup (#4223) (#c8dc4aaa)
- snap: Exclude redundant eKuiper dependencies (#4035) (#a09756d4)
- snap: Exclude redundant eKuiper dependencies (#8ccbfcee)
- snap: Upgrade kong, redis, consul, vault (#4210) (#bec6ac51)
- Add blubracket ignore file (#4167) (#a8eb28e7)
- Add local cache to optimize local docker builds (#eebbc51e)
- Update spire Dockerfile's to allow conditional compilation (#184e7bf7)
- all: Make support services include spiffe in buildtime from Makefile (#3969) (#efde56b5)
- all: Location of client service obtained from the registry (#3879) (#2ec8c03a)
- all: Implement service metrics for Events and Readings persisted (#3922) (#e06225a2)
- all: Create Common DTOs with ServiceName (#3870) (#d6b89ac6)
- data: Make MaxEventSize a service configuration setting (#3891) (#de3e46c9)
- metadata: Implement Writable.ProfileChange configurations (#a20eafb3)
- metadata: Implement PATCH deviceprofile/resource API (#a40e21f6)
- metadata: Implement DELETE device command API (#ac0e4352)
- metadata: Implement DELETE device resource API (#691b12bf)
- metadata: Implement PATCH /deviceprofile/deviceCommand API (#0fa976f9)
- metadata: Invoke validation before adding/updating device (#3900) (#b3afc0ae)
- metadata: Implement Post device command API (#dcb0ece3)
- metadata: Implement PATCH device profile basic info API (#243ad5ab)
- metadata: Implement POST device resource (#3930) (#7587fe9d)
- security: Add secret store config for delayed start (#3948) (#6b188fc4)
- security: Enable security-hardened go binaries for cgo flags (#3893) (#7a573170)
- security: Implement spiffe token provider services (#3897) (#81bad761)
- security: Update the pre-authorized service list for spire server config (#3942) (#c716e684)
- security: Use conditional go build tags for delayed start and no_messagebus (#3967) (#0af16247)
- snap: Add secretstore tokens for edgex-ekuiper (#3888) (#d0bb8bce)
- snap: Add additional tokens for app-service-configurable profiles (#3825) (#23881e65)
- snap: Add support for environment variable injection (#3986) (#780750f1)
- all: Correct jwt error when reading private key (#3843) (#1876cd19)
- all: return 416 code when count is zero and offset > count (#2c16b7b0)
- core-command: Restore creation of DeviceServiceCommandClient in handler (#89cc48a7)
- metadata: Fix the typo of notification message (#5146f317)
- metadata: Not trigger DS callback if only lastConnected is updated (#3976) (#7c172932)
- metadata: Add 404 case for not-yet-upgraded device-service (#79655804)
- metadata: Ignore validation result if device service unavailable (#b9439831)
- security: Security-proxy-setup will not terminate on success (#3917) (#d0a5aad2)
- security: Fix for spiffe-config crashloop (#3947) (#1a2a9fb2)
- sma: Update Docker base image in sys mgmt agent Dockerfile (#3847) (#9e663fa0)
- snap: Apply proxy's runtime config options after startup (#3856) (#3825f82a)
- snap: Deploy secrets token into separate mount points (#3826) (#b0e5e643)
- Rename Encode func to better name (#3822) (#b2bbeb2b)
- all: Use formatted alternative log function instead of fmt.Sprintf (#46183a66)
- data: Move subscriber.go from application to controller (#3903) (#55644671)
- metadata: Move DeleteDeviceResourceByName and DeleteDeviceCommandByName to correct files (#80f156bd)
- Add 503 response code to core-command API document (#3839) (#f0bf1273)
- Update core-metadata API doc PATCH/PUT examples (#0cef4b84)
- Update (#c6553be1)
- Update issue templates to indicate required sections (#95e17dcf)
- Add path field to support-scheduler intervalAction API example (#8b40f194)
- all: Upgrade the API Docs version to 2.2.0 (#3857) (#1e28c249)
- metadata: Update metadata swagger API docs for device profile changes (#a6fe8a26)
- metadata: Fix Swagger metadata PATCH deviceprofile/resource response (#a6024f17)
- metadata: Update metadata Swagger PATCH API responses (#380509e6)
- snap: Move usage instructions to docs (#4006) (#75ae4c63)
- snap: Update env config overrides description (#35f1a85d)
- snap: Update env configuration overrides (#50ed3c20)
- snap: Revert to
csv
in snap/README.md (#023217a9)
- Update to latest go-mod-messaging w/o ZMQ on windows (#3833) (#240e6fd7)
BREAKING CHANGE: ZeroMQ no longer supported on native Windows for EdgeX MessageBus
- Update to latest go-mod-messaging with ZMQ fix (#3876) (#6e64952c)
- Updated formating from gofmt 1.17 (#3861) (#76a2231e)
- snap: Upgrade kuiper to 1.4.2 (#3867) (#85bf44e2)
- snap: Upgrade to device-virtual v2.2.0-dev.7 and app-service-configurable latest/beta (#3914) (#7794663b)
- snap: Source metadata from central repo (#3959) (#ad3b9b7a)
- snap: Update edgexfoundry snap base to core20 (#3848) (#2940d6a5)
- all: Enable CORS headers for all services (#3758) (#4fce4fd2)
- all: Update multi instance response to have totalCount field (#ea5a8f40)
- command: Support object value type in Set Command (#eaa9784a)
- command: Update Command V2 API to include totalCount field for MultiDeviceCoreCommandsResponse (#4ad05991)
- data: Implement V2 API to query readings by name and time range (#3577) (#8a6c1010)
- data: new API to search Readings by multiple resource names (#3766) (#e2d5d6cc)
- data: Enhance the performance of events deletion (#3722) (#2de07aa5)
- data: Support Object value type in Reading (#94769bcc)
- data: refactor application-layer multi-events func to reduce code duplication (#753b88f4)
- data: Update MultiReadingsResponse to have totalCount field (#07c09b9a)
- data: Update MultiEventsResponse to have totalCount field (#d627eae0)
- data: implement new GET Readings API (#1ef40f49)
- metadata: Send notification after updating device entity (#3623) (#166d7917)
- metadata: Update Metadata V2 API to include totalCount field for multi-instance response (#377c2adc)
- notifications: Update Notififcation V2 API to include totalCount field (#b1707c08)
- notifications: add new API to Get Transmissions by Notification id (#3759) (#4de7b29e)
- scheduler: Validate Interval and IntervalAction before loading from config (#3646) (#c934d262)
- scheduler: Update Scheduler V2 API to include totalCount field (#2b972191)
- security: Add injection of Secure MessageBus creds for eKuiper connections (#3778) (#fb769a00)
- security: Add Secret File config setting (#3788) (#adab5248)
- security: Enable modern cipher suite / TLSv1.3 only (#3704) (#7380b5be)
- security: Make Vault token TTL configurable (#3675) (#19484f48)
- snap: add vault ttl config support (#ef3901f9)
- snap: add additional devices to secret store lists in install hook (#8ad81a0f)
- Change MaxResultCount setting to 1024 (#8524b20a)
- all: http response cannot be completed (#3662) (#0ba6ba5b)
- command: Using the Device Service response code for Get Command (#9f422825)
- command: clean out database section from core command (#0fae9ab3)
- command: Fix core-command crashes error (#86f6abfe)
- data: add codes to remove db index of reading:deviceName:resourceName when deleting readings (#173b0957)
- metadata: Remove operating state from device service (#dc27294b)
- metadata: Disable device notification by default (#3789) (#c5f5ac19)
- metadata: device yaml marshal to Json error (#3683) (#e89d87e1)
- metadata: add labels as part of query criteria when finding (#3781) (#11dac8c4)
- security: Move JWT auth method to individual routes (#3657) (#d2a5f5fe)
- security: Replace abandoned JWT package (#3729) (#32c3a59f)
- security: use localhost for kuiper config (#8fa67b54)
- security: secrets-config user connect using TLS (#3698) (#258ae4e0)
- security: remove unused curl executable from secretstore-setup Dockerfile - curl command executable is not used, so it is removed from the Docker file of service secretstore-setup (#49239b82)
- security: Mismatched types int and int32 (#3655) (#dbae55fc)
- snap: Update edgex-snap-hooks to v2.0.5 (#6106f566)
- snap: Configure kuiper's REST service port (#3770) (#a2b69b26)
- snap: Make secretstore connect hook idempotent (#3815) (#387e8ab1)
- snap: Fix app-rules-engine (#651aaa83)
- snap: Add kuiper message-bus config (#602d7f53)
- snap: Remove config logic from install hook (#af5ffab8)
- snap: Defer service start on install (#0e26993c)
- snap: Create empty redis.conf file (#793f35af)
- snap: Support app/dev services w/secretstore=off (#e36a01fe)
- snap: Support non-secure consul (#9375f9f3)
- snap: Support disabling security (#6f85a457)
- all: Clean up TOML quotes (#3666) (#729eb473)
- all: Refactor io.Reader for reusing (#3627) (#7434bcad)
- all: Remove unused Redis client variables (#905a639d)
- snap: Convert store lists into slice in install hook (#e09eec38)
- v2: Implemented Core Data V2 APIs as defined in SwaggerHub
- v2: Implemented Core Command V2 APIs as defined in SwaggerHub
- v2: Implemented Core Metadata V2 APIs as defined in SwaggerHub
- v2: Implemented Support Scheduler V2 APIs as defined in SwaggerHub
- v2: Implemented Support Notifications V2 APIs as defined in SwaggerHub
- v2: Implemented System Management Agent V2 APIs as defined in SwaggerHub
- v2: Change the default ports for EdgeX services to stay within IANA Dynamic Ports
- v2: Updated all Docker image names (removing docker- prefix and language suffixes of -go and -c)
- v2: Remove --useradd and --userdel support from proxy-setup (#2924) (#60451040)
- v2: Processing query params of url in put method (#3034) (#5c263209)
- v2: Configure Kuiper for secure message bus (#3537) (#71bb76d4)
- v2: Use service keys for Route configuration keys (#3247) (#c48b5c69)
- v2: Remove security services initialization for mongodb (#2885) (#bd94ef45)
- v2: Enable the check of adminState for notifications and scheduler (#33c15794)
- v2: Add missing middleware func to router (#768023b2)
- v2: Remove deprecated Mongo code. (#2956) (#dd265b0a)
- v2: Add RedisDB Password for v2 security mode (#cbc1041f)
- v2: Remove MetadataCheck mechanism when adding Event (#3069) (#f7cba1f5)
- v2: Add secure MessageBus capability (#3436) (#55d4d9f0) commits/9055af8f))
- data: Make Core Data publish events to // (#3002) (#cd24e070) e47b23dc))
- data: Modify event validation error message (#43e7fdfd)
- data: Remove pushed field completely from V2 Event related implementation (#f3d77c85)
- data: Add the missing event's sourceName at persistent layer (#b7db4934)
- data: Message topic should contain the event's deviceName (#16398693)
- data: Implement get Binary Reading from database (#3303) (#d1fc5940)
- data: Remove created field from Event and Reading (#3299) (#04121680)
- data: Core Data remove V2 Pushed and Scrub APIs (#33b5724a)
- notifications: Check Subscription with empty categories,labels (#45699a18)
- notifications: Add secret creation API (#3510) (#20e30386)
- notifications: Implement Sending Service for Email Channel (#3530) (#399b1e1f)
- scheduler: ServiceName change should invoke old service's callback (#638c5eca)
- security: Add new implementation for security bootstrapping/installation (#2970) (#5dc76a6c)
- security: Secure containers run as non-root (#3003) (#310fcf06)
- security: Implementation to set up Consul ACL (#3215) (#8a562533)
- security: Create a Vault mgmt token for Consul Secrets API Operations (#3192) (#257616ab)
- security: Implementation for setting up agent token (#3251) (#7baeca4e)
- security: Add waitFor subcommand for security-bootstrapper (#3101) (#f32f4191)
- security: Implementation for generating consul tokens (#3324) (#9479b0bd)
- security: Integrate EdgeX core servcies/app service with Consul tokens (#3331) (#70f8294d)
- security: Implement secrets-config proxy tls (#2930) (#382321cd)
- security: Replace security-proxy-setup for adding users (#2808) (#ff93af41)
- security: Implement Consul token header in API Gateway (#3391) (#58f175f3)
- security: Secure Kong Admin API (#3328) (#073d4024)
- security: Enable Vault's Consul secrets engine (#3179) (#13b869e2)
- all: Invoke DS deletion Callback by name (#b818cb7f)
- all: Added Content-TYpe from REST header to Context (#c433a97c)
- metadata: Check the provisionWatcher existence when delete DS (#7014d8db)
- metadata: Delete DS API should check the associated Device existence (#3054) (#b641f4fe)
- metadata: Fix DS callback function panic error (#3523) (#e6c05256)
- metadata: Check the associated object existence when delete Profile (#35d7beb0)
- notifications: Query with invalid offset range should return 416 (#73839868)
- notifications: Fix using the wrong key to update Subscription (#fe00754a)
- notifications: Return 200 when successful to delete subscription (#cd63672c)
- scheduler: PATCH API Check intervalName nil value (#f5098ad0)
- snap: Cleanup snap hooks (#9c984eaf)
- snap: Update device-virtual --confdir (#ed9dddb0)
- snap: Fix redis snapshots (#187bb8da)
- snap: Update pipe optimization patch (#ce6ab2ee)
- snap: Update service command-line options (#b880d5f7)
- snap: Update snap optimization patch (#1010d7ab)
- snap: Remove kong TLS config overrides (#2953) (#57027b83)
- snap: Secure kong admin ports (#0985e833)
- security: Remove Writable from security services (#3147) (#4701403b)
- security: Implementation for adding registry role on the fly (#3291) (#18e95d4e)
- security: Fix Redis start issue from #2863 (#3115) (#cb6997bb)
- security: Eliminate security-secrets-setup module (#2913) (#4ced080b)
- security: Deprecate oauth2 auth method (#3575) (#649de808)
- security: Implementation for adding ACL policies and roles (#3273) (#8b8c0450)
- security: Kong cert paths are now optional (#2940) (#c80d9cda)
- security: Remove Vault dependency on Consul by using file backend (#2886) (#f9701ca4)
- v2: Remove obsolete V1 code, swagger & scripts (#3492) (#f99dd52e)
- sma: Use service key for route names and add missing sys-mgmt-agent (#580caa8f)
BREAKING CHANGE: API Gateway route names have changed.
- all: Update Service configurations for changes to common Service configuration struct (#e3cbfe1c)
BREAKING CHANGE: Core/Support/SysMgmt Service configuration has changed.
- all: Assign/use new Port assignments (#3485) (#1b47f7a0)
BREAKING CHANGE: Core/Support/SysMgmt default ports numbers have changed.
- security: Use new enhanced SecretProvider (#2942) (#c8e01228)
- all: Use latest bootstrap for logging client changes (#2975) (#f96f7b91)
- all: Update for new service key names and overrides for hyphen to underscore (#3462) (#e79253a2)
BREAKING CHANGE: Service key names used in configuration have changed.
- scheduler: Rename Frquency to Interval in AutoEvent and Scheduler (#1ca8f34a)
- all: Combine and improve http LoggingMiddleware (#0f2753e7)
- all: Refactor controller error handling (#3400) (#d6c94b2b)
- all: Replace use of BurntSushi/toml with pelletier/go-toml (#fa8052bc)
- security: Rework entry point scripts to run 'listenTcp' command as non-root (#3292) (#5dc7e565)
- security: Rework Proxy Setup to use KongRoute struct for configuration (#3228) (#2c126a99)
BREAKING CHANGE: Names for Route configuration has changed
- all: Modify config.Clients to use service key (#afe0876a)
- security: Update remaining SecretService references to be SecretStore (#3189) (#afdb9f2a)
- all: Remove support-logging and LoggingInfo config (#2919) (#0163c92e)
- metadata: Rename Put Command to Set Command (#f6d4ba2d)
- metadata: Refactor device service update operation to DBClient (#6b9e3f1f)
- metadata: Refactor provision watcher update operation to DBClient (#0a10fb90)
- metadata: Refactor device profile update operation (#f5f43703)
- metadata: Refactor device update operation to DBClient (#3059) (#abd2591c)
- metadata: Rename PropertyValue's Type field to ValueType (#7e47c43b)
- metadata: Remove all the Batch, DeleteByID, GetById API (#15391329)
- metadata: Move Transform func to go-mode-core-contract (#e333ecd1)
- notifications: Rework of sending notifications (#d2fe8064)
- notifications: Move ChannelSender interface to channel package (#28350066)
- scheduler: Remove runOnce feature (#3549) (#5e3333aa)
- sma: Refactor sys-mgmt-executor (#3543) (#f108a847)
- sma: Remove obsolete SMA v1 code (#b4ce8a0d)
- sma: Remove unused configs and example (#5120e818)
- metadata: Add service callback for deviceService AdminState Update API (#a9476202)
- Fix nil pointer error when update the unreachable DS adminState (#c117ee17)
- Upgrade to go-mod-messaging with ZMQ fix for Hanoi (#3084) (#9a6eedb9)
- snap: Fix redis snapshots (#3102) (#12a188d7)
- all: Add config setting for value used for ListenAndServe (#2629) (#d3bef6b2)
- core-data: Updated the Tags type to by object and added example to show how the data is represented in JSON. (#212e9527)
- core-data: Add persisting of new Tags property on V1 & V2 Event models for Redis (#2677) (#ae7f6d9e)
- security: Implement pluggable password generator (#2659) (#ff532ada)
- core-data: Add Tags property to Event in V1 & V2 swagger. (#116c3839)
- V2: Add correlation id into log (#16bfafab)
- core-data: Event ID has to be pre-populated (#2695) (#470d1768) 151af978))
- metadata: Optimize the error handling for deletion API (#567a6ee1)
- sdk: Adding vault configuration default env variable (#2673) (#1421448a)
- security: Implement encryption of vault master key (#2574) (#09ff485f)
- security: Add security-redis-bootstrap service (#1a6876e5)
- support-notifications: Notification content type and long line (#2699) (#855c38c3)
- Use DB credentials for Redis Streams MesssageBus connection (#2792) (#8ed4663e)
- Query event API w/ limit always returns first $n records (redis) (#235aec4e)
- Created timestamp is 0 on message queue (#793f45a3)
- ADD_PROXY_ROUTE fails if URL contains dot (#6e12203f)
- Fix path dependency in tokenprovider_linux_test.go (#2641) (#04784571)
- Allow startup duration/interval to be overridden via env vars (#2649) (#b6e84d11)
- Use Itoa() instead of string() for int conversion (#2663) (#6df8530f)
- Get deviceProfile by ID when updating the valuedescriptor Should query device profile by name and id to prevent item not found error (#234ed2e8)
- data: Modify the log level of event (#2833) (#a54f4bf5) commits/471572d2))
- metadata: Refactor deviceProfile JSON and YAML POST API (#2597) (#9098740b)
- metadata: Notify both device services when a Device is moved from one to the other (#2716) (#bea4f5e6)
- metadata: Device profile post returns 409 if id exists (#172f3e63)
- notifications: include From/To in SMTP header (#2758) (#b3e2acdd)
- snap: Disable asc version check (#92e33c6b)
- snap: Update snap to use kong deb from bintray (#335fa3dd)
- snap: Strip postgresql man pages (#8a15cd27)
- snap: Strip commit+date from version (#75c89412)
- snap: Remove external symlink to openresty (#54f1720a)
- snap: Remove support-logging (#f3e829cf)
- Don't use hostname for webserver ListenAndServe (#2579) (#525c6541)
- Fix: Allow overrides that have empty/blank value (#3ccad16a)
- Added setting the Reading ID in the Events collection. (#2575) (#fed02ba9)
- Accurately represent default port w/ EXPOSE in dockerfiles (#2502f83b)
- Missing fmt.Sprintf() in debug logging statement (#4b30bbc4)
- Remove QueueClient global and refactor its code (#98dddcf2)
- Support new edgex-go security services (#f09a2eaf)
- environment: Allow uppercase environment overrides (#14cb1f3e)
- Allow SMA to be enabled/disabled (#720bb04e)
- Add Kuiper support (#e57d4e41)
- Update db provider configure logic (#bb82c305)
- Include device-virtual binary dev profile (#44f8e65f)
- Disable sys-mgmt-agent by default (#d23fa061)
- Enable redis security (#675fad69)
- Enforce postgresql password auth (#9bde2db7)
- Use per-service env overrides (#7f63a8d3)
- Update default db to be redis (#e1cef487)
- Remove device-random (#67bc4086)
- Refactor to remove Configuration global variable (#c021313d)
- Refactor to remove dbClient global variable (#5f01098a)
- Refactor to remove LoggingClient global variable (#e37ee154)
- Add Redis connection test during client creation so error will trigger retry (#8dfb5d32)
- Update to use go-mod-bootstrap to fix issue with override un-done. (#2536) (#ac53844b)
- Add generation of application-service vault token for shared DB credentials (#af1eaf2f)
- Add call to Message Bus Connect() (#2467) (#2cabbc24)
- #2034 fixes bug around named return values (#dce4ecfd)
- config-seed: Change Config Seed rules engine properties so messages are received from App-Service-Configurable (#dd6fb282)
- #2034 fixes bug around named return values (#45cdcb29)
- config-seed: Slice bound out of range on Windows (#1606) (#7ee64677)
- Rename ReadMaxLimit to MaxResultCount, set default to 50k (#499cd073)
- Client monitor update in milliseconds, not seconds (#cd852482)
- Event ids blank when exported (#f9b26649)
- Client monitor update in milliseconds, not seconds (#7424180a)
- Consul values overridden at service start (#b5d54ea5)
- Move bin and config dirs into snap/local/ (#aada7c16)
- LogLevel field name in JSON, criteria in Mongo (#7534e412)
- Check that db type is mongo before getting a session (#410d0046)
- Add Tags property to Event in V1 & V2 swagger. (#116c3839)
- Add default MQTT optional MessageQueue values to enable env overrides (#2564) (#e91925a3)
- Add persisting of new Tags property on V1 & V2 Event models for Redis (#2677) (#ae7f6d9e)
- Implement pluggable password generator (#2659) (#ff532ada)
- Add config setting for value used for ListenAndServe (#2629) (#d3bef6b2)
- Updated the Tags type to by object and added example to show how the data is represented in JSON. (#212e9527)
- V2: Add correlation id into log (#16bfafab)
- config-seed: Change Config Seed rules engine properties so messages are received from App-Service-Configurable (#dd6fb282)
- core-data: Event ID has to be pre-populated (#2695) (#470d1768)
- metadata: Optimize the error handling for deletion API (#567a6ee1)
- metadata: Add service callback for deviceService AdminState Update API (#a9476202)
- sdk: Adding vault configuration default env variable (#2673) (#1421448a)
- security: Implement encryption of vault master key (#2574) (#09ff485f)
- security: Add security-redis-bootstrap service (#1a6876e5)
- support-notifications: notification content type and long line (#2699) (#855c38c3)
- Unified core and metadata db interfaces package name (#9e847c16)
- Create a new package for db access (#50d46abf)
- LogLevel field name in JSON, criteria in Mongo (#7534e412)
- Consul values overridden at service start (#b5d54ea5)
- Remove mongod (#3cc3be18)
- Remove support-rulesengine (#f881f5c4)
- Allow SMA to be enabled/disabled (#720bb04e)
- Add Kuiper support (#e57d4e41)
- Update db provider configure logic (#bb82c305)
- Include device-virtual binary dev profile (#44f8e65f)
- Disable sys-mgmt-agent by default (#d23fa061)
- Enable redis security (#675fad69)
- Enforce postgresql password auth (#9bde2db7)
- Use per-service env overrides (#7f63a8d3)
- Fix secretstore-setup's token-provider (#a5387499)
- Apply gosu fix from fuji (#8ec53dd5)
- Fix config-seed startup (#49731fc6)
- Fix device-random startup (#f6c70a3a)
- Fix sys-mgmt-agent executor (#9c28a602)
- Update pre-refresh hook for geneva (#9b43f8a1)
- Update epoch to 3 for geneva (#353e084e)
- Remove device-random (#67bc4086)
- Move bin and config dirs into snap/local/ (#aada7c16)
- Client monitor update in milliseconds, not seconds (#cd852482)
- Event ids blank when exported (#f9b26649)
- environment: Allow uppercase environment overrides (#14cb1f3e)
- query-params: Pass QueryParams through EdgeX to Device Services (#1571) (#4d7ed080)
- Use latest go-mod-bootstrap with self seeding, remove config-seed & remove Docker profiles (#28c25972)
- Remove QueueClient global and refactor its code (#98dddcf2)
- Support new edgex-go security services (#f09a2eaf)
- Rename vault-config.json to vault-config.hcl (#6d2924b2)
- Rename ReadMaxLimit to MaxResultCount, set default to 50k (#499cd073)
- Refactor to remove Configuration global variable (#c021313d)
- Refactor to remove dbClient global variable (#5f01098a)
- Refactor to remove LoggingClient global variable (#e37ee154)
- Check that db type is mongo before getting a session (#410d0046)
- Upgrade to go-mod-messaging with ZMQ fix for Hanoi (#3084) (#9a6eedb9)
- #2034 fixes bug around named return values (#dce4ecfd)
- Add call to Message Bus Connect() (#2467) (#2cabbc24)
- Fix nil pointer error when update the unreachable DS adminState (#c117ee17)
- Add generation of application-service vault token for shared DB credentials (#af1eaf2f)
- Added setting the Reading ID in the Events collection. (#2575) (#fed02ba9)
- Fix: Allow overrides that have empty/blank value (#3ccad16a)
- Use DB credentials for Redis Streams MesssageBus connection (#2792) (#8ed4663e)
- Don't use hostname for webserver ListenAndServe (#2579) (#525c6541)
- Query event API w/ limit always returns first $n records (redis) (#235aec4e)
- Created timestamp is 0 on message queue (#793f45a3)
- Allow startup duration/interval to be overridden via env vars (#2649) (#b6e84d11)
- ADD_PROXY_ROUTE fails if URL contains dot (#6e12203f)
- Fix path dependency in tokenprovider_linux_test.go (#2641) (#04784571)
- Use Itoa() instead of string() for int conversion (#2663) (#6df8530f)
- Get deviceProfile by ID when updating the valuedescriptor Should query device profile by name and id to prevent item not found error (#234ed2e8)
- config-seed: Slice bound out of range on Windows (#1606) (#7ee64677)
- data: Modify the log level of event (#2833) (#a54f4bf5)
- metadata: Device PATCH V2 API should check service and profile (#2862) (#471572d2)
- metadata: Refactor deviceProfile JSON and YAML POST API (#2597) (#9098740b)
- metadata: V2 GET /deviceservice/all returns inconsistent response when specifying labels or not (#08b8cf9d)
- metadata: Device profile post returns 409 if id exists (#172f3e63)
- metadata: correct V2 parsing err response (#c4d32136)
- metadata: Notify both device services when a Device is moved from one to the other (#2716) (#bea4f5e6)
- notifications: Include From/To in SMTP header (#2758) (#b3e2acdd)
- snap: remove support-logging (#f3e829cf)
- Removed client monitoring (#2595) (#ad8ce46e)
- all: Use constant for Redis key in V2 (#df6ae563)
- core-data: Error handling for V2 API (#2681) (#79f01a0b)