Releases

Aspectran 9.4 릴리즈 노트

이번 릴리즈는 완전히 개편된 APON/JSON 모듈, 강력한 새 기능, 웹 유틸리티의 대대적인 개선, 그리고 여러 중요한 버그 수정을 포함합니다. 주요 변경 사항으로는 새로운 고성능 APON 파서, 확장 가능한 JSON 직렬화, 향상된 타입 안전성 등이 있습니다.

✨ 새로운 기능

  • 새로운 고성능 AponParser 도입:
    • 동적 APON 데이터, 특히 다차원 배열을 효율적으로 파싱하기 위해 설계된 새로운 고성능 AponParser 클래스를 도입했습니다.
  • APON 및 JSON 기능 향상:
    • 비표준 JSON 형식(예: 후행 쉼표 포함)을 처리하기 위해 JsonParserJsonToParameters유연한(lenient) JSON 파싱 옵션을 추가했습니다.
    • JsonSerializer 인터페이스를 도입하여, 확장 가능하고 유연한 JSON 객체 직렬화를 위해 사용자 정의 직렬화기를 등록할 수 있도록 했습니다.
    • AponReader가 이제 중첩(다차원) 배열을 올바르게 파싱하고, 압축된 빈 구조([], {})를 지원합니다.
  • 현대화된 웹 유틸리티:
    • 향상된 브라우저 보안 및 표준 준수를 위해 CookieGeneratorSameSite 속성 지원을 추가했습니다.
  • 유연한 토큰 생성:
    • PBTokenIssuerTimeLimitedPBTokenIssuer에 명시적인 encryptionPassword를 받는 오버로드된 정적 메소드를 추가하여, 시스템 전역 설정에만 의존하지 않고도 유연하게 토큰을 생성할 수 있도록 했습니다.

🚀 개선 사항

  • APON/JSON 핵심 리팩토링:
    • Parameters 클래스 계층을 리팩토링하여 코드 재사용성을 높이고 사용자 정의 파라미터 타입 생성을 단순화하는 새로운 DefaultParameters 기본 클래스를 도입했습니다.
    • 더 나은 진단을 위해 APON 유틸리티의 오류 메시지와 예외 처리를 대폭 개선했습니다.
    • 더 명확하고 안전한 라인 추가를 위해 AponLines API를 개선했습니다.
  • 웹 유틸리티 향상:
    • 모든 HTML 및 JavaScript 이스케이프 처리를 안정적인 Apache Commons Text 라이브러리를 사용하도록 표준화하고, 레거시 자체 구현을 제거했습니다.
    • WebUtilsUrlTag에서 URI 인코딩을 UTF-8로 표준화하여 일관성을 높였습니다.
  • 코어 프레임워크 및 빌드:
    • CoreServiceHolder.getAllContextNames()가 이제 고유성을 보장하기 위해 Set<String>을 반환합니다.
    • 핵심 웹 기능의 필수 의존성으로 httpclient5를 추가했습니다.
    • PBTokenIssuerTimeLimitedPBTokenIssuer를 더 쉽게 사용할 수 있도록 정적 메소드를 갖는 final 유틸리티 클래스로 리팩토링했습니다.

🐞 버그 수정

  • APON/JSON의 타입 안전성 및 정확성:
    • 모든 getValueAs...List() 메소드에서 안전하지 않은 직접 캐스팅을 타입 안전 변환 로직으로 대체하여 ParameterValue의 잠재적인 ClassCastException을 해결했습니다.
    • JsonToParameters가 JSON 배열을 APON Parameters로 올바르게 변환하지 못하던 문제를 수정했습니다.
    • JsonWriter에서 빈 JsonStringEOFException을 발생시키던 버그를 수정했으며, 이제 올바르게 null을 출력합니다.
    • 빈 컬렉션이 단일 null 요소를 포함하는 배열로 잘못 저장되던 버그를 수정했습니다.

🛠️ 의존성 업그레이드

  • Jetty 12.1.4 버전으로 업데이트
  • Hibernate Validator 9.1.0 버전으로 업데이트
  • Commons IO 2.21.0 버전으로 업데이트
  • 기타 마이너 의존성 패치

NEWS
Release

Archive