வாலா நிரலாக்க மொழி 0.50.4க்கான தொகுப்பியின் புதிய பதிப்பு வெளியிடப்பட்டுள்ளது. நீண்ட கால ஆதரவு (LTS) கிளை வாலா 0.48.14 (உபுண்டு 18.04 க்காக தொகுக்கப்பட்டது) மற்றும் சோதனை கிளை வாலா 0.51.3 ஆகியவையும் புதுப்பிக்கப்பட்டுள்ளன.
வாலா மொழி என்பது ஒரு பொருள் சார்ந்த நிரலாக்க மொழியாகும், இது சி# அல்லது ஜாவா போன்ற தொடரியல் வழங்குகிறது. Gobject (Glib Object System) ஒரு பொருள் மாதிரியாகப் பயன்படுத்தப்படுகிறது. நினைவக மேலாண்மை உரிமையினால் (சொந்தமான/சொந்தமில்லாத இணைப்புகள்) அல்லது ARC ஐப் பயன்படுத்தி மேற்கொள்ளப்படுகிறது (அழிப்பவர்களை மாற்றுதல் மற்றும் தொகுக்கும் கட்டத்தில் பொருள் குறிப்பு கவுண்டர்களின் குறைப்பு).
மொழி உள்நோக்கம், லாம்ப்டா செயல்பாடுகள், இடைமுகங்கள், பிரதிநிதிகள் மற்றும் மூடல்கள், சிக்னல்கள் மற்றும் இடங்கள், விதிவிலக்குகள், பண்புகள், பூஜ்யமற்ற வகைகள், உள்ளூர் மாறிகளுக்கான வகை அனுமானம் ஆகியவற்றிற்கான ஆதரவைக் கொண்டுள்ளது. கிட் C இல் உள்ள நூலகங்களுக்கு அதிக எண்ணிக்கையிலான பிணைப்புகளுடன் வருகிறது (vala-girs, vala-extra-vapis). வாலா நிரல்கள் சி பிரதிநிதித்துவமாக மொழிபெயர்க்கப்பட்டு, பின்னர் நிலையான சி கம்பைலர் மூலம் தொகுக்கப்படும். நிரல்களை ஸ்கிரிப்ட் முறையில் இயக்க முடியும்.
ஸ்பைசோக் பெயர்:
- கன்ஸ்ட்ரக்டர்ஸ் கிளாஸ் ஃபூ{ பப்ளிக் ஃபூ(பாரம்ஸ் ஸ்ட்ரிங்[] ஆர்க்ஸ்){ஃபோர்ச் (வார் ஆர்க் இன் ஆர்க்) பிரிண்ட்(ஆர்ஜி)க்கான பாராஸ் முக்கிய வார்த்தைக்கான கூடுதல் ஆதரவு சேர்க்கப்பட்டது; } }
- கோட்ஜென்:
- SimpleType struct கன்ஸ்ட்ரக்டர்களுக்கான மேம்படுத்தப்பட்ட ஆதரவு (உதாரணமாக typedef uint32_t people_inside ஐ பிணைக்கப் பயன்படுகிறது; C இலிருந்து) [SimpleType] [CCode (cname = "people_inside")] Public struct PeopleInside : uint32 {}
- "NoWrapper" பண்புக்கூறின் மேம்படுத்தப்பட்ட கையாளுதல்.
- CCode.type_cname மற்றும் get_ccode_type_name() ஆகியவை வகுப்புகளுக்கு அனுமதிக்கப்படுகின்றன.
- G_TYPE_INSTANCE_GET_CLASS/INTERFACE எப்போதும் வெளிப்புறக் குறியீடுகளுக்குப் பயன்படுத்தப்படுகிறது.
- குவியல் மீது GLib.Value ஐ ஒதுக்க இலவச ரேப்பரில் g_boxed_free பயன்படுத்தப்பட்டது.
- GLib.Value இன் மறைமுகமான அன்பாக்சிங் போது நினைவக கசிவு சரி செய்யப்பட்டது (எந்த வகையான மதிப்பு வகையிலும் உலகளாவிய கொள்கலன்).
- குவியலாக ஒதுக்கப்பட்ட கட்டமைப்பை அடுக்கிற்கு நகர்த்தும்போது நினைவக கசிவு சரி செய்யப்பட்டது.
- பெற்றோர் கட்டமைப்பை அழிப்பவரின் பரம்பரை உறுதி செய்யப்படுகிறது
- உள்ளமைக்கப்பட்ட நடிகர் வெளிப்பாடுகளின் குறியீடு_குறிப்பின் சரியான மீட்டெடுப்பு மேம்படுத்தப்பட்டுள்ளது.
- CCodeCastExpression இன் அனைத்து உள்ளமை நிகழ்வுகளும் அகற்றப்பட்டன.
- இயல்புநிலை சிக்னல் ஹேண்ட்லரை தவறாக அழைப்பது நிறுத்தப்பட்டது.
- strcmp() க்கான "string.h" இணைக்கப்பட்டது (POSIX சுயவிவரம், நிலையான C நூலகத்தை மட்டும் பயன்படுத்தி வாலா குறியீட்டை உருவாக்கும் பயன்முறை).
- வாலா:
- நகல் தொகுப்பு மூல கோப்புகளை மேம்படுத்தப்பட்ட கண்டறிதல்.
- GtkChild புலங்கள்/சொத்துகள் சொந்தமற்றவையாக அறிவிக்கப்பட வேண்டும்.
- GtkChild புலம்/சொத்தை மறுஒதுக்கீடு செய்வது தடைசெய்யப்பட்டுள்ளது.
- ஒரு வேலையை ஒப்படைக்கும்போது லாம்ப்டாவிற்கு கடுமையான நிபந்தனை பயன்படுத்தப்பட்டது.
- ஒற்றை-பயன்பாட்டு எளிய வகை கட்டமைப்புகளைப் பயன்படுத்துவது தடைசெய்யப்பட்டுள்ளது.
- GLib.Value unboxing ஆனது சொந்தமில்லாத மதிப்பு திரும்புவதை உறுதி செய்கிறது.
- GLib.Value ஐ nullable struct/Simple வகைக்கு அனுப்புவது தடைசெய்யப்பட்டுள்ளது.
- அடிப்படை வகைகள்/வகுப்பு/இடைமுக முன்நிபந்தனைகளில் வகை வாதம் சரிபார்ப்பு சேர்க்கப்பட்டது.
- va_list அளவுருக்கள்/மாறிகளைக் கைப்பற்றுவது தடைசெய்யப்பட்டுள்ளது.
- C UB ஐத் தவிர்க்க அணுகும்போது ஒரு கட்டமைப்பிற்கான சுட்டியைக் கொண்டிருக்கும் ஜெனரிக்ஸ் சரியான வகைக்கு அனுப்பப்பட வேண்டும்.
- enum இன் உள்ளே "in" க்கு செயல்படுத்தப்பட்ட வகை அனுமானம்.
- எழுதக்கூடிய புலத்திற்கான பணிகளுக்கான மேம்படுத்தப்பட்ட சூழல் சரிபார்ப்பு.
- Enum.to_string() (POSIX)க்கான "stdlib.h" சேர்க்கப்பட்டுள்ளது.
- "இது" மற்றும் "முடிவு" ஆகிய மறைமுக மாறிகளுக்கு சரியான source_reference அமைக்கப்பட்டுள்ளது.
- unary வெளிப்பாடுகளின் தவறான உள் இயக்கத்திற்கான பிழைச் செய்தியை வழங்கியது.
- கோடெரைட்டர்: ";" ஐச் சேர்ப்பது நிறுத்தப்பட்டது ஸ்டேட்மெண்ட்டுடன் உடல் பிறகு.
- கிர்பார்சர்:
- மெய்நிகர் முறை அல்லது சமிக்ஞையால் ஆதரிக்கப்படாத அநாமதேய பிரதிநிதியின் செயலாக்கம் வழங்கப்படுகிறது.
- முறைகள் மற்றும் அளவுருக்களுக்கு "delegate_target" மெட்டாடேட்டா பயன்படுத்தப்பட்டது
- புலங்களுக்கு "destroy_notify_cname" மெட்டாடேட்டாவைப் பயன்படுத்தவும்
- வகுப்புகள் மற்றும் இடைமுகங்களுக்கு "type_get_function" மெட்டாடேட்டாவைப் பயன்படுத்தவும்
- வகுப்புகளுக்கு CCode.type_cname ஐ அமைக்கவும்.
- girwriter: நிகழ்வு அளவுரு கூறுகள் எழுதப்பட்டிருப்பதை உறுதி செய்கிறது.
- girwriter: செயல்படுத்தப்பட்ட இயல்புநிலை சமிக்ஞை கையாளுதல் வெளியீடு.
- libvaladoc/html: html ஆவணங்களை உருவாக்கும்போது அவற்றின் அசல் வரிசையை விட்டு வெளியேற கட்டமைப்பு புலங்களின் வரிசையாக்கம் நீக்கப்பட்டது valadoc.org
- libvaladoc: Api.Class.is_compact க்கான மதிப்புகள் சரியாக மீட்டெடுக்கப்படுவதை உறுதி செய்யவும்
- libvaladoc: "agedge" graphviz நூலகத்திற்கான ரேப்பர் சேர்க்கப்பட்டது
- பிணைப்புகள்:
- பிணைப்புகளை உருவாக்கும் போது சிறிய திருத்தங்கள்: கெய்ரோ, கோப்ஜெக்ட்-2.0, பாங்கோ, கூகான்வாஸ்-2.0, கர்சஸ், அல்சா, பிஸ்லிப், ஸ்க்லைட்3, லிப்ஜிவிசி, போசிக்ஸ், ஜிஸ்ட்ரீமர்-1.0, ஜிடிகே-3.0, ஜிடிகே-x11-ஜி+டி, 3.0. உருகி, libxml-3.0
- gdk-pixbuf-2.0: Pixbuf.save_to_streamv_async()
- gio-2.0: PolllableOutputStream.write*_nonblocking() பிணைப்பு திருத்தம்
- gio-2.0,gtk+-3.0,gtk4: va_list அளவுருக்களின் வெளிப்படையான c-வகை பண்புக்கூறுகள் நிராகரிக்கப்பட்டன
- gio-2.0: சில AppInfo/File.*() முறைகளுக்கு தேர்ந்தெடுக்கப்பட்ட விடுபட்ட அழைப்பாளர்
- glib-2.0: GLib சேர்க்கப்பட்டது.[S]List.is_empty() பூஜ்யமற்ற வசதிக்கான முறைகள்
- glib-2.0: assert_cmp* செயல்பாட்டை பிணைத்தல் [#395]
- glib-2.0: மேம்படுத்தப்பட்ட OptionEntry.flags புல வகை
- glib-2.0: PtrArray இப்போது GenericArray இன் துணைப்பிரிவாகும்
- gstreamer-1.0: MiniObject இன் CCode.type_id G_TYPE_BOXED [#1133]
- gtk+-2.0,javascriptcoregtk-4.0: CCode.type_cname பண்புக்கூறின் சரியான பயன்பாடு
- gtk+-3.0,gtk4: சில பிரதிநிதி வருவாய் மதிப்புகள் மற்றும் அளவுருக்கள் சரி செய்யப்பட்டது
- gtk4: பதிப்பு 4.0.2 க்கு புதுப்பிக்கப்பட்டது.
ஆதாரம்: opennet.ru