Skip to content

Commit 8c49d83

Browse files
docs: bump version to 19.0.2.0.9, add changelog for canary patterns
1 parent ff8a48a commit 8c49d83

4 files changed

Lines changed: 40 additions & 9 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.9
258+
~~~~~~~~~~
259+
260+
- Add context flags (``skip_registrant_statistics``,
261+
``skip_program_statistics``) to suppress expensive computed field
262+
recomputation during bulk operations
263+
- Add ``refresh_beneficiary_counts()`` on program and
264+
``refresh_statistics()`` on cycle for one-shot recomputation after
265+
bulk operations
266+
- Replace ``bool(rec.program_membership_ids)`` with SQL query in
267+
``_compute_has_members``
268+
257269
19.0.2.0.8
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.8",
7+
"version": "19.0.2.0.9",
88
"sequence": 1,
99
"author": "OpenSPP.org",
1010
"website": "https://github.com/OpenSPP/OpenSPP2",

spp_programs/readme/HISTORY.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
### 19.0.2.0.9
2+
3+
- Add context flags (`skip_registrant_statistics`, `skip_program_statistics`) to suppress expensive computed field recomputation during bulk operations
4+
- Add `refresh_beneficiary_counts()` on program and `refresh_statistics()` on cycle for one-shot recomputation after bulk operations
5+
- Replace `bool(rec.program_membership_ids)` with SQL query in `_compute_has_members`
6+
17
### 19.0.2.0.8
28

39
- Replace OFFSET pagination with NTILE-based ID-range batching in all async job dispatchers

spp_programs/static/description/index.html

Lines changed: 21 additions & 8 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.9</h1>
662+
<ul class="simple">
663+
<li>Add context flags (<tt class="docutils literal">skip_registrant_statistics</tt>,
664+
<tt class="docutils literal">skip_program_statistics</tt>) to suppress expensive computed field
665+
recomputation during bulk operations</li>
666+
<li>Add <tt class="docutils literal">refresh_beneficiary_counts()</tt> on program and
667+
<tt class="docutils literal">refresh_statistics()</tt> on cycle for one-shot recomputation after
668+
bulk operations</li>
669+
<li>Replace <tt class="docutils literal">bool(rec.program_membership_ids)</tt> with SQL query in
670+
<tt class="docutils literal">_compute_has_members</tt></li>
671+
</ul>
672+
</div>
673+
<div class="section" id="section-2">
661674
<h1>19.0.2.0.8</h1>
662675
<ul class="simple">
663676
<li>Replace OFFSET pagination with NTILE-based ID-range batching in all
@@ -668,7 +681,7 @@ <h1>19.0.2.0.8</h1>
668681
program and cycle</li>
669682
</ul>
670683
</div>
671-
<div class="section" id="section-2">
684+
<div class="section" id="section-3">
672685
<h1>19.0.2.0.7</h1>
673686
<ul class="simple">
674687
<li>Bulk membership creation using raw SQL INSERT ON CONFLICT DO NOTHING
@@ -677,7 +690,7 @@ <h1>19.0.2.0.7</h1>
677690
<tt class="docutils literal">_add_beneficiaries</tt> with bulk SQL path</li>
678691
</ul>
679692
</div>
680-
<div class="section" id="section-3">
693+
<div class="section" id="section-4">
681694
<h1>19.0.2.0.6</h1>
682695
<ul class="simple">
683696
<li>Remove unused entitlement_base_model.py (dead code, never imported)</li>
@@ -686,34 +699,34 @@ <h1>19.0.2.0.6</h1>
686699
payment, and fund tests (172 → 492 tests)</li>
687700
</ul>
688701
</div>
689-
<div class="section" id="section-4">
702+
<div class="section" id="section-5">
690703
<h1>19.0.2.0.5</h1>
691704
<ul class="simple">
692705
<li>Batch create entitlements and payments instead of one-by-one ORM
693706
creates</li>
694707
</ul>
695708
</div>
696-
<div class="section" id="section-5">
709+
<div class="section" id="section-6">
697710
<h1>19.0.2.0.4</h1>
698711
<ul class="simple">
699712
<li>Fetch fund balance once per approval batch instead of per entitlement</li>
700713
</ul>
701714
</div>
702-
<div class="section" id="section-6">
715+
<div class="section" id="section-7">
703716
<h1>19.0.2.0.3</h1>
704717
<ul class="simple">
705718
<li>Replace cycle computed fields (total_amount, entitlements_count,
706719
approval flags) with SQL aggregation queries</li>
707720
</ul>
708721
</div>
709-
<div class="section" id="section-7">
722+
<div class="section" id="section-8">
710723
<h1>19.0.2.0.2</h1>
711724
<ul class="simple">
712725
<li>Add composite indexes for frequent query patterns on entitlements and
713726
program memberships</li>
714727
</ul>
715728
</div>
716-
<div class="section" id="section-8">
729+
<div class="section" id="section-9">
717730
<h1>19.0.2.0.1</h1>
718731
<ul class="simple">
719732
<li>Replace Python-level uniqueness checks with SQL UNIQUE constraints for
@@ -722,7 +735,7 @@ <h1>19.0.2.0.1</h1>
722735
constraint creation</li>
723736
</ul>
724737
</div>
725-
<div class="section" id="section-9">
738+
<div class="section" id="section-10">
726739
<h1>19.0.2.0.0</h1>
727740
<ul class="simple">
728741
<li>Initial migration to OpenSPP2</li>

0 commit comments

Comments
 (0)