Skip to content

Commit c0af41c

Browse files
docs: bump version to 19.0.2.0.10, add changelog for concurrency tuning
1 parent 0cacf62 commit c0af41c

4 files changed

Lines changed: 42 additions & 10 deletions

File tree

spp_programs/README.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,18 @@ Dependencies
254254
Changelog
255255
=========
256256

257+
19.0.2.0.10
258+
~~~~~~~~~~~
259+
260+
- Increase parallel-safe channel limits (cycle, eligibility_manager,
261+
program_manager) from 1 to 4
262+
- Add serial ``entitlement_approval`` channel (limit=1) for fund balance
263+
safety
264+
- Add serial ``statistics_refresh`` channel (limit=1) to prevent
265+
concurrent refresh storms
266+
- Add ``identity_key`` to async job dispatchers to prevent duplicate
267+
submission on double-click
268+
257269
19.0.2.0.9
258270
~~~~~~~~~~
259271

spp_programs/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"name": "OpenSPP Programs",
55
"summary": "Manage programs, cycles, beneficiary enrollment, entitlements (cash and in-kind), payments, and fund tracking for social protection.",
66
"category": "OpenSPP/Core",
7-
"version": "19.0.2.0.9",
7+
"version": "19.0.2.0.10",
88
"sequence": 1,
99
"author": "OpenSPP.org",
1010
"website": "https://github.com/OpenSPP/OpenSPP2",

spp_programs/readme/HISTORY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
### 19.0.2.0.10
2+
3+
- Increase parallel-safe channel limits (cycle, eligibility_manager, program_manager) from 1 to 4
4+
- Add serial `entitlement_approval` channel (limit=1) for fund balance safety
5+
- Add serial `statistics_refresh` channel (limit=1) to prevent concurrent refresh storms
6+
- Add `identity_key` to async job dispatchers to prevent duplicate submission on double-click
7+
18
### 19.0.2.0.9
29

310
- Add context flags (`skip_registrant_statistics`, `skip_program_statistics`) to suppress expensive computed field recomputation during bulk operations

spp_programs/static/description/index.html

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,19 @@ <h2><a class="toc-backref" href="#toc-entry-1">Changelog</a></h2>
658658
</div>
659659
</div>
660660
<div class="section" id="section-1">
661+
<h1>19.0.2.0.10</h1>
662+
<ul class="simple">
663+
<li>Increase parallel-safe channel limits (cycle, eligibility_manager,
664+
program_manager) from 1 to 4</li>
665+
<li>Add serial <tt class="docutils literal">entitlement_approval</tt> channel (limit=1) for fund balance
666+
safety</li>
667+
<li>Add serial <tt class="docutils literal">statistics_refresh</tt> channel (limit=1) to prevent
668+
concurrent refresh storms</li>
669+
<li>Add <tt class="docutils literal">identity_key</tt> to async job dispatchers to prevent duplicate
670+
submission on double-click</li>
671+
</ul>
672+
</div>
673+
<div class="section" id="section-2">
661674
<h1>19.0.2.0.9</h1>
662675
<ul class="simple">
663676
<li>Add context flags (<tt class="docutils literal">skip_registrant_statistics</tt>,
@@ -670,7 +683,7 @@ <h1>19.0.2.0.9</h1>
670683
<tt class="docutils literal">_compute_has_members</tt></li>
671684
</ul>
672685
</div>
673-
<div class="section" id="section-2">
686+
<div class="section" id="section-3">
674687
<h1>19.0.2.0.8</h1>
675688
<ul class="simple">
676689
<li>Replace OFFSET pagination with NTILE-based ID-range batching in all
@@ -681,7 +694,7 @@ <h1>19.0.2.0.8</h1>
681694
program and cycle</li>
682695
</ul>
683696
</div>
684-
<div class="section" id="section-3">
697+
<div class="section" id="section-4">
685698
<h1>19.0.2.0.7</h1>
686699
<ul class="simple">
687700
<li>Bulk membership creation using raw SQL INSERT ON CONFLICT DO NOTHING
@@ -690,7 +703,7 @@ <h1>19.0.2.0.7</h1>
690703
<tt class="docutils literal">_add_beneficiaries</tt> with bulk SQL path</li>
691704
</ul>
692705
</div>
693-
<div class="section" id="section-4">
706+
<div class="section" id="section-5">
694707
<h1>19.0.2.0.6</h1>
695708
<ul class="simple">
696709
<li>Remove unused entitlement_base_model.py (dead code, never imported)</li>
@@ -699,34 +712,34 @@ <h1>19.0.2.0.6</h1>
699712
payment, and fund tests (172 → 492 tests)</li>
700713
</ul>
701714
</div>
702-
<div class="section" id="section-5">
715+
<div class="section" id="section-6">
703716
<h1>19.0.2.0.5</h1>
704717
<ul class="simple">
705718
<li>Batch create entitlements and payments instead of one-by-one ORM
706719
creates</li>
707720
</ul>
708721
</div>
709-
<div class="section" id="section-6">
722+
<div class="section" id="section-7">
710723
<h1>19.0.2.0.4</h1>
711724
<ul class="simple">
712725
<li>Fetch fund balance once per approval batch instead of per entitlement</li>
713726
</ul>
714727
</div>
715-
<div class="section" id="section-7">
728+
<div class="section" id="section-8">
716729
<h1>19.0.2.0.3</h1>
717730
<ul class="simple">
718731
<li>Replace cycle computed fields (total_amount, entitlements_count,
719732
approval flags) with SQL aggregation queries</li>
720733
</ul>
721734
</div>
722-
<div class="section" id="section-8">
735+
<div class="section" id="section-9">
723736
<h1>19.0.2.0.2</h1>
724737
<ul class="simple">
725738
<li>Add composite indexes for frequent query patterns on entitlements and
726739
program memberships</li>
727740
</ul>
728741
</div>
729-
<div class="section" id="section-9">
742+
<div class="section" id="section-10">
730743
<h1>19.0.2.0.1</h1>
731744
<ul class="simple">
732745
<li>Replace Python-level uniqueness checks with SQL UNIQUE constraints for
@@ -735,7 +748,7 @@ <h1>19.0.2.0.1</h1>
735748
constraint creation</li>
736749
</ul>
737750
</div>
738-
<div class="section" id="section-10">
751+
<div class="section" id="section-11">
739752
<h1>19.0.2.0.0</h1>
740753
<ul class="simple">
741754
<li>Initial migration to OpenSPP2</li>

0 commit comments

Comments
 (0)