Vala는 오픈 소스, 자유롭고 현대적인 프로그래밍 언어 및 소프트웨어 프로젝트로서 GNOME 개발자에게 새로운 프로그래밍 기능을 제공하기 위해 설계되었습니다. GNOME 개발자가 놀라운 응용 프로그램을 만들 수 있도록 GObject 유형 시스템 용 컴파일러입니다.
기능 요약
주요 기능에는 인터페이스, 속성, 신호, foreach, 람다 식, 지역 변수에 대한 유형 유추, 제네릭, null이 아닌 유형, 보조 메모리 관리, 예외 처리 및 입력 모듈 a.k.a. plugins이 포함됩니다.
복잡한 객체 지향 코드를 손쉽게 작성할 수 있습니다.
Vala 컴파일러를 사용하면 개발자는 메모리 요구 사항을 낮게 유지하면서 복잡한 객체 지향 코드를 손쉽게 작성할 수 있으며 표준 C ABI 및 API를 유지할 수 있습니다.
기존 C 라이브러리에 대한 액세스 허용
프로젝트는 런타임 바인딩 없이도 기존 C 라이브러리, 특히 GObject 기반 라이브러리에 액세스 할 수 있도록 설계되었습니다.
GTK + 및 GNOME에 이상적입니다.
Vala는 명령 행 컴파일러 및 프로그래밍 언어입니다. GTK + 및 GNOME을 사용하는 개발자는 Vala를 사용하여 코드를 작성하고 컴파일 할 수 있습니다.
C ++, C, C #, Python, D 및 Java의 영향을받습니다.
Vala 프로그래밍 언어는 널리 사용되고 널리 사용되는 C, C ++, D, Python, C # 및 Java 프로그래밍 언어의 영향을 받았습니다. 다른 운영 체제에서 쉽게 이식 할 수있는 크로스 플랫폼 소프트웨어입니다.
광범위한 IDE 프로그램에서 지원됩니다.
또 다른 재미있는 기능은 Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val (a) IDE, Sublime Text, Vim, Gedit 용 Vala Toys, Euclide 등 다양한 IDE IDE와의 호환성입니다. RedCar, TextMate 및 Valama.
가용성 및 지원되는 아키텍처
Vala는 소스 아카이브로만 배포됩니다. 즉, 사용자는 설치 전에 코드를 구성하고 컴파일해야합니다. 물론 기본 소프트웨어 저장소의 GNU / Linux 배포판에도 쉽게 설치할 수 있습니다. 이 시점에서 32 비트 및 64 비트 아키텍처가 모두 지원됩니다.
이 릴리스의 새로운 기능 :
다양한 버그 수정 :
codegen : 제네릭 유형 [# 655]에 전달 된 객체에서 ref_sink 호출
codegen : GDBusMethodInvocation에서 반환 한 후 오류 발생 [# 657]
girparser : 실제로 유형 인수를 해결하여 필요할 경우 상자에 넣을 수 있습니다.
vala : 라이브러리 버전 검색 및 확인을위한 const / 메소드 추가 [# 304]
바인딩 :
glib-2.0 : Array.remove * () 래퍼를 추가하여 일반 요소 유출 방지
glib-2.0 : 추가 (u) long.parse / try_parse () [# 649]
gstreamer : 1.15+ git master에서 업데이트
gtk + -3.0 : 3.23.2 + 6b6e53fd로 업데이트
gtk + -4.0 : 3.94.0 + 4e868584로 업데이트
버전 0.40.7의 새로운 기능 :
다양한 개선 및 버그 수정 :
bugtracker 링크를 https://gitlab.gnome.org/GNOME/vala/issues로 업데이트하십시오.
codegen :
필드의 delegate_target 속성 처리 [# 520]
glib 컬렉션의 무료 일반 요소 [편집] [# 694765]
g_source_new ()의 source_funcs 매개 변수에 대한 경고 수정
실제로 GLib.Source를 compact 클래스로 취급합니다.
GLib.Source의 사용자 지정 추상 메서드는 다르게 처리됩니다. [# 641]
위임 대상에 gpointer를 일관되게 사용합니다.
일부 대리인 유형 검사 패턴 통일
인터페이스를 등록 할 때 base_init 대신 default_init 사용 [# 699550]
girparser : bool에 대한 지원 추가 delegate_target [# 520]
girwriter :
출력 deprecated = "1"
구성 전용 속성에는 setter 메서드가 없습니다.
사용자 정의 속성을 쓰지 마십시오 [# 608]
valadoc : 스택 된 배열에 대한 TreeBuilder.create_array () 수정
바인딩 :
glib-2.0 :
단순형 출력 매개 변수를 nullable로 표시하지 않음 [# 634]
Source.attach ()가 디폴트로 기본 MainContext를 사용하도록하십시오.
Bytes.slice ()를 메모리 효율적으로 사용 Bytes.from_bytes () [# 638]
Fix Bytes.with_free_func ()
gio-2.0 :
ActionEntry.parameter_type / state 필드를 nullable로 표시 [# 632]
DBus * VTable의 위임 필드에는 암시 적 대상 필드가 없습니다.
ActionEntry 콜백에 delegate_target = false를 적용하고 약하게 만듭니다. [# 630]
모든 io_priority 매개 변수에 기본값 추가
gstreamer : 체리 - 0.42에서 몇 가지 픽스를 선택하고, gst-editing-services-1.0을 추가하십시오.
gtk + -3.0 : 3.22.30 + 9ac7f906으로 업데이트
gtk + -4.0 : 3.93.0 + 29fee2e8로 업데이트
webkit2gtk-4.0 : 2.21.4로 업데이트
GIR 기반 바인딩 업데이트
버전의 새로운 기능 :
다양한 버그 수정 :
실제 null이 아닌 구조 매개 변수로 체인 업 회귀 수정 [# 791785]
[# 712694] 사용하고 parse_file ()의 사용자 정의 호출을 유지 한 후 CodeContext에 대한 참조를 릴리스 함 [# 791936]
구문 분석기 : 스위치의 case 문에서 쉼표로 구분 된 목록 수락 [# 614015]
바인딩 :
몇 년 동안 업스트림으로 배송 된 바인딩을 제거합니다.
gedit 3 [# 776021], libgnome-keyring [# 776022],
gtksourceview-3.0 [# 776023], libgdata [# 776024], librsvg-2.0 [# 776025]
glib-2.0 : GLib.OPTION_REMAINING과 GLib.OptionFlags.NONE을 추가하십시오.
gstreamer-1.0 : 1.13+ git master에서 업데이트
gtk + -2.0 : MessageDialog 생성자 매개 변수 message_format을 nullable로 표시 [# 791570]
gtk + -4.0 : 3.93.0 + 6aeae2c8로 업데이트
webkit2gtk-4.0 : 2.19.3으로 업데이트
버전 0.39.1의 새로운 기능 :
하이라이트property-type이 GLib.Object와 호환되지 않는 경우 경고를 표시합니다. [# 693932]
signal.connect ()에 호환 대리자 전달 허용 [# 787521]
가능한 경우 범위가 지정되지 않은 enum 값 허용
ValueType을 반환하고 in / ref 매개 변수에 액세스하는 일부 호출 가능 호출에 temp-var 사용 안 함 [# 789071]
향상된 가독성을 위해 소스 선언 및 정의를 다시 생성 함 [# 688447]
다양한 버그 수정 :
array_length_cexpr을 사용하여 반환 값의 고정 배열을 지원합니다. [# 784691]
vala interpeter-mode에 대한 인수를 올바르게 구문 분석 [# 663070]
GType을 사용하여 구조체에 이름 길이를 = 3 적용 [# 764041]
둘러싸는 유형에 누락 된 유형 매개 변수에 대한 오류보고 [# 587905]
메소드에 부울 "use_inplace"ccode 속성 추가 [# 750840]
소유되지 않은 소유 키워드의 처리 개선
타겟 델리게이트가 throw하는 경우 메소드가 호환 에러를 던질 필요가있다.
인스턴스 필드에 대한 잘못된 멤버 액세스 발견 [# 790903]
일치하지 않는 재정의 메소드의 오류 출력 향상
Valadoc
구조체의 가능한 속성을 확인합니다. [# 784705]
GtkdocRenderer.visit_symbol_link ()에서 치명적인 오타 수정 [# 790266]
바인딩 :
glib-2.0 : (u) int16 / (u) short (u)의 형식 -id / marshaller-type을 사용합니다. [# 693932]
glib-2.0 : * .try_parse ()에 선택적 'unparsed'매개 변수 추가 [# 774124]
gobject-2.0 : 누락 된 기호 추가
gstreamer-1.0 : GST_TIME_ARGS 매크로, GST_STIME_ARGS 매크로 바인딩 [# 750840]
gstreamer-1.0 : 바인드 GST_DEBUG_BIN_TO_DOT_FILE / * _ WITH_TS [# 785215]
gstreamer-1.0 : 1.13+ git master에서 업데이트
gtk + -3.0 : 3.22.26 + 9ce824d3으로 업데이트
gtk + -4.0 : Gsk.RenderNode를 여러 클래스로 나눕니다.
gtk + -4.0 : 3.93.0 + 2d797dd8로 업데이트
webkit2gtk-4.0 : 2.19.2로 업데이트
버전 0.38.3의 새로운 기능 :
다양한 버그 수정 :
codegen : "array_null_terminated = true"보다 "array_length = true"의 우선 순위를 지정합니다. [# 788775]
codegen : 내부 속성 / 신호 정의와의 충돌 가능성을 피하십시오. [# 788964]
바인딩 :
gio-2.0 : g_task_get_source_object를 Task.get_unowned_source_object로 노출 시키십시오.
gstreamer-1.0 : 1.13+ git master에서 업데이트
gtk + -4.0 : 3.92.1로 업데이트
libxml-2.0 : DTD 메서드 추가 [# 789442]
버전 0.38.2의 새로운 기능 :
다양한 바인딩 업데이트 :
gstreamer-1.0, gtk + -3.0, gtk + -4.0 : git master에서 업데이트
gnutls : 인증서의 free_function ccode 속성 수정 [# 788181]
버전 0.38.1의 새로운 기능 :
다양한 버그 수정 :
valadoc : 변수 이름에 'stderr'을 사용하지 마십시오. [# 787305]
codegen : 속성에 대해보다 고유 한 내부 정의를 사용하려고 시도합니다. [# 787436]
vala : 사용 된 속성 목록 업데이트
메소드 : 리턴 유형 불일치의 오류보고에 prototype-string 사용
바인딩 :
glib-2.0 : MainContext.check (), OptionEntry [] 매개 변수가 null로 끝나고, g_convert_with_fallback () 및 g_convert_with_iconv ()
버전 0.37.1의 새로운 기능 :
하이라이트:
installed_version이 오래된 경우 더 이상 사용되지 않는 심볼에 대해 경고하지 않음
--gresourcesdir 옵션을 추가합니다. [# 783133]
다양한 버그 수정 :
gdbus : 직렬화 해제시 중첩 HashTable을 누출하지 않음 [# 782719]
최종 블록을 비동기 출력으로 수정 [# 741929]
병합 표현식에서 null이 아닌 경우 처리 [# 611223]
task_complete 플래그를 & lt; 2.44보다 큼> 2.44 [# 783543]
Nullable ValueType에 POINTER가 마샬 러 서명으로 필요합니다. [# 783897]
NoAccessorMethod 속성은 gobject 속성에만 허용됩니다.
girparser : 대상이없는 델리게이트 별칭의 구문 분석 수정
컴파일러 : PACKAGE_SUFFIX을 (를) 제거하는 대신 API_VERSION 사용
girwriter : 랭크가 & gt; 인 배열의 길이 매개 변수를 씁니다. 1 [# 758019]
바인딩 :
gio-2.0 : DataInputStream.design_line_utf8에 기본값 'length = null'사용 * [# 783351]
gobject-2.0 : GLib.ParamSpecPointer 추가
poppler-glib : 0.54.0으로 업데이트
gstreamer-1.0 : 다양한 바인딩 수정
버전 0.36.3의 새로운 기능 :
다양한 버그 수정 :
scanner : 여러 줄 주석 후 토큰에 대한 열 값 계산 수정 [# 652899]
codegen : coroutines에서 catch되지 않은 오류에 대한 Unref GLib.AsyncResult [# 641171]
구조체 생성자에 대한 결과 변수 초기화 유지 [# 782056]
버전 0.36.1의 새로운 기능 :
다양한 버그 수정 :
항상 자신과 호환되는 방법을 생각해보십시오. [# 773135]
실제 .end () 메서드 - 서명에 대해 인수를 수행합니다. [# 684208]
타겟 유형 불일치에 대한 lamdba 표현식 오류를 약간 개선합니다.
인스턴스 필드의 대리자 이니셜 라이저 수정 [# 683925]
소유 된 대리인을 캐스팅 / 할당 할 때 대상 참조를 누설하지 않음 [# 780426]
GIR 파서 및 작가 :
girparser : 메타 데이터에 destroy 인수 추가 [# 750838]
vapigen : valac에서와 같이 --nostdpkg 옵션을 추가하십시오.
바인딩 :
gstreamer-1.0 : Pad.set _ * _ function () 바인딩 수정 [# 750838]
glib-2.0 : 누락 된 버전 매크로와 상수를 추가하면 unichar.to_string은 null을 반환하지 않습니다.
gtk + -2.0, gtk + -3.0 : Widget.intersect ()의 "intersection"매개 변수를 out으로 표시하십시오.
gtk + -4.0 : 3.90.0으로 업데이트
댓글을 찾을 수 없습니다