- fix: ModifiedMatcher::ifModifiedSinceHeader(), ::withIfModifiedSinceHeader(), ::ifUnmodifiedSinceHeader(), ::withIfUnmodifiedSinceHeader() invalid header value addition
- fix: ETagMatcher::ifMatchHeader(), ::withIfMatchHeader(), ::ifNoneMatchHeader(), ::withIfNoneMatchHeader() invalid header value addition
- remove: ETagMatcherResult::matches() removed (BC break)
- enh: CacheHeaderBuilder::withoutMustRevalidate() added
- refactor: ETagHeaderBuilder::resetETagWeek() -> resetWeekETag() (BC break)
- fix: wrong class name CacheHeaderBuilderBuilder -> CacheHeaderBuilder
- fix: wrong class name ETagHeaderBuilderBuilder -> ETagHeaderBuilder
- fix: CacheHeaderBuilder::reset() lastModified reset
- refactor: namespace refactoring (BC break)
- fix: no-cache reset fix (private, public, noStore, mustRevalidate) #2
- enh: mutable accessors
- enh: no-cache with more control tags + pragma
- fix: no-cache reset if not used
- enh: more tests added
- enh: cache control tags sorted by name
- enh: lowercased header names
- fix: CacheHeaderBuilder::reset() staleWhileRevalidate and staleIfError
- enh: header always converted to lowercase
- enh: CacheHeaderBuilder::hasLastModified(), hasEtag(), isNoCache(), isEmpty(), isNotEmpty(), getEtag()
- remove: ModifiedMatcherResult:: isBeforeModifiedSince, isAfterModifiedSince, isBeforeModifiedAt, isAfterModifiedAt, isEqualsModifiedAt, isEqualsUnmodifiedSince
- enh: ModifiedMatcherResult::isModifiedSince, matchesModifiedAt, isUnmodifiedSince
- fix: empty ETAG use as NO ETAG
Initial release