# Changelog
This is the changelog for `casual` and all changes are listed in this document.
## [1.8.0] - 2025-08-27
### Added
- common: using epoll on linux for multiplexing ([#89](https://github.com/casualcore/casual/issues/89))
- common: using kqueue for 'select' on BSD plattforms ([#89](https://github.com/casualcore/casual/issues/89))
- file: introduce file reserve mechanism within xa transactions ([#13](https://github.com/casualcore/casual/issues/13))
- cli: suboption cardinality
- domain: `domain --boot-strict` -> `domain --boot --strict`
- gateway: normalize cli options ([#252](https://github.com/casualcore/casual/issues/252))
- transaction: normalize cli options ([#252](https://github.com/casualcore/casual/issues/252))
- domain: normalize cli options ([#252](https://github.com/casualcore/casual/issues/252))
- service: normalize cli options ([#252](https://github.com/casualcore/casual/issues/252))
- queue: normalize cli options ([#252](https://github.com/casualcore/casual/issues/252))
- service: added `--all` to `--list-instances` to show hidden services
- argument: improved --help to print only one level
- tools: normalized options for build-server/executable ([#567](https://github.com/casualcore/casual/issues/567))
- domain: --restart-aliases also scale-out to configured ([#215](https://github.com/casualcore/casual/issues/215))
- http: inbound forward service -> send 'raw' http data to service ([#12](https://github.com/casualcore/casual/issues/12))
- xatmi: header functionality for service and tpcall/tpacall ([#12](https://github.com/casualcore/casual/issues/12))
- common: cleanup transaction::ID, transaction::global::ID ([#573](https://github.com/casualcore/casual/issues/573))
- gateway: propagate header in service call request/reply
- unittest: moved service stuff from common-unittest to service-unittest
- refactoring: move service/server/transaction out of common ([#556](https://github.com/casualcore/casual/issues/556))
- documentation: enable indexing by EU Open Source Software Catalogue
- log: simplified logging - removed all verbose
- log: reduced the number of log-categories
- build: upgrade nginx to 1.28.0
- http: removed possibility to force base64 transcoding over the wire
### Fixes
- common: time_point is not logged with iso8601 utc offset in some places ([#552](https://github.com/casualcore/casual/issues/552))
## [1.7.9] - 2025-07-13
### Fixes
- common: server-service finalize needs to wait for pending calls ([#575](https://github.com/casualcore/casual/issues/575))
## [1.7.8] - 2025-06-18
### Fixes
- tools: build-server does not generate function name via argument ([#568](https://github.com/casualcore/casual/issues/568))
- common: transaction::global::ID istream asserts on hex <= 64B ([#570](https://github.com/casualcore/casual/issues/570))
## [1.7.7] - 2025-05-27
### Fixes
- tools: casual-build-resource-proxy doesn't respect --keep-source ([#562](https://github.com/casualcore/casual/issues/562))
- tools: casual-build-resource-proxy fails to compile ([#561](https://github.com/casualcore/casual/issues/561))
## [1.7.6] - 2025-05-18
### Fixes
- common: service::Lookup does not propagate (current) trid ([#557](https://github.com/casualcore/casual/issues/557))
## [1.7.5] - 2025-04-24
### Fixes
- service: lookup with no-reply does not reserve instance ([#534](https://github.com/casualcore/casual/issues/534))
- service: call with NOREPLY should not supply current deadline ([#534](https://github.com/casualcore/casual/issues/534))
- xatmi: expose c-api to set/get execution (parent) span ([#550](https://github.com/casualcore/casual/issues/550))
- http: propagate otel span ([#546](https://github.com/casualcore/casual/issues/546))
- http: outbound generate span and propagate `traceparent` as header ([#546](https://github.com/casualcore/casual/issues/546))
- gateway: inbound fails to handle trids that is already branched ([#533](https://github.com/casualcore/casual/issues/533))
- common: execution.context.span should not be default generated ([#544](https://github.com/casualcore/casual/issues/544))
- common: otel span could be generated as value 0
- gateway: add missing messages for the binary dump protocol generator
- documentation: missing documentation for domain_discovery_reply_v3
- gateway: outbound does not set otel span in metric event ([#539](https://github.com/casualcore/casual/issues/539))
## [1.7.4] - 2025-04-07
### Fixes
- gateway: inbound removed trid branch mapping for transaction messages
- transaction: used view to removed gtrid
- gateway: transaction message reply with origin trid
- gateway: compatibility with 1.6 (protocol 1.2) service call ([#533](https://github.com/casualcore/casual/issues/533))
## [1.7.3] - 2025-01-28
### Fixes
- common: include rapidjson within inline ns for ABI
- xatmi: build-server uses [0,1] as values for service visibility ([#506](https://github.com/casualcore/casual/issues/506))
## [1.7.2] - 2025-01-22
### Fixes
- domain: check if file (with path) exists before spawn
## [1.7.1] - 2025-01-16
### Fixes
- service: simplify removal of reserved instances
- queue: better available update during rollback ([#497](https://github.com/casualcore/casual/issues/497))
- service: send potential::Stale instead of rollback to TM
- transaction: functionality to handle stale involved resources ([#440](https://github.com/casualcore/casual/issues/440))
- http: exception wrapper -> return code within C-boundary for xatmi call ([#487](https://github.com/casualcore/casual/issues/487))
- common: made header::Field case insensitive equal to key ([#487](https://github.com/casualcore/casual/issues/487))
- queue: use queue error code in api
- cli: better error if lookup fails on (en|de)queue ([#463](https://github.com/casualcore/casual/issues/463))
- queue: notify discovery when new queue is created ([#479](https://github.com/casualcore/casual/issues/479))
- service: notify discovery when new service is advertised ([#479](https://github.com/casualcore/casual/issues/479))
- discovery: handle discoverable::Advertised message -> topology::Update ([#479](https://github.com/casualcore/casual/issues/479))
- transaction: reopen resource on resource error ([#476](https://github.com/casualcore/casual/issues/476))
- queue: remove memberships from forward-group
- queue: fix forwards ignoring group memberships ([#465](https://github.com/casualcore/casual/issues/465))
- queue: reset queue group metric on startup ([#469](https://github.com/casualcore/casual/issues/469))
- queue: default queue-group alias missing ([#474](https://github.com/casualcore/casual/issues/474))
- queue: manager could have same instance to queue multiple times ([#466](https://github.com/casualcore/casual/issues/466))
- service: update load balancing for concurrent instances ([#468](https://github.com/casualcore/casual/issues/468))
- queue: fix runtime configuration for (en|dis)able (en|de)queue ([#464](https://github.com/casualcore/casual/issues/464))
## [1.7.0] - 2024-11-26
### Added
- xatmi: add function to reset execution_id from public api ([#239](https://github.com/casualcore/casual/issues/239))
- queue: add --force flag to --remove-message cli ([#267](https://github.com/casualcore/casual/issues/267))
- queue: casual queue --dequeue should take 0..* queue-ids
- queue: introduce configurable 'capacity' property to groups ([#232](https://github.com/casualcore/casual/issues/232))
- queue: runtime configuration
- queue: local domain enable/disable enqueue/dequeue ([#253](https://github.com/casualcore/casual/issues/253))
- queue: added --list-queue-instances -> where queues reside ([#354](https://github.com/casualcore/casual/issues/354))
- queue: expand group concept to include forwards
- configuration: documentation update for group.enabled
- configuration: added CLI enable/disable groups
- configuration: enabled on internal model server and executable
- configuration: moved conf related cli from `domain` to `configuration` ([#112](https://github.com/casualcore/casual/issues/112))
- service: replace `--list-admin-services` for `--list-services -all` ([#426](https://github.com/casualcore/casual/issues/426))
- service: use random distribution for concurrent reservation ([#420](https://github.com/casualcore/casual/issues/420))
- service: service timeout includes pending lookup time
- service: show description for instances (remote domain name) ([#353](https://github.com/casualcore/casual/issues/353))
- discovery: enable/disable enqueue/dequeue interdomain ([#253](https://github.com/casualcore/casual/issues/253))
- discovery: prepared new 1.4 protocol version for discovery::Reply
- transaction: rename cli option for scaling proxies ([#229](https://github.com/casualcore/casual/issues/229))
- transaction: manager should wait for all spawned RM:s before on-line
- transaction: runtime configuration ([#225](https://github.com/casualcore/casual/issues/225))
- transaction: show description for instances (remote domain name) ([#350](https://github.com/casualcore/casual/issues/350))
- code: conform to c++23
- domain: cli add enabled to domain --list-servers/executables
- domain: assassination contract lethal or non-lethal ([#304](https://github.com/casualcore/casual/issues/304))
- gateway: honor group memberships on connections ([#323](https://github.com/casualcore/casual/issues/323))
- gateway: runtime configuration
- gateway: branch transaction in inbound ([#328](https://github.com/casualcore/casual/issues/328))
- cli: improved `--legend