Repository: PolicyEngine/policyengine-us (language: python)

Issue:
Add Chained CPI Index to Simulate Budget Window to 2035
https://github.com/PolicyEngine/policyengine-us/blob/17630f01127590407bc7f7a67d8c04e8d407e34e/policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml#L292-L307

02-01-2034: 212.0 # 2035 Value

Various 2024 Kansas tax model updates
Fixes #5207
Fixes #5209
Fixes #5206
Fixes #5205


Discussion / hints:

Fix patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 68b18bfc4dc..19e62d6cf94 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,72 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [1.126.0] - 2024-10-15 18:57:14
+
+### Added
+
+- Chained CPI 2035.
+
+## [1.125.0] - 2024-10-15 16:32:32
+
+### Added
+
+- Exclude students from the SNAP unit with certain exceptions.
+
+## [1.124.0] - 2024-10-15 16:26:25
+
+### Added
+
+- IN county taxes.
+
+## [1.123.0] - 2024-10-15 10:18:53
+
+### Added
+
+- 2024 tax rate, CDCC match, standard deduction and personal exemption amount in Kansas..
+
+## [1.122.0] - 2024-10-15 03:15:23
+
+### Added
+
+- Kansas disabled veteran exemptions.
+
+## [1.121.0] - 2024-10-15 03:05:54
+
+### Added
+
+- Idaho 2024 income tax rate and brackets.
+
+## [1.120.0] - 2024-10-15 00:23:23
+
+### Added
+
+- California Income Tax Thresholds 2024.
+
+## [1.119.0] - 2024-10-14 20:55:12
+
+### Added
+
+- California Standard Deduction, Personal/Dependent Exemption Credits and Renter AGI Cap 2024.
+
+## [1.118.0] - 2024-10-14 20:30:24
+
+### Added
+
+- Kentucky Standard Deduction 2024 & 2025.
+
+## [1.117.0] - 2024-10-14 19:22:35
+
+### Added
+
+- Harris capital gains tax reform.
+
+## [1.116.0] - 2024-10-14 19:08:02
+
+### Added
+
+- Missouri 2024 income tax rate and brackets.
+
 ## [1.115.0] - 2024-10-09 15:10:16
 
 ## [1.114.0] - 2024-10-09 11:09:17
@@ -9951,6 +10017,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 
 
+[1.126.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.125.0...1.126.0
+[1.125.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.124.0...1.125.0
+[1.124.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.123.0...1.124.0
+[1.123.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.122.0...1.123.0
+[1.122.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.121.0...1.122.0
+[1.121.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.120.0...1.121.0
+[1.120.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.119.0...1.120.0
+[1.119.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.118.0...1.119.0
+[1.118.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.117.0...1.118.0
+[1.117.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.116.0...1.117.0
+[1.116.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.115.0...1.116.0
 [1.115.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.114.0...1.115.0
 [1.114.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.113.0...1.114.0
 [1.113.0]: https://github.com/PolicyEngine/policyengine-us/compare/1.112.0...1.113.0
diff --git a/changelog.yaml b/changelog.yaml
index 56abe6288ec..7adcdabe908 100644
--- a/changelog.yaml
+++ b/changelog.yaml
@@ -8436,3 +8436,60 @@
   changes:
   - Updated to PolicyEngine US Data v1.11.
   date: 2024-10-09 15:10:16
+- bump: minor
+  changes:
+    added:
+    - Missouri 2024 income tax rate and brackets.
+  date: 2024-10-14 19:08:02
+- bump: minor
+  changes:
+    added:
+    - Harris capital gains tax reform.
+  date: 2024-10-14 19:22:35
+- bump: minor
+  changes:
+    added:
+    - Kentucky Standard Deduction 2024 & 2025.
+  date: 2024-10-14 20:30:24
+- bump: minor
+  changes:
+    added:
+    - California Standard Deduction, Personal/Dependent Exemption Credits and Renter
+      AGI Cap 2024.
+  date: 2024-10-14 20:55:12
+- bump: minor
+  changes:
+    added:
+    - California Income Tax Thresholds 2024.
+  date: 2024-10-15 00:23:23
+- bump: minor
+  changes:
+    added:
+    - Idaho 2024 income tax rate and brackets.
+  date: 2024-10-15 03:05:54
+- bump: minor
+  changes:
+    added:
+    - Kansas disabled veteran exemptions.
+  date: 2024-10-15 03:15:23
+- bump: minor
+  changes:
+    added:
+    - 2024 tax rate, CDCC match, standard deduction and personal exemption amount
+      in Kansas..
+  date: 2024-10-15 10:18:53
+- bump: minor
+  changes:
+    added:
+    - IN county taxes.
+  date: 2024-10-15 16:26:25
+- bump: minor
+  changes:
+    added:
+    - Exclude students from the SNAP unit with certain exceptions.
+  date: 2024-10-15 16:32:32
+- bump: minor
+  changes:
+    added:
+    - Chained CPI 2035.
+  date: 2024-10-15 18:57:14
diff --git a/changelog_entry.yaml b/changelog_entry.yaml
index e69de29bb2d..973da8db0ff 100644
--- a/changelog_entry.yaml
+++ b/changelog_entry.yaml
@@ -0,0 +1,4 @@
+- bump: patch
+  changes:
+    changed:
+    - Updated required version of policyengine-core
diff --git a/policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml b/policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml
index e9400f47450..2a6274bc89b 100644
--- a/policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml
+++ b/policyengine_us/parameters/gov/bls/cpi/c_cpi_u.yaml
@@ -304,6 +304,7 @@ values:
   2031-02-01: 199.7 # 2032 value.
   2032-02-01: 203.7 # 2033 value.
   2033-02-01: 207.8 # 2034 value.
+  2034-02-01: 212.0 # 2035 value. (indexed by applying 2034 indexing rate (207.8/203.7) and multiplying it by 207.8)
 metadata:
   unit: currency-USD
   label: Chained CPI-U
diff --git a/policyengine_us/parameters/gov/contrib/harris/capital_gains/brackets.yaml b/policyengine_us/parameters/gov/contrib/harris/capital_gains/brackets.yaml
new file mode 100644
index 00000000000..de6853ab8c4
--- /dev/null
+++ b/policyengine_us/parameters/gov/contrib/harris/capital_gains/brackets.yaml
@@ -0,0 +1,194 @@
+description: Harris proposed to tax capital gains at the following rates.
+rates:
+  description: Long term capital gain and qualified dividends (regular/non-AMT) rate
+  1:
+    2013-01-01: 0
+  2:
+    2013-01-01: 0.15
+  3:
+    2013-01-01: 0.2
+  4: 
+    2013-01-01: 0.28
+  metadata:
+    unit: /1
+thresholds:
+  description: Top thresholds of long-term capital gains and qualified dividends (regular/non-AMT) tax brackets
+  metadata:
+    unit: currency-USD
+    period: year
+    reference:
+      - title: 2024 IRS data release
+        href: https://www.irs.gov/pub/irs-drop/rp-23-34.pdf#page=8
+      - title: 2023 IRS data release
+        href: https://www.irs.gov/pub/irs-drop/rp-22-38.pdf#page=8
+      - title: 2022 IRS data release
+        href: https://www.irs.gov/pub/irs-drop/rp-21-45.pdf#page=8
+      - title: 2021 IRS data release
+        href: https://www.irs.gov/pub/irs-drop/rp-20-45.pdf#page=8
+      - title: 2020 IRS data release
+        href: https://www.irs.gov/pub/irs-drop/rp-19-44.pdf#page=8
+      - title: 2019 IRS data release
+        href: https://www.irs.gov/pub/irs-drop/rp-18-57.pdf#page=8
+      - title: Internal Revenue Code §1(j)(5)(B)
+        # IRC defines amounts as of 2018.
+        # Defines COLA with rounded up to the nearest multiple of $50.
+        href: https://www.law.cornell.edu/uscode/text/26/1#j_5_B
+  1:
+    HEAD_OF_HOUSEHOLD:
+      values:
+        2013-01-01: 48_600
+        2014-01-01: 49_400
+        2015-01-01: 50_200
+        2016-01-01: 50_400
+        2017-01-01: 50_800
+        2018-01-01: 51_700
+        2019-01-01: 52_750
+        2020-01-01: 53_600
+        2021-01-01: 54_100
+        2022-01-01: 55_800
+        2023-01-01: 59_750
+        2024-01-01: 63_000
+    JOINT:
+      values:
+        2013-01-01: 72_500
+        2014-01-01: 73_800
+        2015-01-01: 74_900
+        2016-01-01: 75_300
+        2017-01-01: 75_900
+        2018-01-01: 77_200
+        2019-01-01: 78_750
+        2020-01-01: 80_000
+        2021-01-01: 80_800
+        2022-01-01: 83_350
+        2023-01-01: 89_250
+        2024-01-01: 94_050
+    SEPARATE:
+      values:
+        2013-01-01: 36_250
+        2014-01-01: 36_900
+        2015-01-01: 37_450
+        2016-01-01: 37_650
+        2017-01-01: 37_950
+        2018-01-01: 38_600
+        2019-01-01: 39_375
+        2020-01-01: 40_000
+        2021-01-01: 40_400
+        2022-01-01: 41_675
+        2023-01-01: 44_625
+        2024-01-01: 47_025
+    SINGLE:
+      values:
+        2013-01-01: 36_250
+        2014-01-01: 36_900
+        2015-01-01: 37_450
+        2016-01-01: 37_650
+        2017-01-01: 37_950
+        2018-01-01: 38_600
+        2019-01-01: 39_375
+        2020-01-01: 40_000
+        2021-01-01: 40_400
+        2022-01-01: 41_675
+        2023-01-01: 44_625
+        2024-01-01: 47_025
+    SURVIVING_SPOUSE:
+      values:
+        2013-01-01: 72_500
+        2014-01-01: 73_800
+        2015-01-01: 74_900
+        2016-01-01: 75_300
+        2017-01-01: 75_900
+        2018-01-01: 77_200
+        2019-01-01: 78_750
+        2020-01-01: 80_000
+        2021-01-01: 80_800
+        2022-01-01: 83_350
+        2023-01-01: 89_250
+        2024-01-01: 94_050
+  2:
+    HEAD_OF_HOUSEHOLD:
+      values:
+        2013-01-01: 425_000
+        2014-01-01: 432_200
+        2015-01-01: 439_000
+        2016-01-01: 441_000
+        2017-01-01: 444_550
+        2018-01-01: 452_400
+        2019-01-01: 461_700
+        2020-01-01: 469_050
+        2021-01-01: 473_750
+        2022-01-01: 488_500
+        2023-01-01: 523_050
+        2024-01-01: 551_350
+    JOINT:
+      values:
+        2013-01-01: 450_000
+        2014-01-01: 457_600
+        2015-01-01: 464_850
+        2016-01-01: 466_950
+        2017-01-01: 470_700
+        2018-01-01: 479_000
+        2019-01-01: 488_850
+        2020-01-01: 496_600
+        2021-01-01: 501_600
+        2022-01-01: 517_200
+        2023-01-01: 553_850
+        2024-01-01: 583_750
+    SEPARATE:
+      values:
+        2013-01-01: 225_000
+        2014-01-01: 228_800
+        2015-01-01: 232_425
+        2016-01-01: 233_475
+        2017-01-01: 235_350
+        2018-01-01: 239_500
+        2019-01-01: 244_425
+        2020-01-01: 248_300
+        2021-01-01: 250_800
+        2022-01-01: 258_600
+        2023-01-01: 276_900
+        2024-01-01: 291_850
+    SINGLE:
+      values:
+        2013-01-01: 400_000
+        2014-01-01: 406_750
+        2015-01-01: 413_200
+        2016-01-01: 415_050
+        2017-01-01: 418_400
+        2018-01-01: 425_800
+        2019-01-01: 434_550
+        2020-01-01: 441_450
+        2021-01-01: 445_850
+        2022-01-01: 459_750
+        2023-01-01: 492_300
+        2024-01-01: 518_900
+    SURVIVING_SPOUSE:
+      values:
+        2013-01-01: 450_000
+        2014-01-01: 457_600
+        2015-01-01: 464_850
+        2016-01-01: 466_950
+        2017-01-01: 470_700
+        2018-01-01: 479_000
+        2019-01-01: 488_850
+        2020-01-01: 496_600
+        2021-01-01: 501_600
+        2022-01-01: 517_200
+        2023-01-01: 553_850
+        2024-01-01: 583_750
+
+  3:
+      HEAD_OF_HOUSEHOLD:
+        values:
+          2013-01-01: 1_000_000
+      JOINT:
+        values:
+          2013-01-01: 1_000_000
+      SEPARATE:
+        values:
+          2013-01-01: 1_000_000
+      SINGLE:
+        values:
+          2013-01-01: 1_000_000
+      SURVIVING_SPOUSE:
+        values:
+          2013-01-01: 1_000_000
diff --git a/policyengine_us/parameters/gov/contrib/harris/capital_gains/in_effect.yaml b/policyengine_us/parameters/gov/contrib/harris/capital_gains/in_effect.yaml
new file mode 100644
index 00000000000..90069230bd6
--- /dev/null
+++ b/policyengine_us/parameters/gov/contrib/harris/capital_gains/in_effect.yaml
@@ -0,0 +1,11 @@
+description: Vice President Kamala Harris has proposed to add a top capital gains tax bracket, which comes into effect if this is true.
+metadata:
+  unit: bool
+  period: year
+  label: Harris capital gains tax reform in effect
+  reference: 
+    - title: A New Way Forward for the Middle Class
+      href: https://kamalaharris.com/wp-content/uploads/2024/09/Policy_Book_Economic-Opportunity.pdf#page=73
+
+values:
+  0000-01-01: false
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/credits/renter/income_cap.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/credits/renter/income_cap.yaml
index f2ef1938d37..b4eb60c749e 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/credits/renter/income_cap.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/credits/renter/income_cap.yaml
@@ -3,22 +3,27 @@ SINGLE:
   2021-01-01: 45_448
   2022-01-01: 49_220
   2023-01-01: 50_746
+  2024-01-01: 52_421
 SEPARATE:
   2021-01-01: 45_448
   2022-01-01: 49_220
   2023-01-01: 50_746
+  2024-01-01: 52_421
 SURVIVING_SPOUSE:
   2021-01-01: 90_896
   2022-01-01: 98_440
   2023-01-01: 101_492
+  2024-01-01: 104_842
 JOINT:
   2021-01-01: 90_896
   2022-01-01: 98_440
   2023-01-01: 101_492
+  2024-01-01: 104_842
 HEAD_OF_HOUSEHOLD:
   2021-01-01: 90_896
   2022-01-01: 98_440
   2023-01-01: 101_492
+  2024-01-01: 104_842
 
 metadata:
   period: year
@@ -38,4 +43,6 @@ metadata:
     href: https://www.ftb.ca.gov/forms/2022/2022-540-booklet.html
   - title: 2023 California Form 540 instructions
     href: https://www.ftb.ca.gov/forms/2023/2023-540-booklet.html
+  - title: 2024 California Indexing Form
+    href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
   economy: false
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/deductions/standard/amount.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/deductions/standard/amount.yaml
index 5d21e4a248e..d686d07c56a 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/deductions/standard/amount.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/deductions/standard/amount.yaml
@@ -13,6 +13,8 @@ metadata:
     href: https://www.ftb.ca.gov/forms/2022/2022-540.pdf#page=2
   - title: 2023 Form 540 California Resident Income Tax Return
     href: https://www.ftb.ca.gov/forms/2023/2023-540.pdf#page=2
+  - title: 2024 California Indexing Form
+    href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
     # The legal code provides the inflation unadjusted amount
   - title: Cal. Rev. & Tax. Code § 17073.5
     href: https://casetext.com/statute/california-codes/california-revenue-and-taxation-code/division-2-other-taxes/part-10-personal-income-tax/chapter-3-computation-of-taxable-income/article-1-definition-of-gross-income-adjusted-gross-income-taxable-income-etc/section-170735-standard-deduction?searchWithin=true&listingIndexId=california-codes.california-revenue-and-taxation-code.division-2-other-taxes.part-10-personal-income-tax
@@ -21,19 +23,24 @@ JOINT:
   2021-01-01: 9_606
   2022-01-01: 10_404
   2023-01-01: 10_726
+  2024-01-01: 11_080
 HEAD_OF_HOUSEHOLD:
   2021-01-01: 9_606
   2022-01-01: 10_404
   2023-01-01: 10_726
+  2024-01-01: 11_080
 SURVIVING_SPOUSE:
   2021-01-01: 9_606
   2022-01-01: 10_404
   2023-01-01: 10_726
+  2024-01-01: 11_080
 SINGLE:
   2021-01-01: 4_803
   2022-01-01: 5_202
   2023-01-01: 5_363
+  2024-01-01: 5_540
 SEPARATE:
   2021-01-01: 4_803
   2022-01-01: 5_202
   2023-01-01: 5_363
+  2024-01-01: 5_540
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/amount.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/amount.yaml
index 649b151153b..c6e43154941 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/amount.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/amount.yaml
@@ -4,6 +4,7 @@ values:
   2021-01-01: 129
   2022-01-01: 140
   2023-01-01: 144
+  2024-01-01: 149
 
 metadata:
   period: year
@@ -17,6 +18,8 @@ metadata:
     href: https://www.ftb.ca.gov/forms/2022/2022-540.pdf#page=1
   - title: 2023 Form 540 California Resident Income Tax Return
     href: https://www.ftb.ca.gov/forms/2023/2023-540.pdf#page=1
+  - title: 2024 California Indexing Form
+    href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
   - title: Cal. Rev. & Tax. Code § 17054
     href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17054.&nodeTreePath=3.20.2&lawCode=RTC
     # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/dependent_amount.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/dependent_amount.yaml
index 614d5704930..37206bc110b 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/dependent_amount.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/exemptions/dependent_amount.yaml
@@ -4,6 +4,7 @@ values:
   2021-01-01: 400
   2022-01-01: 433
   2023-01-01: 446
+  2024-01-01: 461
 
 metadata:
   period: year
@@ -17,6 +18,8 @@ metadata:
     href: https://www.ftb.ca.gov/forms/2022/2022-540.pdf#page=2
   - title: 2023 Form 540 California Resident Income Tax Return
     href: https://www.ftb.ca.gov/forms/2023/2023-540.pdf#page=2
+  - title: 2024 California Indexing Fomr
+    href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
   - title: Cal. Rev. & Tax. Code § 17054
     href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17054.&nodeTreePath=3.20.2&lawCode=RTC
     # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/rates/head_of_household.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/rates/head_of_household.yaml
index c57c6c92fc3..d529501b5a2 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/rates/head_of_household.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/rates/head_of_household.yaml
@@ -9,6 +9,7 @@ brackets:
         2021-01-01: 18_663
         2022-01-01: 20_212
         2023-01-01: 20_839
+        2024-01-01: 21_527
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -18,6 +19,7 @@ brackets:
         2021-01-01: 44_217
         2022-01-01: 47_887
         2023-01-01: 49_371
+        2024-01-01: 51_000
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -27,6 +29,7 @@ brackets:
         2021-01-01: 56_999
         2022-01-01: 61_730
         2023-01-01: 63_644
+        2024-01-01: 65_744
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -36,6 +39,7 @@ brackets:
         2021-01-01: 70_542
         2022-01-01: 76_397
         2023-01-01: 78_765
+        2024-01-01: 81_364
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -45,6 +49,7 @@ brackets:
         2021-01-01: 83_324
         2022-01-01: 90_240
         2023-01-01: 93_037
+        2024-01-01: 96_107
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -54,6 +59,7 @@ brackets:
         2021-01-01: 425_251
         2022-01-01: 460_547
         2023-01-01: 474_824
+        2024-01-01: 490_493
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -63,6 +69,7 @@ brackets:
         2021-01-01: 510_303
         2022-01-01: 552_658
         2023-01-01: 569_790
+        2024-01-01: 588_593
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -72,6 +79,7 @@ brackets:
         2021-01-01: 850_503
         2022-01-01: 921_059
         2023-01-01: 949_649
+        2024-01-01: 980_987
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -90,6 +98,8 @@ metadata:
       href: https://www.ftb.ca.gov/forms/2022/2022-540-tax-rate-schedules.pdf
     - title: California Income Tax Rate Schedules for 2023
       href: https://www.ftb.ca.gov/forms/2023/2023-540-tax-rate-schedules.pdf
+    - title: 2024 California Indexing Form
+      href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
     - title: Cal. Rev. & Tax. Code § 17041
       href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17041.&lawCode=RTC
       # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/rates/joint.yaml
index baa1820907b..0f0eb19a685 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/rates/joint.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/rates/joint.yaml
@@ -9,6 +9,7 @@ brackets:
         2021-01-01: 18_650
         2022-01-01: 20_198
         2023-01-01: 20_824
+        2024-01-01: 21_512
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -18,6 +19,7 @@ brackets:
         2021-01-01: 44_214
         2022-01-01: 47_884
         2023-01-01: 49_368
+        2024-01-01: 50_998
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -27,6 +29,7 @@ brackets:
         2021-01-01: 69_784
         2022-01-01: 75_576
         2023-01-01: 77_918
+        2024-01-01: 80_490
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -36,6 +39,7 @@ brackets:
         2021-01-01: 96_870
         2022-01-01: 104_910
         2023-01-01: 108_162
+        2024-01-01: 111_732
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -45,6 +49,7 @@ brackets:
         2021-01-01: 122_428
         2022-01-01: 132_590
         2023-01-01: 136_700
+        2024-01-01: 141_212
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -54,6 +59,7 @@ brackets:
         2021-01-01: 625_372
         2022-01-01: 677_278
         2023-01-01: 698_274
+        2024-01-01: 721_318
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -63,6 +69,7 @@ brackets:
         2021-01-01: 750_442
         2022-01-01: 812_728
         2023-01-01: 837_922
+        2024-01-01: 865_574
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -72,6 +79,7 @@ brackets:
         2021-01-01: 1_250_738
         2022-01-01: 1_354_550
         2023-01-01: 1_396_542
+        2024-01-01: 1_442_628
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -90,6 +98,8 @@ metadata:
       href: https://www.ftb.ca.gov/forms/2022/2022-540-tax-rate-schedules.pdf
     - title: California Income Tax Rate Schedules for 2023
       href: https://www.ftb.ca.gov/forms/2023/2023-540-tax-rate-schedules.pdf
+    - title: 2024 California Indexing Form
+      href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
     - title: Cal. Rev. & Tax. Code § 17041
       href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17041.&lawCode=RTC
       # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/rates/separate.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/rates/separate.yaml
index 433d4993284..ebb8ce49d2c 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/rates/separate.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/rates/separate.yaml
@@ -9,6 +9,7 @@ brackets:
         2021-01-01: 9_325
         2022-01-01: 10_099
         2023-01-01: 10_412
+        2024-01-01: 10_756
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -18,6 +19,7 @@ brackets:
         2021-01-01: 22_107
         2022-01-01: 23_942
         2023-01-01: 24_684
+        2024-01-01: 25_499
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -27,6 +29,7 @@ brackets:
         2021-01-01: 34_892
         2022-01-01: 37_788
         2023-01-01: 38_959
+        2024-01-01: 40_245
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -36,6 +39,7 @@ brackets:
         2021-01-01: 48_435
         2022-01-01: 52_455
         2023-01-01: 54_081
+        2024-01-01: 55_866
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -45,6 +49,7 @@ brackets:
         2021-01-01: 61_214
         2022-01-01: 66_295
         2023-01-01: 68_350
+        2024-01-01: 70_606
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -54,6 +59,7 @@ brackets:
         2021-01-01: 312_686
         2022-01-01: 338_639
         2023-01-01: 349_137
+        2024-01-01: 360_659
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -63,6 +69,7 @@ brackets:
         2021-01-01: 375_221
         2022-01-01: 406_364
         2023-01-01: 418_961
+        2024-01-01: 432_787
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -72,6 +79,7 @@ brackets:
         2021-01-01: 625_369
         2022-01-01: 677_275
         2023-01-01: 698_271
+        2024-01-01: 721_314
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -90,6 +98,8 @@ metadata:
       href: https://www.ftb.ca.gov/forms/2022/2022-540-tax-rate-schedules.pdf
     - title: California Income Tax Rate Schedules for 2023
       href: https://www.ftb.ca.gov/forms/2023/2023-540-tax-rate-schedules.pdf
+    - title: 2024 California Indexing Form
+      href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
     - title: Cal. Rev. & Tax. Code § 17041
       href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17041.&lawCode=RTC
       # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/rates/single.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/rates/single.yaml
index 87f892678c0..09eb9e4b5c4 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/rates/single.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/rates/single.yaml
@@ -9,6 +9,7 @@ brackets:
         2021-01-01: 9_325
         2022-01-01: 10_099
         2023-01-01: 10_412
+        2024-01-01: 10_756
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -18,6 +19,7 @@ brackets:
         2021-01-01: 22_107
         2022-01-01: 23_942
         2023-01-01: 24_684
+        2024-01-01: 25_499
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -27,6 +29,7 @@ brackets:
         2021-01-01: 34_892
         2022-01-01: 37_788
         2023-01-01: 38_959
+        2024-01-01: 40_245
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -36,6 +39,7 @@ brackets:
         2021-01-01: 48_435
         2022-01-01: 52_455
         2023-01-01: 54_081
+        2024-01-01: 55_866
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -45,6 +49,7 @@ brackets:
         2021-01-01: 61_214
         2022-01-01: 66_295
         2023-01-01: 68_350
+        2024-01-01: 70_606
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -54,6 +59,7 @@ brackets:
         2021-01-01: 312_686
         2022-01-01: 338_639
         2023-01-01: 349_137
+        2024-01-01: 360_659
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -63,6 +69,7 @@ brackets:
         2021-01-01: 375_221
         2022-01-01: 406_364
         2023-01-01: 418_961
+        2024-01-01: 432_787
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -72,6 +79,7 @@ brackets:
         2021-01-01: 625_369
         2022-01-01: 677_275
         2023-01-01: 698_271
+        2024-01-01: 721_314
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -90,6 +98,8 @@ metadata:
       href: https://www.ftb.ca.gov/forms/2022/2022-540-tax-rate-schedules.pdf
     - title: California Income Tax Rate Schedules for 2023
       href: https://www.ftb.ca.gov/forms/2023/2023-540-tax-rate-schedules.pdf
+    - title: 2024 California Indexing Form
+      href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
     - title: Cal. Rev. & Tax. Code § 17041
       href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17041.&lawCode=RTC
       # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/ca/tax/income/rates/surviving_spouse.yaml b/policyengine_us/parameters/gov/states/ca/tax/income/rates/surviving_spouse.yaml
index 4173ea7673c..64a9e2b9874 100644
--- a/policyengine_us/parameters/gov/states/ca/tax/income/rates/surviving_spouse.yaml
+++ b/policyengine_us/parameters/gov/states/ca/tax/income/rates/surviving_spouse.yaml
@@ -9,6 +9,7 @@ brackets:
         2021-01-01: 18_650
         2022-01-01: 20_198
         2023-01-01: 20_824
+        2024-01-01: 21_512
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -18,6 +19,7 @@ brackets:
         2021-01-01: 44_214
         2022-01-01: 47_884
         2023-01-01: 49_368
+        2024-01-01: 50_998
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -27,6 +29,7 @@ brackets:
         2021-01-01: 69_784
         2022-01-01: 75_576
         2023-01-01: 77_918
+        2024-01-01: 80_490
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -36,6 +39,7 @@ brackets:
         2021-01-01: 96_870
         2022-01-01: 104_910
         2023-01-01: 108_162
+        2024-01-01: 111_732
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -45,6 +49,7 @@ brackets:
         2021-01-01: 122_428
         2022-01-01: 132_590
         2023-01-01: 136_700
+        2024-01-01: 141_212
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -54,6 +59,7 @@ brackets:
         2021-01-01: 625_372
         2022-01-01: 677_278
         2023-01-01: 698_274
+        2024-01-01: 721_318
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -63,6 +69,7 @@ brackets:
         2021-01-01: 750_442
         2022-01-01: 812_728
         2023-01-01: 837_922
+        2024-01-01: 865_574
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -72,6 +79,7 @@ brackets:
         2021-01-01: 1_250_738
         2022-01-01: 1_354_550
         2023-01-01: 1_396_542
+        2024-01-01: 1_442_628
       metadata:
         uprating: gov.states.ca.cpi
     rate:
@@ -90,6 +98,8 @@ metadata:
       href: https://www.ftb.ca.gov/forms/2022/2022-540-tax-rate-schedules.pdf
     - title: California Income Tax Rate Schedules for 2023
       href: https://www.ftb.ca.gov/forms/2023/2023-540-tax-rate-schedules.pdf
+    - title: 2024 California Indexing Form
+      href: https://www.ftb.ca.gov/about-ftb/newsroom/tax-news/index.html#article1
     - title: Cal. Rev. & Tax. Code § 17041
       href: https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=17041.&lawCode=RTC
       # Index according to federal tax parameter rules until we add California CPI trend.
diff --git a/policyengine_us/parameters/gov/states/id/tax/income/main/head_of_household.yaml b/policyengine_us/parameters/gov/states/id/tax/income/main/head_of_household.yaml
index 848a3ddc6ca..cc1725ddd23 100644
--- a/policyengine_us/parameters/gov/states/id/tax/income/main/head_of_household.yaml
+++ b/policyengine_us/parameters/gov/states/id/tax/income/main/head_of_household.yaml
@@ -19,6 +19,10 @@ metadata:
     # The Head of household filing status is treated as married
     - title: IDAHO STATUTES, TITLE 63, CHAPTER 30, SECTION 63-3024(2)(b)
       href: https://legislature.idaho.gov/statutesrules/idstat/title63/t63ch30/sect63-3024/#:~:text=(b)%20For%20taxpayers%20filing%20a,five%20thousand%20dollars%20(%245%2C000)
+    # Bill to update the structure post 2024
+    - title: HOUSE BILL NO. 521 63-3024 (2)
+      href: https://legislature.idaho.gov/wp-content/uploads/sessioninfo/2024/legislation/H0521.pdf#page=2
+
 brackets:
   - threshold:
       2021-01-01: 0
@@ -29,10 +33,12 @@ brackets:
       2021-01-01: 3_176
       2022-01-01: 3_324
       2023-01-01: 8_979
+      2024-01-01: 2_500
     rate:
       2021-01-01: 0.031
       2022-01-01: 0.03
       2023-01-01: 0.058
+      2024-01-01: 0.05695
   - threshold:
       2021-01-01: 9_526
       2022-01-01: 9_974
@@ -49,6 +55,5 @@ brackets:
   - threshold:
       2021-01-01: 15_878
       2022-01-01: .inf
-      2023-01-01: .inf
     rate:
       2021-01-01: 0.065
diff --git a/policyengine_us/parameters/gov/states/id/tax/income/main/joint.yaml b/policyengine_us/parameters/gov/states/id/tax/income/main/joint.yaml
index 66a35befb0a..67cc2b62600 100644
--- a/policyengine_us/parameters/gov/states/id/tax/income/main/joint.yaml
+++ b/policyengine_us/parameters/gov/states/id/tax/income/main/joint.yaml
@@ -11,6 +11,10 @@ metadata:
       href: https://casetext.com/regulation/idaho-administrative-code/title-idapa-35-tax-commission-state/rule-350101-income-tax-administrative-rules/section-350101075-tax-on-individuals-estates-and-trusts 
     - title: IDAHO STATUTES, TITLE 63, CHAPTER 30, SECTION 63-3024 (2)(a)
       href: https://legislature.idaho.gov/statutesrules/idstat/title63/t63ch30/sect63-3024/
+    # Bill to update the structure post 2024
+    - title: HOUSE BILL NO. 521 63-3024 (2)
+      href: https://legislature.idaho.gov/wp-content/uploads/sessioninfo/2024/legislation/H0521.pdf#page=2
+
 brackets:
   - threshold:
       2021-01-01: 0
@@ -21,10 +25,12 @@ brackets:
       2021-01-01: 3_176
       2022-01-01: 3_324
       2023-01-01: 8_979
+      2024-01-01: 5_000
     rate:
       2021-01-01: 0.031
       2022-01-01: 0.03
       2023-01-01: 0.058
+      2024-01-01: 0.05695
   - threshold:
       2021-01-01: 9_526
       2022-01-01: 9_974
@@ -41,6 +47,5 @@ brackets:
   - threshold:
       2021-01-01: 15_878
       2022-01-01: .inf
-      2023-01-01: .inf
     rate:
       2021-01-01: 0.065
diff --git a/policyengine_us/parameters/gov/states/id/tax/income/main/separate.yaml b/policyengine_us/parameters/gov/states/id/tax/income/main/separate.yaml
index e64b1350899..c230890847e 100644
--- a/policyengine_us/parameters/gov/states/id/tax/income/main/separate.yaml
+++ b/policyengine_us/parameters/gov/states/id/tax/income/main/separate.yaml
@@ -11,6 +11,11 @@ metadata:
       href: https://casetext.com/regulation/idaho-administrative-code/title-idapa-35-tax-commission-state/rule-350101-income-tax-administrative-rules/section-350101075-tax-on-individuals-estates-and-trusts
     - title: IDAHO STATUTES, TITLE 63, CHAPTER 30, SECTION 63-3024 (2)(a)
       href: https://legislature.idaho.gov/statutesrules/idstat/title63/t63ch30/sect63-3024/ 
+    # Bill to update the structure post 2024
+    - title: HOUSE BILL NO. 521 63-3024 (2)
+      href: https://legislature.idaho.gov/wp-content/uploads/sessioninfo/2024/legislation/H0521.pdf#page=2
+
+
 brackets:
   - threshold:
       2021-01-01: 0
@@ -21,10 +26,12 @@ brackets:
       2021-01-01: 1_588
       2022-01-01: 1_662
       2023-01-01: 4_490
+      2024-01-01: 2_500
     rate:
       2021-01-01: 0.031
       2022-01-01: 0.03
       2023-01-01: 0.058
+      2024-01-01: 0.05695
   - threshold:
       2021-01-01: 4_763
       2022-01-01: 4_987
diff --git a/policyengine_us/parameters/gov/states/id/tax/income/main/single.yaml b/policyengine_us/parameters/gov/states/id/tax/income/main/single.yaml
index aca6706e635..0bc4ae71f34 100644
--- a/policyengine_us/parameters/gov/states/id/tax/income/main/single.yaml
+++ b/policyengine_us/parameters/gov/states/id/tax/income/main/single.yaml
@@ -11,6 +11,10 @@ metadata:
       href: https://casetext.com/regulation/idaho-administrative-code/title-idapa-35-tax-commission-state/rule-350101-income-tax-administrative-rules/section-350101075-tax-on-individuals-estates-and-trusts
     - title: IDAHO STATUTES, TITLE 63, CHAPTER 30, SECTION 63-3024 (2)(a)
       href: https://legislature.idaho.gov/statutesrules/idstat/title63/t63ch30/sect63-3024/ 
+    # Bill to update the structure post 2024
+    - title: HOUSE BILL NO. 521 63-3024 (2)
+      href: https://legislature.idaho.gov/wp-content/uploads/sessioninfo/2024/legislation/H0521.pdf#page=2
+
 brackets:
   - threshold:
       2021-01-01: 0
@@ -21,10 +25,12 @@ brackets:
       2021-01-01: 1_588
       2022-01-01: 1_662
       2023-01-01: 4_490
+      2024-01-01: 2_500
     rate:
       2021-01-01: 0.031
       2022-01-01: 0.03
       2023-01-01: 0.058
+      2024-01-01: 0.05695
   - threshold:
       2021-01-01: 4_763
       2022-01-01: 4_987
diff --git a/policyengine_us/parameters/gov/states/id/tax/income/main/widow.yaml b/policyengine_us/parameters/gov/states/id/tax/income/main/widow.yaml
index 7698ebc8682..905a683753f 100644
--- a/policyengine_us/parameters/gov/states/id/tax/income/main/widow.yaml
+++ b/policyengine_us/parameters/gov/states/id/tax/income/main/widow.yaml
@@ -14,6 +14,10 @@ metadata:
     # The Widow filing status is treated as married
     - title: IDAHO STATUTES, TITLE 63, CHAPTER 30, SECTION 63-3024(2)(b)
       href: https://legislature.idaho.gov/statutesrules/idstat/title63/t63ch30/sect63-3024/#:~:text=(b)%20For%20taxpayers%20filing%20a,five%20thousand%20dollars%20(%245%2C000)
+    # Bill to update the structure post 2024
+    - title: HOUSE BILL NO. 521 63-3024 (2)
+      href: https://legislature.idaho.gov/wp-content/uploads/sessioninfo/2024/legislation/H0521.pdf#page=2
+
 brackets:
   - threshold:
       2021-01-01: 0
@@ -24,10 +28,12 @@ brackets:
       2021-01-01: 3_176
       2022-01-01: 3_324
       2023-01-01: 8_979
+      2024-01-01: 5_000
     rate:
       2021-01-01: 0.031
       2022-01-01: 0.03
       2023-01-01: 0.058
+      2024-01-01: 0.05695
   - threshold:
       2021-01-01: 9_526
       2022-01-01: 9_974
diff --git a/policyengine_us/parameters/gov/states/in/tax/income/county_rates.yaml b/policyengine_us/parameters/gov/states/in/tax/income/county_rates.yaml
new file mode 100644
index 00000000000..ffaa305a37b
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/in/tax/income/county_rates.yaml
@@ -0,0 +1,194 @@
+description: Indiana taxes adjusted gross income at these county specific tax rates.
+metadata:
+  period: year
+  unit: /1
+  label: Inidiana county tax rates
+  reference:
+    - title: IC 6-3.6 ARTICLE 3.6. LOCAL INCOME TAXES
+      href: http://iga.in.gov/legislative/laws/2021/ic/titles/006#6-3.6
+
+ADAMS_COUNTY_IN:
+  2021-01-01: 0.01624
+ALLEN_COUNTY_IN:
+  2021-01-01: 0.148
+BATHOLOMEW_COUNTY_IN:
+  2021-01-01: 0.0175
+BENTON_COUNTY_IN:
+  2021-01-01: 0.0179
+BLACKFORD_COUNTY_IN:
+  2021-01-01: 0.015
+BOONE_COUNTY_IN:
+  2021-01-01: 0.015
+BROWN_COUNTY_IN:
+  2021-01-01: 0.025234
+CARROLL_COUNTY_IN:
+  2021-01-01: 0.022733
+CASS_COUNTY_IN:
+  2021-01-01: 0.027
+CLARK_COUNTY_IN:
+  2021-01-01: 0.02
+CLAY_COUNTY_IN:
+  2021-01-01: 0.0235
+CLINTON_COUNTY_IN:
+  2021-01-01: 0.0245
+CRAWFORD_COUNTY_IN:
+  2021-01-01: 0.01
+DAVIESS_COUNTY_IN:
+  2021-01-01: 0.015
+DEARBORN_COUNTY_IN:
+  2021-01-01: 0.015
+DECATUR_COUNTY_IN:
+  2021-01-01: 0.025
+DEKALB_COUNTY_IN:
+  2021-01-01: 0.0213
+DELAWARE_COUNTY_IN:
+  2021-01-01: 0.015
+DUBOIS_COUNTY_IN:
+  2021-01-01: 0.012
+ELKHART_COUNTY_IN:
+  2021-01-01: 0.02
+FAYETTE_COUNTY_IN:
+  2021-01-01: 0.0257
+FLOYD_COUNTY_IN:
+  2021-01-01: 0.0135
+FOUNTAIN_COUNTY_IN:
+  2021-01-01: 0.021
+FRANKLIN_COUNTY_IN:
+  2021-01-01: 0.015
+FULTON_COUNTY_IN:
+  2021-01-01: 0.0268
+GIBSON_COUNTY_IN:
+  2021-01-01: 0.009
+GRANT_COUNTY_IN:
+  2021-01-01: 0.0255
+GREENE_COUNTY_IN:
+  2021-01-01: 0.0195
+HAMILTON_COUNTY_IN:
+  2021-01-01: 0.011
+HANCOCK_COUNTY_IN:
+  2021-01-01: 0.0194
+HARRISON_COUNTY_IN:
+  2021-01-01: 0.01
+HENDRICKS_COUNTY_IN:
+  2021-01-01: 0.017
+HENRY_COUNTY_IN:
+  2021-01-01: 0.017
+HOWARD_COUNTY_IN:
+  2021-01-01: 0.0175
+HUNTINGTON_COUNTY_IN:
+  2021-01-01: 0.0195
+JACKSON_COUNTY_IN:
+  2021-01-01: 0.021
+JASPER_COUNTY_IN:
+  2021-01-01: 0.02864
+JAY_COUNTY_IN:
+  2021-01-01: 0.0245
+JEFFERSON_COUNTY_IN:
+  2021-01-01: 0.009
+JENNINGS_COUNTY_IN:
+  2021-01-01: 0.025
+JOHNSON_COUNTY_IN:
+  2021-01-01: 0.012
+KNOX_COUNTY_IN:
+  2021-01-01: 0.012
+KOSCIUSKO_COUNTY_IN:
+  2021-01-01: 0.01
+LAGRANGE_COUNTY_IN:
+  2021-01-01: 0.0165
+LAKE_COUNTY_IN:
+  2021-01-01: 0.015
+LAPORTE_COUNTY_IN:
+  2021-01-01: 0.0095
+LAWRENCE_COUNTY_IN:
+  2021-01-01: 0.0175
+MADISON_COUNTY_IN:
+  2021-01-01: 0.0175
+MARION_COUNTY_IN:
+  2021-01-01: 0.0202
+MARSHALL_COUNTY_IN:
+  2021-01-01: 0.0125
+MARTIN_COUNTY_IN:
+  2021-01-01: 0.025
+MIAMI_COUNTY_IN:
+  2021-01-01: 0.0254
+MONROE_COUNTY_IN:
+  2021-01-01: 0.01345
+MONTGOMERY_COUNTY_IN:
+  2021-01-01: 0.023
+MORGAN_COUNTY_IN:
+  2021-01-01: 0.0272
+NEWTON_COUNTY_IN:
+  2021-01-01: 0.01
+NOBLE_COUNTY_IN:
+  2021-01-01: 0.0175
+OHIO_COUNTY_IN:
+  2021-01-01: 0.015
+ORANGE_COUNTY_IN:
+  2021-01-01: 0.0175
+OWEN_COUNTY_IN:
+  2021-01-01: 0.01825
+PARKE_COUNTY_IN:
+  2021-01-01: 0.0265
+PERRY_COUNTY_IN:
+  2021-01-01: 0.0181
+PIKE_COUNTY_IN:
+  2021-01-01: 0.0075
+PORTER_COUNTY_IN:
+  2021-01-01: 0.005
+POSEY_COUNTY_IN:
+  2021-01-01: 0.0125
+PULASKI_COUNTY_IN:
+  2021-01-01: 0.0285
+PUTNAM_COUNTY_IN:
+  2021-01-01: 0.021
+RANDOLPH_COUNTY_IN:
+  2021-01-01: 0.025
+RIPLEY_COUNTY_IN:
+  2021-01-01: 0.0138
+RUSH_COUNTY_IN:
+  2021-01-01: 0.021
+ST_JOSEPH_COUNTY_IN:
+  2021-01-01: 0.0175
+SCOTT_COUNTY_IN:
+  2021-01-01: 0.0216
+SHELBY_COUNTY_IN:
+  2021-01-01: 0.016
+SPENCER_COUNTY_IN:
+  2021-01-01: 0.008
+STARKE_COUNTY_IN:
+  2021-01-01: 0.0171
+STEUBEN_COUNTY_IN:
+  2021-01-01: 0.0179
+SULLIVAN_COUNTY_IN:
+  2021-01-01: 0.017
+SWITZERLAND_COUNTY_IN:
+  2021-01-01: 0.0125
+TIPPECANOE_COUNTY_IN:
+  2021-01-01: 0.0128
+TIPTON_COUNTY_IN:
+  2021-01-01: 0.026
+UNION_COUNTY_IN:
+  2021-01-01: 0.02
+VANDERBURGH_COUNTY_IN:
+  2021-01-01: 0.012
+VERMILLION_COUNTY_IN:
+  2021-01-01: 0.015
+VIGO_COUNTY_IN:
+  2021-01-01: 0.02
+WABASH_COUNTY_IN:
+  2021-01-01: 0.029
+WARREN_COUNTY_IN:
+  2021-01-01: 0.0212
+WARRICK_COUNTY_IN:
+  2021-01-01: 0.00625
+WASHINGTON_COUNTY_IN:
+  2021-01-01: 0.02
+WAYNE_COUNTY_IN:
+  2021-01-01: 0.0125
+WELLS_COUNTY_IN:
+  2021-01-01: 0.021
+WHITE_COUNTY_IN:
+  2021-01-01: 0.0232
+WHITLEY_COUNTY_IN:
+  2021-01-01: 0.016829
+
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml
index 3140a35496d..a4c896655e9 100644
--- a/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml
@@ -1,6 +1,7 @@
 description: Kansas limits its taxable OASDI subtraction to filers with AGI at or below this amount.
 values:
   2021-01-01: 75_000
+  2024-01-01: .inf
 
 metadata:
   period: year
@@ -14,5 +15,6 @@ metadata:
   - title: 2023 Form K-40 instructions
     href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=11
   - title: Kansas 2022 Statute | Article 32 | §79-32,271(c)(xviii)
-    href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0117_section/079_032_0117_k/
-
+    href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32117-kansas-adjusted-gross-income-of-an-individual-addition-and-subtraction-modifications
+  - title: Kansas Notice 24-08 Changes to individual income tax
+    href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml
index 3344bcdfc2a..25a25023a91 100644
--- a/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml
@@ -3,6 +3,7 @@ values:
   2018-01-01: 0.125
   2019-01-01: 0.1875
   2020-01-01: 0.25
+  2024-01-01: 0.5
 
 metadata:
   period: year
@@ -17,4 +18,5 @@ metadata:
     href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=8
   - title: Kansas 2022 Statute | Article 32 | §79-32,111c.
     href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0111c_section/079_032_0111c_k/
-    
+  - title: Kansas Notice 24-09 Child and dependent care expenses credit
+    href: https://www.ksrevenue.gov/taxnotices/notice24-09.pdf
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml
index 5be582586b9..8ec751e178e 100644
--- a/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml
@@ -12,21 +12,28 @@ metadata:
     href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=6
   - title: Kansas 2022 Statute Article 32 §79-32,119(c)
     href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0119_section/079_032_0119_k/
+  - title: Kansas Notice 24-08 Changes to individual income tax
+    href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
     
 JOINT:
   2013-01-01: 7_500
   2021-01-01: 8_000
+  2024-01-01: 8_240
 HEAD_OF_HOUSEHOLD:
   2013-01-01: 5_500
   2021-01-01: 6_000
+  2024-01-01: 6_180
 SURVIVING_SPOUSE:
   2013-01-01: 7_500
   2021-01-01: 8_000
+  2024-01-01: 8_240
 SINGLE:
   2013-01-01: 3_000
   2021-01-01: 3_500
+  2024-01-01: 3_605
 SEPARATE:
   # The legal code doesn't specify the value for separate, but
   # recent tax forms show that it is half the joint value.
   2013-01-01: 3_750
   2021-01-01: 4_000
+  2024-01-01: 4_120
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/amount.yaml
deleted file mode 100644
index 0a7f26674e2..00000000000
--- a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/amount.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-description: Kansas provides this exemption for each person in a filing unit.
-values:
-  2021-01-01: 2_250
-
-metadata:
-  period: year
-  unit: currency-USD
-  label: Kansas personal exemption
-  reference:
-  - title: 2021 Form K-40 instructions
-    href: https://www.ksrevenue.gov/pdf/ip21.pdf
-  - title: 2022 Form K-40 instructions
-    href: https://www.ksrevenue.gov/pdf/ip22.pdf
-  - title: 2023 Form K-40 instructions
-    href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=2
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/base.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/base.yaml
new file mode 100644
index 00000000000..b70f3e60af6
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/base.yaml
@@ -0,0 +1,19 @@
+description: Kansas provides the following exemption amount for each person in a filing unit.
+values:
+  2021-01-01: 2_250
+
+metadata:
+  period: year
+  unit: currency-USD
+  label: Kansas personal exemption
+  reference:
+  - title: 2021 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip21.pdf#page=6
+  - title: 2022 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip22.pdf#page=6
+  - title: 2023 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=6
+  - title: 2023 Form K-40 
+    href: https://www.ksrevenue.gov/pdf/k-4023.pdf#page=1
+  - title: KS Stat § 79-32,121 (2023) (a)
+    href: https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml
new file mode 100644
index 00000000000..be8bc577203
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml
@@ -0,0 +1,32 @@
+description: Kansas provides this personal exemption amount, based on filing status, post 2024.
+
+
+JOINT:
+  2021-01-01: 2_250
+  2024-01-01: 18_320
+HEAD_OF_HOUSEHOLD:
+  2021-01-01: 2_250
+  2024-01-01: 9_160
+SURVIVING_SPOUSE:
+  2021-01-01: 2_250
+  2024-01-01: 9_160
+SINGLE:
+  2021-01-01: 2_250
+  2024-01-01: 9_160
+SEPARATE:
+  2021-01-01: 2_250
+  2024-01-01: 9_160
+
+
+metadata:
+  period: year
+  unit: currency-USD
+  label: Kansas personal exemption by filing status amount
+  reference:
+    - title: 2023 Form K-40 instructions
+      href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=2
+    # Structure is applied in 2024
+    - title: Kansas Notice 24-08 Changes to individual income tax
+      href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
+    - title: Kan. Stat. § 79-32,121 (a) 
+      href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml
new file mode 100644
index 00000000000..b7304b140eb
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml
@@ -0,0 +1,16 @@
+description: Kansas provides this exemption amount for each dependent in a filing unit post 2024.
+values:
+  2021-01-01: 2_320
+
+metadata:
+  period: year
+  unit: currency-USD
+  label: Kansas personal exemption by filing status dependent amount
+  reference:
+    - title: 2023 Form K-40 instructions
+      href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=2
+    # Structure is applied in 2024
+    - title: Kansas Notice 24-08 Changes to individual income tax
+      href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
+    - title: Kan. Stat. § 79-32,121 (a) 
+      href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml
new file mode 100644
index 00000000000..58951351852
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml
@@ -0,0 +1,16 @@
+description: Kansas provides an updated personal exemption structure by filing status as well as a separate dependent exemption amount if this is true.
+values:
+  0000-01-01: false
+  2024-01-01: true
+metadata:
+  period: year
+  unit: bool
+  label: Kansas person exemptions by filing status in effect
+  reference:
+    - title: 2023 Form K-40 instructions
+      href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=2
+    # Structure changed in 2024 - this parameter is discontinued
+    - title: Kansas Notice 24-08 Changes to individual income tax
+      href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
+    - title: Kan. Stat. § 79-32,121 (a) 
+      href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/consolidated/amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/consolidated/amount.yaml
new file mode 100644
index 00000000000..bdfbacd5864
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/consolidated/amount.yaml
@@ -0,0 +1,22 @@
+description: Kansas provides this exemption for each person in a filing unit, pre 2024.
+values:
+  2021-01-01: 2_250
+
+metadata:
+  period: year
+  unit: currency-USD
+  label: Kansas personal exemption consolidated amount
+  reference:
+  
+  - title: 2021 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip21.pdf
+  - title: 2022 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip22.pdf
+  - title: 2023 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=2
+  # Structure changed in 2024 - this parameter is discontinued
+  - title: Kansas Notice 24-08 Changes to individual income tax
+    href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
+  # Legal code represents post 2024 structure
+  - title: Kan. Stat. § 79-32,121 (a) 
+    href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml
new file mode 100644
index 00000000000..06f610b5a39
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml
@@ -0,0 +1,15 @@
+description: Kansas provides the following exemption amount for disabled veterans.
+values:
+  2023-01-01: 2_250
+
+metadata:
+  period: year
+  unit: currency-USD
+  label: Kansas disabled veteran exemption amount
+  reference:
+  - title: 2023 Form K-40 instructions
+    href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=6
+  - title: 2023 Form K-40 
+    href: https://www.ksrevenue.gov/pdf/k-4023.pdf#page=2
+  - title: KS Stat § 79-32,121 (2023) (b)
+    href: https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/in_effect.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/in_effect.yaml
new file mode 100644
index 00000000000..e15e8aa334c
--- /dev/null
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/in_effect.yaml
@@ -0,0 +1,14 @@
+description: Kansas provides additional exemptions for disabled veterans if this is true.  
+metadata:
+  unit: bool
+  period: year
+  label: Kansas additional exemptions for disabled veterans in effect
+  reference: 
+    - title: KS Stat § 79-32,121 (2023) (b)
+      href: https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/
+    - title: 2023 Form K-40 
+      href: https://www.ksrevenue.gov/pdf/k-4023.pdf#page=1
+
+values:
+  2021-01-01: false
+  2023-01-01: true
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml
index 23e8aa3f621..9d2da51008d 100644
--- a/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml
@@ -4,14 +4,19 @@ brackets:
       2018-01-01: 0
     rate:
       2018-01-01: 0.031
+      2024-01-01: 0.052
   - threshold:
       2018-01-01: 30_000
+      2024-01-01: 46_000
     rate:
       2018-01-01: 0.0525
+      2024-01-01: 0.058
   - threshold:
       2018-01-01: 60_000
+      2024-01-01: .inf
     rate:
       2018-01-01: 0.057
+      2024-01-01: 0.058
 
 metadata:
   threshold_unit: currency_USD
@@ -26,3 +31,5 @@ metadata:
     href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=32
   - title: Kansas 2022 Statute Article 32 §79-32,110_k
     href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0110_section/079_032_0110_k/
+  - title: Kansas Notice 24-08 Changes to individual income tax
+    href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml
index 95736f13490..3435754ac5f 100644
--- a/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml
+++ b/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml
@@ -4,14 +4,19 @@ brackets:
       2018-01-01: 0
     rate:
       2018-01-01: 0.031
+      2024-01-01: 0.052
   - threshold:
       2018-01-01: 15_000
+      2024-01-01: 24_000
     rate:
       2018-01-01: 0.0525
+      2024-01-01: 0.058
   - threshold:
       2018-01-01: 30_000
+      2024-01-01: .inf
     rate:
       2018-01-01: 0.057
+      2024-01-01: 0.058
 
 metadata:
   threshold_unit: currency_USD
@@ -26,3 +31,5 @@ metadata:
     href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=32
   - title: Kansas 2022 Statute Article 32 §79-32,110_k
     href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0110_section/079_032_0110_k/
+  - title: Kansas Notice 24-08 Changes to individual income tax
+    href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2
diff --git a/policyengine_us/parameters/gov/states/ky/tax/income/deductions/standard.yaml b/policyengine_us/parameters/gov/states/ky/tax/income/deductions/standard.yaml
index 9f96df11fa6..f1a2a2ebba5 100644
--- a/policyengine_us/parameters/gov/states/ky/tax/income/deductions/standard.yaml
+++ b/policyengine_us/parameters/gov/states/ky/tax/income/deductions/standard.yaml
@@ -3,6 +3,8 @@ values:
   2021-01-01: 2_690
   2022-01-01: 2_770
   2023-01-01: 2_980
+  2024-01-01: 3_160
+  2025-01-01: 3_270
 metadata:
   uprating: gov.irs.uprating # legal code does not include any rounding language
   label: Kentucky standard deduction amount
@@ -18,3 +20,7 @@ metadata:
     href: https://revenue.ky.gov/Forms/Form%20740%205-9-23.pdf
   - title: 2021 KENTUCKY Form 740
     href: https://www.taxformfinder.org/forms/2021/2021-kentucky-form-740.pdf
+  - title: 2024 KENTUCKY Standard Deduction Press Release
+    href: https://revenue.ky.gov/News/Pages/DOR-Announces-Updates-to-Individual-Income-Tax-for-2024-Tax-Year.aspx
+  - title: 2025 KENTUCKY Standard Deduction Press Release
+    href: https://revenue.ky.gov/News/Pages/Kentucky-DOR-Announces-2025-Standard-Deduction.aspx
diff --git a/policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml b/policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml
index 2c967ca9a3f..4bb9c57b743 100644
--- a/policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml
+++ b/policyengine_us/parameters/gov/states/mo/tax/income/minimum_taxable_income.yaml
@@ -7,6 +7,7 @@ values:
   2021-01-01: 108
   2022-01-01: 111
   2023-01-01: 1_207
+  2024-01-01: 1_273
 metadata:
   reference:
     - title: Missouri Legal Code | 143.021.  Tax determined by rates in section 143.011 — no tax on taxable income, when.
@@ -25,6 +26,8 @@ metadata:
       href: https://dor.mo.gov/forms/MO-1040%20Instructions_2018.pdf#page=20
     - title: 2017 Individual Income Tax Long Form MO-1040 Instructions
       href: https://dor.mo.gov/forms/MO-1040%20Instructions_2017.pdf#page=20
+    - title: 2024 Missouri Withholding Tax Formula
+      href: https://dor.mo.gov/forms/Withholding%20Formula_2024.pdf#page=2
   label: Missouri minimum taxable income
   unit: currency-USD
   period: year
diff --git a/policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml b/policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml
index 692a9cc4d1e..b928d9a59d5 100644
--- a/policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml
+++ b/policyengine_us/parameters/gov/states/mo/tax/income/rates.yaml
@@ -8,7 +8,7 @@ brackets:
         uprating: gov.irs.uprating
     rate:
       2019-01-01: 0.015
-      2023-01-01: 0.00
+      2023-01-01: 0
   - threshold:
       values:
         2019-01-01: 1_053
@@ -16,6 +16,7 @@ brackets:
         2021-01-01: 1_088
         2022-01-01: 1_121
         2023-01-01: 1_207
+        2024-01-01: 1_273
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -27,6 +28,7 @@ brackets:
         2021-01-01: 2_176
         2022-01-01: 2_242
         2023-01-01: 2_414
+        2024-01-01: 2_546
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -38,6 +40,7 @@ brackets:
         2021-01-01: 3_264
         2022-01-01: 3_363
         2023-01-01: 3_621
+        2024-01-01: 3_819
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -49,6 +52,7 @@ brackets:
         2021-01-01: 4_352
         2022-01-01: 4_484
         2023-01-01: 4_828
+        2024-01-01: 5_092
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -60,6 +64,7 @@ brackets:
         2021-01-01: 5_440
         2022-01-01: 5_605
         2023-01-01: 6_035
+        2024-01-01: 6_365
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -71,6 +76,7 @@ brackets:
         2021-01-01: 6_528
         2022-01-01: 6_726
         2023-01-01: 7_242
+        2024-01-01: 7_638
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -82,6 +88,7 @@ brackets:
         2021-01-01: 7_616
         2022-01-01: 7_847
         2023-01-01: 8_449
+        2024-01-01: 8_911
       metadata:
         uprating: gov.irs.uprating
     rate:
@@ -100,6 +107,7 @@ brackets:
       2019-01-01: 0.054
       2022-01-01: 0.053
       2023-01-01: 0.0495
+      2024-01-01: 0.048
 
 metadata:
   reference:
@@ -113,6 +121,8 @@ metadata:
       href: https://dor.mo.gov/forms/MO-1040%20Instructions_2022.pdf#page=26
     - title: Missouri Legal Code, Chapter 143.011.  Resident individuals — tax rates — rate reductions, when.
       href: https://revisor.mo.gov/main/OneSection.aspx?section=143.011&bid=51511&hl=
+    - title: 2024 Missouri Withholding Tax Formula
+      href: https://dor.mo.gov/forms/Withholding%20Formula_2024.pdf#page=2
   label: Missouri resident individual tax rates
   type: marginal_rate
   threshold_unit: currency-USD
diff --git a/policyengine_us/parameters/gov/usda/snap/max_allotment.yaml b/policyengine_us/parameters/gov/usda/snap/max_allotment.yaml
index d5911077dc0..5c8f0ce5720 100644
--- a/policyengine_us/parameters/gov/usda/snap/max_allotment.yaml
+++ b/policyengine_us/parameters/gov/usda/snap/max_allotment.yaml
@@ -7,6 +7,8 @@ main:
       - range(1, 9)
     label: SNAP max allotment
   CONTIGUOUS_US:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 204
       2021-01-01: 234
@@ -64,6 +66,8 @@ main:
       2023-10-01: 1_751
       2024-10-01: 1_756
   AK_URBAN:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 251
       2021-01-01: 289
@@ -121,6 +125,8 @@ main:
       2023-10-01: 2_246
       2024-10-01: 2_265
   AK_RURAL_1:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 320
       2021-01-01: 368
@@ -178,6 +184,8 @@ main:
       2023-10-01: 2_865
       2024-10-01: 2_888
   AK_RURAL_2:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 390
       2021-01-01: 448
@@ -235,6 +243,8 @@ main:
       2023-10-01: 3_487
       2024-10-01: 3_516
   GU:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 300
       2021-01-01: 345
@@ -292,6 +302,8 @@ main:
       2023-10-01: 2_581
       2024-10-01: 2_588
   HI:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 375
       2021-01-01: 432
@@ -349,6 +361,8 @@ main:
       2023-10-01: 3_166
       2024-10-01: 3_102
   VI:
+    0:
+      2020-10-01: 0
     1:
       2020-10-01: 262
       2021-01-01: 301
diff --git a/policyengine_us/parameters/gov/usda/snap/student/age_threshold.yaml b/policyengine_us/parameters/gov/usda/snap/student/age_threshold.yaml
new file mode 100644
index 00000000000..a6ab4af1377
--- /dev/null
+++ b/policyengine_us/parameters/gov/usda/snap/student/age_threshold.yaml
@@ -0,0 +1,23 @@
+description: The United States includes students in the Supplemental Nutrition Assistance Program unit if their age falls into the following range.
+brackets:
+  - threshold:
+      2018-01-01: 0
+    amount:
+      2018-01-01: true 
+  - threshold:
+      2018-01-01: 18
+    amount:
+      2018-01-01: false 
+  - threshold:
+      2018-01-01: 50
+    amount:
+      2018-01-01: true
+
+metadata:
+  type: single_amount
+  threshold_unit: year
+  amount_unit: bool
+  label: SNAP student age eligibility threshold
+  reference:
+    - title: 7 U.S. Code § 2015 - Eligibility disqualifications (e)(1)
+      href: https://www.law.cornell.edu/uscode/text/7/2015
diff --git a/policyengine_us/parameters/gov/usda/snap/student/working_hours_threshold.yaml b/policyengine_us/parameters/gov/usda/snap/student/working_hours_threshold.yaml
new file mode 100644
index 00000000000..d3998056be2
--- /dev/null
+++ b/policyengine_us/parameters/gov/usda/snap/student/working_hours_threshold.yaml
@@ -0,0 +1,12 @@
+description: The United States includes students who work more than this number of weekly hours in the Supplemental Nutrition Assistance Program unit.
+
+values:
+  2005-01-01: 20
+
+metadata:
+  unit: hours
+  label: SNAP student working hours threshold
+  period: week
+  reference:
+    - title: 7 U.S. Code § 2015 - Eligibility disqualifications (e)(4)
+      href: https://www.law.cornell.edu/uscode/text/7/2015
diff --git a/policyengine_us/reforms/harris/capital_gains/__init__.py b/policyengine_us/reforms/harris/capital_gains/__init__.py
new file mode 100644
index 00000000000..268bf91862b
--- /dev/null
+++ b/policyengine_us/reforms/harris/capital_gains/__init__.py
@@ -0,0 +1,3 @@
+from .harris_capital_gains import (
+    create_harris_capital_gains_reform,
+)
diff --git a/policyengine_us/reforms/harris/capital_gains/harris_capital_gains.py b/policyengine_us/reforms/harris/capital_gains/harris_capital_gains.py
new file mode 100644
index 00000000000..f97815a599d
--- /dev/null
+++ b/policyengine_us/reforms/harris/capital_gains/harris_capital_gains.py
@@ -0,0 +1,144 @@
+from policyengine_us.model_api import *
+
+
+def create_harris_capital_gains() -> Reform:
+    class capital_gains_tax(Variable):
+        value_type = float
+        entity = TaxUnit
+        label = "Maximum income tax after capital gains tax"
+        unit = USD
+        definition_period = YEAR
+
+        def formula(tax_unit, period, parameters):
+            net_cg = tax_unit("net_capital_gain", period)
+            taxable_income = tax_unit("taxable_income", period)
+            adjusted_net_cg = min_(
+                tax_unit("adjusted_net_capital_gain", period),
+                taxable_income,
+            )  # ANCG is referred to in all cases as ANCG or taxable income if less.
+
+            cg = parameters(period).gov.irs.capital_gains
+
+            p_ref = parameters(period).gov.contrib.harris.capital_gains
+
+            excluded_cg = tax_unit(
+                "capital_gains_excluded_from_taxable_income", period
+            )
+            non_cg_taxable_income = max_(0, taxable_income - excluded_cg)
+            income_less_ancg = max_(0, taxable_income - adjusted_net_cg)
+
+            filing_status = tax_unit("filing_status", period)
+
+            first_threshold = p_ref.brackets.thresholds["1"][filing_status]
+            second_threshold = p_ref.brackets.thresholds["2"][filing_status]
+            third_threshold = p_ref.brackets.thresholds["3"][filing_status]
+
+            income_ordinarily_under_second_rate = clip(
+                taxable_income, 0, first_threshold
+            )
+            cg_in_first_bracket = max_(
+                0, income_ordinarily_under_second_rate - income_less_ancg
+            )
+
+            income_ordinarily_under_third_rate = clip(
+                taxable_income, 0, second_threshold
+            )
+            cg_in_second_bracket = min_(
+                max_(0, adjusted_net_cg - cg_in_first_bracket),
+                max_(
+                    0,
+                    income_ordinarily_under_third_rate
+                    - (non_cg_taxable_income + cg_in_first_bracket),
+                ),
+            )
+            income_ordinarily_under_fourth_rate = clip(
+                taxable_income, 0, third_threshold
+            )
+
+            cg_in_third_bracket = min_(
+                max_(
+                    0,
+                    adjusted_net_cg
+                    - cg_in_first_bracket
+                    - cg_in_second_bracket,
+                ),
+                max_(
+                    0,
+                    income_ordinarily_under_fourth_rate
+                    - (
+                        non_cg_taxable_income
+                        + cg_in_first_bracket
+                        + cg_in_second_bracket
+                    ),
+                ),
+            )
+
+            cg_in_fourth_bracket = max_(
+                adjusted_net_cg
+                - cg_in_first_bracket
+                - cg_in_second_bracket
+                - cg_in_third_bracket,
+                0,
+            )
+
+            main_cg_tax = (
+                cg_in_first_bracket * p_ref.brackets.rates["1"]
+                + cg_in_second_bracket * p_ref.brackets.rates["2"]
+                + cg_in_third_bracket * p_ref.brackets.rates["3"]
+                + cg_in_fourth_bracket * p_ref.brackets.rates["4"]
+            )
+
+            unrecaptured_s_1250_gain = tax_unit(
+                "unrecaptured_section_1250_gain", period
+            )
+            qualified_dividends = add(
+                tax_unit, period, ["qualified_dividend_income"]
+            )
+            max_taxable_unrecaptured_gain = min_(
+                unrecaptured_s_1250_gain,
+                max_(0, net_cg - qualified_dividends),
+            )
+            unrecaptured_gain_deduction = max_(
+                non_cg_taxable_income + net_cg - taxable_income,
+                0,
+            )
+            taxable_unrecaptured_gain = max_(
+                max_taxable_unrecaptured_gain - unrecaptured_gain_deduction,
+                0,
+            )
+
+            unrecaptured_gain_tax = (
+                cg.unrecaptured_s_1250_rate * taxable_unrecaptured_gain
+            )
+
+            remaining_cg_tax = (
+                tax_unit("capital_gains_28_percent_rate_gain", period)
+                * cg.other_cg_rate
+            )
+
+            return main_cg_tax + unrecaptured_gain_tax + remaining_cg_tax
+
+    class reform(Reform):
+        def apply(self):
+            self.update_variable(capital_gains_tax)
+
+    return reform
+
+
+def create_harris_capital_gains_reform(
+    parameters, period, bypass: bool = False
+):
+    if bypass:
+        return create_harris_capital_gains()
+
+    p = parameters(period).gov.contrib.harris.capital_gains
+
+    if p.in_effect:
+        return create_harris_capital_gains()
+    else:
+        return None
+
+
+harris_capital_gains = create_harris_capital_gains_reform(
+    None, None, bypass=True
+)
diff --git a/policyengine_us/reforms/reforms.py b/policyengine_us/reforms/reforms.py
index 7e392e4080f..890279dd6a7 100644
--- a/policyengine_us/reforms/reforms.py
+++ b/policyengine_us/reforms/reforms.py
@@ -50,6 +50,9 @@
 from .treasury.repeal_dependent_exemptions import (
     create_repeal_dependent_exemptions_reform,
 )
+from .harris.capital_gains import (
+    create_harris_capital_gains_reform,
+)
 
 from policyengine_core.reforms import Reform
 import warnings
@@ -120,6 +123,9 @@ def create_structural_reforms_from_parameters(parameters, period):
     repeal_dependent_exemptions = create_repeal_dependent_exemptions_reform(
         parameters, period
     )
+    harris_capital_gains = create_harris_capital_gains_reform(
+        parameters, period
+    )
 
     reforms = [
         afa_reform,
@@ -146,6 +152,7 @@ def create_structural_reforms_from_parameters(parameters, period):
         family_security_act_2024_ctc,
         family_security_act_2024_eitc,
         repeal_dependent_exemptions,
+        harris_capital_gains,
     ]
     reforms = tuple(filter(lambda x: x is not None, reforms))
 
diff --git a/policyengine_us/variables/gov/states/in/tax/income/in_county_tax.py b/policyengine_us/variables/gov/states/in/tax/income/in_county_tax.py
new file mode 100644
index 00000000000..fb24987bc7c
--- /dev/null
+++ b/policyengine_us/variables/gov/states/in/tax/income/in_county_tax.py
@@ -0,0 +1,20 @@
+from policyengine_us.model_api import *
+
+
+class in_county_tax(Variable):
+    value_type = float
+    entity = TaxUnit
+    label = "Indiana county tax"
+    definition_period = YEAR
+    unit = USD
+    reference = "http://iga.in.gov/legislative/laws/2021/ic/titles/006#6-3-2-1"  # (a)(3)
+    defined_for = StateCode.IN
+
+    def formula(tax_unit, period, parameters):
+        # County calculations are at the person level for each taxpayer in the law
+        in_in = tax_unit.household("state_code_str", period) == "IN"
+        county = tax_unit.household("county_str", period)
+        rate = np.zeros_like(county, dtype=float)
+        rates = parameters(period).gov.states["in"].tax.income.county_rates
+        rate[in_in] = rates[county[in_in]]
+        return rate * tax_unit("in_agi", period)
diff --git a/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemptions_person.py b/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemptions_person.py
new file mode 100644
index 00000000000..0058dd9482f
--- /dev/null
+++ b/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemptions_person.py
@@ -0,0 +1,20 @@
+from policyengine_us.model_api import *
+
+
+class ks_disabled_veteran_exemptions_eligible_person(Variable):
+    value_type = bool
+    entity = Person
+    label = "Eligible person for the Kansas disabled veteran exemption"
+    unit = USD
+    definition_period = YEAR
+    reference = "https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/"
+    defined_for = StateCode.KS
+
+    def formula(person, period, parameters):
+        p = parameters(
+            period
+        ).gov.states.ks.tax.income.exemptions.disabled_veteran
+        disabled = person("is_permanently_and_totally_disabled", period)
+        is_veteran = person("is_veteran", period)
+
+        return p.in_effect * disabled * is_veteran
diff --git a/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_exemptions.py b/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_exemptions.py
index 544e16f0dfb..aca4b369d7e 100644
--- a/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_exemptions.py
+++ b/policyengine_us/variables/gov/states/ks/tax/income/exemptions/ks_exemptions.py
@@ -7,13 +7,26 @@ class ks_exemptions(Variable):
     label = "Kansas exemptions amount"
     unit = USD
     definition_period = YEAR
-    reference = (
-        "https://www.ksrevenue.gov/pdf/ip21.pdf"
-        "https://www.ksrevenue.gov/pdf/ip22.pdf"
-    )
+    reference = "https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/"
     defined_for = StateCode.KS
 
     def formula(tax_unit, period, parameters):
-        exemptions_count = tax_unit("ks_count_exemptions", period)
         p = parameters(period).gov.states.ks.tax.income.exemptions
-        return exemptions_count * p.amount
+        veteran_exemptions_count = add(
+            tax_unit,
+            period,
+            ["ks_disabled_veteran_exemptions_eligible_person"],
+        )
+        vetrans_exemption_amount = (
+            veteran_exemptions_count * p.disabled_veteran.base
+        )
+        if p.by_filing_status.in_effect:
+            filing_status = tax_unit("filing_status", period)
+            base_amount = p.by_filing_status.amount[filing_status]
+            dependents = tax_unit("tax_unit_dependents", period)
+            dependent_amount = p.by_filing_status.dependent * dependents
+            return base_amount + dependent_amount + vetrans_exemption_amount
+        exemptions_count = tax_unit("ks_count_exemptions", period)
+        return (
+            exemptions_count * p.consolidated.amount + vetrans_exemption_amount
+        )
diff --git a/policyengine_us/variables/gov/usda/snap/eligibility/is_snap_eligible.py b/policyengine_us/variables/gov/usda/snap/eligibility/is_snap_eligible.py
index 1ab897fc458..bb526d3b3c0 100644
--- a/policyengine_us/variables/gov/usda/snap/eligibility/is_snap_eligible.py
+++ b/policyengine_us/variables/gov/usda/snap/eligibility/is_snap_eligible.py
@@ -21,4 +21,10 @@ def formula(spm_unit, period, parameters):
         categorical_eligibility = spm_unit(
             "meets_snap_categorical_eligibility", period
         )
-        return normal_eligibility | categorical_eligibility
+        person = spm_unit.members
+        eligible_person_present = spm_unit.any(
+            ~person("is_snap_ineligible_student", period)
+        )
+        return (
+            normal_eligibility | categorical_eligibility
+        ) & eligible_person_present
diff --git a/policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py b/policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py
new file mode 100644
index 00000000000..40e6d2db4af
--- /dev/null
+++ b/policyengine_us/variables/gov/usda/snap/eligibility/student/is_snap_ineligible_student.py
@@ -0,0 +1,28 @@
+from policyengine_us.model_api import *
+
+
+class is_snap_ineligible_student(Variable):
+    value_type = bool
+    entity = Person
+    label = "Is an ineligible student for SNAP"
+    documentation = "Whether this person is an ineligible student for SNAP and can not be counted towards the household size"
+    definition_period = YEAR
+    reference = "https://www.law.cornell.edu/uscode/text/7/2015"
+
+    def formula(person, period, parameters):
+        student = person(
+            "is_full_time_student", period
+        )  # part-time students should also count
+        age = person("age", period)
+        p = parameters(period).gov.usda.snap.student
+        age_eligible = p.age_threshold.calc(age)
+        disabled = person("is_disabled", period)
+        hours_worked = person("weekly_hours_worked", period)
+        hours_eligible = hours_worked >= p.working_hours_threshold
+        # The parental status applies to children under 6 (under 12
+        # if no care available)
+        # Single parents with children under 12 are also eligible
+        is_parent = person("is_parent", period)
+        return student & ~(
+            age_eligible | disabled | hours_eligible | is_parent
+        )
diff --git a/policyengine_us/variables/gov/usda/snap/income/deductions/snap_standard_deduction.py b/policyengine_us/variables/gov/usda/snap/income/deductions/snap_standard_deduction.py
index 30021d9da76..420061a5c73 100644
--- a/policyengine_us/variables/gov/usda/snap/income/deductions/snap_standard_deduction.py
+++ b/policyengine_us/variables/gov/usda/snap/income/deductions/snap_standard_deduction.py
@@ -15,5 +15,6 @@ def formula(spm_unit, period, parameters):
             period
         ).gov.usda.snap.income.deductions.standard
         state_group = spm_unit.household("state_group_str", period)
-        capped_household_size = min_(spm_unit("spm_unit_size", period), 6)
+        unit = spm_unit("snap_unit_size", period)
+        capped_household_size = clip(unit, 1, 6)
         return standard_deductions[state_group][capped_household_size]
diff --git a/policyengine_us/variables/gov/usda/snap/income/snap_fpg.py b/policyengine_us/variables/gov/usda/snap/income/snap_fpg.py
index 2f8905ea20e..ca0144bc512 100644
--- a/policyengine_us/variables/gov/usda/snap/income/snap_fpg.py
+++ b/policyengine_us/variables/gov/usda/snap/income/snap_fpg.py
@@ -12,7 +12,7 @@ class snap_fpg(Variable):
     definition_period = MONTH
 
     def formula(spm_unit, period, parameters):
-        n = spm_unit("spm_unit_size", period.this_year)
+        n = spm_unit("snap_unit_size", period.this_year)
         state_group = spm_unit.household("state_group_str", period.this_year)
         year = period.start.year
         month = period.start.month
diff --git a/policyengine_us/variables/gov/usda/snap/snap_max_allotment.py b/policyengine_us/variables/gov/usda/snap/snap_max_allotment.py
index c4b5c790153..79f92ce0180 100644
--- a/policyengine_us/variables/gov/usda/snap/snap_max_allotment.py
+++ b/policyengine_us/variables/gov/usda/snap/snap_max_allotment.py
@@ -14,11 +14,11 @@ def formula(spm_unit, period, parameters):
         MAX_HOUSEHOLD_SIZE_UNDER_MAIN = 8
         snap_region = spm_unit.household("snap_region_str", period)
         household_size = min_(
-            spm_unit("spm_unit_size", period), MAX_HOUSEHOLD_SIZE_UNDER_MAIN
+            spm_unit("snap_unit_size", period), MAX_HOUSEHOLD_SIZE_UNDER_MAIN
         )
         additional_members = max_(
             0,
-            spm_unit("spm_unit_size", period) - MAX_HOUSEHOLD_SIZE_UNDER_MAIN,
+            spm_unit("snap_unit_size", period) - MAX_HOUSEHOLD_SIZE_UNDER_MAIN,
         )
         main_allotment = max_allotments.main[snap_region][household_size]
         additional_allotment = (
diff --git a/policyengine_us/variables/gov/usda/snap/snap_min_allotment.py b/policyengine_us/variables/gov/usda/snap/snap_min_allotment.py
index 28296918c74..82b9a51c412 100644
--- a/policyengine_us/variables/gov/usda/snap/snap_min_allotment.py
+++ b/policyengine_us/variables/gov/usda/snap/snap_min_allotment.py
@@ -23,7 +23,7 @@ def formula(spm_unit, period, parameters):
         ]
 
         # Minimum benefits only apply to households up to a certain size.
-        size = spm_unit("spm_unit_size", period)
+        size = spm_unit("snap_unit_size", period)
         eligible = size <= snap.min_allotment.maximum_household_size
         min_allotment = eligible * min_allotment.rate * relevant_max_allotment
 
diff --git a/policyengine_us/variables/gov/usda/snap/snap_unit.py b/policyengine_us/variables/gov/usda/snap/snap_unit.py
new file mode 100644
index 00000000000..0bb83609ba8
--- /dev/null
+++ b/policyengine_us/variables/gov/usda/snap/snap_unit.py
@@ -0,0 +1,15 @@
+from policyengine_us.model_api import *
+
+
+class snap_unit_size(Variable):
+    value_type = int
+    entity = SPMUnit
+    label = "SNAP unit"
+    definition_period = YEAR
+
+    def formula(spm_unit, period, parameters):
+        unit_size = spm_unit("spm_unit_size", period)
+        person = spm_unit.members
+        ineligible_student = person("is_snap_ineligible_student", period)
+        ineligible_students = spm_unit.sum(ineligible_student)
+        return max_(unit_size - ineligible_students, 0)
diff --git a/policyengine_us/variables/household/demographic/person/is_father.py b/policyengine_us/variables/household/demographic/person/is_father.py
index d7b8ae421e2..75caa06d1aa 100644
--- a/policyengine_us/variables/household/demographic/person/is_father.py
+++ b/policyengine_us/variables/household/demographic/person/is_father.py
@@ -12,5 +12,5 @@ def formula(person, period, parameters):
         # male and has some children in their own household (provided in the
         # CPS).
         female = person("is_female", period)
-        has_children = person("own_children_in_household", period) > 0
+        has_children = person("is_parent", period)
         return ~female & has_children
diff --git a/policyengine_us/variables/household/demographic/person/is_mother.py b/policyengine_us/variables/household/demographic/person/is_mother.py
index a86ed689129..1394af0eaa8 100644
--- a/policyengine_us/variables/household/demographic/person/is_mother.py
+++ b/policyengine_us/variables/household/demographic/person/is_mother.py
@@ -14,6 +14,6 @@ def formula(person, period, parameters):
         #    (provided in the CPS).
         # 2. Breastfeeding (user-input).
         female = person("is_female", period)
-        has_children = person("own_children_in_household", period) > 0
+        has_children = person("is_parent", period)
         breastfeeding = person("is_breastfeeding", period)
         return breastfeeding | (female & has_children)
diff --git a/policyengine_us/variables/household/demographic/person/is_parent.py b/policyengine_us/variables/household/demographic/person/is_parent.py
new file mode 100644
index 00000000000..fcb5d85dcf8
--- /dev/null
+++ b/policyengine_us/variables/household/demographic/person/is_parent.py
@@ -0,0 +1,11 @@
+from policyengine_us.model_api import *
+
+
+class is_parent(Variable):
+    value_type = bool
+    entity = Person
+    label = "Is a parent"
+    definition_period = YEAR
+
+    def formula(person, period, parameters):
+        return person("own_children_in_household", period) > 0
diff --git a/policyengine_us/variables/household/demographic/person/is_veteran.py b/policyengine_us/variables/household/demographic/person/is_veteran.py
new file mode 100644
index 00000000000..8123d0872f8
--- /dev/null
+++ b/policyengine_us/variables/household/demographic/person/is_veteran.py
@@ -0,0 +1,13 @@
+from policyengine_us.model_api import *
+
+
+class is_veteran(Variable):
+    value_type = bool
+    entity = Person
+    label = "Is veteran"
+    documentation = "A person who served in the active military, naval, air, or space service, and who was discharged or released therefrom under conditions other than dishonorable."
+    reference = "https://www.law.cornell.edu/uscode/text/38/101"  # (2)
+    definition_period = YEAR
+
+    def formula(person, period, parameters):
+        return person("veterans_benefits", period) > 0
diff --git a/setup.py b/setup.py
index ca0a82459c6..7fcdbeedac7 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@
 
 setup(
     name="policyengine-us",
-    version="1.115.0",
+    version="1.126.0",
     author="PolicyEngine",
     author_email="hello@policyengine.org",
     long_description=readme,
@@ -34,7 +34,7 @@
         ),
     ],
     install_requires=[
-        "policyengine-core>=3.8.1",
+        "policyengine-core>=3.10.0",
         "policyengine-us-data==1.11.0",
         "microdf-python",
         "tqdm",


Test patch:
diff --git a/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/in_county_tax.yaml b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/in_county_tax.yaml
new file mode 100644
index 00000000000..5a8d388d9e8
--- /dev/null
+++ b/policyengine_us/tests/policy/baseline/gov/states/in/tax/income/in_county_tax.yaml
@@ -0,0 +1,26 @@
+- name: In Indiana 
+  period: 2021
+  input:
+    in_agi: 1_000
+    county_str: BOONE_COUNTY_IN
+    state_code_str: IN
+  output: 
+    in_county_tax: 15
+
+- name: In Indiana, different county
+  period: 2021
+  input:
+    in_agi: 1_000
+    county_str: CLARK_COUNTY_IN
+    state_code_str: IN
+  output: 
+    in_county_tax: 20
+
+- name: Not in Indiana
+  period: 2021
+  input:
+    in_agi: 1_000
+    county_str: BALTIMORE_CITY_MD
+    state_code_str: MD
+  output: 
+    in_county_tax: 0
diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemptions_eligible_person.yaml.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemptions_eligible_person.yaml.yaml
new file mode 100644
index 00000000000..8077164b043
--- /dev/null
+++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemptions_eligible_person.yaml.yaml
@@ -0,0 +1,35 @@
+- name: Case 1, the filer is a disabled veteran, get exemptions. 
+  period: 2023
+  input:
+    is_permanently_and_totally_disabled: true
+    is_veteran: true
+    state_code: KS
+  output:
+    ks_disabled_veteran_exemptions_eligible_person: true
+
+- name: Case 2, the filer is a veteran, but not disabled, no exemption.  
+  period: 2023
+  input:
+    is_permanently_and_totally_disabled: false
+    is_veteran: true
+    state_code: KS
+  output:
+    ks_disabled_veteran_exemptions_eligible_person: false
+  
+- name: Case 3, the filer is a disabled, but not veteran, no exemption.  
+  period: 2023
+  input:
+    is_permanently_and_totally_disabled: false
+    is_veteran: true
+    state_code: KS
+  output:
+    ks_disabled_veteran_exemptions_eligible_person: false
+
+- name: Case 4, in 2022, the filer is a disabled veteran. 
+  period: 2022
+  input:
+    is_permanently_and_totally_disabled: true
+    is_veteran: true
+    state_code: KS
+  output:
+    ks_disabled_veteran_exemptions_eligible_person: false
diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_exemptions.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_exemptions.yaml
new file mode 100644
index 00000000000..7dc4e135fd5
--- /dev/null
+++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_exemptions.yaml
@@ -0,0 +1,53 @@
+- name: Four exemptions in 2021
+  period: 2021
+  input:
+    ks_count_exemptions: 4
+    state_code: KS
+  output:
+    ks_exemptions: 2_250 * 4
+
+- name: Two exemptions in 2022
+  period: 2022
+  input:
+    ks_count_exemptions: 2
+    state_code: KS
+  output:
+    ks_exemptions: 2_250 * 2
+
+- name: Case 3,two exemptions in 2023, and one disabled veteran exemption.
+  period: 2023
+  input:
+    people:
+      person1:
+        ks_disabled_veteran_exemptions_eligible_person: true
+      person2:
+        ks_disabled_veteran_exemptions_eligible_person: false
+    tax_units:
+      tax_unit:
+        members: [person1, person2]
+        ks_count_exemptions: 2
+    households:
+      household:
+        members: [person1, person2]
+        state_code: KS
+  output:
+    ks_exemptions: 6_750
+
+- name: Case 4,two exemptions in 2023, and two disabled veteran exemption.
+  period: 2023
+  input:
+    people:
+      person1:
+        ks_disabled_veteran_exemptions_eligible_person: true
+      person2:
+        ks_disabled_veteran_exemptions_eligible_person: true
+    tax_units:
+      tax_unit:
+        members: [person1, person2]
+        ks_count_exemptions: 2
+    households:
+      household:
+        members: [person1, person2]
+        state_code: KS
+  output:
+    ks_exemptions: 9_000
diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_exemptions.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_exemptions.yaml
index e026e153944..eac3331050a 100644
--- a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_exemptions.yaml
+++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_exemptions.yaml
@@ -13,3 +13,21 @@
     state_code: KS
   output:
     ks_exemptions: 2_250 * 2
+
+- name: Post 2024, the exemption amount is dependent on filing sttaus and number of dependents
+  period: 2024
+  input:
+    filing_status: JOINT
+    tax_unit_dependents: 2
+    state_code: KS
+  output:
+    ks_exemptions: 22_960
+
+- name: Post 2024, single no dependents
+  period: 2024
+  input:
+    filing_status: SINGLE
+    tax_unit_dependents: 0
+    state_code: KS
+  output:
+    ks_exemptions: 9_160
diff --git a/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/is_snap_eligible.yaml b/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/is_snap_eligible.yaml
index 4db1352a744..6699ea6fb28 100644
--- a/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/is_snap_eligible.yaml
+++ b/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/is_snap_eligible.yaml
@@ -27,3 +27,75 @@
     meets_snap_categorical_eligibility: false
   output:
     is_snap_eligible: true
+
+- name: One ineligible student present
+  period: 2022
+  input:
+    people:
+      person1:
+        is_snap_ineligible_student: false
+      person2:
+        is_snap_ineligible_student: false
+      person3:
+        is_snap_ineligible_student: true
+    spm_units:
+      spm_unit1:
+        members: [person1, person2, person3]
+        meets_snap_gross_income_test: true
+        meets_snap_net_income_test: true
+        meets_snap_asset_test: true
+        meets_snap_categorical_eligibility: false
+  output:
+    is_snap_eligible: true
+
+- name: Every person ineligible
+  period: 2022
+  input:
+    people:
+      person1:
+        is_snap_ineligible_student: true
+      person2:
+        is_snap_ineligible_student: true
+      person3:
+        is_snap_ineligible_student: true
+    spm_units:
+      spm_unit1:
+        members: [person1, person2, person3]
+        meets_snap_gross_income_test: true
+        meets_snap_net_income_test: true
+        meets_snap_asset_test: true
+        meets_snap_categorical_eligibility: false
+  output:
+    is_snap_eligible: false
+
+- name: Single ineligible student
+  period: 2022
+  input:
+    people:
+      person1:
+        is_snap_ineligible_student: true
+    spm_units:
+      spm_unit1:
+        members: [person1]
+        meets_snap_gross_income_test: true
+        meets_snap_net_income_test: true
+        meets_snap_asset_test: true
+        meets_snap_categorical_eligibility: false
+  output:
+    is_snap_eligible: false
+
+- name: Single eligible person
+  period: 2022
+  input:
+    people:
+      person1:
+        is_snap_ineligible_student: false
+    spm_units:
+      spm_unit1:
+        members: [person1]
+        meets_snap_gross_income_test: true
+        meets_snap_net_income_test: true
+        meets_snap_asset_test: true
+        meets_snap_categorical_eligibility: false
+  output:
+    is_snap_eligible: true
diff --git a/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml b/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml
new file mode 100644
index 00000000000..d803d1c2a96
--- /dev/null
+++ b/policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/student/is_snap_ineligible_student.yaml
@@ -0,0 +1,21 @@
+- name: Student who does not meet any exemption criteria
+  period: 2022
+  input:
+    is_full_time_student: true
+    age: 18
+    is_disabled: false
+    weekly_hours_worked: false
+    is_parent: false
+  output:
+    is_snap_ineligible_student: true
+
+- name: Student who is under the age limit
+  period: 2022
+  input:
+    is_full_time_student: true
+    age: 17
+    is_disabled: false
+    weekly_hours_worked: false
+    is_parent: false
+  output:
+    is_snap_ineligible_student: false
diff --git a/policyengine_us/tests/policy/baseline/gov/usda/snap/snap_unit.yaml b/policyengine_us/tests/policy/baseline/gov/usda/snap/snap_unit.yaml
new file mode 100644
index 00000000000..d93b2db0c7c
--- /dev/null
+++ b/policyengine_us/tests/policy/baseline/gov/usda/snap/snap_unit.yaml
@@ -0,0 +1,50 @@
+- name: Household with one ineligible studnet
+  period: 2022
+  input:
+    people: 
+      person1:
+        is_snap_ineligible_student: false
+      person2:
+        is_snap_ineligible_student: false
+      person3:
+        is_snap_ineligible_student: true
+    spm_units:
+      spm_unit1:
+        members: [person1, person2, person3]
+        spm_unit_size: 3
+  output:
+    snap_unit_size: 2
+
+- name: Everybody eligible
+  period: 2022
+  input:
+    people: 
+      person1:
+        is_snap_ineligible_student: false
+      person2:
+        is_snap_ineligible_student: false
+      person3:
+        is_snap_ineligible_student: false
+    spm_units:
+      spm_unit1:
+        members: [person1, person2, person3]
+        spm_unit_size: 3
+  output:
+    snap_unit_size: 3
+
+- name: No eligible people
+  period: 2022
+  input:
+    people: 
+      person1:
+        is_snap_ineligible_student: true
+      person2:
+        is_snap_ineligible_student: true
+      person3:
+        is_snap_ineligible_student: true
+    spm_units:
+      spm_unit1:
+        members: [person1, person2, person3]
+        spm_unit_size: 3
+  output:
+    snap_unit_size: 0
diff --git a/policyengine_us/tests/policy/baseline/household/demographic/person/is_veteran.yaml b/policyengine_us/tests/policy/baseline/household/demographic/person/is_veteran.yaml
new file mode 100644
index 00000000000..604fbcb61b1
--- /dev/null
+++ b/policyengine_us/tests/policy/baseline/household/demographic/person/is_veteran.yaml
@@ -0,0 +1,13 @@
+- name: Case 1, veterans_benefits > 0, is a veteran. 
+  period: 2020
+  input: 
+    veterans_benefits: 100
+  output:
+    is_veteran: true
+
+- name: Case 2, veterans_benefits = 0, is not a veteran. 
+  period: 2020
+  input: 
+    veterans_benefits: 0
+  output:
+    is_veteran: false
diff --git a/policyengine_us/tests/policy/contrib/harris/capital_gains/harris_capital_gains.yaml b/policyengine_us/tests/policy/contrib/harris/capital_gains/harris_capital_gains.yaml
new file mode 100644
index 00000000000..941c3c742bc
--- /dev/null
+++ b/policyengine_us/tests/policy/contrib/harris/capital_gains/harris_capital_gains.yaml
@@ -0,0 +1,87 @@
+- name: Reform applied and income above new threshold
+  period: 2024
+  reforms: policyengine_us.reforms.harris.capital_gains.harris_capital_gains.harris_capital_gains
+  input:
+    gov.contrib.harris.capital_gains.in_effect: true
+    people:
+      head:
+        age: 36
+        qualified_dividend_income: 0
+        long_term_capital_gains: 80_000
+      spouse:
+        age: 36
+        qualified_dividend_income: 120_000
+        long_term_capital_gains: 0
+    tax_units:
+      tax_unit:
+        members: [head, spouse]
+        taxable_income: 1_100_000
+        filing_status: JOINT
+  output:
+    capital_gains_tax: 48_000
+
+- name: Reform not applied
+  period: 2024
+  input:
+    # Household.
+    people:
+      head:
+        age: 36
+        qualified_dividend_income: 0
+        long_term_capital_gains: 80_000
+      spouse:
+        age: 36
+        qualified_dividend_income: 120_000
+        long_term_capital_gains: 0
+    tax_units:
+      tax_unit:
+        members: [head, spouse]
+        taxable_income: 1_100_000
+        filing_status: JOINT
+  output:
+    # 200,000 taxed at 20%
+    capital_gains_tax: 40_000
+
+- name: Reform applied but income below new threshold
+  period: 2024
+  reforms: policyengine_us.reforms.harris.capital_gains.harris_capital_gains.harris_capital_gains
+  input:
+    gov.contrib.harris.capital_gains.in_effect: true
+    people:
+      head:
+        age: 36
+        qualified_dividend_income: 0
+        long_term_capital_gains: 80_000
+      spouse:
+        age: 36
+        qualified_dividend_income: 120_000
+        long_term_capital_gains: 0
+    tax_units:
+      tax_unit:
+        members: [head, spouse]
+        taxable_income: 100_000
+        filing_status: JOINT
+  output:
+    capital_gains_tax: 892.5
+
+- name: Reform not applied but income below new threshold
+  period: 2024
+  reforms: policyengine_us.reforms.harris.capital_gains.harris_capital_gains.harris_capital_gains
+  input:
+    gov.contrib.harris.capital_gains.in_effect: true
+    people:
+      head:
+        age: 36
+        qualified_dividend_income: 0
+        long_term_capital_gains: 80_000
+      spouse:
+        age: 36
+        qualified_dividend_income: 120_000
+        long_term_capital_gains: 0
+    tax_units:
+      tax_unit:
+        members: [head, spouse]
+        taxable_income: 100_000
+        filing_status: JOINT
+  output:
+    capital_gains_tax: 892.5