Kuburitswa kwemutauro wechirongwa V 0.4.3

Mushure memazuva makumi mana ebudiriro, imwe vhezheni yemutauro wakanyorwa wechirongwa V (vlang) yakatsikiswa. Zvinangwa zvikuru pakugadzira V zvaive nyore kudzidza nekushandisa, kuverenga kwepamusoro, kuunganidza nekukurumidza, kuwedzera kuchengetedzwa, budiriro inobudirira, kushandiswa kwemuchinjika-chikuva, kudyidzana kwakavandudzwa nemutauro weC, kubata kukanganisa zviri nani, maitiro emazuva ano, uye kugadzirisa zvirongwa zviri nyore. Iyo kodhi yemuumbi, maraibhurari, uye maturusi ane hukama anovhurwa pasi peMIT rezinesi.

Mushanduro itsva:

  • Kunatsiridzwa kwemutauro:
    • New module "encoding.xml" ine parser, kusimbiswa, mayuniti bvunzo.
    • Kuvandudzwa kwerutsigiro rwemacouroutines (IO, network).
    • Deredza ndangariro dzekugovera mabasa muvweb application ne80%.
    • Kuitwa kwe "@VCURRENTHASH" kutsiva "C.V_CURRENT_COMMIT_HASH".
    • Kusimudzirwa kwemhando itsva ye int kwatanga, yakabatana nerudzi rwei64 (kare iyo int type yaizivikanwa nerudzi rwei32).
    • Kugadziriswa kwemhando yekutarisa mitemo yeiyo nyowani int mhando uye optimization yekugadzira kodhi.
  • API inoshandura inotyora kuenderana:
    • Duramazwi rekuti "Request.cookies" raregedzwa rikatsiviwa ne"Request.cookie()" uye"Request.add_cookie()".
    • Mitemo yakasimba yemhando dzeC, iyo inofanirwa kugara ichiziviswa.
  • Shanduko kumhando yekutarisa system:
    • Sarudzo/mhedzisiro yambiro yakapatsanurwa yakaendeswa kune kukanganisa chikamu.
    • Gadzirisa kufona "fn" ine sarudzo yekupokana mune autofree mode.
    • Cheki yezita yakadzoswa: pascal kesi yemaalias.
    • C.xx = C.yy mazita.
    • Bvumira kukanda kwemarudzi akakwana sezvikamu mumabhuroko emasvomhu.
    • Yambiro nezve kuderedzwa kwemhando yebyte (ichifarira u8 mhando) kana ichishandiswa sefn paramende.
    • Gadzirisa append nzira yegeneric arrays.
    • Kutarisa kukanganisa kwekuita kweimwe module yakavanzika interface.
    • Yakagadziriswa yekutarisa yakaipa kukosha kwe cap, len kana uchitanga array.
    • Chinja yambiro nezve duplicate module mazita var uye param kuita kukanganisa.
    • Bvumira kudzokororwa kweiyo yakagovaniswa shanduko yakazara (uchiri kuchengetedza iyo yapfuura mamiriro emutex).
  • Parser kunatsurudza:
    • Yakagadziriswa kugoverwa kweiyo static nzira kune asingazivikanwe mabasa.
    • ast: Fixed fomati ye struct declaration ine nested chimiro.
    • Yakawedzera set_all + clear_all nzira ku "[mureza]" bitfields.
    • Yambiro pamusoro pezvisina kushandiswa kunze kwenyika, kunyangwe zvichiziviswa kuburikidza ne "import math {sin, cos }".
  • Compiler shanduko:
    • cheki, muvaki, pref: tsigiro ye "-dump-defines" mureza kuti uone ese aripo mushandisi uye sisitimu tsananguro yechirongwa chakapihwa.
    • mepu: akawedzera maps.merge() uye maps.merge_in_place() mabasa.
  • Standard Library:
    • buildin: Yakawedzerwa "isina kuchengeteka {a.reset()}" nzira yekukurumidza kuseta mabheti ese muhurongwa kusvika ku0.
    • math.fractions: Kushandisa opareta kuwedzeredza uye kurerutsa mabasa ekare.
    • gg: Yakagadziriswa kurongeka kwepasi muganho we draw_rounded_rect_empty pane macos uye linux.
    • crypto.bcrypt: yakagadzirisa bug mu bcrypt.
    • sokol: yakagadziridzwa kune yazvino vhezheni
    • buildin: fixed sizeof(C.BOOL) (mahwindo chaiwo).
    • math.big: gadzirisa kupatsanurwa kwakashata nenhamba dzisina kunaka.
    • os: yakawedzera nzira iri nyore yekufuratira mamwe masisitimu ehurongwa.
    • os: gadzirisa os.ls(folder) mumahwindo kana dhairekitori rakachengetedzwa risingakwanisi kuvhurwa.
    • crypto.sha/md5/: Fixed calculation of the same hashi values pakufona .sum() kakawanda for sha1/256/512.
    • os: inoshandiswa os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1.
    • json2: yakawedzera tsigiro yezvivakwa nested.
  • dandemutande
    • vweb: akawedzera mime types for static .md mafaira.
    • net.conv: yakawedzera varinttou64 uye u64tovarint mabasa ekukodha asina kusaina mapeji akasiyana sekutsanangurwa kwazvinoitwa murfc-9000 (yeQUIC).
    • net.http: tsigiro inotsanangura pa_kumhanya, pa_kumira, pa_yakavharwa kudzoserwa runhare mu http.Server{}, uye show_startup_message: nhema.
    • net.http: Rutsigiro rweHTTP proxy passthroughserver mu http.fetch.
    • net.http: Wedzera kuedza zvakare ku http.fetch() kune zvisingadzivisike socket kukanganisa.
    • wasm: yakaitwa inline assembly.
    • net.http: max_redirects kukosha kwakawedzera kusvika 16.
    • picoev: kuitiswa kweyakaomeswa modhi yebasa rakananga nematsananguro efaira.
    • net.http: yakawedzera rutsigiro rwemasokisi5 uye http (s) proxy yeunix-senge masisitimu.
  • ORM:
    • orm: yakawedzera kubata kwezvisina maturo uye minda yekusarudza.
    • orm: Yakagadzirwa is_null/is_not_null mashandiro unary.
  • Database Drivers:
    • pg: C inofona yakaendeswa kune .cv mafaira.
  • Native backend:
    • native: tsigiro ye -no-builtin mureza (inogadzira <1KB Linux inotemerwa ne "v -no-builtin -b native examples/hello_world.v").
    • native: shandisa i32 pane int.
  • C-backend:
    • ast, native, cgen: yakawedzera tsigiro ye "$ if native {}".
  • vfmt:
    • Ikozvino inobvisa yakawedzera mitsara yekutyora mushure mekufona_expr uye pamberi pekugadzirisa nharo.
    • Yakagadziriswa kurongeka kwezvinokosha paunenge uchishandisa makiyi ane uft8 zviratidzo.
    • Kurongeka kwemataurirwo e ternary mu const blocks.
  • Zvishandiso:
    • Yakawedzera rutsigiro rwe @LOCATION, kuitira kugadzirisa zviri nyore pasina kusanganisa @FILE uye @LINE panguva yekumhanya.
    • benchmark: yakawedzera nzira itsva b.record_measure/1 uye b.all_recorded_measures/0.
    • ci: yakagadziridzwa github workflow c2v.
    • tambo: akawedzera Bulder.write_decimal/1 nzira (yekunyora nhamba yedesimali, pasina mimwe migove).
    • Yakagadziriswa kuiswa kweiyo iripo module uchishandisa vpm (mahwindo).
    • tools.vpm: Mabatirwo akavandudzwa eURL anopera ne ".git".
    • Yakawedzerwa zvinodiwa kune v.mod faira yekuisa ma modules kuburikidza nekunze zvinongedzo uchishandisa vpm.

Source: opennet.ru

Voeg