• टर्मिनल रिकॉर्डिंग टूल asciinema CLI 3.0 को Rust में पूरी तरह फिर से लिखा गया है, जिससे फ़ाइल फ़ॉर्मैट अपग्रेड और टर्मिनल लाइव स्ट्रीमिंग फीचर जोड़े गए हैं
  • Rust अपनाने से static binary उपलब्ध कराना, तेज़ startup time, और AVT integration के ज़रिए concurrency·system call handling आसान हुई है, साथ ही नए फीचर्स लागू करने की नींव भी बनी है
  • नया asciicast v3 फ़ॉर्मैट event interval (delta)-based timing, term के तहत structured metadata, "x" exit event, और # line comments लाता है, जिससे editing और expressiveness बेहतर होती है
  • लाइव टर्मिनल स्ट्रीमिंग दो मोड में मिलती है: local built-in server और remote relay (self-hosted/official server), और नेटवर्क स्थिति के अनुसार adaptive buffering के साथ अधिक smooth viewing experience देती है
  • मूल दर्शन को Local-first के रूप में फिर व्यवस्थित किया गया है, जहाँ rec में फ़ाइलनाम अनिवार्य है और upload को अलग किया गया है (upload <फ़ाइल>), साथ ही self-hosted server selection prompt के ज़रिए self-hosting friendliness और अनचाहे data leakage की रोकथाम को मजबूत किया गया है

3.0 रिलीज़: Rust में फिर से लिखा गया asciinema CLI और प्रमुख सुधार

  • asciinema CLI 3.0 आधिकारिक रूप से रिलीज़ हो गया है
  • इस संस्करण में पूरा कोड Rust में फिर से लिखा गया है और साथ ही recording file format को अपग्रेड किया गया है
  • टर्मिनल सेशन लाइव स्ट्रीमिंग सहित कई फीचर जोड़े/सुधारे गए हैं

Rust rewrite और समग्र सुधार

  • CLI को Rust में पूरी तरह फिर से लिखकर developer experience और maintainability बेहतर की गई है; static binary वितरण से installation path सरल हुआ है, startup speed बेहतर हुई है, और feature extensibility की नींव बनी है
    • लेखक के अनुभव के अनुसार Python की तुलना में system calls और concurrency handling आसान होने के कारण यह चुनाव किया गया, और asciinema virtual terminal (AVT) को CLI में integrate करने से नए फीचर लागू करना संभव हुआ
  • परिणामस्वरूप performance, distribution, और architecture के लिहाज़ से भविष्य के फीचर जोड़ने की आधारशिला तैयार हुई है

asciicast v3 फ़ाइल फ़ॉर्मैट

  • asciicast v3 फ़ाइल फ़ॉर्मैट के रूप में विकास करते हुए, यह v2 में दिखी कई कमियों को दूर करता है
  • v2 के absolute timestamps को interval (delta)-based timing से बदला गया है, जिससे event insert/delete के समय बाद के सभी timestamps को एक साथ समायोजित करने की समस्या खत्म होती है
  • header को फिर से संगठित कर terminal-संबंधित metadata को term key के नीचे group किया गया है, और session exit state को सहेजने के लिए "x" (exit) event समर्थित है
  • फ़ाइल में line comments (#) की अनुमति दी गई है, जिससे readability और manageability बेहतर होती है
  • उदाहरण snippet के ज़रिए structure और event stream composition को सहज रूप से दिखाया गया है
  • नया फ़ॉर्मैट asciinema server, asciinema player में पहले से समर्थित है

लाइव टर्मिनल स्ट्रीमिंग

  • Local mode: built-in HTTP server के ज़रिए उसी नेटवर्क में देखी जा सकने वाली stream उपलब्ध कराता है; यह privacy-first मोड है जहाँ डेटा केवल दर्शकों के browser तक भेजा जाता है
    • CLI में नवीनतम asciinema player bundled है, इसलिए तुरंत playback संभव है; firewall port खोलने की ज़रूरत पड़ सकती है
  • Remote mode: asciinema server (official या self-hosted) को relay के रूप में इस्तेमाल कर shareable URL के ज़रिए stream वितरित की जाती है
    • दोनों मोड एक साथ भी उपयोग किए जा सकते हैं, जिससे स्थिति के अनुसार deployment configuration संभव होती है
  • player real-time network latency measurement पर आधारित adaptive buffering के ज़रिए low latency और buffer underrun prevention के बीच संतुलन बनाता है
  • server stream auto-recording को सपोर्ट करता है; फिलहाल asciinema.org का operational server recording disabled और एक समय में 1 stream limit नीति पर चल रहा है
    • self-hosting पर डिफ़ॉल्ट रूप से recording enabled रहती है और simultaneous stream limit नहीं होती

Local-first की ओर वापसी

  • पहले asciinema rec में upload behavior default flow का हिस्सा था, जिससे अनजाने में public हो जाना या information leakage का जोखिम था
    • 2.4 में upload से पहले selection prompt लाकर इस बदलाव की तैयारी की गई थी, और 3.0 में filename required, rec से upload फीचर हटाना, और upload <फ़ाइल> explicit command के रूप में अलग करना लागू किया गया
  • मूल दर्शन को local-first के रूप में स्पष्ट कर दिया गया है, ताकि उपयोगकर्ता इरादे के साथ publish/share का निर्णय लें
    • local-only उपयोग पूरी तरह समर्थित है, और ज़रूरत पड़ने पर ही स्पष्ट रूप से publish किया जाता है

self-hosting friendliness को मजबूत करना

  • upload/stream/auth का पहली बार उपयोग करते समय server URL selection prompt दिखाया जाता है; डिफ़ॉल्ट रूप में asciinema.org सुझाया जाता है, लेकिन उपयोगकर्ता की मंशा के अनुसार instance selection सहेज लिया जाता है
    • पहले भी config file/environment variable से यह सेट किया जा सकता था, लेकिन interactive environments (नई VM, Dev container आदि) में अब इसे आसान बनाया गया है
  • इससे self-hosting usability बढ़ती है, और साथ ही अनचाहे बाहरी upload को रोकने के लिए एक अतिरिक्त सुरक्षा परत भी मिलती है

वितरण और उपयोग मार्गदर्शन

  • हर distribution के package repository में पहुँचने में कुछ समय लग सकता है
  • तब तक GNU/Linux·macOS के लिए prebuilt binaries GitHub releases से डाउनलोड कर उपयोग किए जा सकते हैं, या source से build किया जा सकता है
  • release notes और विस्तृत change history GitHub के release notes और CHANGELOG दस्तावेज़ों में देखी जा सकती है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.