Skip to content

v1.8.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 May 22:02
· 7 commits to main since this release
6d748ea

Highlights

  • OOXML password protection — file-level encryption at SheetInput / SheetOutput.withPassword. Default EncryptionSpec.strong() (AES-256 + SHA-512 + agile mode); presets and custom builder for cipher / hash / mode (#185)
  • Sheet-level features in GridConfigurer — protectSheet(password) (legacy XOR password), displayGridlines(boolean), zoom(int percent), rightToLeft(boolean) (#186, #187)
  • Column-position offset — @DataColumn(shift = N) and @DataColumnGroup(shift = N) leave N blank columns before the annotated field / group; both read and write (#182)
  • SpreadsheetSchema minimal public interface — six query methods (size, column(int), column(String), columnIndex(String), columnName(int), columnNames()); internal dispatch moved to SpreadsheetSchemaImpl (#183)

Breaking Changes

  • BigDecimal / BigInteger emit as numeric cells by default. 1.7.x forced string cells. Opt-in string via @JsonFormat(shape = STRING) (#180)
  • SpreadsheetSchema is now an interface; the public constructor is removed. new SpreadsheetSchema(...) will not compile. Internal methods (resolve, findColumn, getDataRow, configureSheet, etc.) moved to SpreadsheetSchemaImpl in schema.internal — third-party callers must cast (#183)
  • SpreadsheetSchema method renames: columnCount → size, getColumn(int) → column(int), columnIndexByName → columnIndex (#183)
  • SpreadsheetSchema.getOriginRow removed (#183)

Improvements

  • POI writer pins a base CellStyle on cells, fixing s="0" attribute emission on older POI versions (#184)
  • BigDecimal / BigInteger round-trip coverage in BigNumberCellTypeTest (#181)

Documentation

  • GUIDE: File-Level Encryption chapter, Sheet-Level Features section extended (#185, #186, #187)
  • ARCHITECTURE: POI Boundary table extended (#185, #186, #187)
  • DESIGN: sheet/workbook protection row removed from "Where the Library Stops" (#185)
  • BENCHMARK: 1.8.0 numbers refreshed (#184)

Full Changelog: v1.7.1...v1.8.0