You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

6.2 KiB

Changelog — Web Configurator

파트너 전달용 변경 이력입니다. v1.11.16부터 이 형식으로 관리합니다.


[v1.12.4] — 2026-07-09

Changed

  • 프로토콜 레지스터 필드를 디바이스 config-reader 계약에 정렬 (Modbus/OPC-UA):
    • Modbus 레지스터 idt 를 디바이스가 기대하는 공백형으로 저장 (unsignedIntegerunsigned integer, unsignedShortunsigned short). UI 드롭다운 라벨은 그대로 유지(저장 시에만 변환, 로드 시 역변환). 이전에는 camelCase 로 저장돼 Modbus 설정 전체가 로드 실패할 수 있었습니다.
    • Modbus·OPC-UA 레지스터 폼에서 Shift/Expr/Mask 제거 — 해당 프로토콜에서는 디바이스가 사용하지 않는 필드입니다(Expr 은 저장되나 값에 미적용, Shift/Mask 는 Modbus/OPC-UA 레지스터 필드가 아님). CAN 은 유지(실제 적용됨).
    • ODT string 옵션: Modbus·CAN 에서 제거(디바이스가 Modbus 는 거부, CAN 은 출력 없음), OPC-UA 는 유지. 백엔드도 Modbus/CAN 의 string 저장을 400 으로 거부.
  • 레지스터 매핑 테이블 UI 정돈: 컬럼 헤더를 축약어 없이 풀네임으로 통일 — Modbus Field / Address / Input Type / Output Type / Default Value, OPC-UA Field / Namespace / Node ID / Output Type / Default Value, CAN Field / CAN ID / Output Type / Default Value / Shift / Expr / Mask. CAN Baud Rate 드롭다운에서 미사용 NONE 항목을 표시에서 숨김(내부 데이터 계약·firmware 값 검증은 유지).

Added

  • 기존 디바이스 DB 의 위 표기를 부팅 시 1회 자동 정합(멱등 마이그레이션, 이전 계약-정합 마이그레이션을 거친 디바이스에서도 실행되도록 별도 플래그).

Note

  • 설치 경로(/usr/lib/web-configurator)·기본 포트(:9090) 유지. dpworldapp 공유 DB·계약·타입 무변경(레지스터 표기 정합만).

[v1.12.1] — 2026-06-29

Added

  • 텔레메트리 Uplink (Ethernet 전환): dpworldapp 클라우드 텔레메트리(프로토콜·업데이트·RTCM) 송신을 웹 UI 에서 Wi-Fi↔Ethernet 전환. 호스트 라우트(/32)만 사용 — dpworldapp·OS 설정 무접촉. 워치독 자가복원 + 관리 인터페이스 보호.
  • 라우팅 투명성: 서버별 실제 송신 인터페이스 표시 + 인터페이스 선택의 영향(로컬 LAN 가림 등) 적용 전 경고(읽기 전용).

Fixed

  • 전체 소스 리뷰 41건 반영(정직성·안전성·구조): 점검 전 상태의 거짓 정상표시 제거, 설정 로드 실패 시 빈 값 저장 차단, 로그 자동정리 마지막 아카이브 과삭제 방지, 중복 경로/보안 로직 통합 등. dpworldapp 공유 DB(device/protocol 설정)·계약·타입은 무변경.

Note

  • 설치 경로(/usr/lib/web-configurator)·기본 포트(:9090)는 v1.12.0 그대로 유지.

[v1.12.0] — 2026-06-25

Changed

  • 앱 코드 설치 경로 이전: /opt/web-configurator/usr/lib/web-configurator (협력사 BSP 베이킹 정합 — FHS상 /usr/lib 가 read-only program code 자리). 쓰기 런타임 데이터는 그대로 유지: 로그 /opt/log/dpworldapp, 펌웨어 /opt/fw_staging·/opt/fw_upload, 설정 백업 /opt/config_backups.
  • web-configurator.service: ExecStart·WorkingDirectory 를 새 경로로 변경. 코드 디렉토리는 서비스가 직접 쓰지 않으므로 ReadWritePaths 에서 제거(ProtectSystem=strict 하 read-only 로 충분).
  • BSP-INTEGRATION.md 레시피: 코드 설치를 ${libdir}/web-configurator(=/usr/lib) 로 변경, 쓰기 디렉토리 목록에서 코드 디렉토리 제외. scripts/deploy.ps1 $AppDir 동일 이전.
  • 기본 포트 통일 8080→9090: server.py 코드 기본 포트를 9090 으로 변경(systemd 유닛값과 동일). 설정기는 PC 개발·디바이스 모두 :9090 단일 포트. 디바이스의 :8080 은 별개의 레거시 Java app-runner 임을 문서에서 명확화(README/DEPLOY/network-apply-engine-guide). 디바이스 동작은 무변경(유닛이 이미 PORT=9090 지정) — bare/PC 실행 시 기본값만 9090 으로 바뀜.

앱 로직·UI·디바이스 계약은 무변경. 설치 경로(배포 계약) 이전 + 포트 정돈. 이전 버전: v1.11.16.


[v1.11.16] — 2026-06-23

Changed

  • web-configurator.serviceMemoryMax48M → 128M 로 상향. support-bundle(진단 zip, 메모리 빌드)
    • UI 동시 사용 시 실측 피크 ~40-50MB로 OOM-kill 위험이 있어 여유를 확보 (장비 RAM 3.4GB 대비 3.7%, 누수 방지 캡은 유지). 정적자산 최대 93KB·펌웨어 업로드는 디스크 스트리밍이라 메모리 영향 없음.

Docs

  • BSP 통합 가이드 정비 — 네트워크-적용 하드닝본을 /usr/bin/dpworld-network-apply.sh 원본 교체 (BSP 베이킹) 하는 것을 1차 방식으로 명시. .service.d override 드롭인은 라이브 후적용 fallback으로 정리. (RELEASE-NOTES.md §3, BSP-INTEGRATION.md §7, docs/firmware-boot-hardening.md)
  • 배포물을 repo 루트(flat) 구조로 정리.

앱 코드·UI는 v1.11.15와 동일 (기능 무변경). 본 릴리스는 배포 단위의 메모리 정책 + 통합 가이드 정비입니다.


[v1.11.15] — 2026-06-23

Changed

  • 사이드바 네비게이션 정비: System 그룹(Dashboard + Log)과 Firmware 그룹 분리, System 그룹에 monitor 아이콘 적용. (v1.11.14–v1.11.15)
  • (v1.11.12–v1.11.13: 대시보드 visual-calm 시도 후 되돌림 — 최종 외형 변화 없음)

[v1.11.11] — 2026-06-23

Changed

  • config 쓰기 경로를 디바이스 config-reader 계약에 정렬: RS485 parity no→none, 2/4-byte order 공백형 (little swap/big swap), register idt float(float64 제거), protocol 목록에서 CAN 제거 (can_input 토글로 대체), 채널 ai2/ai3/di2/di3 지원.

Added

  • 기존 디바이스 DB의 옛 표기를 새 계약 표기로 부팅 시 1회 자동 변환 (멱등 마이그레이션, 변경 전 자동 백업).

[v1.11.10] — 2026-06-20

  • 전체 코드리뷰 반영 — 입력 검증/정규화 강화 다수.