Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: OpenFeign/feign
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: fbus/feign
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 3 commits
  • 9 files changed
  • 2 contributors

Commits on Jan 2, 2026

  1. feat(codec): Add Jackson 3 support module (feign-jackson3)

    This commit introduces a new module `feign-jackson3` that provides support for Jackson 3.x,
    alongside the existing `feign-jackson` module which continues to support Jackson 2.x.
    
    ## Changes
    
    ### Module Creation
    - Created new `jackson3` module based on `feign-jackson`
    - Added module to parent POM
    
    ### Jackson 3 Migration
    - **Dependency**: Upgraded to Jackson 3.0.2 (`tools.jackson.core:jackson-databind`)
    - **Package changes**: Migrated from `com.fasterxml.jackson.*` to `tools.jackson.*`
      - Exception: `com.fasterxml.jackson.annotation` remains unchanged (as per Jackson 3 spec)
    - **Maven coordinates**: Updated groupId from `com.fasterxml.jackson.core` to `tools.jackson.core`
    
    ### API Changes
    - **Immutable ObjectMapper**: Replaced direct `ObjectMapper` instantiation with `JsonMapper.builder()`
      - All configuration now done via builder pattern
    - **Exception handling**:
      - Jackson 3 uses `JacksonException` (unchecked) instead of `IOException` (checked)
      - Updated catch blocks to handle `JacksonException` and extract `IOException` from cause when needed
    - **Module type**: Changed from `Module` to `JacksonModule`
    
    ### Configuration
    - **Default settings**: Respects Jackson 3 defaults (improved security)
      - `FAIL_ON_TRAILING_TOKENS` enabled by default (new in Jackson 3)
      - Explicitly disabled for `Jackson3IteratorDecoder` only (required for streaming array elements)
    - **Java version**: Minimum Java 17 required (Jackson 3 baseline)
    
    ### Classes
    - `Jackson3Decoder`: Standard JSON decoder for Jackson 3
    - `Jackson3Encoder`: Standard JSON encoder for Jackson 3
    - `Jackson3IteratorDecoder`: Streaming iterator decoder for large JSON arrays
    
    ### Tests
    - Migrated all tests from `feign-jackson`
    - Updated to use Jackson 3 APIs (`tools.jackson.*` packages)
    - Updated method names for Jackson 3 API changes (e.g., `getCurrentName()` → `currentName()`)
    - All tests passing ✅
    
    ## Migration Notes
    
    Users can migrate from `feign-jackson` to `feign-jackson3` by:
    1. Updating dependency to `feign-jackson3`
    2. Changing imports from `feign.jackson.*` to `feign.jackson3.*`
    3. Ensuring Java 17+ is available
    
    Both modules can coexist in the same project if needed.
    
    ## References
    - [Jackson 3 Migration Guide](https://github.com/FasterXML/jackson/blob/main/jackson3/MIGRATING_TO_JACKSON_3.md)
    - [Jackson 3.0 Release Notes](https://github.com/FasterXML/jackson/wiki/Jackson-Release-3.0)
    fabienbuss committed Jan 2, 2026
    Configuration menu
    Copy the full SHA
    9df0161 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2026

  1. Merge remote-tracking branch 'origin/master' into fbus/master

    Signed-off-by: Marvin Froeder <[email protected]>
    
    # Conflicts:
    #	pom.xml
    velo committed Feb 6, 2026
    Configuration menu
    Copy the full SHA
    6c6d788 View commit details
    Browse the repository at this point in the history
  2. Use Jackson BOMs for dependency management in jackson and jackson3 mo…

    …dules
    
    Signed-off-by: Marvin Froeder <[email protected]>
    velo committed Feb 6, 2026
    Configuration menu
    Copy the full SHA
    f25bff4 View commit details
    Browse the repository at this point in the history
Loading