이번 릴리즈는 완전히 개편된 APON/JSON 모듈, 강력한 새 기능, 웹 유틸리티의 대대적인 개선, 그리고 여러 중요한 버그 수정을 포함합니다. 주요 변경 사항으로는 새로운 고성능 APON 파서, 확장 가능한 JSON 직렬화, 향상된 타입 안전성 등이 있습니다.
✨ 새로운 기능
- 새로운 고성능
AponParser도입:- 동적 APON 데이터, 특히 다차원 배열을 효율적으로 파싱하기 위해 설계된 새로운 고성능
AponParser클래스를 도입했습니다.
- 동적 APON 데이터, 특히 다차원 배열을 효율적으로 파싱하기 위해 설계된 새로운 고성능
- APON 및 JSON 기능 향상:
- 비표준 JSON 형식(예: 후행 쉼표 포함)을 처리하기 위해
JsonParser및JsonToParameters에 유연한(lenient) JSON 파싱 옵션을 추가했습니다. JsonSerializer인터페이스를 도입하여, 확장 가능하고 유연한 JSON 객체 직렬화를 위해 사용자 정의 직렬화기를 등록할 수 있도록 했습니다.AponReader가 이제 중첩(다차원) 배열을 올바르게 파싱하고, 압축된 빈 구조([],{})를 지원합니다.
- 비표준 JSON 형식(예: 후행 쉼표 포함)을 처리하기 위해
- 현대화된 웹 유틸리티:
- 향상된 브라우저 보안 및 표준 준수를 위해
CookieGenerator에SameSite속성 지원을 추가했습니다.
- 향상된 브라우저 보안 및 표준 준수를 위해
- 유연한 토큰 생성:
PBTokenIssuer및TimeLimitedPBTokenIssuer에 명시적인encryptionPassword를 받는 오버로드된 정적 메소드를 추가하여, 시스템 전역 설정에만 의존하지 않고도 유연하게 토큰을 생성할 수 있도록 했습니다.
🚀 개선 사항
- APON/JSON 핵심 리팩토링:
Parameters클래스 계층을 리팩토링하여 코드 재사용성을 높이고 사용자 정의 파라미터 타입 생성을 단순화하는 새로운DefaultParameters기본 클래스를 도입했습니다.- 더 나은 진단을 위해 APON 유틸리티의 오류 메시지와 예외 처리를 대폭 개선했습니다.
- 더 명확하고 안전한 라인 추가를 위해
AponLinesAPI를 개선했습니다.
- 웹 유틸리티 향상:
- 모든 HTML 및 JavaScript 이스케이프 처리를 안정적인 Apache Commons Text 라이브러리를 사용하도록 표준화하고, 레거시 자체 구현을 제거했습니다.
WebUtils및UrlTag에서 URI 인코딩을 UTF-8로 표준화하여 일관성을 높였습니다.
- 코어 프레임워크 및 빌드:
CoreServiceHolder.getAllContextNames()가 이제 고유성을 보장하기 위해Set<String>을 반환합니다.- 핵심 웹 기능의 필수 의존성으로
httpclient5를 추가했습니다. PBTokenIssuer및TimeLimitedPBTokenIssuer를 더 쉽게 사용할 수 있도록 정적 메소드를 갖는 final 유틸리티 클래스로 리팩토링했습니다.
🐞 버그 수정
- APON/JSON의 타입 안전성 및 정확성:
- 모든
getValueAs...List()메소드에서 안전하지 않은 직접 캐스팅을 타입 안전 변환 로직으로 대체하여ParameterValue의 잠재적인ClassCastException을 해결했습니다. JsonToParameters가 JSON 배열을 APONParameters로 올바르게 변환하지 못하던 문제를 수정했습니다.JsonWriter에서 빈JsonString이EOFException을 발생시키던 버그를 수정했으며, 이제 올바르게null을 출력합니다.- 빈 컬렉션이 단일 null 요소를 포함하는 배열로 잘못 저장되던 버그를 수정했습니다.
- 모든
🛠️ 의존성 업그레이드
- Jetty 12.1.4 버전으로 업데이트
- Hibernate Validator 9.1.0 버전으로 업데이트
- Commons IO 2.21.0 버전으로 업데이트
- 기타 마이너 의존성 패치
Juho Jeong NEWS
Release