All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Spring Boot starter with auto-configuration for servlet and reactive
- XML filtering support for reactive WebFlux applications
- Startup info log when Squiggly auto-configuration is loaded
- GitHub Actions CI workflow
- Rename Java packages from
com.github.bohnman.squigglytoco.ipregistry.squiggly - Change Maven groupId from
com.github.ipregistrytoco.ipregistry - Migrate to Gradle build system
- Upgrade to Jackson 3.1
- Require Java 21+
- Invalid filter expressions now fall back to include-all instead of returning a 500 error
- XML codecs now coexist with JAXB in reactive WebFlux (registered as custom codecs)
- Curly brace support for nested filters, only square brackets accepted
- ThreadLocalContextProvider
- RequestSquigglyContextProvider: adding hook method to get the response status code
- Using AnyDeepName.ID instead of "**"
- Ability to use a dash in a field (#60)
- collectify/setify/listify to SquigglyUtils
- objectify methods in SquigglyUtils (#56)
- Jar is now OSGi compliant
- Updated to servlet spec to minimum version of 3.0.1, which eliminates the need for response wrapping
- Only apply filter from request if response code is 2xx (#50)
- Issue #39
- ConcurrentModificationException (#36)
- Exclude filtering issue with deeply nested arrays
- Negative dot paths when multiple paths were specified
- Support for @JsonProperty
- Ability to place @PropertyView on getters and setters
- Ability to include/exclude base fields from nested objects
- Changed dependency from antlr to antlr-runtime, which saves about 11 MB
- NullPointerException when using @JsonView
- Support for @JsonUnwrapped
- Ability to specify '[]' in addition to '{}' for nested filters because Tomcat 8 errors out if {} characters aren't escaped
- Enabled initializing multiple object mappers at once
- Updated spring boot example to configure all object mappers in the bean factory
- When two fields of the same name are specified, their nested properties are merged
- Support for regex filters
- Support for dot syntax
- Examples for spring boot, dropwizard, servlet, and standalone
- Specifying a field that has nested fields will now implicitly include the base fields
- ANTLR grammar used for parsing squiggly expressions
- No longer required to provide wildcard when negating properties
- Improved request caching
- Java 7 now minimum required version
- Ability to retrieve metrics
- Ability to retrieve config and sources
- If there are 2 exact matches, the latter is chosen
- JDK6+ support
- Field specificity logic
- Ability to exclude fields