Skip to main content

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, ListChannelsByThing now accept apiutil.UserInfo instead of userTenants []string and use resolveThingAccess

  • [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โ€‹
  • --check flag 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 name across 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 slog for 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 channelId in 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 transform options
  • 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โ€‹

Connhex Resourcesโ€‹

๐ŸŒฑ Spring '24โ€‹

Connhex Coreโ€‹

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 agent service
  • 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โ€‹

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-match queries
  • 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 maxLimit for 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โ€‹

Connhex Resourcesโ€‹

  • Add soft deletion
  • Add resources historicizer

Miscellaneousโ€‹

  • Bug fixes and minor improvements