Noong una itong inilunsad, Sinatra ay 1% ang laki ng kanyang pangunahing katunggali:. Ruby sa daang-bakal
Ito ay dahil Sinatra ay nilikha upang maging isang super-lightweight na solusyon para sa Ruby merkado na kung saan ay at pa rin ay inundated na may maraming mga frameworks na may malaking codebases.
Sinatra pa rin ay sumusunod ito pilosopiya ngayon, na nagbibigay ng isang pangunahing hanay ng mga tampok na natagpuan malapit sa lahat ng frameworks sa paligid, itinuturing na ang ganap na walang kinakailangan base para sa anumang Web proyekto.
Ang pagtuon sa kanyang liwanag codebase ay ginawa Sinatra napaka sikat sa mundo Web development, mga konsepto nito na nai-port sa iba't-ibang mga iba pang mga wika programming pati na rin.
Ano ang bago sa ito release:
- Alisin ang mga dobleng nangangailangan ng sinatra / base .
- Makatakas HTML sa 404 pahina ng error.
- Refactor sa paraan ng tawag sa `Stream # close` at` # callback`.
- Depende sa pinakabagong bersyon ng Slim.
- Fix pagiging tugma sa Tilt bersyon 2.
- Fix compatibility isyu sa Rack `pretty` paraan mula ShowExceptions.
- Ipakita date sa lokal na oras exception mensahe.
- Fix logo sa mga pahina ng error kapag gumagamit ng Ruby 1.8.
- I-upgrade test suite sa Minitest bersyon 5 at ayusin Ruby 2.2 compatibility.
Ano ang bago sa bersyon 1.4.6:.
- Alisin ang mga dobleng nangangailangan ng sinatra / base
- Makatakas HTML sa 404 pahina ng error.
- Refactor sa paraan ng tawag sa `Stream # close` at` # callback`.
- Depende sa pinakabagong bersyon ng Slim.
- Fix pagiging tugma sa Tilt bersyon 2.
- Fix compatibility isyu sa Rack `pretty` paraan mula ShowExceptions.
- Ipakita date sa lokal na oras exception mensahe.
- Fix logo sa mga pahina ng error kapag gumagamit ng Ruby 1.8.
- I-upgrade test suite sa Minitest bersyon 5 at ayusin Ruby 2.2 compatibility.
Ano ang bago sa bersyon 1.4.3:.
- Pagbutihin dokumentasyon
- Ilantad tumugma pattern bilang env [& quot; sinatra.route & quot;] .
- Fixed babala sa Ruby 2.0.
- Pinagbuting pagpapatakbo subset ng mga pagsubok sa paghihiwalay.
- Ayusin muli pribadong / pampublikong mga pamamaraan.
- Luwagan bersiyon dependency para rack, sa gayon ito ay tumatakbo sa daang-bakal 3.2.
Ano ang bago sa bersyon 1.4.2:
- Nawawalang Tanggapin header ay tratuhin tulad ng * / *.
- Pagbutihin babasahin.
Ano ang bago sa bersyon 1.4.0:.
- Added suporta para sa LINK at i-unlink kahilingan
- Nagdagdag ng suporta para Yajl template.
- Nagdagdag ng suporta para Rabl template.
- Nagdagdag ng suporta para Wlang template.
- Added suporta para sa stylus template.
Ano ang bago sa bersyon 1.3.3:.
- Pinahusay na dokumentasyon
- Hindi na baguhin ang load path.
- Kapag pagsunod sa isang stream bukas, i-set up callback / errback tama upang makitungo sa mga kliyente isara ang koneksyon.
- Mga Fixed bug kung saan ang pagkakaroon ng isang query param at isang URL param pamamagitan ng parehong pangalan ay pagdugtungin ang dalawang mga halaga.
- Pigilan Nadoble log output kapag ang application ay naka-balot sa isang `Rack :: CommonLogger`.
- Fixed isyu kung saan `Rack :: Link` at daang-bakal ay pumipigil sa indefinite streaming.
- Hindi na maging sanhi ng mga babala kapag tumatakbo Ruby sa `-w`.
- HEAD kahilingan sa static na mga file ay hindi na mag-ulat ng Content-Length ng 0, ngunit sa halip ay ang tamang haba.
- Kapag pagprotekta laban sa mga atake CSRF, drop ang session sa halip na tinatanggihan ang kahilingan.
Ano ang bago sa bersyon 1.3.2:
- Pag-set `logging` sa` nil` Maiiwasan pagse-set up `Rack :: NullLogger`.
- Route tiyak params ay magagamit na ngayon sa block lumipas na #stream.
- Ayusin ang bug kung saan pag-render ng isang pangalawang template sa parehong kahilingan, pagkatapos ng unang isa itinaas ng pagbubukod, nilaktawan ang default na layout.
- Ayusin ang bug kung saan parameter escaping got pinagana kapag hindi pagpapagana ng ibang proteksyon.
- Fix pagbabalik:. Filter walang pattern ay maaari na ngayong muli manipulahin ang params hash
- Idinagdag halimbawa directory.
- Pinahusay na dokumentasyon.
- Pinahusay Maglev support.
Ano ang bago sa bersyon 1.3.1:
- Suporta pagdagdag ng higit sa isang callback sa stream object .
- Fix para sa walang katapusan loop kapag streaming sa 1.9.2 na may Manipis mula sa isang modular application.
Ano ang bago sa bersyon 1.3.0.e:.
- Nagdagdag ng suporta para sa mga kahilingan HTTP PATCH
Ano ang bagong sa bersyon 1.2.6:
- Fixed sirang delegasyon, backport delegasyon pagsubok mula Sinatra 1.3 .
Ano ang bago sa bersyon 1.2.2 / 1.3.0.a:
- Ang `: nagbibigay = & # x3e; : Js` kalagayan ngayon ay tumutugma sa parehong `application / javascript` at` text / javascript`. Ang `: nagbibigay = & # x3e; : Xml` kalagayan ngayon ay tumutugma sa parehong `application / xml` at` text / xml`. Ang `Content-Type` header ay naka-set nang naaayon. Kung ang kliyente tumatanggap ng parehong, ang `application / *` bersyon ay ginustong, dahil ang `text / *` bersyon ay hindi na ginagamit.
- Ang `provides` kalagayan ngayon humahawak wildcard sa` Accept` header tama. Kaya `: nagbibigay = & # x3e; : Html` tumutugma `text / html`,` text / * `at` * / * ` .
- Kapag pag-parse `Accept` header,` Content-Type` kagustuhan ay pinarangalan ayon sa RFC 2616 seksyon 14.1.
- URI lumipas na ang `url` helper o` redirect` ay maaari na ngayong gamitin ang anumang panukala na kinilala bilang absolute URI, hindi lamang` http` o` https`.
- Humahawak `Content-Type` string na naglalaman na mga parameter ng tama sa` content_type` (halimbawa: `CONTENT_TYPE & quot; text / plain; charset = utf-16 & quot;`) .
- Kung ang isang ruta na may isang walang laman na pattern ay tinukoy ( `makakuha ng (& quot; & quot;) {...}`) ay humihiling sa isang walang laman info landas tumugma sa rutang ito sa halip na & quot; / & quot;.
- Sa pag-unlad na kapaligiran, kapag tumatakbo sa ilalim ng isang nested landas, ang mga URI imahe sa mga pahina ng error ay naka-set ng maayos.
Ano ang bago sa bersyon 1.2.1:
- Gumamit ng isang nabuo lihim session kapag gumagamit `paganahin ang: sessions`.
- Nakatakdang ng isang bug kung saan ang maling uri ng nilalaman ay ginamit if no uri ng nilalaman ay naka-set at isang template engine ay ginagamit sa isang iba't ibang mga engine para sa mga layout na may iba't ibang mga uri ng default na nilalaman, sabihin Less naka-embed sa Slim.
- README pagsasalin pinabuting.
Ano ang bago sa bersyon 1.2.0.c:
- Idinagdag `slim` rendering pamamaraan para sa pag-render slim mga template.
- Ang `markaby` rendering paraan ngayon ay nagbibigay-daan ang pagpasa ng isang bloke, na ginagawang inline paggamit maaari. Nangangailangan Tilt 1.2 o mas bago.
- Lahat render pamamaraan ngayon kumuha ng isang `: layout_engine` opsyon, na nagpapahintulot sa ang paggamit ng isang layout sa isang iba't ibang template wika. Kahit na mas kapaki-pakinabang kaysa sa paggamit na ito nang direkta ( `erb: index,: layout_engine = & # x3e;: haml`) ay pagtatakda ito globally para sa isang template engine na kung hindi man ay hindi sumusuporta sa mga layout, tulad ng Markdown o Textile (` itakda: markdown,: layout_engine = & # x3e;:. erb`)
- Bago at pagkatapos filter ngayon sinusuportahan kondisyon, parehong may at walang pattern ( `bago '/ api / *',: agent = & # x3e; / Songbird /`).
- Nagdagdag ng `url` paraan helper na constructs absolute URL. Copes sa reverse proxies at Rack handlers tama. Alyas sa `sa`, para makita mo isulat` redirect sa ( '/ foo') `.
- Kung tumatakbo sa 1.9, pattern para sa mga ruta at mga filter sinusuportahan ngayon pinangalanan kinukuha: `makakuha (% r {? / Hi / (& # x3c; pangalan & # x3e; [^ / #?] +)}) {& Quot; Hi # {params [ 'name']} & quot; } `.
- Lahat rendering pamamaraan ngayon kumuha ng isang `: scope` opsyon, na nagbibigay sa kanila sa ibang konteksto. Tandaan na helpers at pagkakataon variable ay hindi magagamit kung gagamitin mo ang tampok na ito.
- Ang pag-uugali ng `redirect` ay maaari na ngayong i-configure sa` absolute_redirects` at` prefixed_redirects`.
- `send_file` Pinapayagan ka na ngayon ng pinakamahalaga sa Huling-Modified header, na nagde-default sa mtime ng file, sa pamamagitan ng pagpasa ng isang`:. Last_modified` option
- Maaari mong gamitin ang iyong sariling template lookup paraan sa pamamagitan ng pagtukoy `find_template`. Ito ay nagpapahintulot sa, bukod sa iba pang mga bagay, ang paggamit ng higit sa isang tanawin folder.
- Higit sa lahat pinabuting babasahin.
- Pinabuting error handling.
- Laktawan nawawala template engine sa mga pagsubok nang tama.
- Sinatra ngayon ships na may isang Gemfile para dependencies development, dahil ito eases pagsuporta sa iba't ibang mga platform, tulad ng JRuby.
Ano ang bago sa bersyon 1.0:
- handlers Route, bago filter, mga template, error mappings, at middleware ay ngayon nalutas dynamic ang mana hierarchy kapag kinakailangan sa halip ng duplicating bersyon ng superclass kapag ang isang bagong Sinatra :: Base subclass ay nilikha.
- Sinatra apps ay maaari na ngayong ay balungan dahil sa isang `-o & # x3c; addr & # x3e;.` Argument upang tukuyin ang address na sumailalim sa
- New request.secure? pamamaraan para sa pagsusuri para sa isang SSL koneksyon.
- Bagong 'erubis' helper paraan para sa rendering ERB template na may Erubis.
- ERB, Erubis, at Haml template ay ngayon compiled sa unang pagkakataon ang mga ito ay nai-render sa halip ng pagiging string eval'd sa bawat pananalangin.
- Sinatra ngayon ay gumagamit ng Tilt para sa rendering mga template.
Mga Komento hindi natagpuan