Changelog
All the improvements we make to Connhex are bundled into two major releases each year: Spring and Fall.
๐ฑ Spring '26โ
Connhex IAM (v1.1.0)โ
Addedโ
- Incremental policy refresh. Single-policy engine updates via UpsertPolicy/RemovePolicy instead of full rebuild on every mutation (latency drops from ~5s to ~670ยตs)
- Incremental role updates via UpsertRole/RemoveRole
- Tenant filtering on FilterAuthorizedPairs
- Tenant filtering on AuthorizedSubjects
- denied_pairs on FilterAuthorizedPairs response
- Pruned resource trie traversal for FilterAuthorizedResources (28x faster)
Changedโ
- FilterAuthorizedPairs returns (allowed, denied, error) instead of (allowed, error)
- Refresh accepts optional EngineChange descriptors for incremental updates
- Interceptor constructs EngineChange per mutation type instead of triggering full rebuild
- Migrated proto toolchain from protoc to Buf v2
- Migrated validation from protoc-gen-validate to protovalidate
- Rewrote grpc-mock plugin from protoc plugin to protogen
- Replaced protoc-gen-policy with protobuf reflect API
- Consolidated buf gen configs
- Bumped Go to 1.26
Fixedโ
- AuthorizedSubjects no longer denies subjects from policies with non-matching statements
- Gateway ReadHeaderTimeout added
Otherโ
- E2E gRPC benchmarks for all authorization query methods
- 99.7% engine test coverage
Connhex Core (v1.5.0)โ
Addedโ
-
[Things] filter to fetch things by specific IDs (
GET /things?id=x&id=y) -
[Things] batch endpoint for connectivity status lookup (
POST /things/status) -
[Things] session history endpoint, returns total uptime and connection event timeline (
GET /things/:id/uptime) -
[Things] tenant-scoped fleet status summary: online, total, never_connected, active_last_hour, offline (
GET /things/status/summary) -
[Things] flapping endpoint, reports devices with excessive reconnections within a time window (
GET /things/status/flapping) -
[Reader] new query planner with per-source query api (
/events,/metrics,/params,/infos) -
[Writer] Prometheus metrics: flush latency, rows written, queue depth, rejections, transform errors
-
[Writer] health endpoint reflects sustained rejection rate
Changedโ
-
[Things]
UpdateThing,RemoveThing,UpdateKey,UpdateThingLabels,ListChannelsByThingnow acceptapiutil.UserInfoinstead ofuserTenants []stringand useresolveThingAccess -
[Writer] complete rewrite โ multi-route architecture, one process for all tables
-
[Writer] JSON uses CopyFrom instead of per-row INSERT (~55x throughput)
-
[Writer] batcher rewritten: mutex+slice instead of channels (up to 62x faster Append, 98% fewer allocations)
-
[Writer] parallel flush workers per route, rows sorted by time for chunk routing
-
[Writer] graceful shutdown with drain deadline, no silent data loss
Connhex Edge (v2.5.0)โ
Addedโ
--checkflag for binary validation without starting the agent, useful for verifying OTA updates before committing.- Configurable transport policy fallbacks with offline message buffering when connectivity is lost.
- Support for MQTT over Web Socket.
- Automatic cleanup of old firmware directories after successful updates.
- Exponential backoff to JetStream message redelivery.
- HTTP client timeouts to OTA and bootstrap requests.
- MQTT connect timeout.
Changedโ
- Reworked OTA update process with better state management and artifact lifecycle.
- File system operations now use rooted paths (os.Root) to prevent path traversal.
- All written files (env, OTA metadata) are restricted to owner-only permissions.
- Graceful shutdown now fully waits for all subsystems to stop before exiting and returns appropriate non-zero exit codes.
- OTA updates trigger a full agent stop on restart and wait for in-progress installations to finish before shutting down.
- MQTT keep alive increased to 1 minute.
- MQTT certificate errors are now logged as errors instead of silently ignored.
Fixedโ
- Deadlock between NATS Close() and Subscribe().
- Race condition during mode transitions and shutdown.
- Goroutine leaks in terminal sessions.
- Terminal sessions not being closed when the agent stops, and child processes not being reaped after PTY close.
- Command arguments with spaces being incorrectly split.
- Nil dereference when processing SenML records with missing StringValue.
- Fatal exit on IP address lookup failure.
- Remote init retries silently succeeding when all attempts were exhausted.
Connhex Exporter (v1.4.3)โ
Addedโ
- Smart reports: AI driven reports, with charts, tables and detailed analysis
- Implemented tags
Changedโ
- Single file sending without zipping
Fixedโ
- Improved retry mechanism for failing recurring exports
- Make export request notification optional
- Filename sanitization before download
Connhex Rules Engine (v1.1.7)โ
Addedโ
- Rule snapshot to events
- Support for different data sources (e.g.
params,metrics, ...)
Fixedโ
- Handle data with same
nameacross different channels
Connhex Notifications (v1.1.0)โ
Addedโ
- Support for FCM OAuth2
- FCM integration tests
๐ Fall '25โ
Connhex Coreโ
- Add support for metrics table
- Return next installable release in firmwares API
- Add IoT host to initialization configuration
- Improve delta transform query with raw data and right-inclusive bucketing
- Prevent panics on out-of-sync firmware
Connhex Edgeโ
- Allow per-route persistence control
- Add flag to pause metric collection when offline
- Add option to ignore pending firmware installations
- Support human-readable byte sizes in configuration
- Add timestamp compaction for metric records
- Switch to
slogfor logging
Connhex Controlโ
- Add message source selector for connectables
- Add autocompletion for policy resources and role actions in IAM
- Bump Angular version
- Remove Moment.js dependency
- Improve model list: sort by name and increase limit count
- Improve edge control description
Connhex Resourcesโ
- Integrate PostgreSQL historicizer
- Improve array matching: match if any requested value is present
- Support match filters on associated resources for array fields
- Enable JSON serialization
- Remove soft deletion support
- Support resourceType wildcards in authorization
Connhex Exporterโ
- Support sending single export files without zipping
- Add sorting and from/to filters to export requests
- Add tags to exports
- Add status filter for export requests
- Add decimals options to all post-processing functions
- Handle timezones in report chart elements
Connhex Rules Engineโ
- Support
channelIdin threshold and delta conditions - Support returning events for multiple rules simultaneously
- Add support for user-specified sources
- Add specific metric monitoring with wildcards for
last-message-older-than
Connhex Copilot & Deltaโ
- Add chat history and session management (stop session API)
- Stream agent events with timestamps
- Improve agent awareness of chat history and ID types (device ID, Connhex ID, etc.)
- Add retry logic for SQL queries and HTTP errors
- Improve database connection handling and query validation
Miscellaneousโ
- Project-wide adoption of pre-commit hooks for automated API documentation generation
๐ฑ Spring '25โ
Connhex Edgeโ
- Add custom services update notifications
- Release examples to quickly interact with the edge agent
Connhex Exporterโ
- Add Reports
- Add transform functions (i.e. max, min, cumsum, offset, ... For a complete list of supported transformations, see here)
- Improve export customizability: add different CSV delimiters, expose decimals granularity, add wide exports
- Handle export items with multiple names and labels
Connhex Controlโ
- Automatically add connectables to Manufacturing
- Add dedicated visualization for messages compliant with Connhex Message Policy
Connhex Coreโ
- Add reader
transformoptions - Add unprovision API
- Update provisioning APIs to return the entire connectable
- Allow updating a connectable's model
Connhex Notificationsโ
- Add Custom Target notifications
Connhex Resourcesโ
- Support filtering associated resources over array attributes
Miscellaneousโ
- Add ARM compatibility for all Connhex builds
- Add Automated Docs for Connhex customers
๐ Fall '24โ
Connhex Coreโ
- Improve things tenant handling
- Speed up integration with Connhex IAM
Connhex Controlโ
- Add Models section
- Extend Firmware and Release section
- Add Firmware metadata and tags handling
- Add multiple connectable creation
Connhex Remote Initโ
- Open OTA to devices not using Connhex Edge
Connhex Edgeโ
- Add a brand new Edge Rules Engine
- Improve OTA update
Connhex Resourcesโ
- Client Modules have been extended
๐ฑ Spring '24โ
Connhex Coreโ
- Add announce service (SnapLink)
Connhex Controlโ
- Add SnapLink integration
- You can now send custom messages to a specific service running on an Edge
Connhex Edgeโ
- Add SnapLink
- Add pub-sub abstraction layer to support multiple implementations
- Consolidate functionality on
agentservice - Add automated serial detection
- Support Redis as message bus
- Add mapper support to routes
Connhex IAMโ
- Implement custom policy engine (100x speedup on policies with 1000+ statements)
- Various performance improvements
Connhex Resourcesโ
- Add permission handling on included resources. You can now assign different permissions to view different resource attributes
- Check permissions on relationships requests
Miscellaneousโ
- Bug fixes and minor improvements
๐ Fall '23โ
Connhex Coreโ
- Add decimation and aggregation strategies
- (Certs) Add revoke cert by serial
Connhex Controlโ
- Expand integration with Connhex Manufacturing
- Review connectable provisioning flow
- Add remote commands execution section
- Add channel type selector for sending messages
- Update dependencies (
@angular)
Connhex k8sโ
- Update dependencies
Connhex Payโ
- Add Connhex Pay
Connhex Resourcesโ
- Add full text search support in
fuzzy-matchqueries - Add relationship filters
Miscellaneousโ
- Bug fixes and minor improvements
๐ฑ Spring '23โ
First time publicly tracking changes, here we go ๐
Connhex Coreโ
- (Writer) Improve PG write performance
- (Writer) Add configurable batcher
- (Reader) Increase
maxLimitfor retrieval - Various bug fixes and improvements
Connhex Controlโ
- Add Tenants management
- Add Identities and Roles management
- Add Teams section
- Update Policies section
- Update Connectable certs handling
Connhex Edgeโ
- Add persistence to MQTT storage
- Rewrite connection handler
- Embed NATS and add Bridge service
Connhex k8sโ
- Enable Token Auth
- Add default backups
- Bug fixes and minor improvements
Connhex Mapperโ
- Add mapper service
Connhex Resourcesโ
- Add soft deletion
- Add resources historicizer
Miscellaneousโ
- Bug fixes and minor improvements