- v0.9.0:
- v0.8.2: 2022-07-10
- v0.8.1: 2022-04-19
- v0.8.0: 2022-04-15
- v0.7.5: 2021-11-06
- v0.7.4: 2021-05-27
- v0.7.3: 2021-05-27
- v0.7.2: 2021-05-25
- v0.7.1: 2021-05-25
- v0.7.0: 2021-05-12
- v0.6.0: 2021-04-11
- v0.5.3: 2020-12-06
- v0.5.2: 2020-12-03
- v0.5.1: 2020-11-09
- v0.5.0: 2020-11-06
- v0.4.2: 2020-10-17
- v0.4.1: 2020-10-11
- v0.4.0: 2020-09-27
- v0.3.1: 2020-09-13
- v0.3.0: 2020-09-12
- v0.2.1: 2020-09-07
- v0.1.0: 2020-08-30
- 🔥 Remove: useless packages
constant
,model
—ConversionType
,ConverterType
,Column
- 🔥 Remove: unused exceptions
GettingFieldValueException
,NoTargetedConstructorException
,NotExistConverterException
,SettingFieldValueException
- ♻️ Refactor: package
converter
- ♻️ Refactor: handlers for java time
- ♻️ Replace: default constructor of strategy
Filter
withFilter(boolean)
- 🚚 Move: package
util.resolver
toin.resolver
- 🚚 Move: packages of implementation
ExcelTypeHandler
- 🚚 Rename: implementations of converter
- ⚡️ Improve: support for handling field
Iterable
by converter - 🔨 Modify: utility
FieldUtils.resolveActualType(Field)
- 🔨 Modify: default policy of sheet name that increases suffix at 0 is changed to increase at 1.
- 🔨 Modify: type of parameter
convert(Map<String, Object>, Field)
inExcelReadConverter
is changed toconvert(Map<String, String>, Field)
- 🔨 Modify: generic return type of
Javaxcel.reader(Workbook)
is changed fromExcelReader<Map<String, Object>>
toExcelReader<Map<String, String>>
- 🔨 Modify: method
newInstance(ExcelTypeHandlerRegistry)
inJavaxcel
is changed not to useDefaultExcelTypeHandlerRegistry
.
- 📦️ Add: package
analysis
,util.processor
- ✨ Add: method
add(ExcelTypeHandler)
inExcelTypeHandlerRegistry
- ✨ Add: strategies
UseGetters
,UseSetters
- ✨ Add: methods
resolveGetter(Field)
,resolveSetter(Field)
inFieldUtils
- ✨ Add: type handlers for
Year
,YearMonth
,Month
,MonthDay
,Instant
- 🐞 Fix:
- ➖ Remove: dependency
jsr305
- ➕ Add: intransitive dependency
annotations
- ⬆️ Upgrade: provided dependency
poi-ooxml
from5.2.2
to5.2.3
- ⬆️ Upgrade: dependency
common-utils
from0.9.0
to0.13.0
- ⬆️ Upgrade: test dependency
junit5
from5.8.2
to5.9.1
- ⬆️ Upgrade: test dependency
assertj-core
from3.22.0
to3.23.1
- ⬆️ Upgrade: test dependency
spock-core
from2.1-groovy-3.0
to2.3-groovy-4.0
- ⬆️ Upgrade: test dependency
byte-buddy
from1.12.9
to1.12.18
- ⬆️ Upgrade: test dependency
excel-streaming-reader
from3.6.1
to4.0.4
- ⬆️ Upgrade: build dependency
gmavenplus-plugin
from1.13.1
to2.1.0
- ⬆️ Upgrade: build dependency
maven-jar-plugin
from3.2.0
to3.3.0
- ⬆️ Upgrade: build dependency
maven-javadoc-plugin
from3.2.0
to3.4.1
- ⬆️ Upgrade: build dependency
maven-shade-plugin
from3.3.0
to3.4.1
- 🔥 Remove: useless type variable in
ExcelWriteConverter
- 🔥 Remove: method
toMap(Object)
inFieldUtils
- 🚚 Move: package of classes from
com.github.javaxcel.out.strategy.ExcelWriteStrategy.*
tocom.github.javaxcel.out.strategy.impl.*
- 🚚 Move: package of classes from
com.github.javaxcel.in.strategy.ExcelWriteStrategy.*
tocom.github.javaxcel.in.strategy.impl.*
- ♻️ Increase: access privileges to
AbstractExcelWriteStrategy
,AbstractExcelReadStrategy
- ⚡️ Modify:
com.github.javaxcel.out.strategy.impl.Filter
to freeze header
- 🐞 Fix: wrong import (
java.util.logging.Filter
=>com.github.javaxcel.out.strategy.impl.Filter
) inModelWriter
,MapWriter
- 🐞 Fix: compile error on jdk 9+ by using internal package
sun.util.locale.*
inLocaleTypeHandler
- ⬆️ Upgrade: dependency
common-utils
from0.8.0
to0.9.0
- ⬆️ Upgrade: dependency
javaxcel-styler
from0.2.1
to0.2.2
--- nested dependencypoi-ooxml
provided - ⬆️ Upgrade: test dependency
lombok
from1.18.22
to1.18.24
- 🚚 Move: package of classes from
com.github.javaxcel.out
tocom.github.javaxcel.out.core
- 🚚 Move: subclasses
ExcelWriter
fromcom.github.javaxcel.out
tocom.github.javaxcel.out.core.impl
- 🚚 Rename: method
setDefaultValue(String)
tosetAllDefaultValues(String)
inExcelWriteConverterSupport
- 🚚 Rename: annotation
@ExcelWriterExpression
to@ExcelWriteExpression
- 🚚 Rename: annotation
@ExcelReaderExpression
to@ExcelReadExpression
- ♻️ Refactor: implementations of
ExcelWriter
- ♻️ Refactor: input/output conversion
- ♻️ Refactor: input/output core module
- ♻️ Replace:
ExcelWriterFactory
,ExcelReaderFactory
withJavaxcel
- ⚡️ Resolve: generic type of
MapWriter
- ⚡️ Support: non-default constructor, static factory method to instantiate model
- 🔥 Remove: exception
NoTargetedConstructorException
- 🔥 Remove: methods
getSheetRange(Workbook)
,getNumOfRows(File)
inExcelUtils
- ✨ Add: entrypoint class
Javaxcel
- ✨ Add: domain model
Column
- ✨ Add: annotations
@ExcelModelCreator
,@ExcelModelCreator.FieldName
- ✨ Add: modules
AbstractExcelModelExecutableResolver
,ExcelModelConstructorResolver
,ExcelModelMethodResolver
- ✨ Add: modules
ExcelTypeHandler
,ExcelTypeHandlerRegistry
- ✨ Add: methods
toMap(T)
,toHeaderName(Field)
,resolveFirst(Class, Object...)
,resolveLast(Class, Object...)
inFieldUtils
- 🔊 Add: fluent exception messages
- 🐞 Fix: wrong computation of targeted fields
- 🐞 Fix: security problem for changing value of final field
- ♻️ Make: dependency
poi-ooxml
provided - ➕ Add: dependency
spring-expression
(shaded incom.github.javaxcel.internal.springframework
) - ➕ Add: test dependency
spock-core
- ➕ Add: test dependency
excel-streaming-reader
- ➕ Add: build dependency
maven-shade-plugin
- ➖ Remove: dependency
spel
- ➖ Remove: dependency
poi-scratchpad
- ⬆️ Upgrade: dependency
common-utils
from0.7.0
to0.8.0
- ⬆️ Upgrade: test dependency
junit5
from5.8.1
to5.8.2
- ⬆️ Upgrade: test dependency
assertj-core
from3.21.0
to3.22.0
- ⬆️ Upgrade: test dependency
lombok
from1.18.20
to1.18.22
- ⬆️ Upgrade: test dependency
byte-buddy
from1.11.1
to1.12.9
- ⬆️ Upgrade: build dependency
maven-gpg-plugin
from1.6
to3.0.1
- ⬆️ Upgrade: build dependency
gmavenplus-plugin
from1.13.0
to1.13.1
- ⬆️ Upgrade: build dependency
maven-compiler-plugin
from3.8.1
to3.10.1
- ⬆️ Upgrade: build dependency
jacoco-maven-plugin
from0.8.7
to0.8.8
- ♻️ Replace: internal utilities
- 👷 Replace: travis CI with github actions due to a negative credit balance (10000 credits of free plan)
- ⬆️ Upgrade: dependency
common-utils
from0.4.7
to0.7.0
- ⬆️ Upgrade: test dependency
junit5
5.7.2
to5.8.1
- ⬆️ Upgrade: test dependency
assertj-core
from3.19.0
to3.21.0
- ⬆️ Upgrade: test dependency
byte-buddy
from1.10.22
to1.11.22
- ➖ Remove: useless build dependency
maven-dependency-plugin
- ⬆️ Upgrade: dependency
common-utils
---0.4.7
- ⬆️ Upgrade: dependency
common-utils
---0.4.6
- ⬆️ Upgrade: dependency
common-utils
---0.4.5
- 🚚 Move:
initialValueOf(Class)
fromDefaultInputConverter
toFieldUtils
- ⚡️ Change: fields to be non-null in
Expression*Converter
- ⚡️ Decrease: branch complexity
- ⚡️ Support:
java.util.UUID
forDefaultInputConverter
- ♻️ Refactor: exceptions
- ♻️ Replace: converters in
ModelReader
withInputConverterSupport
- ⬆️ Upgrade: dependency
common-utils
---0.4.4
- ⬆️ Upgrade: test dependency
junit5
---5.7.2
- ⬆️ Upgrade: code coverage plugin
Jacoco
---0.8.7
- ♻️ Change: static field to be excluded on target because of static field
$jacocoData
- ♻️ Change: cache key type(
java.lang.String
=>java.lang.reflect.Field
) - ♻️ Replace: converters in
ModelWriter
withOutputConverterSupport
- ⚡️ Improve: performance by not creating useless
CellStyle
- ⚡️ Improve: preemptive validation of sheet name
- ⚡️ Improve: performance of
ExcelUtils#getWorkbook(File)
- ⚡️ Increase: visibility of constructors of
ExcelWriter
,ExcelReader
implementation - ⚡️ Separate: converters and processing of default value
- 🔥 Remove:
FieldUtils#convertIfFaulty(String, String, Field)
- 🔥 Remove: useless
DefaultValueStore
- 🔥 Discard:
java.lang.reflect.Field
from serializable fields - 🚚 Rename: class
*WritingConverter
=>*OutputConverter
,*ReadingConverter
=>*InputConverter
- 🚚 Rename: method
disableRolling()
=>unrotate()
inAbstractExcelWriter
- 🚚 Rename: method
autoResizeCols()
=>autoResizeColumns()
inAbstractExcelWriter
- 🚚 Rename: method
hideExtraCols()
=>hideExtraColumns()
inAbstractExcelWriter
- 🚚 Move: defined methods in class
AbstractExcel*
to its interface
- ✨ Add: feature
ExcelWriter#filter()
- ✨ Add: enum
ConversionType
,ConverterType
- ✨ Add:
OutputConverterSupport
- ✨ Add: utilities
getNumOfDeclaredCellStyles(Workbook)
,getNumOfInitialCellStyles(Workbook)
,getDeclaredCellStyles(Workbook)
,getFontFromCellStyle(Workbook, CellStyle)
,equalsCellStyleAndFont(Workbook, CellStyle, Workbook, CellStyle)
,equalsCellStyle(CellStyle, CellStyle)
,equalsFont(Font, Font)
inExcelUtils
- 🔧 Add: maven wrapper
- 🔧 Add: configuration for Travis CI
- 🐞 Fix: mis-computation that
ExcelColumn#defaultValue()
doesn't overrideExcelModel#defaultValue()
- 🐞 Fix: omission of conversion from empty value to default value on
MapWriter
- ➕ Add: build plugin
Jacoco
- ➕ Add: test dependency
EasyRandom
- ➕ Add: test dependency
Byte Buddy
- ⬆️ Upgrade: test dependency
lombok
---1.18.20
- 🔥 Remove:
ExpressiveReadingConverter#convert(Map, Field, Expression)
- 🔥 Remove: redundant constructor of
ExpressiveReadingConverter(List, boolean)
- 🔥 Remove: duplicated code in each implementation of
AbstractExcelReader
- ♻️ Reduce: visibility of
ExpressiveReadingConverter#createCache(List)
- ♻️ Change: default header name in
MapReader
---null
=>column number
- 🚧 Prevent: access to origin model by expression
- 🚧 Prevent:
AbstractExcelReader#readRow(Row)
from being overridden because it is default implementation - ⚡️ Make: cache of expression unmodifiable
- 🚚 Rename: field
AbstractExcelReader#numOfRowsRead
=>AbstractExcelReader#numOfModelsRead
- ✨ Add: constructors of
ExpressiveWritingConverter
- ✨ Add: hook
beforeReadModels(Sheet)
inAbstractExcelReader
- ✨ Add: default implementation
AbstractExcelReader#readSheetAsMaps(Sheet)
,AbstractExcelReader#getNumOfModels(Sheet)
- ✨ Add:
headerStyle(ExcelStyleConfig)
,bodyStyle(ExcelStyleConfig)
inAbstractExcelWriter
,ModelWriter
,MapWriter
- ✨ Add:
setRangeAlias(Workbook, String, String)
,toRangeReference(Sheet, Cell, Cell)
,toRangeReference(Sheet, int, int, int, int)
,toColumnRangeReference(Sheet, int)
,setValidation(Sheet, DataValidationHelper, String, String...)
inExcelUtils
- ✨ Add:
ExcelModel#enumDropdown()
,ExcelColumn#enumDropdown()
,ExcelColumn#dropdownItems()
,ModelWriter#enumDropdown()
- 🐞 Fix:
NullPointerException
caused by approaching a non-existent row; When an empty row is in body, computation of the number of models byExcelUtils#getNumOfModels(Sheet)
is failed.
- ⬆️ Upgrade: dependencies for test
- ⬆️ Upgrade: dependency
common-utils
---0.3.4
- 🐞 Prevent:
NullPointerException
withSXSSFWorkbook
inExcelUtils#autoResizeColumns(Sheet, int)
- 🚚 Rename: method in
TypeClassifier
---isPrimitiveAndNumeric
=>isNumericPrimitive
- 🔥 Remove: methods in
ExcelWriter
---defaultValue(String)
,sheetName(String)
,headerNames(List)
- 🔥 Remove:
ExcelReader#limit(int)
- 🔥 Remove: validation in
AbstractExcelWriter#headerNames(List)
- ♻️ Change: inner logic in
TypeClassifier
to be intuitive withTypes
- ⚡️ Support: types of
ZonedDateTime
,OffsetDateTime
,OffsetTime
inBasic*Converter
- ⚡️ Support:
SXSSFWorkbook
to resize column width - ✨ Add: methods in
ExcelUtils
---getWorkbook(File)
,getNumOfRows(File)
,getNumOfModels(File)
- ✨ Add:
MapWriter#headerNames(List, List)
- ✨ Add: enum
Types
forTypeClassifier
- 🔊 Provide: error message when
Excel*Factory#create
- 🐞 Fix: custom header names in wrong position ---
MapWriter#headerNames(List)
- ⬆️ Upgrade: dependency
common-utils
---0.3.3
- ⚡️ Prevent:
ExcelReader
from reading other sheets when number of rows read reach limit - 🚚 Move:
*WritingConverter
tocom.github.javaxcel.converter.out
- 🚚 Move:
*ReadingConverter
tocom.github.javaxcel.converter.in
- 🔥 Remove: type parameter from
*ReadingConverter
- ♻️ Refactor:
*WritingConverter
- ♻️ Refactor:
*ReadingConverter
- ✨ Add: detaching suffix from sheet name with
AbstractExcelWriter#disableRolling()
- 🐞 Fix: slicing list with over index ---
AbstractExcelWriter#disableRolling()
- ♻️ Make:
ExcelWriter
,ExcelReader
to be interface - ♻️ Change:
ExcelModel#policy()
toExcelModel#includeSuper()
- 🔥 Discard:
WritingConverter#convertIfDefault(String, String, Field)
- 🔥 Remove:
ModelReader#init(Workbook, Class)
,ModelReader#sheetIndexes(int...)
,ModelReader#startRow(int)
,ModelReader#endRow(int)
- 🔥 Remove: useless
TargetedFieldPolicy
- 🚚 Rename:
ExcelWriter
=>ModelWriter
,ExcelReader
=>ModelReader
- 🚚 Move:
ExcelUtils#instantiate(Class)
toFieldUtils#instantiate(Class)
- 🚚 Move: methods in
ExcelStyler
toExcelUtils
- ⚡️ Use:
FieldUtils#convertIfFaulty
- 🗑 Deprecate:
ExcelDateTimeFormat#timezone()
- ✨ Add:
MapWriter
,MapReader
- ✨ Add:
ExcelModel#headerStyle()
,ExcelModel#bodyStyle()
,ExcelColumn#headerStyle()
,ExcelColumn#bodyStyle()
- ✨ Add:
ExcelWriterFactory
,ExcelReaderFactory
- ✨ Add:
AbstractExcelWriter#disableRolling()
- ✨ Add:
ExcelReader#limit(int)
- ✨ Add:
ExcelModel#defaultValue()
- ✨ Add:
ExcelUtils#getMaxRows
,ExcelUtils#getMaxColumns
,ExcelUtils#getNumOfRows
- 🐞 Fix: possibility that header name can be empty string
- 🐞 Fix: possibility for allowing
ExcelReader
to access row that doesn't exist
- ➕ Use: dependency
common-utils
---0.3.2
- ⬆️ Upgrade: dependency
javaxcel-styler
---0.2.1
- ⚡️ Improve: performance by pre-parsed expression as cache
- ✨ Add: utilities
StringUtils
- ✨ Add: utilities to
ExcelUtils
- ✨ Add: exception case --- when read Excel file with
SXSSFWorkbook
- ➖ Reduce: dependency scope
common-utils
to test - ➖ Remove: dependency 'junit-platform-launcher'
- 🚚 Rename:
Excel*Conversion
=>Excel*Expression
- 🚚 Rename:
ExcelColumn#value()
=>ExcelColumn#name()
- ⚡️ Add: validation to
ExcelReader
- ♻️ Replace: dependency
spring-expression
withspel
- ⬆️ Upgrade: dependency
common-utils
---0.3.1
- ➕ Add: dependency
maven-surefire-plugin
for maven test
This release is deprecated.
- ♻️ Refactor: massive classes
- ♻️ Separate: utilities
- 🔥 Discard: messy utilities
- ⚡️ Prevent:
ExcelReader
from getting empty string
- ✨ Add: new features --- SpEL expression
- ✨ Add: converters
- ✨ Add:
ExcelReader#parallel()
- 🐞 Fix: bugs --- creating empty cell(not null) even through not define default value, so that excel recognize that the cell exists.
- ➕ Add: dependency
common-utils
---0.1.2
- ➕ Add: dependency
spring-expression
- ⚡️ Improve:
ExcelReader
to read not only cell values but formula - ♻️ Change:
ExcelWriter#headerStyle(BiFunction)
andExcelWriter#columnStyles(BiFunction)
to provide the font, not the workbook
- ✨ Add: validating sheet name when it is empty string
♻️ Change: checked exception into unchecked exception
✨ Add: unchecked exceptions
- 🚚 Rename: artifact id from
javaxcel
tojavaxcel-core
- ♻️ Change: receiving dependencies of Workbook, OutputStream => separation of duties
- ⚡️ Update:
ExcelReader
- 🛠️ Add: excel utilities
- ✨ Add: custom style in
ExcelWriter
- 🐞 Fix: parsing string as long to convert it into big decimal
➖ Remove: dependency 'org.jetbrains:annotations'
- 🎉 Begin: first release