Yükseltme

Sürüm 3.4'e Yükseltme

Gereken en düşük PHP sürümü 8.3'tür.

  • Request::isSameSite() metodu kullanımdan kaldırıldı; yerine, isteğin kaynağını Sec-Fetch-* header'larından belirleyen isFrom() geldi. Formların ve sinyallerin otomatik koruması daha isabetli oluyor ve bir davranış değişiyor: doğrudan gezinme (bir yer imi, elle yazılan bir adres, e-postadaki bir bağlantı) artık aynı site sayılmıyor. Bir sinyal e-postadaki eylem bağlantılarına dayanıyorsa, onu #[Requires(sameOrigin: false)] ile işaretleyin.
  • _nss çerezi artık yalnızca Sec-Fetch-Site header'ını göndermeyen tarayıcılara gönderiliyor
  • setCookie(), Max-Age niteliğini gönderiyor ve SameSite=None ile bölümlenmiş çerezlerde Secure bayrağını zorluyor
  • SameSite enum'u, kullanımdan kaldırılan IResponse::SameSiteLax gibi sabitlerin yerini alıyor
  • son kullanma her yerde aynı şekilde yorumlanıyor: sayı göreli saniye sayısı, dize ise bir aralık ya da tarihtir. Mutlak bir UNIX zaman damgası vermek kullanımdan kaldırıldı ve oturum çerezi 0 yerine null ile temsil ediliyor.
  • kullanımdan kaldırılmış Request::getRemoteHost() metodu null döndürüyor
  • uzun süredir kullanımdan kaldırılmış Nette\Http\UserStorage sınıfı kaldırıldı

Sec-Fetch-* header'larına geçişin tüm hikâyesi Çeyrek yüzyıllık CSRF yazısında anlatılıyor.

Sürüm 3.2'ye Yükseltme

  • HTTP Basic Authentication kimlik bilgileri artık Url nesnesinin parçası değil, dolayısıyla $url->getUser() ve $url->getPassword() boş dize döndürüyor. Onları yeni $request->getBasicCredentials() metoduyla okuyun.

Bu değişikliğin nedenleri Nette Http 3.2: kimlik bilgilerine erişim değişiyor yazısında açıklanıyor.

Sürüm 3.1'e Yükseltme

  • çerezler sameSite: Lax bayrağıyla gönderiliyor
  • cookieSecure artık varsayılan olarak ‘auto’
  • session.cookieSecure seçeneği kullanımdan kaldırıldı; yerine http.cookieSecure kullanılıyor
  • nette-samesite çerezinin adı _nss oldu
  • Nette\Http\Request::getFile() bir anahtar dizisi kabul ediyor ve FileUpload|null döndürüyor
  • Nette\Http\Session::getCookieParameters() kullanımdan kaldırıldı
  • Nette\Http\FileUpload::getName() metodunun adı getUntrustedName() oldu
  • Nette\Http\Url: getBasePath(), getBaseUrl() ve getRelativeUrl() kullanımdan kaldırıldı (bu metotlar UrlScript sınıfının parçası)
  • Nette\Http\Response::$cookieHttpOnly kullanımdan kaldırıldı
  • Nette\Http\FileUpload::getImageSize() [genişlik, yükseklik] çiftini döndürüyor
  • autoStart: smart (varsayılan) ile oturum, yalnızca tarayıcı bir oturum çerezi gönderdi diye uygulama başlar başlamaz artık başlatılmıyor; ilk okuma ya da yazmada başlıyor. always ve never değerleri eklendi.
  • tarayıcı, karşılığında oturum bulunmayan bir oturum ID'si gönderdiğinde Nette yeni bir oturum oluşturmak yerine çerezi siliyor
  • oturum bölümlerine erişmek için set(), get() ve remove() metotlarını yeğleyin; özellik erişiminin aksine okumayı yazmadan doğru ayırt eder ve oturumu gereksiz yere başlatmazlar
  • cookiePath ve cookieDomain varsayılan değerleri yapılandırmada ayarlanabilir

Oturumların davranışı Nette Http 3.1: çok daha akıllı oturumlar yazısında ayrıntılı anlatılıyor.

Sürüm 3.0'a Yükseltme

  • Nette\Http\UrlScript nesnesi (örneğin Nette\Http\Request::getUrl() metodunun döndürdüğü) artık değişmez
  • new Nette\Http\Url('abcd') içinde abcd alan adını değil yolu temsil ediyor; 3.0'dan beri (new Nette\Http\Url('abcd'))->setScheme('http') önceki http://abcd yerine doğru biçimde http:abcd üretiyor
versiyon: 4.x