Skip to content

Commit 2bfd11e

Browse files
Merge pull request #434 from wphillipmoore/chore/bump-version-1.2.3
chore: bump version to 1.2.3
2 parents 0d1c4bd + a06b792 commit 2bfd11e

7 files changed

Lines changed: 194 additions & 57 deletions

File tree

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,50 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](https://semver.org/).
77

8+
## [1.2.2] - 2026-03-02
9+
10+
### Bug fixes
11+
12+
- move PyPI publish before SBOM generation (#430)
13+
14+
## [1.2.1] - 2026-03-01
15+
16+
### Bug fixes
17+
18+
- reorder publish workflow to tag before registry publish (#392)
19+
- correct relative links to mapping-pipeline in api/ensure and api/sync (#400)
20+
- require name parameter for DELETE Q* methods (#415)
21+
- LTPA cookie extraction uses prefix matching for suffixed cookie names (#418)
22+
23+
### CI
24+
25+
- remove SonarCloud and Code Climate workflows (#378)
26+
- migrate to three-tier push/PR architecture (#380)
27+
- extract type-check into standalone ci: type-check job (#405)
28+
- add concurrency group to ci-push workflow (#426)
29+
30+
### Documentation
31+
32+
- replace stale script references with st-* commands (#377)
33+
- fix index page mismatches and restructure nav for LHS sidebar (#396)
34+
- merge ensure and sync documentation into single pages (#398)
35+
- add cross-repo documentation links to docs site (#420)
36+
37+
### Features
38+
39+
- auto-generate all MQSC command methods from mapping-data.json (#413)
40+
- add SyncConfig construction validation (#425)
41+
42+
### Refactoring
43+
44+
- rename abbreviated local variables to complete English words (#401)
45+
- rename obj_config to object_config in sync.py (#407)
46+
47+
### Testing
48+
49+
- include examples in code coverage metrics (#409)
50+
- add session state populated after command integration test (#423)
51+
852
## [1.2.0] - 2026-02-24
953

1054
### CI

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "pymqrest"
7-
version = "1.2.2"
7+
version = "1.2.3"
88
description = "Python wrapper for the IBM MQ REST API"
99
readme = "README.md"
1010
license = "GPL-3.0-or-later"

releases/v1.2.1.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
# Release 1.2.0 (2026-02-24)
3+
4+
## CI
5+
6+
- **add SonarCloud quality analysis to CI (#366)**
7+
- **add SonarCloud post-merge workflow (#367)**
8+
Runs SonarCloud analysis on push to develop so the project dashboard reflects the latest merged code.
9+
10+
- **add Code Climate (Qlty) coverage upload (#369)**
11+
Add codeclimate job to ci.yml and codeclimate.yml post-merge workflow for Qlty Cloud coverage tracking via OIDC.
12+
13+
- **assign unique REST API ports per integration test matrix entry (#372)**
14+
* ci: assign unique REST API ports per integration test matrix entry
15+
16+
17+
## Features
18+
19+
- **run integration tests with same Python version matrix as unit tests (#370)**
20+
Integration tests now run against Python 3.12, 3.13, and 3.14 instead of only 3.14, matching the unit test matrix for consistent coverage.

releases/v1.2.2.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
2+
# Release 1.2.1 (2026-03-01)
3+
4+
## Bug fixes
5+
6+
- **reorder publish workflow to tag before registry publish (#392)**
7+
Move SBOM generation and tag/release steps before PyPI publish. Change build/attest/SBOM conditions from pypi_check to tag_check so artifacts are generated for the GitHub release regardless of PyPI status. Fixes #391.
8+
9+
- **correct relative links to mapping-pipeline in api/ensure and api/sync (#400)**
10+
- **require name parameter for DELETE Q* methods (#415)**
11+
Re-generate commands from updated mapping-data.json which adds name_required: true to DELETE QLOCAL, QREMOTE, QALIAS, and QMODEL. These methods now require a name parameter since you cannot delete a queue without specifying which one.
12+
13+
- **LTPA cookie extraction uses prefix matching for suffixed cookie names (#418)**
14+
Liberty's MQ REST API uses LtpaToken2_<suffix> cookie names by default. Changed from exact match to prefix match on LtpaToken2 and store the full cookie name for use in subsequent requests. Enabled the LTPA integration test.
15+
16+
17+
## CI
18+
19+
- **remove SonarCloud and Code Climate workflows (#378)**
20+
Removes sonarcloud.yml, codeclimate.yml standalone workflows and both jobs from ci.yml. Neither service is in active use.
21+
22+
- **migrate to three-tier push/PR architecture (#380)**
23+
Tier 1: local dev scripts (test, lint, typecheck, audit). Tier 2: ci-push.yml (single Python version, no security/gates). Tier 3: ci.yml (full matrix, security via shared workflow, release gates). Security and standards jobs factored out to standard-actions reusable workflow.
24+
25+
- **extract type-check into standalone ci: type-check job (#405)**
26+
Extract mypy and ty from the unit-tests matrix job into a standalone ci: type-check job. Type checking is static analysis and uses the ci: prefix. Runs on a single Python version (3.14) since type definitions are version-independent.
27+
28+
- **add concurrency group to ci-push workflow (#426)**
29+
Ensures new pushes cancel in-flight CI runs on the same branch.
30+
31+
32+
## Documentation
33+
34+
- **replace stale script references with st-* commands (#377)**
35+
- **fix index page mismatches and restructure nav for LHS sidebar (#396)**
36+
Add missing Quality Gates and AI Engineering entries to Development index. Add Ensure Methods and Sync Methods to API Reference index. Group Home, Getting Started, Architecture, and Examples under Home section for LHS navigation.
37+
38+
- **merge ensure and sync documentation into single pages (#398)**
39+
Consolidate ensure-methods.md into api/ensure.md and sync-methods.md into api/sync.md. Update nav to feature ensure/sync after core classes. Fix cross-references in architecture.md and session.md. Update API reference index with Declarative Management section.
40+
41+
- **add cross-repo documentation links to docs site (#420)**
42+
Include the other-languages.md fragment from mq-rest-admin-common to show links to all language implementations on the docs home page.
43+
44+
45+
## Features
46+
47+
- **auto-generate all MQSC command methods from mapping-data.json (#413)**
48+
Eliminates hand-written methods by moving BEGIN marker to encompass all command methods. Updates mapping-data.json with generation metadata (pattern, name_required, name_default). 152 methods now fully generated.
49+
50+
- **add SyncConfig construction validation (#425)**
51+
52+
## Refactoring
53+
54+
- **rename abbreviated local variables to complete English words (#401)**
55+
Rename internal variables for naming standards compliance (Rule 3):
56+
57+
- sync.py: cfg -> sync_config, msg -> message
58+
- _mapping_merge.py: msg -> message
59+
- test_sync.py: cfg -> sync_config, err -> error
60+
- test_mapping_merge.py: cmd -> command
61+
62+
No public API changes.
63+
64+
- **rename obj_config to object_config in sync.py (#407)**
65+
Fixes PBP naming convention violation: obj_config abbreviated parameter renamed to object_config across _start_and_poll, _stop_and_poll, and _restart methods.
66+
67+
68+
## Testing
69+
70+
- **include examples in code coverage metrics (#409)**
71+
Add --cov=examples to CI and test script, pragma: no cover on __main__ blocks, and 52 unit tests for all 6 example modules achieving 100% branch coverage.
72+
73+
- **add session state populated after command integration test (#423)**

requirements-dev.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ boolean-py==5.0
55
# via license-expression
66
cachecontrol==0.14.4
77
# via pip-audit
8-
certifi==2026.1.4
8+
certifi==2026.2.25
99
# via requests
1010
charset-normalizer==3.4.4
1111
# via requests
@@ -17,7 +17,7 @@ cyclonedx-python-lib==11.6.0
1717
# via pip-audit
1818
defusedxml==0.7.1
1919
# via py-serializable
20-
filelock==3.24.3
20+
filelock==3.25.0
2121
# via cachecontrol
2222
idna==3.11
2323
# via requests
@@ -79,14 +79,14 @@ requests==2.32.5
7979
# pymqrest
8080
rich==14.3.3
8181
# via pip-audit
82-
ruff==0.15.2
82+
ruff==0.15.4
8383
sortedcontainers==2.4.0
8484
# via cyclonedx-python-lib
8585
tomli==2.4.0
8686
# via pip-audit
8787
tomli-w==1.2.0
8888
# via pip-audit
89-
ty==0.0.18
89+
ty==0.0.19
9090
types-requests==2.32.4.20260107
9191
typing-extensions==4.15.0
9292
# via

requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ boolean-py==5.0
55
# via license-expression
66
cachecontrol==0.14.4
77
# via pip-audit
8-
certifi==2026.1.4
8+
certifi==2026.2.25
99
# via requests
1010
charset-normalizer==3.4.4
1111
# via requests
@@ -17,7 +17,7 @@ cyclonedx-python-lib==11.6.0
1717
# via pip-audit
1818
defusedxml==0.7.1
1919
# via py-serializable
20-
filelock==3.24.3
20+
filelock==3.25.0
2121
# via cachecontrol
2222
idna==3.11
2323
# via requests
@@ -79,14 +79,14 @@ requests==2.32.5
7979
# pymqrest
8080
rich==14.3.3
8181
# via pip-audit
82-
ruff==0.15.2
82+
ruff==0.15.4
8383
sortedcontainers==2.4.0
8484
# via cyclonedx-python-lib
8585
tomli==2.4.0
8686
# via pip-audit
8787
tomli-w==1.2.0
8888
# via pip-audit
89-
ty==0.0.18
89+
ty==0.0.19
9090
types-requests==2.32.4.20260107
9191
typing-extensions==4.15.0
9292
# via

0 commit comments

Comments
 (0)