Referans

Değişiklik günlüğü ve sürümleme

Neler değişti ve bilginiz dışında neleri değiştirmeme sözü veriyoruz.

Neler sürümlenir

Bilinçli olarak beş unsur birbirinden bağımsız ilerler.

UnsurSürümNerede görürsünüz
Hat protokolü (RDUI)1Her sohbet isteğindeki client.protocol
Bileşen kataloğuTarih damgalı bir metin, ör. 2026-09.aclient.catalog_version
Bir bileşenname@n; yalın bir ad 1'dirclient.components içindeki her bir girdi
Flutter SDKSemantik sürümleme, ör. 0.44.0flutter/0.44.0 olarak client.sdk
Web SDKSemantik sürümleme, ör. 0.21.0web/0.21.0 olarak client.sdk ve komut dosyası URL'sindeki klasör

Verdiğimiz sözler

Protokol sürümü yalnızca kırıcı bir değişiklikte değişir. Protokol 1 dahilinde olay türleri ekleyebilir, mevcut olaylara alanlar ekleyebilir ve hata kodları ekleyebiliriz. Bir alanı kaldırmayız, bir alanın türünü değiştirmeyiz veya mevcut bir olayın ne anlama geldiğini değiştirmeyiz. Tanımadığı olayları atlayan bir SDK —ki Flutter SDK bunu yapar— geriye dönük uyumlu her ekleme boyunca çalışmaya devam eder.

Katalog yalnızca büyür. Katalogdaki bir bileşen katalogda kalır ve prop'ları geçerliliğini korur. Yeni prop'lar isteğe bağlıdır. Yeni bileşenleri client.components listeniz bildirir, böylece bir bileşenden hiç haberi olmayan bir derlemeye o bileşen asla sunulmaz: modelin araç seti, her istek için hesaplanan kendi kataloğu ile sizinkinin kesişimidir.

SDK semver ilkelerini takip eder. 1.0.0 sürümünden önce, minör bir artış kırıcı değişiklik içerebilir: herkese açık API'yi hâlâ geliştiriyoruz ve bir hatayı ilk kararlı sürüme taşımaktansa bunu şimdi yapmayı tercih ederiz. Her kırıcı değişiklik, değiştirilmesi gereken satırla birlikte bu dosyada yer alır.

Kullanımdan kaldırma süreci olmadan hiçbir şey çıkarılmaz. 1.0.0 sürümünü geçtikten sonra, kullanımdan kaldırılan bir API en az bir minör sürüm boyunca çalışmaya devam eder ve deprecated koduyla RendelConfig.onLog üzerinden günlük kaydı düşer.

Minimum SDK sürümü

Sunucu, platform başına belirlenen bir tabanın altındaki bir derlemeyi upgrade_required hatasıyla reddedebilir. Bu sınır bugün boştur ve bir protokol kırılması eski bir istemciyi fiilen hatalı hâle getirmedikçe boş kalacaktır; aksi takdirde o derleme son kullanıcısına kimsenin açıklayamayacağı bir şekilde hata verecektir.

Sürümler

0.27 sürümünden bu yana çıkan sürümler, en yeniden başlayarak. Kırıcı bir değişikliğin sizden talep ettiği düzenlemeyle birlikte 0.1.0 sürümüne kadar olan her Flutter sürümü, paketin CHANGELOG.md dosyasında yer alır; web SDK için tek kayıt bu sayfadır.

Flutter 0.50.0 · Web 0.27.0

Önemli değişiklikler bir dokunuştan fazlasını talep edebilir. Bir aksiyon, buton çalışmadan önce kişinin yazarak onaylaması gereken bir değer belirtebilir (typeToConfirm, “silmek için uygulamanın adını yazın”); sunucu bunu tekrar doğrular. Kartın taşıdığı uzun bir metin eksiksiz gösterilir (fullText): bir önizleme, ardından Tümünü oku ve buton ancak tamamı açıldığında çalışır; fullText: { current: true } ve Rendel.setCardSource işlevine verdiğiniz metinle birlikte kart, değişen satırları gösterir. Onay butonu dile göre kendi ifadelerinizi taşıyabilir (confirmLabel, confirmLabels), bir parametre kart üzerinde dile göre adlandırılabilir (şemasındaki title yanında titles) ve bir müşterinin ya da bir başkasının yazdıkları okunduktan sonra çizilen bir kart bunu belirtir (“Bir bilgi sayfası okunduktan sonra önerildi”). Yüklemeler artık dosya adını taşır. Web'de SDK'nın tarayıcıda tuttuğu her şey uygulama anahtarı başına saklanır, böylece tek bir sitedeki iki uygulama hiçbir zaman bir cihaz kimliğini veya bir sohbeti paylaşmaz; önceden saklananlar bir defaya mahsus aktarılır.

Flutter 0.49.3 · Web 0.26.3

Ekranda Rendel'e giriş için her zaman tek bir yol. launcher: false kullanılan web'de, bir yanıttan sitenizin bir ekranını açmak artık kendi butonunuzun yanında bir balon bırakmaz: panel kenara çekilir, geri dönüş yolu butonunuzdur ve Rendel.open() sayfayı olduğu gibi geri getirir. Flutter'da, balon geri dönüş yoluyken RendelLauncher kendini gizler ve yeni Rendel.minimised ile kendi butonunuz da aynısını yapabilir. SDK'nın kendi başlatıcısını kullanıyorsanız herhangi bir değişiklik gerekmez.

Flutter 0.49.2 · Web 0.26.2

Türkçe dört yerde daha doğal okunur: Bir yanıtın altındaki başparmak simgeleri “Faydalı mı?” diye sorar (şimdiye kadar Türkçede tek başlarına duruyorlardı), onay kartından çıkış yolu “Geri” der ve geri alınamayan bir aksiyon “Bu işlem geri alınamaz” der. Kodunuzda herhangi bir değişiklik gerekmez.

Flutter 0.49.1 · Web 0.26.1

Yoğun bir an artık son kullanıcınıza bir dokunuşa mal olmaz. Yanıta dair hiçbir şey görünmeden önce model kısa süreliğine aşırı yüklendiğinde, her iki SDK da yaklaşık üç saniye sonra aynı turla kendi kendine bir kez daha sorar, böylece hiçbir şey iki kez yanıtlanmaz; yalnızca bu da başarısız olursa Tekrar dene içeren olağan mesaj gösterilir. Diğer hatalar kendiliğinden asla yeniden denenmez. Web 0.26.1 ayrıca bu ifadeye henüz bir karşılığı olmayan bir dilde (bugün için Türkçe) “Helpful?” satırını da düzeltir: başparmak simgelerinden önce “null” kelimesi gösteriliyordu.

Flutter 0.49.0 · Web 0.26.0

Hangi yanıtların yardımcı olduğunu öğrenin. Appearance › Message box altında Yanıtın yardımcı olup olmadığını sor seçeneğini açıp yayınlayın; her iki SDK da tamamlanan her yanıtın altına yukarı ve aşağı başparmak simgeleriyle sade bir “Faydalı mı?” yerleştirir; bir dokunuş POST /v1/feedback uç noktasına gider ve Analytics üzerinde görünür. Siz açmadığınız sürece kapalıdır ve bundan daha eski bir derleme bu anahtarı yok sayar. Her iki SDK da Rendel açıldığında ve bir kişi iletişim bloğunda hangi tür kanala (arama, e-posta veya bağlantı) dokunduğunda bunu Analytics'e bildirir; numaranın veya adresin kendisi asla iletilmez. Kodunuzda bir değişiklik gerekmez; web'de, Rendel.init içindeki feedback: true başparmak simgelerini kod üzerinden de açar.

Uygulamanız çalışamayacak bir butonu asla göstermez. Rendel'in API'sine ulaşılamıyorsa (ağ bağlantısı yok, zaman aşımı, sunucu hatası), başlatıcı gizlenir ve Rendel.available false değerine döner; ardından API tekrar yanıt verdiğinde her ikisi de kendiliğinden geri gelir, bu süre boyunca her dakika kontrol edilir. Yapılandırma isteği 8 saniye sonra zaman aşımına uğrar; web'de Rendel.init içindeki requestTimeoutMs bunu değiştirir.

Flutter 0.48.0 · Web 0.25.0

Organizasyonunuzun kullanımı duraklatıldığında (kullanım bakiyesi tükendiğinde, harcama limitine ulaşıldığında, günlük tavana gelindiğinde), asistanın butonu herhangi bir yanıt vermek yerine kaybolur: insanlar hiçbir mesaj görmez. GET /v1/apps/config artık available değerini bildirir; her iki SDK da bu değer false olduğu sürece başlatıcılarını gizler, yeni bir sohbet reddedilirse açık bir paneli sessizce kapatır ve birkaç dakikada bir ve uygulama ekrana geri döndüğünde kontrol ederek kullanım yeniden başlayabildiğinde başlatıcıyı kendiliğinden geri getirir. Hâlihazırda açık olan sohbetler tamamlanır. Rendel'i kendi butonunuzdan açıyorsanız onu da gizleyin: Rendel.available (Flutter'da bir ValueListenable<bool>; web'de availabilityChanged olayıyla birlikte bir boolean). Bir kişinin kullanım limiti altındayken giriş alanının üzerindeki sade bir satır, geriye tek bir soru kaldığında bunu belirtir (“Bugün 1 soru kaldı”).

Flutter 0.47.0 · Web 0.24.0

Bir limit artık bir hata gibi görünmez. Asistan bilinçli olarak yanıt vermeyeceğinde (bir kişinin kullanım limiti, harcama limitinizin duraklatılması, kullanım bakiyenizin tükenmesi, günlük tavan), sunucu notices yeteneğini bildiren bir derlemeye yeni notice olayını gönderir; artık her iki SDK da bunu yapar. Panel, bunu yanıtın geldiği yerde çizer: bir saat ve ilgili cümlenin bulunduğu sade bir plaka (“Bugünkü limitinize ulaştınız… Yarın tekrar sorabilirsiniz” veya “Asistan mola veriyor. Uygulamanın geri kalanı her zamanki gibi çalışıyor”), asla hata rengi veya Tekrar dene içermez. Bir kullanım limiti altında, Settings › Usage limits altında bir bağlantı belirlediğinizde kendi bağlantınızı taşır (“Planları gör”). Giriş alanı, limit kalkana kadar dinlenir ve ne zaman döneceğini belirtir (“Yarın dönecek”, “1 Kasım'da dönecek”, “Şimdilik duraklatıldı”), ardından kendiliğinden geri gelir. Daha eski derlemeler yine bir error alır, artık aynı sakin cümleyle. Kodunuzda herhangi bir değişiklik gerekmez.

Flutter 0.46.6 · Web 0.23.7

Siz adlandırmadığınız sürece asistan Rendel olarak adlandırılır. Uygulamanız yapılandırmasını ilk kez getirmeden önce, yönetim panelindeki yeni bir uygulamanın personası gibi panel artık en üstte eski çalışma adı yerine “Rendel” gösterir. Seslendirilen etiketler ve bir yanıtın gelmesi durduğunda gösterilen mesaj her dilde “asistan” der (örneğin “Open the assistant”, “Asistanı aç”) ve SDK'nın kendi log mesajları Rendel der. Kodunuzda herhangi bir değişiklik yok; yönetim panelinde veya RendelConfig içinde belirlediğiniz bir isim yine geçerli olur.

Flutter 0.46.5 · Web 0.23.6

Artık bir yanıttan açılan uygulamanızın bir ekranı sayılır. Kullanıcı bir ekran kartına veya kayıtlı route'larınızdan birini açan herhangi bir kontrole dokunduğunda SDK, Rendel'e bunun hangi yanıttan ve hangi karttan geldiğini iletir; yönetim panelindeki Screens ise her bir ekranın ne sıklıkla, onu sunan kaç yanıttan ve en son ne zaman açıldığını gösterir. Açılmayan bir route için hiçbir şey gönderilmez ve ekranın içeriğine dair kesinlikle hiçbir şey gönderilmez: yalnızca route'un adı, yanıt ve kart iletilir. Kodunuzda herhangi bir değişiklik yok.

Flutter 0.46.4 · Web 0.23.5

Bir yanıt sayfası sorusunu korur: yanıt başladığında soru, üzerinde soluk tek bir satır olarak yer alır; uzun olduğunda kısaltılır ve bir fotoğraf gönderildiyse fotoğrafın küçük bir karesi bulunur. Yine de bir konuşma balonu değildir.

Bir onay kartı, kullanıcının onaylamadan önce bir değeri değiştirmesine izin verebilir. Aksiyondaki parametreleri adlandırın (Flutter RendelAction.editable, web editable: ["quantity"] veya yönetim paneli aksiyonundaki Changeable on the card) ve kart her birini kendisine uygun bir kontrol olarak çizer: bir stepper, bir sayı veya metin alanı, bir seçim, bir switch. Bir değişiklik, modelin çağrısını denetlediği gibi onu denetleyen ve kartı yeniden çizen yeni POST /v1/invocations/:id/edit uç noktasına gider; bir değişiklik yoldayken veya reddedilmişken kart onaylanamaz. Handler'ınız veya uç noktanız kullanıcının onayladığı değerlerle çalışır ve modele neleri değiştirdiği bildirilir. Bkz. Values the user can change on the card. Altı dilde yeni metinler: cardEditInvalid, cardEditFailed, cardLess, cardMore.

Flutter 0.46.3 · Web 0.23.4

Bir açılış yanıtının yalnızca ilk paragrafı giriş (lede) olarak ayarlanır; devamı gövde metni boyutunda okunur. Bir harita, en geniş pin etiketi için kenarlarında yer bırakır; böylece kenara yakın bir pin adını korur. Ürün adlarına üç satır ayrılır. Bir datetime_slots slotu available: false olabilir: üzeri çizili olarak gösterilir ve seçilemez; başlığın zaten belirttiği bir gün slotlarının üzerinde tekrarlanmaz. Kart numarası gibi uzun bir geçiş kartı değeri kendine ait bir satır kaplar. En iyi değeri işaretleyen bir karşılaştırma, bu işaretin ne anlama geldiğini belirtir. Bir çubuk grafiğindeki bir çubuğa dokunulduğunda o çubuk seslendirilir, ikinci bir dokunuş en sonuncuya geri döner.

Flutter 0.46.2 · Web 0.23.3

Onay kartı kullanıcının dilinden konuşur. Kartın yeni confirm_label değerinden gelen butonu, ücret aldığında tutarla birlikte ne olacağını söyler (“Siparişi ver · A$8.41”); satırlar kimlikler yerine nesneleri adlandırır ve önceki teklifin gösterdiği ürünleri, toplamı ve adresi listeler. undoable olarak işaretlediğiniz yıkıcı bir aksiyon (Flutter RendelAction.undoable, web undoable: true), “Bu işlem geri alınamaz” uyarısı olmadan diğerleri gibi sorulur; geri alınamaz bir aksiyon ise uyarıyı ve her iki platformda da tehlike rengiyle doldurulmuş bir onay butonunu korur. Uzun bir değer, etiketinin altında eksiksiz olarak okunur. Reddedilen bir mikrofon, iOS'te Ayarları Aç (Flutter RendelDictationDenied) ile birlikte izin verilmesi gereken yeri belirtir ve ses modu izin isteminin arkasında değil, yalnızca mikrofona izin verildiğinde açılır. Grafikler $, £, ¥, ₹ ve ₩ işaretlerini tutardan önce yazar (A$119.04). Bir ürün kartının puanı artık dar bir kartın dışına taşmaz (Flutter), bir ilerleme halkasının değeri kesilmek yerine küçültülür (Flutter) ve bir bilgi kartı veya ekran kartı artık aynı satırı tekrarlamaz.

Flutter 0.46.1 · Web 0.23.2

Açılış ekranında işaret bulunmaz. Dört ayrı satırın üzerindeki bir işaret (web) veya bir chip dizisi (Flutter) yerine, selamlama ekranı açar ve öneriler aralarında ince bir çizgi olan tek bir kart halindedir. Bir sohbet olana kadar başlık yalnızca kontrollerini korur; bir sohbet başladığında ise yayınladığınız bir logo varsa logonuzdan sonra asistanın adını gösterir. Başlıktaki saat yönünün tersine ok yeni bir sohbet başlatır ve yalnızca terk edilecek bir sohbet olduğunda çizilir; Flutter'da bu, baştan başlamanın ilk yoludur.

Flutter 0.46.0

0.23.0 sürümünden bu yana web'de olduğu gibi bir form, platformun kendine ait hiçbir kontrolünü çizmez. Bir select seçeneklerini kendi satırında açar; date SDK'nın ay görünümünü burada açar (hafta, ana makinenin yerel ayarının başlattığı günden başlar, min_date / max_date dışındaki günler gösterilir ancak seçilemez); time, yerel ayarın saatine göre günün çeyrek saatlerinin bir listesidir; date_range her biri bir ay açan Başlangıç ve Bitiş alanlarıdır; bir toggle, vurgu renginde SDK'nın switch'idir. Tümü klavye odağını alır, ekran okuyuculara seslendirilir, günleri ve saatleri ana makinenin dilinde gösterir ve daha öncekiyle aynı biçimleri gönderir. Rendel.open, üst güvenli alanın altında, üst köşeleri yuvarlatılmış ve arkasındaki uygulama karartılmış şekilde Rendel'i bir page sheet olarak sunar; RendelRadiusScale.hero 24 olmuştur (önceden 28).

Ayrıca: mikrofonun yanında aydınlatılan aksiyon 360 pt'de eksiksiz okunur; bir ilerleme halkası vurgu renginde çizilir; bir çubuk grafiği tek bir ondalık basamak sayısını, kuruşlarıyla parayı korur ve “in Today” yerine “Today” der. Altı dilde yeni metinler: previousMonth, nextMonth, readoutNow, readoutNowPeak. Web, 0.23.1 sürümünde değişmemiştir.

Web 0.23.1

Bir telefonda panel bir page sheet'tir: kare şeklinde tam ekran bir sayfa yerine, tam üst güvenli alanın altında durur, üst köşeleri yuvarlatılmıştır ve uygulamanız arkasında karartılmış olarak görünür. Flutter, 0.45.2 sürümünde değişmemiştir.

Web 0.23.0

Bir form, tarayıcının kendine ait hiçbir kontrolünü çizmez. Bir select, SDK'nın butonu ve kendi satırında açılan bir listedir; date bir ay açar (hafta, dilinizin başlattığı günden başlar, min_date / max_date dışındaki günler gösterilir ancak seçilemez); time, günün çeyrek saatlerinin bir listesidir; date_range her biri bir ay açan Başlangıç ve Bitiş alanlarıdır. Tümü klavye ve ekran okuyucuyla kullanılabilir, ziyaretçinin yerel ayarında gösterilir ve daha öncekiyle aynı biçimlerde gönderilir. autofill içeren bir select, tarayıcı özel bir kontrolü dolduramayacağı için artık bir autocomplete belirteci iletmez.

Ayrıca: mikrofonun yanında aydınlatılan aksiyon, 360 px panelde yaklaşık 14 karakterlik etiketlere sığar; theme.fontFamily ve displayFontFamily bir CSS family listesi kabul eder ('Archivo', 'Archivo Fallback'); bir çubuk grafiği parayı kuruşlarıyla yazar (“53.40”) ve “Today” gibi en güncel etiket olduğu gibi okunur; bir ilerleme halkası vurgu renginde çizilir. Düzeltildi: bir ürün kartının yıldızları, puanı ve sayısı üç satıra yığılıyordu (derecelendirme bloğunun sınıfları artık .rd-rate-* şeklindedir). Flutter, 0.45.2 sürümünde değişmemiştir.

Flutter 0.45.2 · Web 0.22.3

Uygulama canlıya alınmadan önce kullanılan bir canlı anahtar, artık bir hata ayıklama satırı olarak değil, bir kez uyarı olarak bildirilir; böylece Go live öncesinde denenen bir prodüksiyon derlemesi başlatıcısının neden gizlendiğini belirtir. Yine tek bir satırdır ve kullanıcılarınıza hiçbir şey gösterilmez.

Web 0.22.2

Düzeltme. Karşılama ekranında yayınlanan bir logo, görselin kendi boyutunda çiziliyor ve başlığı kapatıyordu; artık başlığın logosuyla aynı zeminde kendi 48 px karesini doldurur. Flutter, 0.45.1 sürümünde değişmemiştir.

Flutter 0.45.1 · Web 0.22.1

Düzeltmeler. Başlangıçta art arda kaydedilen route'lar ve aksiyonlar tek bir manifest olarak, her seferinde yalnızca bir istekle gönderilir; böylece yönetim panelinin gördüğü liste her zaman en güncel olanıdır. Flutter'da istekler çakışabiliyor ve sunucu daha eski, daha kısa bir listeyi tutabiliyordu; web'de ise bir istek devam ederken yapılan bir kayıt, panel bir sonraki açılana kadar bekliyordu.

Flutter 0.45.0 · Web 0.22.0

Karanlık mod ve yönetim panelinin sizin için bir uygulama kurmak üzere ihtiyaç duyduğu şeyler. Rendel artık cihazın karanlık modunu takip eder: karanlık moda ayarlanmış bir telefonda veya sayfada karanlık temayla çizilir — varsayılan tema için koyu palet, kendi temanız içinse ondan türetilen bir tema kullanılır; vurgu renginiz karanlık bir zeminde okunduğu sürece korunur. Yönetim panelinin Appearance düzenleyicisi karanlık temanın kendisini ayarlayabilir (yayınlanan yapılandırmada themeDark); dışarıda bıraktıkları türetilir. Her ikisinde de Değişti: her zaman açık görünmesi gereken bir uygulama themeMode: light iletir (Flutter'da RendelConfig(themeMode: RendelThemeMode.light), web'de themeMode: "light"); Rendel.setThemeMode bunu çalışma zamanında değiştirir ve web'de <html> veya <body> üzerindeki data-theme="light|dark" da takip edilir.

Yapılandırma isteği artık hangi SDK'nın ve platformun talepte bulunduğunu belirtir (X-Rendel-SDK, X-Rendel-Platform); böylece yönetim paneli “Flutter 0.45.0 · iOS” gösterebilir. Manifest, hiçbir aksiyon ve ekran olmasa bile init sırasında gönderilir; böylece yönetim paneli “yüklendi, henüz hiçbir şey kaydedilmedi” durumu ile “yüklü değil” durumunu ayırt edebilir. Bir uygulama henüz canlıya alınmadığında ise canlı anahtarına app_not_live yanıtı verilir: başlatıcı gizli kalır ve tek bir hata ayıklama satırı test anahtarını kullanmayı veya yönetim panelinde Go live butonuna basmayı söyler — kullanıcı hiçbir hata görmez.

Flutter 0.44.1 · Web 0.21.1

Düzeltmeler. Flutter'da, RendelStrings.copyWith başladığınız dilin her kelimesini korur (çoğunu İngilizce döndürüyordu) ve RendelUploadFailure dışa aktarılır. Web'de, strings değişkeninin anahtar anahtar tiplenmesi için rendel.d.ts, Strings arayüzünü dışa aktarır; open fonksiyonu hata fırlatan bir rota, Flutter'ın yaptığı gibi route_open_failed günlüğe kaydeder (daha önce route_failed idi); ve bir yanıt sayfasında arama, kopyalama veya takvim aksiyonuna sahip bir liste satırı bunu çalıştırır ve her karşılaştırma başlığı Flutter'da olduğu gibi detayını açar.

Flutter 0.44.0 · Web 0.21.0

Kataloğun planlanan son eklemeleri. Geliştirici araçları için code; ürün kartlarında çipler, varyant seçicide renk örnekleri ve küçük resimler, önemli noktalarda artılar ve eksiler, galerilerde alt yazılar ve video bağlantıları, makbuz satırlarında notlar ve değişiklikler, ilerleme halkaları ile alan, yatay ve yığılmış çubuk grafikler.

Flutter 0.43.0 · Web 0.20.0

Neyin nerede olduğu ve kapıda ne gösterileceği. place_card, yol tarifleri ve bir arama ile gidilecek bir yerdir; map, OpenStreetMap'ten gelen açık harita verileri üzerinde MapLibre ile çizilen, sayfada kalan ve bir dokunuşla tam ekran olan bir haritaya yerleri koyar; pass, cüzdan butonlarıyla birlikte barkodunu sunucunun çizdiği bir bilet veya teslim alma kodudur. Adresler, koordinatlar, kodlar ve cüzdan bağlantıları, gösterilmeden önce aksiyonlarınızın sonuçlarına göre kontrol edilir.

Flutter'da kırıcı değişiklik: Paket artık MapLibre (maplibre_gl 0.27) için Flutter 3.29 ve Dart 3.7 gerektiriyor. Android'de JDK 21 ile derleyin (JDK 17 invalid source release: 21 ile başarısız olur) ve Flutter NDK'nızın farklı olduğu konusunda uyarı verirse, android/app/build.gradle(.kts) içinde ndkVersion = "28.2.13676358" olarak ayarlayın. Info.plist veya manifest dosyasına eklenecek bir şey yok: Harita hiçbir izin istemez. open_url, uygulama içi tarayıcı yerine işletim sisteminde açılmak için external: true (yalnızca harita bağlantıları) taşıyabilir.

Web SDK, MapLibre'yi yalnızca bir harita çizildiğinde kendi klasöründen yükler. Siteniz bir Content-Security-Policy gönderiyorsa connect-src'ye https://tiles.openfreemap.org ve worker-src'ye blob: ekleyin (bkz. Web SDK).

Flutter 0.42.0 · Web 0.19.0

Beş blok. contact, yönetim panelinde Settings → Handoff & files → Contact channels altında listelediğiniz kanallarla sınırlı olmak üzere şirketinizdeki bir kişiye nasıl ulaşılacağını gösterir; Rendel asla devretmez veya bir kişi vaat etmez. rating, bir şeyin nasıl gittiğini sorar ve cevabı bir model turu olmadan, bir sohbette en fazla bir kez kaydeder. disclosure, checklist ve timeline detayları gizler, işaretlenecek adımları listeler ve bir planı zaman sırasına göre düzenler. Yalnızca Flutter'da kırıcı değişiklik: EmailAction (iletişim kartının e-posta kanalı) UIAction sınıfına katılır, bu nedenle kapsamlı bir switch ifadesi case EmailAction(): gerektirir; ve 0.41'de yeni olan RendelStrings.fieldMin/fieldMax artık fieldAtLeast/fieldAtMost olmuştur.

Flutter 0.41.0 · Web 0.18.0

Forms; hak talepleri, iadeler ve başvuruların ihtiyaç duyduğu şeyleri alır: birden fazla seçenek, daha uzun bir açıklama, klavyeleriyle birlikte e-posta, telefon ve web adresleri, bir tarih aralığı, sınırları ve artırıcısı olan sayılar, aranabilir bir liste ve dosyalar. Dosyalar, siz Files in forms seçeneğini (Settings → Keys & environments) açana kadar kapalıdır. Sunucu artık parola, tek kullanımlık kod, kart numarası, CVV, IBAN veya kimlik numarası isteyen tüm formları reddeder.

Flutter 0.40.0 · Web 0.17.0

comparison, iki ila dört şeyi aynı satırlarda sıralar; en iyi değer yalnızca verilerin onu en iyi yaptığı yerlerde işaretlenir. Her biri yalnızca bir dokunuşla çalıştırılan ve her birini önce sunucunun kontrol ettiği üç yeni aksiyon: call numara çeviriciyi açar, copy bir değeri panoya yerleştirir, add_to_calendar cihazın kendi etkinlik düzenleyicisini açar. iOS 17 öncesinde, add_to_calendar Info.plist içinde NSCalendarsUsageDescription gerektirir; bu olmadan buton hiçbir şey açmaz. Kayıtlar daha zengin hale geldi: item_list içinde tutarlar, durumlar ve gruplar; order_tracker içinde ne zaman geçerli olduklarını belirten tahmini varış süreleri (ETA); key_value içinde kopyalanabilir ve maskelenmiş satırlar; info_card içinde kişiler ve belgeler. Yalnızca Flutter'da kırıcı değişiklik: CallAction, CopyAction ve AddToCalendarAction, UIAction sınıfına katılır; bu nedenle kapsamlı bir switch ifadesi her biri için bir case gerektirir.

Flutter 0.39.0 · Web 0.16.0

choice bloğu: Rendel iyi bir yanıt verebilmek için son kullanıcıdan bir şeye ihtiyaç duyduğunda, bunu sayfada sorar ve son kullanıcı bir dokunuşla yanıtlar — birkaç çipten bir seçim veya satırlarında resim bulunabilen bir listeden bir ya da birkaç seçim; kendi yanıtlarını yazabilecekleri bir satır ve “tercih yok” deme imkanıyla birlikte. Seçim id ile geri gider ve sunucu bunu çizdiği bloğa göre kontrol eder.

Flutter 0.38.0 · Web 0.15.0

Bir yanıt uygulamanızın bir ekranını açabilir. Açabileceği ekranları registerRoute ile kaydedin (bir ad, kartının gösterdiği başlık, model için bir açıklama, parametreleri ve onu açan fonksiyon); Rendel bunları yeni screens bloğunda sunar. Bir dokunuş, ekranı kendi navigasyonunuz üzerinden açarken Rendel köşede bir balona küçülür; balon, yanıtı olduğu gibi geri getirir. Sunucu önce her rotayı ve parametreyi kontrol eder ve aksiyonlarınızdan geldiğini işaretlediğiniz bir parametrenin bunlardan birinin döndürdüğü bir şeyle eşleşmesi gerekir. Yalnızca Flutter'da kırıcı değişiklik: NavigateAction, UIAction sınıfına katılır; bu nedenle varsayılan case'i olmayan kapsamlı bir switch ifadesi case NavigateAction(): gerektirir.

Uygulamanızın kendi alt çubuğu varsa, balonun onun üzerinde kalması için bubbleOffset değerini ayarlayın (Flutter RendelConfig.bubbleOffset, varsayılan 104; web init({ bubbleOffset }), telefon genişliğindeki bir sayfada 104, aksi takdirde 24). Ayrıca Flutter'da kırıcı değişiklik: Rendel açıkken çağrılan Rendel.open() artık ikinci bir sayfa katmanı oluşturmaz; açık olanı döndürür veya balondan geri yükler.

Flutter 0.37.0 · Web 0.14.0

Bir sayfada seçilen bir boyut veya zaman, bir cümle yerine id'si ile geri gider ve sunucu bunu gösterdiği seçeneklere göre kontrol eder: o zamandan beri değişen seçenekler arasından yapılan bir seçim, son kullanıcının dilinde kısa bir “tekrar seçin” ile yanıtlanır. Yalnızca variant_picker veya datetime_slots bloklarını kendiniz oluşturuyorsanız kırıcı değişiklik: Bu blokların seçenekleri artık bir action almaz. El sıkışma (handshake) artık SDK'nın çalıştırdığı aksiyon türlerini belirtir.

Flutter 0.36.0 · Web 0.13.0

Kırıcı değişiklik. Mesaj akışı kalktı: Yanıtlar sayfadır ve kartlar detaylarına açılır; her iki SDK'da da balonlardan oluşan bir sohbete geri dönme seçeneği yoktur. Ayarladığınız yerlerden answerPages parametresini kaldırın (Flutter RendelConfig, web init). Web'de temanın bubble ve onBubble rolleri balonlarla birlikte kalktı; Flutter'da RendelSentFile, send(files:), runningActionNames, RendelSizeScale.planWidth ve recommendedShadow kullanımlarını ve thinking, runningAction, runningNamed, runningCount, runningOne ve runningMany metinlerini silin; durum hapı bir turun ne yaptığını belirtir.

plan_comparison katalogdan ayrılıyor; planlar Flutter 0.40.0 · Web 0.17.0 ile comparison gelene kadar tablo olarak dönüyordu.

Flutter 0.35.0 · Web 0.12.0

Bir kart detayına açılır. Bir yanıt sayfasında, bir ürüne veya bir liste öğesine dokunmak sayfanın üzerine bir alt sayfa kaydırır: Resimleri, adı ve fiyatı doğrudan kartın kendisinden anında gelir ve detaylar bunların altına ulaştıkça görünür: Bir özet, birkaç etiket, yapılacak bir veya iki şey, neden uygun olduğu ve ayrıntılar. Bu aksiyonlardan ilki mikrofonun yanında vurgulanır. Alt sayfayı kapatmak sayfayı tam olarak önceki haline getirir ve aynı kart ikinci bir istek olmadan tekrar açılır.

Bununla birlikte iki bileşen gelir: actions ve tags; ayrıca bir ürün kartı images taşıyabilir. Bağlanacak hiçbir şey yok: Son sürümden bu yana varsayılan olan sayfa modunun bir parçasıdır.

Flutter 0.34.0 · Web 0.11.0

Yanıtlar sayfadır. Her soru, bir mesaj akışına bir tur eklemek yerine kendi sayfasını açar: Soru sorulurken ekranın üzerine yazılır, asla bir balon olarak gösterilmez, ekran yerini bırakır ve yanıt tek bir kompozisyon olarak yukarıdan aşağıya çizilir. Bir cümlelik yanıtla ve önemli olan ifadenin vurgulanmasıyla açılır; ardından bunu destekleyen bölümler; bir seçeneğin diğerlerine tercih edildiği kısa bir karar; ve alt kısımda devam edilebilecek eksiksiz sorular yer alır. Geri ve ileri, bir sohbetin açtığı sayfalar arasında geçiş yapar.

Bir tur çalışırken, mikrofonun yerindeki bir hap ne olduğunu belirtir: Düşünüyor, uygulamanız kontrol ediliyor, bir araya getiriliyor.

Bu sürümlerden itibaren her iki SDK'da da varsayılan budur. answerPages: false, mesaj akışını tam olarak olduğu gibi korur. Bununla birlikte iki bileşen gelir: section ve key_points; bunları bildirmeyen bir derlemeye bunlar asla sunulmaz.

Flutter 0.33.0 · Web 0.10.0

Yönetim panelinde oluşturulan anahtarlar artık rd_pk_ ile başlar; SDK'lar ise anahtarlarını, cihazı ve kullanıcının token'ını X-Rendel-Key, X-Rendel-Device ve X-Rendel-User-Token olarak gönderir. nc_pk_ ile başlayan bir anahtar her yerde çalışmaya devam eder ve API eski X-NC- üstbilgilerini de okur; bu sayede halihazırda dağıtılmış bir derlemenin değiştirilmesi gerekmez.

Yeni bir rd_pk_ anahtarı Flutter 0.33.0 veya Web 0.10.0 gerektirir: daha eski bir derleme önek kontrolünü kendisi yapar ve init sırasında anahtarı reddeder. Bir anahtar oluşturur veya yenilerseniz, SDK'yı da aynı sürümde güncelleyin.

Flutter 0.32.0 · Web 0.9.0

SDK'lar artık isim olarak Rendel'e aittir. Flutter'da paket sdk/flutter/rendel konumundaki rendel paketidir: bağımlılığı ve yolunu yeniden adlandırın ve package:rendel/rendel.dart dosyasını içe aktarın (ayrıntılar Platform support sayfasındadır). NeonCopilot artık Rendel'dir; NC ve Copilot türleri ise Rendel türleridir (RendelConfig, RendelTheme.paper()). Web'de global değişken Rendel, dosya ise rendel.jstir.

Eski isimler, kullanımdan kaldırılmış (deprecated) olarak işaretlenmiş biçimde her iki platformda da çalışmaya devam eder: Flutter'da yeni türlerin takma adları olarak, web'de ise aynı nesne olan window.NeonCopilot olarak ve 0.9.0 sürümünde rendel.js yanında yer alan neon-copilot.js olarak sunulur. 1.0 sürümünde tamamen kaldırılacaktır.

Flutter 0.31.0 · Web 0.8.0

Soft-glass bloklar. Her blok, component gallery içinde gösterilen kaplamayla çizilir: cam bir plaka, tek bir beyaz panelde gruplanmış satırlar, ışıklı bir birincil buton, gri kutular yok. Bir form, her alan türü için bir glif içeren tek bir satır panelidir; sipariş takipçisi, başlığın yanında geçerli adımın adının yer aldığı yumuşak işaretlerden oluşan bir çizgidir; bir çubuk grafik en son değeriyle öne çıkar. Metin kontrastı değişmemiştir.

Düz (flat) kartlar artık her iki platformda da varsayılandır. Yükseltilmiş ve dış çizgili stiller, bir tema talep ettiğinde çizilmeye devam eder.

Her iki SDK da artık varsayılan olarak https://api.rendel.ai ile iletişim kurar. Eski adres yanıt vermeye devam eder, bu nedenle halihazırda dağıtılmış bir derlemenin değiştirilmesi gerekmez.

Flutter 0.30.0

Ekrana tek yanıt. NCConfig.answerPages, her yanıta bir ileti dizisi içindeki bir yer yerine kendine ait bir sayfa verir: bir soru ekrandakileri temizler, yanıt en baştan çizilir ve önceki yanıtlar başlıktaki oklar aracılığıyla bir adım geridedir. Varsayılan olarak kapalıdır ve gönderilen veya saklanan hiçbir şey bununla birlikte değişmez — her karşılıklı konuşma turu yine kaydedilir ve uygulama nasıl çizmiş olursa olsun yönetim paneli ileti dizisinin tamamını gösterir.

Böyle bir derleme answer_pages bildirir ve Rendel daha sonra kapsamlı bir yanıtı, sayfanın alt kısmında kartlar olarak çizilen, devam edilebilecek iki veya üç tam soruyla sonlandırır. Bunu bildirmeyen bir derlemede ise hızlı yanıtlar arka arkaya hap şeklinde butonlar olarak kalır.

Flutter 0.29.0 · Web 0.7.0

Bloklar kendi yerini alır. Rendel ekranda değişecek bir öğeyi (sepet, sipariş, bir dizi zaman aralığı) belirtebilir ve değiştikçe onu yeniden çizebilir; yeni çizim, yanında ikincisi belirmek yerine eskisinin yerini alır. Kullanıcının yaptığı bir seçim, yeni çizim bunu sunduğu sürece korunur. Geç gelen daha eski bir çizim atılır. Bkz. Screens that update in place.

pair(code), bir test derlemesini yönetim panelinin Test sayfasıyla eşleştirir; bu sayfa daha sonra söz konusu derlemenin sohbetini iki saat boyunca izler. Yalnızca test anahtarlarıyla kullanılabilir. Bkz. Pair a test app.

Flutter 0.28.0 · Web 0.6.0

Formlar yerinde güncellenir. Rendel, kullanıcının henüz göndermediği bir formu yeniden çizdiğinde (“kartıma iade yapılsın”), yeni form eskisinin yerini alır ve hâlâ mevcut olan bir alan için verdikleri her yanıtı korur; kendilerinin değiştirdiği bir alan kendi değerini korur. Her mesaj ayrıca açık formlarda ne olduğunu Rendel'e bildirir; böylece Rendel neyin önceden seçildiğini bilerek yanıt verir. Bağlanacak hiçbir şey yoktur. Bu sürümlerden önceki bir derleme, yeniden çizilen bir formu ikinci bir form olarak çizmeye devam eder.

Flutter 0.27.0 · Web 0.5.0

Uç nokta giriş yapmış kullanıcının token'ı olarak ayarlandığında bir şeyi değiştiren yönetim paneli aksiyonları — “salı gününe randevu al”, “siparişimi iptal et”. Rendel, kendi yazma aksiyonlarınızda yaptığı gibi, önce son kullanıcıya bir onay kartı üzerinde sorar; kullanıcı onayladıktan sonra Rendel çağrıyı bizzat onun adına yapar ve ne olduğunu yanıtlar. Kaydedilecek veya bağlanacak hiçbir şey yoktur: yalnızca Flutter'da NCConfig.userToken veya web'de NeonCopilot.setUserToken token'ına ihtiyaç duyar (bunlar Flutter 0.26.0 ve Web 0.4.0 sürümlerinde geldi). Daha eski bir derleme, bu türden onaylanmış bir kartı bir hatayla yanıtlar ve hiçbir şey değişmez.

Flutter 0.1.0 · Web 0.1.0

İlk sürüm.

Flutter paketi henüz pub.dev üzerinde yer almıyor; bir git referansından yüklenir (Platform support). İçindekiler:

  • Tümü yerel olarak çizilen 21 bileşen (0.44.0 itibarıyla 36)
  • Üç risk seviyesine ve sunucunun zorunlu kıldığı onaya sahip aksiyonlar
  • Cihaz tarafında okunabilirlik tabanına sahip uzaktan görünüm yapılandırması
  • İsteğe bağlı HMAC doğrulaması ile kimlik bağlama
  • RendelConfig.onLog aracılığıyla yapılandırılmış günlük kaydı
  • Karşılıklı konuşma turu başına puanlamalar

Bilinen eksikler, tümü takip ediliyor:

  • Kesilen bir akıştan sonra geçmiş mutabakatı yok — kaybolan bir kare yeniden getirilmez, atlanır
  • Uygulamanız için embedding'ler yapılandırılana kadar Knowledge erişimi metin eşleştirmesine geri döner
  • Self-servis toplu dışa aktarma yok; talep edin, beş iş günü içinde hazırlayalım

Bir değişiklikten nasıl haberdar olacaksınız

Buradan. Her sürüm bu sayfada listelenir ve her kırıcı değişiklik, sizden istediği düzenlemeyle birlikte ilgili sürümün altında Breaking olarak işaretlenir. Henüz bir e-posta bildirimi ve ürün içi değişiklik günlüğü akışı yok; bu nedenle yükseltme yapmadan önce bu sayfayı kontrol edin.