| A | ↘ | B | RowIterator got worse |
| A | ↘ | B | RowIterator got worse |
| ⇢ | D | RowIterator::readDataForNextRow() added | |
| ⇢ | D | RowIterator::readDataForNextRow() added | |
| ⇢ | B | RowIterator::processRowEndingNode() added | |
| ⇢ | A | RowIterator::shouldReadNextRow() added | |
| ⇢ | A | RowIterator::processRowStartingNode() added | |
| ⇢ | A | RowIterator::processCellStartingNode() added | |
| ⇢ | A | RowIterator::processTableEndingNode() added | |
| ⇢ | A | RowIterator::getNumRowsRepeatedForCurrentNode() added | |
| ⇢ | A | RowIterator::isEmptyRow() added | |
| ⇢ | A | RowIterator::doesNeedDataForNextRowToBeProcessed() added | |
| ⋮ | view more | ||
| B | ↗ | A | RowIterator::next() improved |
| C | ↗ | A | RowIterator::next() improved |
| C | ↗ | A | RowIterator::next() improved |
| A | ↛ | RowIterator::getCellIndex() removed | |
| A | ↛ | RowIterator::isEmptyCellValue() removed | |