Quand il a lancé, Sinatra était de 1% de la taille de son principal concurrent:. Ruby on Rails
Ce fut parce que Sinatra a été créé pour être une solution de super-léger pour le marché Ruby qui était et est toujours inondé avec beaucoup de cadres avec d'énormes codebases.
Sinatra suit toujours cette philosophie aujourd'hui, fournissant un ensemble de base de fonctionnalités trouve presque dans tous les cadres autour, considéré comme la base absolument nécessaire pour tout projet Web.
Ce dévouement à sa codebase de lumière a fait Sinatra très célèbre dans le monde du développement Web, ses concepts en cours de portage à divers autres langages de programmation ainsi.
Quoi de neuf dans cette version:
- Supprimer double besoin de sinatra / base .
- Évadez HTML page d'erreur 404.
- Refactor à un appel de méthode dans `flux # close` et` # callback`.
- Depend sur la dernière version de Slim.
- compatibilité Fix avec Tilt la version 2.
- problème de compatibilité de Fix avec rack `pretty` méthode de ShowExceptions.
- Afficher la date à l'heure locale dans les messages d'exception.
- logo Fix sur les pages d'erreur lors de l'utilisation Ruby 1.8.
- Mise à jour suite de tests pour Minitest version 5 et fixer Ruby 2.2 compatibilité.
Ce qui est nouveau dans la version 1.4.6:.
- Supprimer double besoin de sinatra / base
- Évadez HTML page d'erreur 404.
- Refactor à un appel de méthode dans `flux # close` et` # callback`.
- Depend sur la dernière version de Slim.
- compatibilité Fix avec Tilt la version 2.
- problème de compatibilité de Fix avec rack `pretty` méthode de ShowExceptions.
- Afficher la date à l'heure locale dans les messages d'exception.
- logo Fix sur les pages d'erreur lors de l'utilisation Ruby 1.8.
- Mise à jour suite de tests pour Minitest version 5 et fixer Ruby 2.2 compatibilité.
Ce qui est nouveau dans la version 1.4.3:.
- Améliorer la documentation
- Exposer motif reconnu comme env [& quot; sinatra.route & quot;] .
- avertissement fixe sur Ruby 2.0.
- Amélioration de l'exécution sous-ensemble de tests dans l'isolement.
- Réorganiser méthodes privées / publiques.
- Desserrez dépendance de version pour rack, il fonctionne avec Rails 3.2.
Ce qui est nouveau dans la version 1.4.2:
- manquant tête Accept est traité comme * / *.
- Améliorer la documentation.
Ce qui est nouveau dans la version 1.4.0:.
- Ajout du support pour LINK et UNLINK demandes
- Ajout du support pour les modèles Yajl.
- Ajout du support pour les modèles Rabl.
- Ajout du support pour les modèles Wlang.
- Ajout du support pour les modèles Stylus.
Ce qui est nouveau dans la version 1.3.3:.
- Amélioration de la documentation
- Pas plus modifier le chemin de charge.
- En gardant un flux ouvert, mis en place callback / errback correctement pour traiter avec des clients de fermer la connexion.
- Correction d'un bug ayant un param de requête et une URL param par le même nom se concaténer les deux valeurs.
- Prevent dupliqué sortie du journal lorsque l'application est déjà enveloppé dans un rack `:: CommonLogger`.
- Correction du problème où `rack :: link` et Rails empêchaient la diffusion illimitée.
- ne provoque plus les avertissements lors de l'exécution Ruby avec `-w`.
- les requêtes HEAD sur les fichiers statiques ne font état d'un Content-Length de 0, mais au lieu de la bonne longueur.
- Lors de la protection contre les attaques CSRF, déposez la session au lieu de refuser la demande.
Ce qui est nouveau dans la version 1.3.2:
- Réglage `logging` à` nil` évitera la mise en place `rack :: NullLogger`.
- Itinéraire params spécifiques sont maintenant disponibles dans le bloc passé à #stream.
- Correction d'un bug où le rendu d'un deuxième modèle dans la même demande, après la première a soulevé une exception, ignoré la mise en page par défaut.
- Correction d'un bug où le paramètre échappements obtenu activé lors de la désactivation d'une protection différente.
- Fix régression:. Filtres sans un motif peuvent désormais à nouveau manipuler le hachage params
- Répertoire des exemples Ajouté.
- documentation améliorée.
- Amélioration du support de Maglev.
Ce qui est nouveau dans la version 1.3.1:
- Support en ajoutant plus d'un rappel à l'objet de flux .
- Correction de boucle infinie lors de la diffusion sur 1.9.2 avec Thin à partir d'une application modulaire.
Ce qui est nouveau dans la version 1.3.0.e:.
- Ajout du support pour les demandes de PATCH HTTP
Qu'est-ce qui est nouveau dans la version 1.2.6:
- délégation brisée fixe, les tests de délégation de backport de Sinatra 1.3 .
Ce qui est nouveau dans la version 1.2.2 / 1.3.0.a:
- Le `: fournit = & # X3e; : État js` correspond maintenant à la fois `application / javascript` et` text / javascript`. Le `: fournit = & # X3e; : Condition de xml` correspond maintenant à la fois `application / xml` et` text / xml`. Le `entête Content-Type` est réglé en conséquence. Si le client accepte à la fois, la version `application / *` est préférée, car les `` text / * versions sont obsolètes.
- Le `condition de provides` gère maintenant wildcards dans` Accept` têtes correctement. Ainsi `: fournit = & # X3e; : Html` correspond `text / html`,` text / * `et` * / * ` .
- Lors de l'analyse `têtes Accept`,` préférences Content-type` sont honorés selon la RFC 2616 section 14.1.
- URIs transmis à l'aide `url` ou` redirect` peut maintenant utiliser tous les schémas à être identifiés comme URIs absolue, non seulement `http` ou` https`.
- Poignées `cordes Content-type` qui contiennent déjà des paramètres correctement dans` content_type` (exemple: `content_type & quot; text / plain; charset = utf-16 & quot;`) .
- Si un itinéraire avec un motif vide est défini ( `get (& quot; & quot;) {...}`) demande avec un chemin d'info vide correspond cette voie au lieu de & quot; / & quot;.
- Dans l'environnement de développement, lors de l'exécution sous un chemin imbriqué, les URIs d'image sur les pages d'erreur sont correctement réglées.
Ce qui est nouveau dans la version 1.2.1:
- Utilisez un secret de session générée lors de l'utilisation `permettre: sessions`.
- Correction d'un bug où le type de contenu incorrect a été utilisé si aucun type de contenu a été créé et un moteur de modèle a été utilisé avec un moteur différent pour la mise en page avec différents types de contenu par défaut, dire moins intégré dans Slim.
- Traductions de README améliorée.
Ce qui est nouveau dans la version 1.2.0.c:
- Ajout `slim` méthode de rendu pour le rendu modèles Slim.
- La méthode de rendu de markaby` `permet désormais le passage d'un bloc, ce qui rend l'utilisation de la ligne possible. Nécessite Tilt 1.2 ou plus récent.
- Toutes les rendent méthodes prennent maintenant un `: l'option layout_engine`, permettant d'utiliser une mise en page dans un langage de modèle différent. Encore plus utile que d'utiliser ceci directement ( `erb: index,: layout_engine = & # X3e;: haml`) est la définition de cette échelle mondiale pour un moteur de template qui ne autrement supporte pas les mises en page, comme Markdown ou textile (` set: démarques,: layout_engine = & # X3e;:. erb`)
- Avant et après les filtres prennent désormais en charge les conditions, à la fois avec et sans motifs ( `avant '/ api / *',: Agent = & # X3e; / Songbird /`).
- Ajout d'une méthode `helper url` qui construit des URL absolues. Copes avec les proxys inverses et les gestionnaires de rack correctement. Aliased à `to`, de sorte que vous pouvez écrire` rediriger vers ( '/ foo') `.
- Si en cours d'exécution sur 1.9, les modèles pour les routes et les filtres prennent désormais en charge les captures nommées: `obtenir (% r {? / Salut / (& # x3C; nom & # X3e; [^ / #?] De +)}) {& quot; Hi # {params [ 'nom']} & quot; } `.
- Toutes les méthodes de rendu prennent maintenant un `: l'option scope`, ce qui les rend dans un autre contexte. Notez que les aides et les variables d'instance ne seront pas disponibles si vous utilisez cette fonction.
- Le comportement de `redirect` peut maintenant être configuré avec` absolute_redirects` et `prefixed_redirects`.
- `send_file` permet maintenant redéfinissant la tête Last-Modified, qui par défaut à la mtime du fichier, en faisant passer un`:. L'option last_modified`
- Vous pouvez utiliser votre propre modèle de méthode de recherche en définissant `find_template`. Cela permet, entre autres choses, en utilisant plusieurs dossiers de vues.
- Largement amélioration de la documentation.
- la gestion des erreurs améliorée.
- Passer les moteurs de modèle dans les tests manquants correctement.
- Sinatra maintenant livré avec un Gemfile pour les dépendances de développement, car il facilite l'appui différentes plates-formes, comme JRuby.
Ce qui est nouveau dans la version 1.0:
- Chariot de route, avant les filtres, les modèles, les mappages d'erreur, et middleware sont maintenant résolu dynamiquement la hiérarchie d'héritage en cas de besoin au lieu de dupliquer la version de la superclasse quand une nouvelle sous-classe Sinatra :: base est créé.
- applications Sinatra peuvent désormais être exécutées avec un `-o & # x3C; adr & # X3e;.` Argument pour spécifier l'adresse de se lier à
- Nouveau request.secure? méthode de vérification pour une connexion SSL.
- Nouveaux 'erubis de rendu pour ERB modèle avec erubis.
- modèles ERB, erubis et HAML sont maintenant compilés la première fois qu'ils sont rendus au lieu d'être la chaîne eval'd sur chaque invocation.
- Sinatra utilise maintenant Tilt pour le rendu des modèles.
La méthode d'aide
Commentaires non trouvées