4.13
1. Tomcat 7 버전 Server용 프로그램
지금까지 사용하던 Jbori servlet은 Tomcat 6 버전까지 사용할 수 있습니다. 이번에 배포되는 패키지의 'Server/tomcat7' 폴더에는 새로 작성된 프로그램들이 있습니다. 이것을 사용하면 tomcat7과 tomcat8 환경에서 사용할 수 있습니다. 사용 방법은 'Server/tomcat7' 폴더의 readme 서류에 쓰여 있습니다.
2. Sql class 함수 추가
void setUrl (str url)
Tomcat 7버전에서 사용하는 'jbori.jsp'는 property 서류를 사용하지 않습니다. 이 경우에는 기존의 setConnection, setDirectConnection, removeDirectConnection 등의 함수를 사용할 필요가 없고, setUrl 함수를 이용하여 직접 경로를 지정합니다.
3. Edit 변수, double에서 Rat 형식으로
Edit control은 변수로 정의하여 사용할 수 있습니다. 그 중 double 형식으로 사용하던 것들을 모두 Rat 형식으로 변경하였습니다. 기존에 만들어진 view 화면의 edit 변수들은 자동으로 변경됩니다. 이 값을 사용할 때 이전처럼 double로 받아 처리할 수도 있지만, Rat 형식으로 받아 쓰는 것이 정확도를 지킬 수 있는 방법입니다. double을 쓸 수 밖에 없는 상황이 아니라면 Rat 형식을 쓰는 것이 좋습니다.
4. ResultSet class 함수 변경
서버에서 내려 받는 자료들 중 정수 범위를 벗어나는 것들은 double로 처리하고 있었는데, 앞으로는 Rat 형식으로 처리합니다. 이와 관련하여 상수와 함수들도 변경하여 사용하십시오.
CTYPE_DOUBLE --> CTYPE_RAT
getDouble --> getRat
updateDouble -->updateRat
5. Run with Error
Bori 4 버전부터는 build를 해야 실행할 수 있기 때문에, 프로젝트가 많은 view로 이루어졌고 에러가 많은 경우 모두 고치지 않으면 테스트해 볼 수가 없어서 난처한 경우가 발생합니다. 이런 문제를 보완하기 위해 build를 하지 않고 소스 상태로 테스트해 볼 수 있는 기능을 추가하였습니다. 이 기능을 사용하려면 새로 만들어진 실행 버튼 (기존의 실행 버튼에 벌레가 그려져 있습니다)을 누르거나 '프로젝트/Run with Error' 메뉴를 사용하십시오.
6. 테스트 실행 중 debug on/off
테스트 실행 때는 자동으로 debug mode가 됩니다. 이때 debug 정보 창과 별도로 작은 debug on/off 창이 표시 됩니다. 이 표시를 click하면 debug mode를 변경할 수 있습니다. Debug off되어 있으면 debug 표시에 있더라도 정보 창이 표시되지 않고 계속 진행됩니다.
7. debug 명령 기능 확장
debug (expression, expression, ...);
debug 명령 ( ) 안에 변수명 뿐 아니라 수식도 사용할 수 있도록 확장하였습니다.
8. Int class 함수 추가
int round (int minimum)
int roundDown (int minimum)
int roundUp (int minimum)
위 함수들의 minimum 값은 1을 제외한 10의지수값들(10, 100, 1000, ...)입니다.
9. Rat class 함수 추가
Rat round (Rat minimum)
Rat roundDown (Rat minimum)
Rat roundUp (Rat minimum)
위 함수들의 minimum 값은 10의지수값들(..., 100, 10, 1, 0.1, 0.01, 0.001, ...)입니다.

str toString (str format)
str toString (str format, int decimalPlaces)
위 함수들은 toString()의 확장입니다. format은 "," 또는 ""이고, decimalPlaces는 소수점 자리수에 맞추어 '0'을 붙여 줍니다. 소수 부분이 지정한 자리수보다 많은 경우는 그대로 모두 표시됩니다.
10. Math class 함수 삭제
round, ceil, floor 함수들이 삭제되었습니다.
11. parse 함수 추가
static int parse (str s) // int class
static Rat parse (str s) // Rat class
static double parse (str s) // double class
문자로 쓰여진 숫자를 각각의 수치 형식으로 변경할 때 사용합니다.
12. foreach 키워드 추가
리스트 형식의 자료를 처리하는 foreach 키워드가 추가되었습니다.
foreach를 사용할 수 있는 리스트 형식의 자료 타입으로는, Strs, Rats, Doubles, Images, List, Range, Vars들이 있습니다.
개발자가 만든 class에도 이 기능을 구현할 수 있습니다.
13. List <- Array
'Array' Class 이름을 'List'로 변경합니다. Bori에서 두 용어는 차이가 없지만 다른 언어들과 용어를 맞추기 위해, 더 가까운 의미의 이름으로 변경합니다. 기존에 사용하던 'Array'는 내부적으로 인정합니다.
14. Editor 창 위치 옵션
프로그램을 작성하는 editor에서 popup 메뉴에 'Editor'라는 메뉴가 추가되었습니다. 이 메뉴의 옵션을 선택하면 editor 창의 위치를 변경할 수 있습니다.
15. Project 서류의 공용 변수, 공용 함수
새로 만드는 프로젝트에는 공용 변수, 공용 함수 기능이 지원되지 않습니다. 기존의 프로젝트라도 공용변수, 공용함수가 없는 경우도 기능이 지원되지 않습니다.
 
4.12
1. Project exe 파일의 버전 독립성 및 BoriView.x.xx.exe 파일
빌드를 하면 bin 폴더에 BoriView.x.xx.exe (x.xx는 버전) 파일이 만들어집니다. 이 서류와 Bori.x.xx.dll, project_ 파일과 함께 서버에 올립니다.
이제 프로젝트 exe (예: Test프로젝트라면 Test.exe)는 버전 독립적입니다. 이 서류는 사용자 컴퓨터에 폴더를 만들고 그 속에 넣어 줍니다. 이 서류를 실행하면 서버의 project 서류를 읽고 해당 버전의 BoriView.x.xx.exe와 Bori.x.xx.dll을 다운로드하여 실행을 넘겨 줍니다.
Bori 버전이 변경되어 새로 빌드하였으면, 새 버전의 서류들을 서버에 올려놓으면 되고, 사용자 컴퓨터에는 자동으로 업그레이드 됩니다.
2. Executables
Project 서류에 Executables 항목이 새로 생겼습니다. 여기에는 Basic, Additional, Obsolete로 나뉘어지는데, Basic에는 기본 실행 서류들이 기록되어 있습니다. Additional은 개발자가 추가로 사용할 dll 등을 쓸 수 있고, 실행시 다운로드됩니다. 이 서류들은 bin 폴더에 있어야 합니다. Obsolete에는 사용자 컴퓨터에 이미 다운된 실행 서류들(exe, dll 등) 중 필요없어진 서류들을 기록합니다. 이 서류들은 프로그램 실행시 삭제됩니다.
3. Run with Error
프로젝트 메뉴에 'Run with Error' 항목이 추가되었습니다. 이 메뉴를 선택하면, build하지 못한 서류가 있어도 무조건 실행시켜 줍니다.
4. View class 함수 추가
static void openView (str viewfile)
static void openView (str viewfile, Vars vars)
static void openView (str viewfile, str command)
 
4.11
1. debug 지시어 신설
문법 : debug(...);
위 문장이 선언된 부분에서 프로그램이 정지하고, 지정된 변수들의 정보를 별도의 window에서 보여 줍니다. ( ) 안에는 변수, 문자, 정수 등을 여러개 지정하거나 빈칸으로 남겨둘 수 있습니다. 각각의 요소들은 comma(,)로 구분합니다.
* debug 명령은 디자이너에서 실행시킬 때만 작동하므로 그대로 프로그램을 배포하여도 문제가 없습니다.
* 이 창은 dialog 형식이지만, 크기가 조정되고 이동된 경우 위치도 기억됩니다.
2. SystemInfo class 함수 추가
static str getDirectory (int id)
id는 같은 class의 'GD_'로 시작되는 상수를 사용합니다.
예) Desktop 폴더 경로를 구합니다.
str path = SystemInfo.getDirectory(SystemInfo.GD_DESKTOP);
* 이 함수는 Windows Vista 이상에서만 적용됩니다.
* getAppDataDirectory 함수는 getDirectory 함수로 처리할 수 있으나, Windows XP 환경을 위해 남겨 둡니다.
 
4.10
1. Xml class 함수 추가
bool readBuffer (Buffer buffer)
이 함수를 사용하면 buffer에 들어 있는 xml 자료를 바로 읽어 들일 수 있습니다.