Cuando se lanzó por primera vez, Sinatra fue del 1% del tamaño de su principal competidor:. Ruby on Rails
Esto se debió a Sinatra fue creado para ser una solución súper ligero para el mercado de Ruby, que era y sigue siendo inundado con una gran cantidad de marcos con enormes bases de código.
Sinatra todavía hoy sigue esta filosofía, proporcionando un conjunto básico de características se encuentra casi en todos los marcos de todo, considera que es la base indispensable para cualquier proyecto web.
Esta dedicación a su base de código luz ha hecho Sinatra muy famoso en el mundo del desarrollo Web, sus conceptos siendo portado a varios otros lenguajes de programación también.
¿Qué hay de nuevo en esta versión:
- Eliminar duplicado requiere de sinatra / base .
- Escapar HTML en la página 404 de error.
- Refactor al llamado método en el `Secuencia # close` y` # callback`.
- Depender última versión de Slim.
- Fix compatibilidad con la inclinación de la versión 2.
- Fix problema de compatibilidad con el estante `pretty` método de ShowExceptions.
- Mostrar fecha en horario local de mensajes de excepción.
- Fix logotipo en las páginas de error cuando se utiliza Rubí 1.8.
- Actualiza banco de pruebas para Minitest versión 5 y fijar Rubí 2.2 compatibilidad.
¿Qué es la nueva en la versión 1.4.6:.
- Eliminar duplicado requiere de sinatra / base
- Escapar HTML en la página 404 de error.
- Refactor al llamado método en el `Secuencia # close` y` # callback`.
- Depender última versión de Slim.
- Fix compatibilidad con la inclinación de la versión 2.
- Fix problema de compatibilidad con el estante `pretty` método de ShowExceptions.
- Mostrar fecha en horario local de mensajes de excepción.
- Fix logotipo en las páginas de error cuando se utiliza Rubí 1.8.
- Actualiza banco de pruebas para Minitest versión 5 y fijar Rubí 2.2 compatibilidad.
¿Qué hay de nuevo en la versión 1.4.3:.
- Mejorar la documentación
- Expose patrón emparejado como env [& quot; sinatra.route & quot;] .
- advertencia fijo sobre el Ruby 2.0.
- Mejora del funcionamiento subconjunto de pruebas de forma aislada.
- Reordenar métodos privadas / públicas.
- Aflojar versión dependencia para rack, lo que se ejecuta con Rails 3.2.
¿Qué es la nueva en la versión 1.4.2:
- Falta de cabecera Accept es tratado como * / *.
- Mejorar la documentación.
¿Qué hay de nuevo en la versión 1.4.0:.
- Se ha añadido soporte para enlazar y desenlazar las solicitudes
- Se ha añadido soporte para las plantillas Yajl.
- Se ha añadido soporte para las plantillas Rabl.
- Se ha añadido soporte para las plantillas wlang.
- Se ha añadido soporte para las plantillas Stylus.
¿Qué hay de nuevo en la versión 1.3.3:.
- Documentación mejorada
- Ya no modificar la ruta de carga.
- Cuando mantener un flujo abierto, configurado de devolución de llamada / errback correctamente para hacer frente a los clientes de cerrar la conexión.
- Se corrigió el error que tiene un parámetro de consulta y una param URL con el mismo nombre se concatenar los dos valores.
- Evitar duplicar la salida del registro cuando la aplicación ya está envuelto en un estante `:: CommonLogger`.
- Solucionado el problema de `rack :: Link` y rieles fueron impidiendo el streaming indefinida.
- Ya no causan advertencias cuando se ejecuta rubí con `-w`.
- peticiones HEAD en archivos estáticos ya no informan de un Content-Length de 0, pero en lugar de la longitud adecuada.
- En la protección contra los ataques CSRF, la caída de la sesión en lugar de denegar la solicitud.
¿Qué es la nueva en la versión 1.3.2:
- Configuración de `` logging` a las negativas se evite la creación de `rack :: NullLogger`.
- Ruta params específicos están disponibles ahora en el bloque pasó a #stream.
- Corrección de errores en la prestación de una segunda plantilla en la misma petición, después de que el primero produce una excepción, se saltó el diseño predeterminado.
- Corrección de errores en el parámetro de escape que quedó habilitada cuando la desactivación de una protección diferente.
- regresión Fix:. Filtros sin un patrón ahora pueden manipular de nuevo el hash params
- Añadido directorio de ejemplos.
- Mejora de la documentación.
- Soporte de levitación magnética mejorada.
¿Qué hay de nuevo en la versión 1.3.1:
- Apoyo a la adición más de una devolución de llamada al objeto de flujo .
- Arreglo para el bucle infinito cuando se transmite en 1.9.2 con Thin desde una aplicación modular.
¿Qué es la nueva en la versión 1.3.0.e:.
- Se ha añadido soporte para las solicitudes HTTP PATCH
¿Qué hay de nuevo en la versión 1.2.6:
- delegación rota fija, pruebas delegación backport de Sinatra 1.3 .
¿Qué es la nueva en la versión 1.2.2 / 1.3.0.a:
- El `: ofrece = & # X3e; : Condición js` coincide ahora con tanto `application / javascript` y` texto / javascript`. El `: proporciona = & # X3e; : Condición xml` coincide ahora con tanto `application / xml` y` texto / xml`. La cabecera Content-type` de está ajustado en consecuencia. Si el cliente acepta tanto, se prefiere la versión `application / *`, ya que los `` texto / * versiones están en desuso.
- La condición `provides` ahora se encarga de comodines en` Accept` cabeceras correctamente. Por lo tanto `: proporciona = & # X3e; : `Html` coincide con el texto / html`,` texto / * `y` * / * ` .
- Al analizar `cabeceras Accept`,` preferencias contenido-son honrados type` de acuerdo con RFC 2616 sección 14.1.
- URI pasan al helper `` url` o redirect` puede ahora utilizar cualquier esquema para identificarse como absoluta URI, no sólo `` http` o https`.
- Tiradores `cadenas de contenido-type` de que ya contienen parámetros correctamente en` content_type` (ejemplo: `content_type & quot; text / plain; charset = UTF-16 & quot;`) .
- Si se define una ruta con un patrón vacío ( `get (& quot; & quot;) {...} ') solicita con una información de la ruta vacía coincide con esta ruta en lugar de & quot; / & quot;.
- En el entorno de desarrollo, cuando se ejecuta en un camino anidada, los URI de imagen en las páginas de error se establecen correctamente.
¿Qué hay de nuevo en la versión 1.2.1:
- Utilice un secreto de sesión generada al utilizar `permitirá: sessions`.
- Se ha corregido un error por el que se utilizó el tipo de contenido incorrecto si no se estableció ningún tipo de contenido y un motor de plantillas se utiliza con un motor diferente para el diseño con diferentes tipos de contenido predeterminado, por ejemplo Menos incrustado en Slim.
- traducciones README mejorado.
¿Qué es la nueva en la versión 1.2.0.c:
- `añadido slim` método de representación para la representación plantillas delgadas.
- El método de representación markaby` `ahora permite pasar de un bloque, por lo que el uso en línea posible. Requiere de inclinación 1.2 o posterior.
- Todos los métodos rinden ahora toman un `: layout_engine` opción, lo que permite usar un diseño en un lenguaje de plantillas diferentes. Incluso más útil que el uso de esta forma directa ( `erb: índice,: layout_engine = & # X3e: haml`) está presente a nivel mundial para el establecimiento de un motor de plantillas que de otro modo no es compatible con los diseños, como el de rebajas o textil (` set: reducción del precio,: layout_engine = & # X3e;:. erb`)
- Antes y después de los filtros ahora son compatibles con las condiciones, tanto con como sin patrones ( `antes '/ api / *',: agente = & # X3e; / Songbird /`).
- Ha añadido un método helper `url` que construye URL absolutas. Hace frente a los proxies inversos y manipuladores de rack correctamente. Alias de `to`, para que pueda escribir` redirigir ( '/ foo') `.
- Si se ejecutan en 1.9, las pautas de las rutas y los filtros ahora soportan capturas con nombre: `get (% r {? / Hi / (& # x3c; nombre & # X3e; [^ / #?] +)}) {& Quot; Hola # {params [ 'nombre']} & quot; } `.
- Todos los métodos de representación ahora toman un `: scope` opción, lo que los hace en otro contexto. Tenga en cuenta que los ayudantes y variables de instancia no estarán disponibles si se utiliza esta función.
- El comportamiento de `redirect` pasa a ser configurable con` `absolute_redirects` y prefixed_redirects`.
- `send_file` ahora permite anular la cabecera Last-Modified, que de forma predeterminada mtime del fichero, haciendo pasar un`:. Last_modified` opción
- Usted puede utilizar su propio método de búsqueda de plantillas mediante la definición de `find_template`. Esto permite, entre otras cosas, el uso de más de una carpeta puntos de vista.
- En gran medida la mejora de la documentación.
- Mejora de la gestión de errores.
- Salta faltan correctamente motores de plantilla en las pruebas.
- Sinatra incluye ahora un Gemfile para dependencias de desarrollo, ya que alivia el apoyo a diferentes plataformas, como JRuby.
¿Qué hay de nuevo en la versión 1.0:
- Manipuladores de ruta, antes de los filtros, las plantillas, las asignaciones de error, y middleware ahora se resuelven de forma dinámica hasta la jerarquía de herencia cuando sea necesario en vez de duplicar la versión de la superclase cuando se crea una nueva subclase de Sinatra :: Base.
- aplicaciones Sinatra ahora se pueden ejecutar con un `-o & # x3c; dir & # X3e.` Argumento para especificar la dirección de unirse a
- Nueva request.secure? método para la comprobación de una conexión SSL.
- Nuevos '' erubis para la prestación de la plantilla de ERB con Erubis.
- plantillas ERB, Erubis, y Haml se compilan ahora la primera vez que están procesadas en vez de ser de cadena eval'd en cada invocación.
- Sinatra ahora utiliza la inclinación de las plantillas de renderización.
método de ayuda
Comentarios que no se encuentran