- Servo के अगस्त 2024 अपडेट में web engine features से लेकर servoshell browser, Windows quality, developer tools और CI stability तक कई व्यापक बदलाव शामिल हैं
- Nightly build में
HTMLDialogElement.show(),<textarea>input rendering,border-image,structuredClone(),crypto.randomUUID(), WAV playback, Web AudioIIRFilterNode, और cross-origin redirect navigation जोड़े गए हैं - मुख्य components को SpiderMonkey 128, WebRender 0.65, wgpu 22.0, Rust 1.80.1 तक अपडेट किया गया है, और WebXR व flexbox अब default रूप से enabled हैं
- servoshell को tab browsing और नया toolbar व नया tab page मिला है, जबकि Windows पर keyboard navigation, PNG output, font और GPU से जुड़ी समस्याओं में सुधार हुआ है
- नए CI runner की वजह से Windows-only build time 70% कम हुआ है, और वास्तविक websites पर आने वाले कई crash तथा SpiderMonkey GC से जुड़े BorrowError भी ठीक किए गए हैं
web platform features जोड़े गए
- Servo nightly build में कई web API और CSS features क्रमिक रूप से जोड़े गए
- 2024-07-27:
HTMLDialogElementकेshow()का basic support - 2024-07-29:
HTMLFieldSetElementकीtypeproperty - 2024-07-31:
<textarea>में डाले गए text की rendering - 2024-07-31: CSS
border-imageproperty - 2024-08-02: CSP sources
unsafe-eval,wasm-unsafe-eval - 2024-08-04: WAV audio files playback
- 2024-08-09:
structuredClone()API - 2024-08-12: Web Audio का
IIRFilterNode - 2024-08-13: cross-origin redirect navigation
- 2024-08-23:
crypto.randomUUID()API - 2024-08-29: CSS
clip-pathpropertypath(),polygon(),shape(),url()values शामिल नहीं हैं
- 2024-07-27:
engine components और default behavior में बदलाव
- Servo ने मुख्य dependency components को नए versions पर अपडेट किया
-
SpiderMonkey 128
-
WebRender 0.65
-
wgpu 22.0
- Rust 1.80.1
- WebXR और flexbox अब default रूप से enabled हैं
- Promise लौटाने वाले web API अब failure पर exception throw करने के बजाय Promise को सही तरीके से reject करते हैं
-
WebXR और flexbox में सुधार
- WebXR API को default enablement के अनुरूप कई interfaces और input features के साथ अपडेट किया गया
- Gamepad support जोड़ा गया
- hand input,
XRBoundedReferenceSpace,XRFrame,XRInputSource,XRPose,XRSession,XRTargetRayMode,XRView,XRWebGLLayerसे जुड़े updates शामिल हैं makeXRCompatible()अब केवलWebGLRenderingContextही नहीं बल्किWebGL2RenderingContextपर भी call किया जा सकता है
- flexbox में अक्सर इस्तेमाल होने वाले layout features को मजबूत किया गया
gappropertyalign-content: stretchalign-items,align-selfकेstart,endvaluesflex-direction: column,column-reverseका basic support
- flex item placement और size calculation भी अब अधिक सटीक हैं
- flex item पर
position: relativesupport किया गया - flex item का
z-indexअब हमेशा stacking context बनाता है - flex item और flex container पर सही intrinsic size लागू होता है
- flex item पर
- bidirectional text support पर काम जारी है
- इसमें fragment tree architecture changes और
writing-modeinterface पर काम शामिल है unicode-bidiproperty औरdirproperty को partial support मिला हैdir=autovalue अभी support नहीं करती
- इसमें fragment tree architecture changes और
servoshell browser और Windows quality
- Servo-the-browser में नया toolbar और tab browsing जोड़ा गया है
- नया tab page एक नए API का उपयोग करता है, जिससे Servo embedders custom protocol handler register कर सकते हैं
- Windows execution quality में भी कई क्षेत्रों में सुधार हुआ है
- keyboard navigation ठीक किया गया
--outputकी PNG output behavior ठीक की गई- font और GPU से जुड़े bugs ठीक किए गए
- Windows fixes उन समस्याओं से भी जुड़े हैं जिनमें servo.org और duckduckgo.com पर glyph गलत align हो रहे थे और colors गलत दिख रहे थे, तथा wikipedia.org पर images टूट रही थीं
developer tools और developer workflow
- internship project के अंतिम महीने के काम के बाद devtools support में और features जोड़े गए
- Servo अब HTML tree support करता है
- Styles और Computed panels support किए गए हैं
- macOS पर build के तुरंत बाद servoshell launch होने की प्रक्रिया कुछ seconds तेज हो गई है
- CI में मौजूदा tidy check के अलावा एक dedicated linting job में clippy चलाया जाता है
- donations की मदद से Windows builds के लिए नया CI runner जोड़ा गया, और Windows-only build time 70% घट गया
- Linux builds के लिए नया runner भी जल्द जोड़ा जाएगा, जिससे WPT try build और तेज होगा
- GitHub issues की जांच के लिए triage meeting चल रही है, और अगली Servo issue triage meeting 2 सितंबर 10:00 UTC पर होगी
- अधिक जानकारी project#99 में है
engine stability में सुधार
- अगस्त में वास्तविक websites पर सामने आने वाले कई crash bugs ठीक किए गए
- प्रमुख fixes rendering, reflow और HTML parser behavior तक फैले हुए हैं
- HTML spec में table के पास float rendering के दौरान होने वाला crash
- w3schools.com पर अनावश्यक explicit reflow के कारण होने वाला crash
- HTML parser को re-entrant बनाकर kilonova.ro, tweakers.net जैसी कई sites के crashes ठीक किए गए
- इसके अलावा platform, API और parsing paths में होने वाले crashes भी कम हुए
- macOS पर WebGL उपयोग के दौरान window resize पर crash
- बहुत लंबे grapheme cluster text की rendering के दौरान crash
- कुछ fonts में tab character render करते समय crash
window.stop()call के बाद parser crash- कुछ values को
console.log()में pass करने पर crash - कुछ
<img srcset>values parse करते समय crash - कुछ HTTP header values parse करते समय crash
- कुछ स्थितियों में
window.openerset करते समय crash - document से iframe हटाते समय crash
- unsupported options के साथ
new AudioContext()call करने पर crash - Servo shutdown के दौरान
WRSceneBuilderमें कभी-कभी होने वाला crash
- SpiderMonkey GC में आने वाले कई BorrowError crashes ठीक किए गए
- इस तरह के bugs को static analysis से रोकने पर काम चल रहा है
- navigation के दौरान DOM Window objects अब leak नहीं होते
- Unix पर servoshell अब panic होने पर abnormal termination करता है, जिससे web tests परिणाम को सही तरीके से “CRASH” के रूप में दर्ज कर सकते हैं
donations की स्थिति
- Servo को recurring donations से फिलहाल $3,077 प्रति माह मिल रहे हैं, जो जुलाई की तुलना में 4.1% अधिक है
- इसमें LFX के जरिए आने वाले 12 donations शामिल हैं, लेकिन Servo जल्द ही LFX donations स्वीकार करना बंद करेगा
- recurring donations को GitHub Sponsors या Open Collective पर स्थानांतरित करना होगा
- Servo thanks.dev पर भी registered है, और Servo पर निर्भर 3 GitHub organizations पहले से sponsor कर रही हैं
- यदि आप
url,html5ever,selectors,cssparserजैसी Servo libraries इस्तेमाल करते हैं, तो thanks.dev के जरिए community में योगदान दे सकते हैं - funds का उपयोग Technical Steering Committee द्वारा पारदर्शी तरीके से तय किया जाता है, और अधिक जानकारी Sponsorship page पर उपलब्ध है
1 टिप्पणियां
Hacker News की राय
यह देखकर हैरानी हुई कि मिलने वाली sponsorship की रकम इतनी कम है। सोच रहा हूँ कि क्या इसमें बड़े संगठनों को छोड़कर सिर्फ third-party individual sponsorship ही गिनी गई है
जब इतने लोग जोर-शोर से कहते हैं कि web browser पर chrom(ium)e के जरिए Google का कब्ज़ा हो गया है, तो लगा था कि ज्यादा लोग या कंपनियाँ किसी competitor को जल्दी सामने लाने में दिलचस्पी लेंगी
यह धारणा भी रही होगी कि बिल्कुल नए engine से पूरी तरह नया browser बनाना व्यावहारिक नहीं है, तो शायद माहौल ऐसा रहा हो कि आखिर sponsor क्यों करें। अच्छी बात है कि Ladybird ने शायद इस हिस्से को बदल दिया हो
और जिन संगठनों के पास ऐसा पैसा है, उनमें से कुछ पहले ही हार मान चुके हैं। कुछ साल पहले Edge को Chromium पर ले जाने वाला Microsoft इसका उदाहरण है। साथ ही कई लोग शायद Chromium के स्थापित alternative Firefox को donate करना ज्यादा पसंद करेंगे, लेकिन असल में Firefox development के लिए specifically donate करना भी काफी मुश्किल है
यहाँ मौजूद ज्यादातर लोग web की खराब हालत की शिकायत ही करते दिखते हैं और असल में कुछ नहीं करते
आइए सभी मजबूत numbers दिखाएँ
HN community एक दिन में आसानी से 100,000 डॉलर पार कर सकती है। सच में उम्मीद जगाने वाला नया browser आया है, तो इसे करके दिखाएँ
Servo का अब भी जिंदा रहना देखना दिलचस्प है। मैं इसका समर्थन करता हूँ
फिर भी alternative browser और engine विकसित करने की गंभीर कोशिश मौजूद है, यह अच्छी बात है। Ladybird browser एक mature product बनने से उससे भी ज्यादा दूर है, लेकिन उसका होना ही खुशी देने वाला project है
latest changes लेकर नया tab देख रहा था, तो RTL support आ गया देखकर हैरानी हुई। कुछ हफ्ते पहले यह supported नहीं था
merged PR यहाँ है: https://github.com/servo/servo/pull/33148
क्या Servo abandoned नहीं था?