Skip to content

[to-do] towards **1.2** #168

Closed
Closed
@kares

Description

@kares

JRuby-Rack 1.2 is aimed as a cleanup release which might break some binary compatibility with 1.1.x when its worth (a badly designed API or due performance reasons). This should only affect users even when they explicitly depend on JRuby-Rack APIs - the very most users won't be affected at all.

No one seems to be working towards 1.2 much currently. If you're interested in seeing some of these enhancements/features/performance work get in touch or show some support at BountySource

  • performance improvements by going native with crucial .rb parts
    • native JRuby::Rack::Response
    • native JRuby::Rack::Logger
    • native Rack::Handler
  • compile against Java 1.6 (likely only JRuby 1.7 will be supported)
  • update/compile against Servlet 3.0 (JavaEE 6) at minimum
  • refactor project build - use Mavenfile / JBundler
  • when no runtimes specified - default to using a shared one (for all)
  • verify precompiled assets serving (e.g. with Trinidad)
  • support for servlet/filter auto-configuration on JEE 6 scanning ?
  • map logger levels 1-to-1
  • thread-safe logger.silence by default (with default JRuby::Rack.logger) !
  • support env['rack.errors']
  • support (default) env['rack.session'] for all (not just Rails)
    • consider changing session_options to a frozen Hash @env['rack.session.options'] ||= {}
  • do not read body ... warn on rewind by default (review usage in Rack/Rails middleware)
  • alternatives to rack's multi-part (needs rewind and uses temp files for >=128k)
  • default to using the ServletEnv for Rack::Handler::Servlet (if avoids rewind) ?
  • servlet_env file-upload detection ?! ... clearly rack file upload is bloated by using memory.
  • better embedding API - org.jruby.rack.embed seems rather confusing (and not that usable)
  • make the listener optional and use the same one for rack as well as rails apps
  • improve ErrorApp (HTTP_ACCEPT detection, support for serving 503.json)
  • remove deprecated files e.g. jruby/rack/errors
  • remove (old) Merb support
  • review booter support setting jruby.rack.booter = :rails to force ?
  • possibly release booter, could RailsBooter.to_app calls be avoided ?
  • RailsBooter - default to Rails 3/4 - detect 2.3 specifics instead of the other way around
  • cleanup old Bundler "ext" + polluted_with_anyio? check in Rack::Response
  • verify Rack::Response send_file extensions are working - include TC support?
  • setup Java/Ruby documentation
  • introduce Websockets support
  • handle ActionController::Live streaming
  • implement Rack::Async-chronous processing
  • review Rails/Sinatra example
  • try out app-engine once again with an example

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions