Quando foi lançado em primeiro lugar, Sinatra foi de 1% do tamanho do seu principal concorrente:. Ruby on Rails
Isso porque Sinatra foi criado para ser uma solução super-leve para o mercado de Ruby, que foi e ainda é inundado com muitos quadros com grandes bases de código.
Sinatra ainda segue esta filosofia hoje, fornecendo um conjunto básico de características encontradas em quase todas as estruturas ao redor, considerado a base absolutamente necessário para qualquer projeto Web.
Esta dedicação ao seu código-fonte de luz fez Sinatra muito famoso no mundo do desenvolvimento Web, seus conceitos sendo portado para várias outras linguagens de programação também.
O que é novo nesta versão:
- Remover duplicado requer de Sinatra / base .
- Fuga HTML na página de erro 404.
- Refactor a chamada de método em `Corrente # close` e` # callback`.
- Dependem última versão do Slim.
- compatibilidade Fix com Tilt versão 2.
- problema de compatibilidade Fix com cremalheira `pretty` método de ShowExceptions.
- Mostrar data no horário local de mensagens de exceção.
- logotipo Fix em páginas de erro ao usar o Ruby 1.8.
- Atualização conjunto de testes para Minitest versão 5 e corrigir o Ruby 2.2 compatibilidade.
O que é novo na versão 1.4.6:.
- Remover duplicado requer de Sinatra / base
- Fuga HTML na página de erro 404.
- Refactor a chamada de método em `Corrente # close` e` # callback`.
- Dependem última versão do Slim.
- compatibilidade Fix com Tilt versão 2.
- problema de compatibilidade Fix com cremalheira `pretty` método de ShowExceptions.
- Mostrar data no horário local de mensagens de exceção.
- logotipo Fix em páginas de erro ao usar o Ruby 1.8.
- Atualização conjunto de testes para Minitest versão 5 e corrigir o Ruby 2.2 compatibilidade.
O que é novo na versão 1.4.3:.
- Melhorar a documentação
- Expor padrão combinado como env [& quot; sinatra.route & quot;] .
- aviso fixo sobre Ruby 2.0.
- Melhoria correndo subconjunto de testes em isolamento.
- Reordenar métodos públicas / privadas.
- Solte versão de dependência para rack, para que ele funcione com o Rails 3.2.
O que é novo na versão 1.4.2:
- Faltando Aceitar cabeçalho é tratado como * / *.
- Melhorar a documentação.
O que é novo na versão 1.4.0:.
- Adicionado suporte para vincular e desvincular os pedidos
- Adicionado suporte para modelos Yajl.
- Adicionado suporte para modelos Rabl.
- Adicionado suporte para modelos Wlang.
- Adicionado suporte para modelos Stylus.
O que é novo na versão 1.3.3:.
- documentação melhorada
- Não mais modificar o caminho de carga.
- Ao manter um fluxo aberto, configurar callback / errback corretamente para lidar com os clientes fechar a conexão.
- Corrigido o erro onde ter um parâmetro de consulta e uma param URL com o mesmo nome que concatenar os dois valores.
- Prevent duplicado saída de log quando o aplicativo já está envolvido em um `Rack :: CommonLogger`.
- Corrigido problema onde `Rack :: Link` e Rails estavam impedindo de streaming indefinido.
- No longer causar avisos ao executar o Ruby com o `-w`.
- solicitações de cabeça em arquivos estáticos não relatar um Content-Length de 0, mas em vez disso o comprimento adequado.
- Ao proteger contra ataques CSRF, gota a sessão em vez de recusar o pedido.
O que é novo na versão 1.3.2:
- Definir `logging` para` nil` evitará criação de `rack :: NullLogger`.
- Rota parâmetros específicos estão agora disponíveis no bloco passado para #stream.
- bug Fix onde tornando um segundo modelo no mesmo pedido, após a primeira levantada uma exceção, ignorou o layout padrão.
- bug Fix onde parâmetro escapando foi habilitado durante a desativação uma proteção diferente.
- Fix regressão:. Filtros sem um padrão agora podem novamente manipular o hash de parâmetros
- Adicionado diretório de exemplos.
- documentação melhorada.
- Suporte MagLev melhorado.
O que é novo na versão 1.3.1:
- Suporte a adição de mais de uma chamada de retorno para o objeto de fluxo .
- Fix para loop infinito quando streaming em 1.9.2 magra partir de uma aplicação modular.
O que é novo na versão 1.3.0.e:.
- Adicionado suporte para solicitações de HTTP PATCH
O que é novo na versão 1.2.6:
- Fixed delegação quebrado, testes de delegação backport de Sinatra 1.3 .
O que é novo na versão 1.2.2 / 1.3.0.a:
- O `: fornece = & # x3e; : Condição js` agora corresponde tanto `application / javascript` e` text / javascript`. O `: fornece = & # x3e; : Condição xml` agora corresponde tanto `application / xml` e` text / xml`. O `Content-tipo` cabeçalho é definido em conformidade. Se o cliente aceita tanto, é preferível a versão `application / *`, uma vez que os `texto / *` versões estão obsoletos.
- A condição `provides` agora lida com wildcards em` Accept` cabeçalhos corretamente. Assim `: fornece = & # x3e; : Html` corresponde `text / html`,` text / * `e` * / * ` .
- Ao analisar `cabeçalhos Accept`,` preferências Content-tipo` são honrados de acordo com a RFC 2616 secção 14.1.
- URIs passadas para o `ajudante url` ou` redirect` podem agora usar qualquer esquema a ser identificado como absoluto URIs, não só `http` ou` https`.
- alças `cordas Content-tipo` que já contêm os parâmetros corretamente no` content_type` (exemplo: `content_type & quot; text / plain; charset = utf-16 & quot;`) .
- Se uma rota com um padrão vazio é definido ( `get (& quot; & quot;) {...}`) solicita, com uma informação trajeto vazio corresponder essa rota em vez de & quot; / & quot;.
- No ambiente de desenvolvimento, quando executado em um caminho aninhado, os URIs imagem nas páginas de erro são definidos corretamente.
O que é novo na versão 1.2.1:
- Use um segredo de sessão gerada ao usar `permitir que: sessions`.
- Corrigido um bug onde o tipo de conteúdo errado foi usado se nenhum tipo de conteúdo foi criado e um motor modelo foi usado com um motor diferente para o layout com diferentes tipos de conteúdo padrão, dizer Menos incorporado em Slim.
- traduções LEIA-ME melhorado.
O que é novo na versão 1.2.0.c:
- Adicionado `slim` método de renderização para renderizar modelos slim.
- O método `render markaby` permite agora passando um bloco, tornando o uso em linha possível. Requer Tilt 1.2 ou mais recente.
- Todos rendem métodos agora dar uma `: opção layout_engine`, permitindo a utilização de um layout em um modelo de linguagem diferente. Ainda mais útil do que usar isso diretamente ( `erb: index,: layout_engine = & # x3e;: haml`) está definindo isso globalmente para um modelo de motor que de outra forma não suporta layouts, como Markdown ou Têxtil (` set: remarcação,: layout_engine = & # x3e;:. erb`)
- Antes e depois de filtros agora suportam condições, com e sem padrões ( 'antes' / api / * ',: Agente = & # x3e; / Songbird / `).
- Adicionado um método `url` auxiliar que constrói URLs absolutos. Lida com proxies reversos e manipuladores da cremalheira corretamente. Alias para `para`, assim você pode escrever` redirecionar para ( '/ foo') `.
- Se em execução no 1.9, padrões para as rotas e filtros agora suportam capturas nomeadas: `get (% r {? / Oi / (& # X3C; nome & # x3e; [^ / #?] +)}) {& Quot; Oi # {params [ 'name']} & quot; } `.
- Todos os métodos de renderização agora dar uma `: opção scope`, o que os torna em outro contexto. Note-se que ajudantes e variáveis de instância não estará disponível se você usar este recurso.
- O comportamento do `redirect` agora pode ser configurado com` absolute_redirects` e `prefixed_redirects`.
- `send_file` agora permite substituir o cabeçalho Last-Modified, cujo padrão é mtime do arquivo, por meio de um`:. Opção last_modified`
- Você pode usar o seu próprio método de pesquisa modelo, definindo `find_template`. Isto permite, entre outras coisas, usando pasta de mais de um pontos de vista.
- Em grande parte melhorou documentação.
- Melhoria da manipulação de erro.
- Ir faltando modelo de motores em testes corretamente.
- Sinatra agora vem com um Gemfile para dependências de desenvolvimento, uma vez que facilita a apoiar diferentes plataformas, como JRuby.
O que é novo na versão 1.0:
- manipuladores de rota, antes de filtros, modelos, mapeamentos de erro e middleware estão agora resolvidos dinamicamente a hierarquia de herança, quando necessário, em vez de duplicar a versão da superclasse quando uma nova subclasse Sinatra :: base é criado.
- aplicativos Sinatra agora pode ser executado com um `-o & # X3C; endereço & # x3e;.` Argumento para especificar o endereço para se ligar ao
- New request.secure? método para a verificação de uma conexão SSL.
- Novas 'erubis' para renderização template ERB com Erubis.
- templates ERB, Erubis e Haml estão agora compiladas na primeira vez que eles estão prestados em vez de ser de cadeia eval'd em cada chamada.
- Sinatra agora usa Tilt para renderizar templates.
método de ajuda
Comentários não encontrado