Go here for a complete commit history.
(last merged pull request is #1655)
API Changes
- None
New Features
- Add household and family identifiers from the CPS for the cps.csv.gz file that ships with taxcalc [#1635 by Anderson Frailey]
- Improved documentation for the cps.csv.gz file that ships with taxcalc [#1648 by Martin Holmer]
- Add parameter for the business income exclusion in the Senate TCJA Chairman's mark [#1651 by Cody Kallen]
- Add TCJA reform file for the Senate Chairman's mark [#1652 by Cody Kallen]
- Add FIPS state codes to the cps.csv.gz file that ships with taxcalc [#1653 by Anderson Frailey]
Bug Fixes
- Fix an edge case related to new pass-through parameters that caused some extreme MTRs [#1645 by Cody Kallen, reported by Richard Evans]
(last merged pull request is #1632)
API Changes
- Add new statistics and top-decile detail to distribution and difference tables [#1605 by Martin Holmer]
New Features
- Add expanded_income and aftertax_income to distribution table [#1602 by Martin Holmer]
- Add utility functions that generate a change-in-aftertax-income-by-decile graph [#1606 by Martin Holmer]
- Add new dependent credits for children and non-children dependents [#1615 by Cody Kallen]
- Add new non-refundable credit for filer and spouse [#1618 by Cody Kallen]
- Add capability to model pass-through tax rate eligiblity rules in TCJA [#1620 by Cody Kallen]
- Make several Personal Nonrefundable Credit parameters available to external applications like TaxBrain [#1622 by Matt Jensen]
- Extend extrapolation to 2027 and update to June 2017 CBO baseline [#1624 by Anderson Frailey]
- Add new reform JSON file for the Tax Cuts and Jobs Act [#1625 by Cody Kallen]
Bug Fixes
- Resolve compatibility issues with Pandas 0.21.0 [#1629 by Hank Doupe]
- Cleaner solution to compatibility issues with Pandas 0.21.0 [#1634 by Hank Doupe]
(last merged pull request is #1600)
API Changes
- Rename read_json_param_files as read_json_param_objects [#1563 by Martin Holmer]
- Remove arrays_not_lists argument from read_json_param_objects [#1568 by Martin Holmer]
- Rename dropq as tbi (taxbrain interface) and refactor run_nth_year_*_model functions so that either puf.csv or cps.csv can be used as input data [#1577 by Martin Holmer]
- Change Calculator class constructor so that it makes a deep copy of each specified object for internal use [#1582 by Martin Holmer]
- Rename and reorder difference table columns [#1584 by Martin Holmer]
New Features
- Add Calculator.reform_documentation that generates plain text documentation of a reform [#1564 by Martin Holmer]
- Enhance stats_summary.py script and its output [#1566 by Amy Xu]
- Add reform documentation as standard output from Tax-Calculator CLI, tc [#1567 by Martin Holmer]
- Add parameter type checking to Policy.implement_reform method [#1585 by Martin Holmer]
- Add
_CTC_new_for_all
policy parameter to allow credits for those with negative AGI [#1595 by Martin Holmer] - Narrow range of legal values for
_CDCC_c
policy parameter [#1597 by Matt Jensen] - Make several UBI policy parameters available to external applications like TaxBrain [#1599 by Matt Jensen]
Bug Fixes
- Relax _STD and _STD_Dep minimum value warning logic [#1578 by Martin Holmer]
- Fix macro-elasticity model logic so that GDP change in year t depends on tax rate changes in year t-1 [#1579 by Martin Holmer]
- Fix bugs in automatic generation of reform documentation having to do with policy parameters that are boolean scalars [#1596 by Martin Holmer]
(last merged pull request is #1555)
API Changes
- Revise dropq distribution and difference tables used by TaxBrain [#1537 by Anderson Frailey and Martin Holmer]
- Make dropq run_nth_year_tax_calc_model return a dictionary of results [#1543 by Martin Holmer]
New Features
- Add option to cap the amount of gross itemized deductions allowed as a decimal fraction of AGI [#1542 by Matt Jensen]
- Add dropq tables using AGI as income measure for TaxBrain use [#1544 by Martin Holmer]
- Add JSON reform file for Brown-Khanna GAIN Act that expands the EITC [#1555 by Matt Jensen and Martin Holmer]
Bug Fixes
- None
API Changes
- None
New Features
- None
Bug Fixes
- Allow policy parameter suffix logic to work even when there are reform errors [34561ff by Martin Holmer]
API Changes
- None
New Features
- None
Bug Fixes
- Fix vagueness of error/warning messages for non-scalar policy parameters [5536792 by Martin Holmer]
(last merged pull request is #1531)
API Changes
- Add dropq function that returns reform warnings and errors [#1524 by Martin Holmer]
New Features
- Add option to use policy parameter suffixes in JSON reform files [#1505 by Martin Holmer] and [#1520 by Martin Holmer]
- Add rounding of wage-inflated or price-inflated parameter values to nearest cent [#1506 by Martin Holmer]
- Add extensive checking of reform policy parameter names and values [#1524 by Martin Holmer]
Bug Fixes
- None
(last merged pull request is #1490)
API Changes
- None
New Features
- Add several taxcalc/reforms/earnings_shifting.* files that analyze the revenue implications of high-paid workers forming personal LLCs to contract with their former employers under the Trump2017.json reform [#1464 by Martin Holmer]
- Add ability to read and calculate taxes with new CPS input data for 2014 and subsequent years [#1484 by Martin Holmer]
- Add tests of ability to calculate taxes with new CPS input data [#1490 by Martin Holmer]
Bug Fixes
- Fix decorators bug that appeared when numpy 1.13.1, and pandas 0.20.2 that uses numpy 1.13, recently became available [#1470 by T.J. Alumbaugh]
- Fix records bug that appeared when numpy 1.13.1, and pandas 0.20.2 that uses numpy 1.13, recently became available [#1473 by Martin Holmer]
(last merged pull request is #1438)
API Changes
- None
New Features
- Add Form 1065 Schedule K-1 self-employment earnings to calculation of self-employment payroll taxes
[#1438
by Martin Holmer],
which requires new
puf.csv
input file with this information:- Byte size: 53743252
- MD5 checksum: ca0ad8bbb05ee15b1cbefc7f1fa1f965
- Improve calculation of sub-sample weights [#1441 by Hank Doupe]
Bug Fixes
- Fix personal refundable credit bug and personal nonrefundable credit bug [#1450 by Martin Holmer]
(last merged pull request is #1431)
API Changes
- Initial specification of public API removes several unused utility functions and makes private several Tax-Calculator members whose only role is to support public members [#1424 by Martin Holmer]
New Features
-
Add nonrefundable personal credit reform options [#1427 by William Ensor]
-
Add repeal personal exemptions for dependents under age 18 reform option [#1428 by Hank Doupe]
-
Switch to use of new improved
puf.csv
input file that causes small changes in tax results [#1429 by Martin Holmer], which requires newpuf.csv
input file with this information:- Byte size: 52486351
- MD5 checksum: d56b649c92049e32501b2d2fc5c36c92
Bug Fixes
- Fix logic of gross casualty loss calculation by moving it out of Tax-Calculator and into the taxdata repository [#1426 by Martin Holmer]
(last merged pull request is #1416)
API Changes
- None
New Features
- Add column to differences table to show the change in tax liability as percentage of pre-reform after tax income [#1375 by Anderson Frailey]
- Add policy reform file for the Renacci reform [#1376, #1383 and #1385 by Hank Doupe]
- Add separate ceiling for each itemized deduction parameter [#1385 by Hank Doupe]
Bug Fixes
- Fix bug in add_weighted_income_bins utility function [#1387 by Martin Holmer]
(last merged pull request is #1363)
API Changes
- None
New Features
- Add economic response assumption file template to documentation [#1332 by Cody Kallen]
- Complete process of creating user documentation [#1355 by Martin Holmer]
- Add Tax-Calculator conda package for Python 3.6 [#1361 by Martin Holmer]
Bug Fixes
- None
(last merged pull request is #1328)
API Changes
- None
New Features
- Add --test installation option to Tax-Calculator CLI [#1306 by Martin Holmer]
- Add --sqldb SQLite3 database dump output option to CLI [#1312 by Martin Holmer]
- Add a reform preset for the April 2017 Trump tax plan [#1323 by Cody Kallen]
- Add Other Taxes to tables and clarify documentation [#1328 by Martin Holmer]
Bug Fixes
- None
(last merged pull request is #1295)
API Changes
- None
New Features
- None
Bug Fixes
- Minor edits to comments in Trump/Clinton policy reform files [#1295 by Matt Jensen]
(last merged pull request is #1293)
API Changes
- None
New Features
- Add testing for notebooks, starting with the behavior_example and 10-minute notebooks [#1198 by Peter Steinberg]
- Add MTR with respect to spouse earnings [#1257 by Anderson Frailey]
- Add tax differences table to Tax-Calculator CLI --tables output [#1265 by Martin Holmer]
- Update Jupyter Notebooks to demonstrate the latest Python API [#1277 by Matt Jensen]
- Enable the charitable givings elasticity to vary by AGI value [#1278 by Matt Jensen]
- Introduce records_variables.json to serve as a single source of truth for Records variables [#1179 and #1285 by Zach Risher]
Bug Fixes
- None
(last merged pull request is #1260)
API Changes
- None
New Features
- Add ability to calculate, and possibly tax, UBI benefits [#1235 by Anderson Frailey]
- Add additional deduction and credit haircut policy parameters [#1247 by Anderson Frailey]
- Add constant charitable giving elasticities to behavioral response [#1246 by Matt Jensen]
- Add another credit haircut policy parameter [#1252 by Anderson Frailey]
- Make Tax-Calculator CLI an entry point to the taxcalc package [#1253 by Martin Holmer]
- Add --tables option to Tax-Calculator CLI [#1258 by Martin Holmer]
Bug Fixes
- None
(last merged pull request is #1228)
API Changes
- Move simtax.py to taxcalc/validation/taxsim directory [#1288 by Martin Holmer]
New Features
- Make import style more consistent [#1288 by Martin Holmer]
Bug Fixes
(last merged pull request is #1206)
API Changes
- Redesign Growth class to support more realistic growth responses [#1199 by Martin Holmer]
New Features
- Add a policy reform file for key provisions of the Ryan-Brady Better Way tax plan [#1204 by Cody Kallen]
- Add a policy reform file for select provisions of the Clinton 2016 campaign tax plan [#1206 by Cody Kallen]
Bug Fixes
- None
(last merged pull request is #1197)
API Changes
- None
New Features
- None
Bug Fixes
- Add name of new Stage3 adjustment-ratios file to MANIFEST.in [#1197 by Anderson Frailey]
(last merged pull request is #1192)
API Changes
- Add Stage3 adjustment ratios to target IRS-SOI data on the
distribution of interest income
[#1193
by Anderson Frailey],
which requires new
puf.csv
input file with this information:- Byte size: 51470450
- MD5 checksum: 3a02e9909399ba85d0a7cf5e98149b90
New Features
- Add to diagnostic table the number of tax units with non-positive income and combined tax liability [#1170 by Anderson Frailey]
Bug Fixes
- Correct Policy wage growth rates to agree with CBO projection [#1171 by Martin Holmer]
(last merged pull request is #1169)
API Changes
- None
New Features
- Add a Trump 2016 policy reform JSON file [#1135 by Matt Jensen]
- Reduce size of input file by rounding weights [#1158 by Anderson Frailey]
- Update current-law policy parameters to 2017 IRS values [#1169 by Anderson Frailey]
Bug Fixes
- Index EITC investment income cap to inflation [#1169 by Anderson Frailey]
(last merged pull request is #1152)
API Changes
- Separate policy reforms and response assumptions into two separate JSON files [#1148 by Martin Holmer]
New Features
Bug Fixes
- Fix bugs in 10-minute notebook [#1152 by Matt Jensen]
(last merged pull request is #1113)
API Changes
- None
New Features
- Add ability to use an expression to specify a policy parameter [#1081 by Martin Holmer]
- Expand scope of JSON reform file to include non-policy parameters [#1083 by Martin Holmer]
- Add ability to conduct normative expected-utility analysis [#1098 by Martin Holmer]
- Add ability to compute MTR with respect to charitable cash contributions [#1104 by Cody Kallen]
- Unify environment definition by removing requirements.txt [#1094 by Zach Risher]
- Reorganize current_law_policy.json and add section headers [#1109 by Matt Jensen]
- Add dollar limit on itemized deductions [#1084 by Cody Kallen]
- Add testing for Windows with Appveyor [#1111 by T.J. Alumbaugh]
Bug Fixes
- Fix capital-gains-reform bug reported by Cody Kallen [#1088 by Martin Holmer]
- Provide Pandas 0.19.1 compatibility by fixing DataFrame.to_csv() usage [#1092 by Zach Risher]
(last merged pull request is #1082)
API Changes
- None
New Features
- Add ability to simulate non-refundable dependent credit [#1069 by Cody Kallen]
- Add ability to narrow investment income exclusion base [#1072 by Martin Holmer]
- Replace use of two cmbtp_* variables with a single cmbtp variable
[#1077
by Martin Holmer],
which requires new
puf.csv
input file with this information:- Byte size: 50953138
- MD5 checksum: acbf905c8b7d29fd4b06b13e1cc8a60c
Bug Fixes
- None
(last merged pull request is #1060)
API Changes
- Rename policy parameters for consistency [#1051 by Martin Holmer]
New Features
- Add ability to simulate broader range of refundable CTC reforms [#1055 by Matt Jensen]
- Add more income items into expanded_income variable [#1057 by Martin Holmer]
Bug Fixes
- None
(last merged pull request is #1044)
API Changes
- Rename and refactor old add_weighted_decile_bins utility function [#1043 by Martin Holmer]
New Features
- None
Bug Fixes
- Remove unused argument from means_and_comparisons utility function [#1044 by Martin Holmer]
(last merged pull request is #1039)
API Changes
- None
New Features
- Add calculation of MTR wrt e26270, partnership & S-corp income [#987 by Cody Kallen]
- Add utility function that plots marginal tax rates by percentile [#948 by Sean Wang]
- Add ability to simulate Trump-style dependent care credit [#999 by Anderson Frailey]
- Add ability to simulate Clinton-style NIIT reform [#1012 by Martin Holmer]
- Add ability to simulate Clinton-style CTC expansion [#1039 by Matt Jensen]
Bug Fixes
- Fix bug in TaxGains function [#981 by Cody Kallen]
- Fix bug in multiyear_diagnostic_table utility function [#988 by Matt Jensen]
- Fix AMT bug that ignored value of AMT_CG_rt1 parameter [#1000 by Martin Holmer]
- Fix several other minor AMT CG bugs [#1001 by Martin Holmer]
- Move self-employment tax from income tax total to payroll tax total [#1021 by Martin Holmer]
- Add half of self-employment tax to expanded income [#1032 by Martin Holmer]
(last merged pull request is #970)
API Changes
- None
New Features
- Add ability to simulate reforms that limit benefit of itemized deductions [#867 by Matt Jensen]
- Add investment income exclusion policy parameter [#972 by Cody Kallen]
- Add ability to eliminate differential tax treatment of LTCG+QDIV income [#973 by Martin Holmer]
Bug Fixes
- None
(last merged pull request is #945)
API Changes
- None
New Features
- Add extra income tax brackets and rates [#858, Sean Wang]
- Add ability to simulate Fair Share Tax, or Buffet Rule, reforms [#904 by Anderson Frailey]
- Add ability to tax pass-through income at different rates [#913 by Sean Wang]
- Add itemized-deduction surtax exemption policy parameter [#926 by Matt Jensen]
- Add ability to simulate high-AGI surtax reforms [#939 by Sean Wang]
Bug Fixes
- Correct Net Investment Income Tax (NIIT) calculation [#874 by Martin Holmer]
- Correct Schedule R credit calculation [#898 by Martin Holmer]
- Remove logic for expired First-Time Homebuyer Credit [#914 by Martin Holmer]
(last merged pull request is #844)
API Changes
- None
New Features
- Revise code to use smaller
puf.csv
input file and make changes to create that input file - Remove debugging variables from functions.py reducing execution time by 42 percent [#833]
- Add comments to show one way to use Python debugger to trace Tax-Calculator code [#835]
- Add tests that confirm zeroing-out CALCULATED_VARS at start leaves results unchanged [#837]
- Revise logic used to estimate behavioral responses to policy reforms [#846, #854 and #857]
Bug Fixes
- Make 2013-2016 medical deduction threshold for elderly be 7.5% of AGI (not 10%) [#839]
- Fix typo so that two ways of limiting itemized deductions produce the same results [#842]
(last merged pull request is #820)
API Changes
- None
New Features
- Add --exact option to simtax.py and inctax.py scripts
- Add calculation of Schedule R credit
- Remove _cmp variable from functions.py code
Bug Fixes
- Fix itemized deduction logic for charity
- Remove Numba dependency
(last merged pull request is #794)
API Changes
- Create Consumption class used to compute "effective" marginal tax rates
New Features
- Revise Behavior class logic
- Add unit tests to increase code coverage to 98 percent
- Add scripts to version and release
Bug Fixes
- Test TaxBrain handling of delayed reforms
- Move cmbtp calculation and earnings splitting logic from Records
class to
puf.csv
file preparation - Update Numpy and Pandas dependencies to latest versions to avoid a bug in the Windows conda package for Pandas 0.16.2
(last merged pull request is #727)
API Changes
- None
New Features
- Add --records option to simtax.py
- Add --csvdump option to inctax.py
- Add three "d" samples to Tax-Calculator versus Internet-TAXSIM comparisons
- Add first set of Tax-Calculator versus TaxBrain comparisons
- Add data and logic to implement EITC age-eligibility rules
- Update and fix 10_minutes_to_Tax-Calculator.ipynb
- Update files in taxcalc/comparison
Bug Fixes
- Fix Child Care Expense logic
- Exclude dependents from EITC eligibility
See commit history for pull requests before #650