Release 1.2.0 (2026-02-24)¶
Bug fixes¶
-
separate source and test paths for SonarCloud (#171) SonarCloud cannot index the same file in both source and test sets. Use mqrestadmin as the source/test directory with exclusion patterns to distinguish test files.
-
correct request_key_value_map 2-level nested parsing (#181)
- fix(mapping): correct request_key_value_map 2-level nested parsing
The Go type used map[string]keyValueEntry (flat) but the JSON data uses a 2-level nested structure {input_key: {input_value: {key, value}}}. Go json.Unmarshal silently produced empty strings for the nested level, causing parameters like replace:yes to map to empty strings instead of REPLACE:YES. Fixed the type to map[string]map[string]keyValueEntry, updated Layer 1 lookup to do 2-level resolution matching Python/Ruby, added regression tests, restored lifecycle integration tests, and removed MQ_SKIP_LIFECYCLE CI workaround.
- add default qualifier fallback and remove MQ_SKIP_LIFECYCLE guard (#183)
- fix(mapping): add default qualifier fallback and remove MQ_SKIP_LIFECYCLE guard
resolveMappingQualifier returned empty string for commands not explicitly listed in the commands map (e.g. DEFINE QLOCAL, ALTER QLOCAL). This caused no attribute mapping to be applied, sending snake_case parameter names to MQ which silently ignored them. Added a defaultMappingQualifiers fallback map matching the Python and Ruby SDKs, with a final lowercase fallback for unknown qualifiers. Removed MQ_SKIP_LIFECYCLE guard and CI env var since the root cause is now fixed.
CI¶
- add SonarCloud quality analysis to CI (#170)
-
add SonarCloud post-merge workflow (#172) Runs SonarCloud analysis on push to develop so the project dashboard reflects the latest merged code.
-
add Code Climate (Qlty) coverage upload (#174) Add codeclimate job to ci.yml and codeclimate.yml post-merge workflow for Qlty Cloud coverage tracking via OIDC.
-
assign unique REST API ports per integration test matrix entry (#177)
- ci: assign unique REST API ports per integration test matrix entry
Features¶
- run integration tests with same Go version matrix as unit tests (#175) Integration tests now run against Go 1.25 and 1.26 instead of only 1.26, matching the unit test matrix for consistent coverage.
Testing¶
- add integration test suite porting Python reference coverage (#179)
- test: add integration test suite porting Python reference coverage
Ports ~34 integration tests from the Python reference suite covering display singletons, seeded queues/channels/objects, lifecycle CRUD (9 object types), idempotent ensure operations, gateway multi-QM access, session state, and LTPA auth.