Repository navigation
Releases: seojune662/bandal
Release list
v0.92.9
Full Changelog: v0.92.8...v0.92.9
v0.92.8 — 미리보기로 찾고 넓게 보는 자료
오른쪽 자료 목록에 첫 페이지 미리보기, 두 줄 제목, 수정일과 자료 유형을 표시한다. 폴더를 열면 그 안의 자료를 보고, 상위 폴더와 경로 버튼으로 이동한다. 기존 한 줄 트리는 ‘간단히’로 남기고 아이콘·열·갤러리 보기와 이름·수정일·종류 정렬을 제공한다.
자료 제목 옆 ‘넓게 보기’는 같은 탐색 화면을 최대 980px로 펼친다. 폴더·검색·선택·스크롤과 원래 사이드바 폭을 유지하며, 문서를 열면 원래 작업창으로 돌아간다. 가려진 문서와 네이티브 브라우저 세션을 유지하고 배경 입력을 막는다. 프로젝트의 유형별 학습 자료와 외부 자료 기능은 유지한다.
파일명과 본문을 현재 폴더 및 하위 폴더에서 함께 검색한다. ‘전체 자료에서 검색’으로 현재 과목·프로젝트 전체까지 넓힐 수 있다. 본문 결과는 해당 PDF 페이지나 마크다운 문단으로 이동한다. 처음 여는 PDF도 별도 백그라운드 프로세스에서 페이지별로 색인하며 200페이지·20만자 제한을 적용하지 않는다. 색인 중·일부 실패를 표시하며 스캔 이미지와 손글씨 OCR은 포함하지 않는다. 검색 캐시는 사용자 자료 DB와 분리한다.
일반 PDF와 PDF 노트 모두 저장된 첫 페이지 필기·하이라이트를 미리보기에 합성한다. 원본 버전을 검증하고 파일별 저장 알림으로 갱신하며, 160개 이후 필기도 표시한다. 목록 가상화와 최대 2개 동시 썸네일 생성으로 긴 폴더를 탐색한다.
자료를 접은 상태에서 파일이 갱신되어도 작업 화면이 옆으로 밀리지 않도록 스크롤 범위를 보완했습니다. 자료·편집기·PDF 내부의 스크롤은 유지합니다.
앱 커밋: 7cc23b87b7b8b2469f5f2bea0b5d9efb3d93d54f.
검증: 같은 앱 커밋의 CI 단위 검사 1,553개와 macOS·Windows 패키지 E2E 각각 97개를 통과했습니다. 공개 자산 12개와 두 업데이트 피드, 업데이트용 ZIP·EXE의 SHA-512·SHA-256·크기, macOS 서명·공증 및 홈페이지 버전 반영을 확인했습니다.
v0.92.5 — 빈 상단 여백 없이 탭 배치
상단의 빈 여백을 없애고 분할 탭을 창 맨 위에 배치했습니다. 오른쪽 위 세 개의 고정 버튼은 독립된 박스로 같은 위치를 유지합니다.
- 사이드바 접기·폭 변경·전체화면에서도 탭과 창 제어 버튼이 겹치지 않도록 실제 모서리 위치를 반영합니다.
- 탭·도구를 숨길 때 불필요한 공간을 없애며, 문서와 웹 페이지 세션은 유지합니다.
- Windows 자료 사이드바의 중복 상단 여백도 제거했습니다.
macOS Apple Silicon·Intel 및 Windows 설치 파일과 자동 업데이트를 제공합니다.
v0.92.3 — 고정 화면 제어와 다중 윈도우
v0.92.3 — 고정 화면 제어와 다중 윈도우
한 과목이나 프로젝트 안에서 여러 작업 화면을 유지하고, 필요한 탭·도구만 표시할 수 있다.
- 오른쪽 위의 둥근 고정 버튼 묶음에서 탭·도구 표시, 윈도우 관리, 오른쪽 사이드바를 제어한다. 공통 44px 상단 영역 아래에 작업 화면과 사이드바를 배치하고 Windows 창 제어 공간을 확보한다.
- 표시 메뉴는 모두 표시, 탭 바만 숨기기, 탭 바와 도구 모음 숨기기를 제공한다. 현재 윈도우의 모든 분할에 적용하며, 문서 내용과 녹음·저장 오류 표시는 유지한다.
- 과목·프로젝트마다 윈도우 추가, 선택, 이름 변경, 순서 변경과 닫기를 제공한다. 각 윈도우의 탭·분할·표시 모드와 PDF 페이지·확대율·노트 보기 위치를 저장한다. 마지막 윈도우는 유지하며, 닫기 전 문서 저장이나 기존 닫기 검사가 실패하면 닫지 않는다.
- 관리 화면에서 실제 작업 화면의 축소본을 보여 준다. 네이티브 브라우저 화면을 합성하고 비공개 탭의 제목·주소·내용을 가린다. 축소본은 프로필별 로컬 캐시에 최신 한 장만 보관한다. 캡처 실패 시 이전 이미지를 유지한다.
- 자료와 오른쪽 AI는 같은 과목·프로젝트의 윈도우끼리 공유한다. 윈도우를 닫아도 자료 파일을 삭제하지 않는다. 관리 화면과 비활성 윈도우에서는 편집기·웹뷰 입력을 차단한다.
- 학교·AI 바로가기는 과목과 프로젝트를 전환해도 같은 위치와 접힘 상태를 유지한다. 자료 헤더의 제목·소속은 왼쪽, 가져오기·추가·새로고침은 오른쪽에 모으고 보기 선택기는 파일 목록 제목에 배치한다.
- 기존 단일 화면은 첫 윈도우로 읽고 다중 윈도우 저장 구조로 이전한다. 자료 이름 변경·삭제와 프로젝트 이동·복사는 비활성 윈도우에도 반영한다. 비동기 열기는 시작한 윈도우를 대상으로 완료한다.
검증
- 커밋:
434ffcc37a94e49d3f621be61264f5ec971cea86 - 영향 범위 CI: 282개 파일·2,179개 단위 검사와 Node·Web·웹 데모 타입 검사 통과.
- 설치 파일·배포 검증: macOS·Windows 설치본 각각 159개 통과, 선택적 스크린샷 검사 1개씩 제외. macOS ARM·Intel 서명·공증과 보조 도구 검증 통과. 설치 파일·업데이트 파일·피드 12개를 SHA256 검증 후 공개했습니다.
v0.92.0~v0.92.2는 공개 전 검사에서 발견한 전환·파일 잠금·검사 경합을 보완하기 위해 공개하지 않았습니다. Windows 설치 파일은 기존 배포 설정과 같이 미서명입니다. 개인 계정의 실제 로그인·응답과 OS 권한 허용은 자동 검사 범위에 포함하지 않습니다.
공개 자산 12개 모두 HTTP 200·크기 일치를 확인했고, 태그와 최신 경로의 macOS·Windows 업데이트 피드도 0.92.3으로 일치합니다. 공개 ARM64 DMG의 SHA256·피드 SHA512, 내부 앱 버전·서명·Gatekeeper 승인·앱 공증 티켓을 확인했습니다. bandal.io 한글·영문 6개 페이지의 버전과 다운로드 링크도 갱신됐습니다.
v0.90.3
v0.90.3 — 과목·프로젝트와 통합 AI
홈에서 과목 / 프로젝트를 전환하고, 가운데에서 여러 자료를 열어 작업하며, 오른쪽에서 자료 / AI를 사용한다. 문서 안에 반복되던 미니 AI와 왼쪽의 독립 학습·AI·도구 진입을 정리했다.
- 과목과 프로젝트는 같은 폴더형 목록으로 탐색한다. 프로젝트 그룹 생성·이름 변경·이동·드래그 정렬을 지원하며, 영어 읽기와 과목 복습은 프로젝트 종류로 표시한다. 목록 탭 전환은 현재 작업 공간을 바꾸지 않는다.
- 프로젝트마다 문서 탭과 분할 배치, 오른쪽 패널, 선택한 대화와 작성 중인 내용을 보존한다. 글·단어장·퀴즈·카드를 독립 탭으로 동시에 열 수 있다. 연결된 원본 자료도 프로젝트 안에서 열며 명시적으로 원본 과목을 열 때만 공간을 바꾼다.
- 자료 상단에 보기 방식·가져오기·생성하기·새로고침을 배치했다. 목록·아이콘·열·갤러리를 유지하며 파일 가져오기·생성·붙여넣기·드롭은 현재 프로젝트의 자료 루트를 따른다.
- AI는 Chat·퀴즈·플래시카드·예상 문제 모드를 제공한다. 전환만으로 요청을 실행하지 않으며 대화·초안·첨부를 유지한다. 생성 결과에는 저장 위치와 열기 동작을 제공하고, 추가 조건과 여러 원본 자료를 생성 요청에 전달한다. 추가 AI 도구는 AI 더보기, 일반 플러그인은 앱 더보기에서 실행한다.
- 자료 선택기로 여러 파일을 첨부하거나 Annotate로 PDF·웹페이지·마크다운·이미지의 부분을 계속 모을 수 있다. 선택 당시의 본문·위치·캡처와 사용자 코멘트를 보존하고, 여러 분할 화면에서 모은 참조를 한 질문에 전달한다. 선택 모드는 완료·Esc·전송·공간 변경으로 종료된다. 전송 실패 시 초안과 참조를 보존한다.
- 브라우저 선택은 살아 있는 페이지의 의미 있는 요소를 사용한다. PDF는 열을 구분한 텍스트 후보, 이미지·스캔 문서는 페이지 또는 직접 영역 선택을 제공한다. 작은·큰 후보를 조정할 수 있으며 OCR은 추가하지 않았다. 한 번에 최대 20개 참조를 명시적으로 제한하고 오래된 참조를 자동 삭제하지 않는다.
- 기존 폴더·학습 ID·풀이 기록·카드 일정·출처를 유지한다. 과거 중앙 AI와 미니 AI 대화는 같은 대화 ID로 오른쪽에서 접근한다. 레이아웃 이전 전 원본을 보존하고, 프로젝트 폴더 이동·복사·삭제·복원 시 관련 메타데이터를 함께 처리한다.
검증 범위
변경된 저장소·작업 공간·학습·자료·AI·Annotate의 단위 회귀와 node/web/web-demo 타입 검사를 수행한다. 영향 검사 선택기에 Annotate·통합 AI 생성·프로젝트 그룹 시나리오를 연결했다.
실제 Electron 검사에는 과목·프로젝트 전환과 재시작 복원, 그룹 정렬, 독립 자료의 분할과 기록 저장, 네 가지 자료 보기, 경로 분리, AI 모드·실패·취소·기존 대화, PDF·웹·마크다운 연속 참조, 원문 수정·탭 닫기·실패 후 참조 보존, 네이티브 브라우저 상호작용, 밝은/어두운 테마·좁은 창·키보드 탐색을 포함한다.
AI 응답·로그인·생성 결과와 외부 사이트는 임시 프로필과 고정 fixture로 검사한다. 개인 계정의 실제 AI 응답·로그인, OS 권한 허용은 자동으로 수행하지 않는다. iPad는 디자인 참고이며 이번 UI 변경 대상은 데스크톱이다. 실제 기출 수집·풀이와 스캔 OCR은 포함하지 않는다.
Windows 설치 파일은 기존 배포 설정과 같이 미서명이다. macOS ARM·Intel의 Developer ID 서명·공증, 모든 설치 파일과 업데이트 피드의 버전·무결성·공개 상태는 릴리스 작업으로 검증한다.
공개 검증
v0.90.0은 Windows 설치본 검사 160개 중 158개가 통과했고, 좁은 탭을 선택하려던 검사 클릭이 중앙의 닫기 버튼을 눌러 두 항목이 실패했다. 공개하지 않았으며 v0.90.1에 검사 수정을 포함했다. 기존 hover 닫기 동작은 유지하고 키보드로 탭을 활성화해 탭 수·네이티브 페이지·필기 연결이 보존되는지 확인한다.
v0.90.1도 공개하지 않았다. Windows 설치본 검사 160개 중 159개가 통과했으나, PDF 지연 복원 검사에서 10쪽 이동 후 11쪽이 표시되어 실패했다. 좁은 문서 영역에서 가로로 짧은 10쪽은 상단에 정상 배치됐고, 화면 중앙이 11쪽에 있어 중앙 페이지를 표시하는 기존 동작과 검사 전제가 충돌했다. 저장 위치 응답을 반환하기 전 발생한 현상으로, 지연 복원이 사용자 이동을 덮어쓴 문제는 아니었다. 후속 v0.90.2는 세로 문서로 복원 우선순위를 검사하고 목표 페이지가 화면 중앙을 포함하는지도 확인한다. macOS도 160개 중 159개를 통과했으나, 부분 선택 후 즉시 완료하면 진행 중인 캡처를 폐기하여 참조가 빠지는 경합을 발견했다. 선택 UI의 종료와 이미 클릭한 참조의 저장을 분리하고 전송 전에 남은 캡처를 기다리는 수정을 v0.90.2에 포함한다.
v0.90.2는 macOS 설치본 검사 160개 모두 통과했지만 Windows에서 160개 중 159개가 통과해 공개하지 않았다. 첫 사용자 AI 연결이 빠르게 완료되면 실제 로그인 탭이 열린 직후 내부 탭 목록이 갱신되기 전 종료 신호가 도착하여 임시 탭 하나가 남았다. 후속 v0.90.3은 실제 Dockview 패널을 우선 조회하고, 종료된 요청의 지연 탭 열기를 차단한다. 같은 과목의 프로젝트 사이에서도 로그인 탭의 원래 작업 공간을 유지한다.
2026-10-23 07:58:16 KST에 v0.90.3을 공개했다. 앱 버전과 태그는 0.90.3 / v0.90.3, 배포 커밋은 549765458114ccf9c5c0102b760743ad9a969b7d이다.
- affected-checks CI: 단위 검사 285개 파일의 2,201개 검사와 해당 영역 타입 검사 통과. 릴리스는 같은 커밋의 성공 결과를 재사용했다.
- 릴리스 작업: macOS 설치본 E2E 160/160, Windows 설치본 E2E 160/160 통과. 양쪽 설치 파일 생성과 공개 작업 모두 성공했다.
- macOS ARM·Intel 앱의 Developer ID 서명과 공증 성공. 공개 ARM64 DMG를 다시 내려받아 SHA256과 번들 버전
0.90.3을 확인하고,codesign --verify --deep --strict, Gatekeeperspctl --assess,stapler validate를 모두 통과했다. Windows 설치 파일은 기존 설정과 같이 미서명이다. - 설치 파일·업데이트 압축 파일·blockmap·피드 등 12개 공개 자산의 업로드 SHA256을 검증했다. 공개 URL 12개 모두 HTTP 200과 파일 크기가 일치했고, 태그 및
latest경로의latest-mac.yml·latest.yml네 주소 모두 버전0.90.3을 반환했다. - 웹 버전 동기화가
src/generated/release.ts만 갱신했다. 봇 커밋0b2490e1b17267ed4605d29d35e62d3d032cdd55의 Vercel 운영 배포가 성공했다. bandal.io의 한글·영문 홈·변경 기록·문서 여섯 페이지 모두 HTTP 200과v0.90.3표시를 확인했고, 다운로드 세 종류가 해당 태그의 공개 파일로 연결됐다.
사용자의 별도 .gitignore 변경은 포함하지 않았다. 개인 계정의 실제 AI 로그인·응답과 OS 권한 허용은 위 자동 검사 범위에 포함하지 않는다.
v0.89.2 — 자료 도구 모음과 공유
v0.89.2 — 자료 도구 모음과 공유
PDF·마크다운·노트·이미지·파일·녹음의 탭 아래에 제목과 AI만 반복하던 줄을 제거했다. AI와 공유 버튼은 각 자료의 기존 도구 모음에서 사용할 수 있다.
- 공유 버튼으로 자료마다 저장 위치를 골라 내보낸다. 마크다운은 아직 저장 중인 편집을 먼저 반영하고, 이미지·문서·영상·오디오는 원본 형식을 보존한다.
- PDF는 주석 도구를 펼치지 않아도 공유할 수 있다. 필기·텍스트·하이라이트 저장을 기다린 후 주석 포함 PDF를 만들며 원본 PDF는 유지한다. 화이트보드도 PDF로 내보낸다.
- 좁은 탭은 마우스를 올리거나 키보드 초점을 주면 아이콘 자리에 닫기 버튼이 나타난다. 탭 닫기는 원본 자료 삭제와 별개다.
- 사이트가 여러 파비콘을 제공하면 사용 가능한 후보를 찾고 기본 favicon.ico도 확인한다. 이미지의 실제 형식을 검사해 잘못된 서버 MIME 응답과 인라인 이미지도 처리하며 일시적인 실패는 다시 시도한다.
로컬 검증
- 에이전트 API 사용 범위 검사 6개 통과.
- 파비콘·탭 아이콘 단위 21개, 내보내기·화이트보드 단위 35개, PDF 저장 세션·주석·마크다운 세션 단위 44개와 AI 보조 패널 단위 16개 통과.
- node/web/web-demo 타입 검사, 앱 빌드와 영향 검사 선택 스크립트 82개 통과.
- 실제 Electron에서 최신 Markdown·편집 중인 PDF 텍스트의 내보내기, 원본 바이너리 보존, 화이트보드·녹음 자막 저장/취소, 32px·compact 탭 닫기, 실제 파비콘 디코딩, 마크다운 서식과 좁은 PDF 도구 모음을 확인했다.
- 일반 폭과 1024px 창의 양 사이드바·좌우 분할에서 공유·AI 버튼 배치와 밝은/어두운 테마를 확인했다. 같은 PDF를 여러 탭에 열었을 때 모든 해당 저장 세션을 기다리며, 다른 파일의 저장 실패는 내보내기를 막지 않는다.
파일 선택 결과와 녹음은 합성 fixture로 검증했다. 실제 마이크 권한·음성 인식 모델 다운로드·개인 로그인 사이트는 이번 자동 검증 범위에 포함하지 않는다. Windows 설치 파일은 기존과 같이 미서명이다.
공개 검증
v0.89.0은 새 저장 창 API의 에이전트 사용 범위 누락을 CI에서 발견해 공개하지 않았다. v0.89.1에서 OS 저장 창을 여는 API를 사용자 조작 전용으로 명시했다.
v0.89.1은 설치본 검사 중 기존 브라우저 검사의 새 탭 메뉴 선택과 기준 릴리스 조회 실패로 공개하지 않았다. v0.89.2에서 현재 새 탭 메뉴의 브라우저 항목·URL을 검증하도록 수정했고 단독 Electron 검사도 통과했다. 검사 기준은 최신 공개 안정 릴리스의 조상 여부를 먼저 확인하고, 필요할 때 검증된 전체 JSON 이력을 조회한다. 잘못된 응답과 미공개 태그는 기준으로 사용하지 않으며 실패 진단을 보강했다.
앱 커밋 f0ccc76532473f54f110f172946002cef45e24b9와 v0.89.2 태그·앱 버전이 일치한다.
- CI: 변경 파일에 연결된 단위 검사 1,322개, 검사 선택 스크립트 82개와 node/web/web-demo 타입 검사 통과.
- 정식 릴리스: 동일 커밋의 CI를 재사용하고 macOS·Windows 각각 관련 패키지 E2E 24개 통과. macOS ARM·Intel 서명·공증과 캘린더·사진 선택·공유 확장·브라우저 가져오기 도우미 검사 통과.
- 2026-10-23 02:45 KST v0.89.2 공개. 설치 파일·업데이트 파일 12개 모두 업로드 SHA256 검증 및 공개 HTTP 200·크기 확인 통과. macOS·Windows의 태그별 및 최신 안정 업데이트 피드는 모두 0.89.2다.
- 공개 ARM64 DMG를 직접 내려받아 GitHub SHA256과 대조했다. 번들 버전 0.89.2,
codesign --deep --strict, Gatekeeper의 Notarized Developer ID 승인, stapler 공증 검증을 모두 통과했으며 읽기 전용 마운트를 해제했다. - 웹 자동 갱신 훅이 없어 기존 릴리스 동기화 작업을 실행했다. 웹 커밋
1adc0fb47f752a2da50e772cdc4ead86710ba55c는 생성된 버전 한 줄만 갱신했고 Vercel 배포가 성공했다. 한국어·영어 홈·변경 내역·문서 6개 경로의 HTTP 200·0.89.2 표시와 macOS ARM·Intel·Windows 설치 링크 3개의 v0.89.2 연결·HTTP 200·파일 크기를 확인했다.
v0.88.1
학교 영역을 AI 바로 위, 같은 사이드바 열로 옮겼습니다.
Cmd(macOS) 또는 Ctrl(Windows)를 누른 채 T를 누르면 브라우저 → 마크다운 → 노트 → AI → 녹음 순서로 선택됩니다. 보조키를 놓으면 선택한 탭 하나가 열립니다. 녹음 다음에는 브라우저로 돌아가며, Esc로 취소할 수 있습니다.
노트는 설정된 기본 종이와 방향으로 바로 생성합니다. 네이티브 브라우저 안에서도 첫 T 입력부터 앱으로 초점을 넘겨 반복 입력과 키 해제를 안정적으로 처리합니다.
v0.87.4
변경 사항
- 학교와 과목 목록을 약 44px 위로 당겨 왼쪽 사이드바 상단 여백을 줄였습니다.
- 로그인된 ChatGPT의 Home 아이콘에 마우스를 올려도 사이드바가 열리지 않던 문제를 수정했습니다. 웹사이트의 창 드래그 스타일이 페이지 입력을 가로막지 않도록 일반 탭·새 탭·팝업에서 초기화합니다.
- HTTP 인증 입력과 취소를 구분하고, 인증서·사이트 권한창이 실패하거나 취소됐을 때 요청이 남지 않도록 처리했습니다.
- 숨겨져 클릭할 수 없던 자료 검색 결과를 복원했습니다.
- 학습자료 마켓플레이스를 공식 커뮤니티로 전환하고 글·댓글·공감·신고·운영자 관리와 공부 도구 공모 기능을 포함했습니다. 기존 거래·자료 기록은 보존하며 공모는 미공개·일정 미정 상태입니다.
로그인된 ChatGPT에서 사용자의 실제 마우스로 Home hover 복구를 확인했습니다. Windows 패키지의 해당 회귀도 재시도 없이 5회 통과했습니다. 브라우저의 실제 OS 권한·학교 SSO·개인 인증서·DRM 지원 범위는 점검 기록, 커뮤니티 운영 준비는 운영 문서를 참고하세요.
검증
- 동일 커밋 CI: 영향 범위 단위 검사 1,169개, 별도 백엔드 검사와 타입 검사 통과.
- 패키지 검사: macOS 60개·Windows 60개 통과.
- macOS Intel·Apple Silicon 앱 서명·공증과 동봉 도우미 검증 완료. Windows 설치 파일은 기존과 같이 미서명입니다.
Full Changelog: v0.86.0...v0.87.4
v0.86.0
자료 보기와 외부 자료 가져오기를 개선했습니다.
- 자료 패널에서 아이콘·목록·열·갤러리 보기를 선택하고 기억합니다. PDF·사진·문서 미리보기를 제공합니다.
- 외부 자료 패널에서 Finder 폴더와 사진을 선택하고, 이미지를 PDF·Markdown에 드래그해 추가할 수 있습니다.
- macOS 공유 메뉴의 반달 확장으로 파일·사진·텍스트·링크를 받고, 과목과 저장할 폴더를 선택합니다. 첫 과목 생성과 중복 파일 보존도 지원합니다.
macOS 13 이상에서는 시스템 사진 선택기를 사용합니다. macOS 12·Windows에서는 이미지 파일을 선택할 수 있습니다. 시스템 공유 메뉴 등록은 macOS에 제공하며, Windows NSIS 설치본에는 포함되지 않습니다.
개인 사진 보관함 선택과 카카오톡 등 외부 앱별 공유 화면은 자동 검사 범위와 구분합니다.