v2.0.1
Certification
RCTab v2.0.1 has not yet been tested to VVSG requirements. We are actively working towards testing it to VVSG 2.0 requirements. If you need a version of the software tested to VVSG requirements, please use version 1.2.0, available below.
Documentation
The User Guide for RCTab v2.0.1 is available here. The intended audience for this documentation is RCTab users, like Election Administrators. It documents everything a user would need to configure CVRs, set winning rules, adjust the strictness/permissiveness of ballot errors, and most importantly get round by round results. More detailed documentation necessary for certification and approval is forthcoming.
Added Features
- Enable Multi-Vendor Tabulation w/ Candidate Aliases (#639, #697, #690)
- The ability to run a round by round count with vote records from multiple vendor systems. A must-have feature for statewide RCV in 28 states.
- Enhanced information in summary files output (#711, #714, #720, #857, #890, #945 )
- Here's a comparison of v2.0.0 summary files to previous versions! The numbers below correspond to the pink numbers on that screenshot. Jurisdictions regularly ask for more granular data than RCTab can produce, and this update responds to those requests.
- 1 RCTab Version Number
- 2 Contest Summary
- Number to be Elected
- Number of Candidates
- Total Number of Ballots
- 3 Number of undervotes in round 0. Previously lumped into the ‘Inactive Ballots’ bucket.
- For each candidate, each round
- 4 % of total votes for each round
- 5 Number of ballots transferred from eliminated candidate(s) in the previous round
- 6 Per-Round winning threshold
- 7 Inactive ballots in each round broken down by category. Previously these were all lumped into one Inactive Ballots bucket
- Overvote
- Skipped Ranking
- Repeat Ranking
- Exhausted Choices
rctab_cvroutput file for all vendors (#715, #785, #888)- Vendor agnostic, human and machine readable cast vote record data for every tabulation.
- Tabulate by batch (#816, #872)
- Similar to tabulate by precinct, many jurisdictions use this feature for audits. They hand count a single, physically co-located ‘batch’, and then compare that to the voting system generated results.
- Consolidated pre-tabulation checks
- Provides even more confidence that the user configured RCTab correctly. Before running any round by round counts, you can confirm the following. See it here.
Security Improvements
- Write SHA512 for all output files (#752) a digital fingerprint for every output file
- Mark all output files as read-only (#687) to programmatically prevent tampering
- Full build on airgapped machine (#790) to ensure no part of RCTab ever touches the internet
User Quality Of Life Improvements
- Editable tables during configuration e.g. Candidates, CVRs (#704)
- Output file re-organization. Instead of dumping all files into the same folder, with additional tabulations creating even more files in that same folder, we now create a timestamped folder for each tabulation run. Within that timestamped folder you can directly see the round by round results, with other files like precinct reports and cryptographic hashes neatly tucked away within
- Auto-load candidates from CVR (#652, #908, #919) See here.
- CVR selection makes explicit what file types are expected (#817)
- Include a # column on Candidate and CVR list (#810)
- User friendly installer (#660)
- In-app hint text updates (#801)
- Progress bar during tabulation (#834)
- Enhanced UI log output
Additional Tabulation Options
- Added Bottoms Up With Percentage Threshold & Single Bulk Eliminate (#950)
- Allow single-winner threshold to be based on first-round votes only (#646)
- Bottoms Up now supports static and dynamic threshold (#946)
- Added Stop Tabulation Early option (#636, #648)
- CVR Updates
Internal Updates // Fixes
- Fix XML parsing issue w/ Hart (#626)
- Tabulation uses 50% less memory (#640, #962)
- Handle missing/incomplete precinct information gracefully (#650, #683). When tabulate by precinct is enabled, any CVRs that do not have a precinct identifier will be batched together in a “missing_precinct_id” file.
- Test .csv and .json outputs in every test (#713)
- Upgrade dependencies (#722)
- CVRs with rankings above configured maximum throw a halting error (#819)
- Standardize CVR IDs between
audit.logandrctab_cvr. Allows anyone with these files to know for each CVR ballot, for every round what that ballot counts towards and how exactly RCTab translated ballot markings into ranks
Full Changelog: v1.3.2...v2.0.1