# Release Note '26-28주차(1.0.6140)

## 업데이트 안내

<div id="bkmrk-update-desc"><div>본 업데이트는 eXBuilder6 스튜디오, 런타임의 성능 향상, 새로운 추가 기능 및 API들을 포함합니다. 또한 이 업데이트는 컴파일러 및 서버 라이브러리의 개선 사항을 포함합니다. 안전하고 원활한 서비스를 위해 운용 중인 CI 서버의 컴파일러 및 서버 라이브러리를 최신 버전으로 업데이트해 주시기를 권장해 드립니다. 업데이트는 월 1~2회 제공되며, 제공 일정은 상황에 따라 조정될 수 있습니다.</div></div>**태그 설명**

- **\#\[Number\]**: 접수된 이슈 번호
- **\#T\[Number\]**: Techdom의 eXbuilder6 Q&amp;A 게시판 글 번호

## 1. 수정된 결함

### 1.1. 런타임

- \#11040 #T32649 **<span style="color: #5a0452;">데이터뷰</span>** 바인딩 시, **<span style="color: rgb(90, 4, 82);">그리드</span>** 푸터 표현식 캐시가 초기화되지 않던 문제
- \#11042 **<span style="color: rgb(90, 4, 82);">파일 업로드</span>**의 `emptyMessage` 속성이 `sstr` 적용 시 텍스트가 반환되지 않던 문제
- \#11044 **<span style="color: rgb(90, 4, 82);">내비게이션 바</span>**의 `menuType`이 `accessiblemegamenu`이고 `barItemSpacing` 적용 시 웹 표준 검사기에 오류가 검출되던 문제
- \#11060 **<span style="color: rgb(90, 4, 82);">그리드</span>** 자동 너비 조절 시, 헤더 텍스트가 필터 및 정렬 버튼에 가려지던 문제
- \#11061 #T32723 **<span style="color: rgb(90, 4, 82);">그리드</span>** 내 **<span style="color: rgb(90, 4, 82);">서치 인풋</span>** 검색 버튼을 최초 클릭 시 `value`가 `displayExp`가 적용된 값으로 변경되던 문제
- \#11065 **<span style="color: rgb(90, 4, 82);">그리드</span>** `before-paste` 이벤트에서 `e.data`의 개행 문자가 이전과 다르게 처리되던 문제
- \#11066 **<span style="color: rgb(90, 4, 82);">그리드</span>** 헤더 및 푸터에 **<span style="color: rgb(90, 4, 82);">마스크 에디터</span>**, **<span style="color: rgb(90, 4, 82);">서치 인풋 </span>**배치 후 자동 너비 조절 시, 텍스트가 일부 가려지던 문제
- \#11067 **<span style="color: rgb(90, 4, 82);">서치 인풋</span>**에 `displayExp` 설정 시 `sstr`이 적용되지 않던 문제
- \#11075 #T32772 **<span style="color: rgb(90, 4, 82);">마스크 에디터</span>**의 `enabledInputMask=false`로 설정한 경우 `enter` 키 동작에 따라 마스킹된 값이 이전 값으로 원복되던 문제
- \#11078 **<span style="color: rgb(90, 4, 82);">그리드</span>**에 `preventInput=true`인 컨트롤 배치 시, 뷰잉 모드에서 관련 클래스가 누락되던 문제
- \#11102 **<span style="color: #5a0452;">데이터셋</span>**의 `putValue`로 값 변경 시, **<span style="color: rgb(90, 4, 82);">그리드</span>**의 푸터 표현식 결과가 갱신되지 않던 문제

### 1.2. 스튜디오

- \#11096 윈도우11에서 디스플레이 배율이 125% 이상인 경우 스튜디오의 복사, 이동 마우스 커서가 다르게 보이던 문제
- \#11107 #T32854 **<span style="color: rgb(90, 4, 82);">그리드</span>** 일부 이벤트에서 `e.data` 속성이 `deprecated`로 오표기되던 문제

### 1.3. 서버

- \#11037 #T32639 **<span style="color: rgb(90, 4, 82);">그리드</span>**의 `getExportData`를 이용한 엑셀 다운로드 시 열 너비가 비정상적으로 계산되던 문제

### 1.4. 컴파일러

- \#11101 #T32843 `CSS` 압축/난독화 시 `calc()` 내부 `0rem` 의 단위가 제거되어 의도하지 않은 스타일이 적용되던 문제

## 2. 기능 개선

### 2.1. 런타임

- \#10818 #T31170 **<span style="color: rgb(90, 4, 82);">데이트 인풋</span>**에 입력 마스크 기능이 추가되었습니다. 
    - **<span style="color: rgb(90, 4, 82);">데이트 인풋</span>**에 `inputVariant` 속성이 추가되어 `auto`, `segment`, `masked` 모드를 지원합니다.
    - `masked` 모드일 때 미입력 자리에 표시할 플레이스홀더 문자를 `maskChararacter` 속성으로 커스텀 지정할 수 있습니다.
    - `inputVariant="masked"` 모드 사용 시, 가변 길이 포맷(예: Y, M, D 등)은 지원하지 않으며 고정 길이 포맷(예: YYYY, MM, DD 등)만 사용할 수 있습니다.
    - `inputVariant="masked"` 모드에서 요일(`dddd`) 또는 오전/오후(`a`) 포맷이 있는 경우 드래그앤드롭은 지원하지 않습니다.
- \#10945 `focusin` 및 `focusout` 이벤트에서 포커스가 이동한 엘리먼트 및 컨트롤을 확인할 수 있도록 지원됩니다. 
    - `focusin` 및 `focusout` 이벤트에서 `relatedTarget`, `relatedTargetControl` 정보를 얻을 수 있도록 개선되었습니다.
- \#11011 #T32487 **<span style="color: rgb(90, 4, 82);">그리드</span>** 내의 **<span style="color: rgb(90, 4, 82);">트리셀</span>**에 말줄임표 스타일 설정이 가능하도록 개선되었습니다.
- \#11055 #T32711 **<span style="color: #5a0452;">데이터뷰</span>**의 값을 원복할 때, 부모 **<span style="color: #5a0452;">데이터셋</span>**의 `stateRestore` 설정에 따라 상태값도 함께 원복되도록 개선되었습니다.
- \#11069 **<span style="color: rgb(90, 4, 82);">버티컬 레이아웃</span>** 내부 특정 컨트롤의 상단 간격을 커스터마이징할 수 있도록 개선되었습니다. 
    - **<span style="color: rgb(90, 4, 82);">버티컬 레이아웃</span>**의 자식 레이아웃 데이터에 `topSpacing` 속성이 추가되었습니다.
    - `topSpacing` 값이 `0` 이상인 경우, 레이아웃의 `spacing` 대신 해당 값을 상단 간격으로 사용할 수 있습니다.
    - 레이아웃의 첫 번째 컨트롤에는 `topSpacing`이 적용되지 않습니다.
- \#11070 **<span style="color: rgb(90, 4, 82);">버티컬 레이아웃</span>** 내부 특정 컨트롤에 상단 고정(`sticky`) 기능이 추가되었습니다. 
    - 자식 레이아웃 데이터에 `sticky` 속성이 추가되어 스크롤 시 레이아웃 상단에 컨트롤을 고정할 수 있습니다.
    - 고정 시 상단에서 떨어지는 거리를 `stickyTopOffset`(int) 속성으로 지정할 수 있습니다.
    - `cl-sticky`, `cl-stuck`, `cl-first-stuck`, `cl-last-stuck` 등의 `CSS` 클래스를 통해 고정된 컨트롤의 스타일링이 가능합니다.
    - IE11에서는 `position: sticky`를 지원하지 않아 해당 기능이 우회 처리됩니다.
- \#11073 #T32758 **<span style="color: rgb(90, 4, 82);">그리드</span>** 병합 셀 영역 내 이벤트 감지용 빈 셀에 스타일 지정용 클래스(`cl-empty-cell`)가 추가되었습니다.
- \#11098 #T32838 **<span style="color: rgb(90, 4, 82);">리스트 박스</span>**의 아이템이 `null` 값을 갖는 경우 선택이 가능하도록 개선되었습니다. 
    - <span style="color: #5a0452;">**데이터셋**</span>에 `null` 값을 허용하는 상태에서 아이템 셋 바인딩된 `null` 값을 가진 아이템을 선택 시 오류가 발생하지 않도록 개선되었습니다.
- \#11099 #T32837 **<span style="color: #5a0452;">다이얼로그</span>** 오픈 시, 오픈 하기 전 포커스 이동 작업을 완료 후 `restoreFocus` 타겟을 설정하도록 개선되었습니다.

### 2.2. 스튜디오

- \#11032 #T32628 `clx`와 연결된 스크립트 파일(`.js`)이 열린 상태에서 Project Explorer의 `clx` 파일을 더블 클릭 했을 때 디자인 편집기로 전환되지 않던 동작이 개선되었습니다.
- \#11033 **<span style="color: rgb(90, 4, 82);">버티컬 레이아웃</span>** 하위에 배치된 **<span style="color: rgb(90, 4, 82);">폼 레이아웃</span>**에서 콘텐츠 크기에 맞춰 계층적 크기 조정 동작을 실행했을 때 너비(`width`)의 단위가 변경되지 않도록 개선되었습니다.
- \#11080 팔레트 컨트롤 툴에 교체(`Replace`) 모드가 추가되었습니다. 
    - 팔레트 컨트롤 생성 툴에 `Tab` 키로 토글 가능한 교체 모드가 추가되었습니다.
    - 교체 모드에서는 빈 영역에 새 컨트롤을 생성하는 대신, 커서 아래의 기존 컨트롤을 다른 컨트롤로 교체할 수 있습니다.
    - 컨트롤 교체 시 상속 관계와 관계없이 이름, 타입, 멀티플리시티(Multiplicity)가 일치하는 속성을 승계합니다.
    - 교체 가능한 컨트롤 위로 마우스를 이동하면 대상 위에 원본 아이콘에서 신규 아이콘으로 변환되는 힌트가 표시됩니다.
    - 이 기능은 **<span style="color: rgb(90, 4, 82);">그리드</span>**, **<span style="color: rgb(90, 4, 82);">탭 폴더</span>** 등 일부 컨테이너 컨트롤을 제외한 비컨테이너 컨트롤에만 적용됩니다.
- \#11100 `LESS` 편집기의 테마별 이미지 경로 변수를 활용한 편집 환경이 개선되었습니다. 
    - 이미지 경로 변수에 마우스를 호버할때 미리보기가 지원됩니다.
    - `URL` 내 `@{변수}`를 실제 값으로 해석하도록 개선되었습니다.
    - 변수가 포함된 `URL`의 파일 열기, 콘텐츠 어시스트 기능이 지원됩니다.
    - 문자열 리터럴 변수 처리 및 미해석 변수 안내 기능이 추가되었습니다.
    - 믹스인 파라미터는 이미지 미리보기/어시스트 대상에서 제외됩니다.

### 2.3. 컴파일러

- \#11063 #T32735 일반 `js` 파일을 지원하기 위한 난독화 엔진이 개선되었습니다.

## 3. 알려진 문제

### 3.1. macOS 호환성 문제

- macOS 15 Sequoia 에서 이클립스의 모든 텍스트 편집기에서 선택 영역이 올바로 표시되지 않는 문제가 보고 되었습니다. 임시 조치가 포함된 Eclipse 2024-06 이상의 버전을 사용하여 주십시오.

<div id="bkmrk-%EA%B0%90%EC%82%AC%20%EC%9D%B8%EC%82%AC">고객 분들의 소중한 피드백, 그리고 테스터 분들의 헌신적인 테스트 수행에 가슴 깊이 감사드리며 더 좋은 업데이트를 제공해 드리도록 항상 노력하겠습니다.</div>