./www/ruby-unicorn, Rack HTTP server for fast clients and Unix

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.7.0, Package name: ruby26-unicorn-5.7.0, Maintainer: pkgsrc-users

Unicorn is an HTTP server for Rack applications designed to only serve
fast clients on low-latency, high-bandwidth connections and take
advantage of features in Unix/Unix-like kernels. Slow clients should
only be served by placing a reverse proxy capable of fully buffering
both the the request and response in between Unicorn and slow clients.


Required to run:
[devel/ruby-kgio] [www/ruby-raindrops] [lang/ruby26-base]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 705806bfaac5ce4421a68b8a37a3a4e47beb4052
RMD160: ec0f07afc25f093ce407e657a9c5fae24ee90176
Filesize: 219.5 KB

Version history: (Expand)


CVS history: (Expand)


   2020-09-14 17:55:00 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
www/ruby-unicorn: update to 5.7.0

Update ruby-unicorn package to 5.7.0.

5.7.0 (2020-09-08)

Changes:

    unicorn 5.7.0

    Relaxed Ruby version requirements for Ruby 3.0.0dev.
    Thanks to Jean Boussier for testing

5.6.0 (2020-07-26)

Changes:

    unicorn 5.6.0 - early_hints support

    This release adds support for the early_hints configurator
    directive for the 'rack.early_hints' API used by Rails 5.2+.

    Thanks to Jean Boussier for the patch.
   2020-06-07 17:48:49 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
www/ruby-unicorn: update to 5.5.5

Update ruby-unicorn to 5.5.5.

5.5.5 (2020-04-27)

This release fixes a bug for users of multiple listeners setups
where a busy listen socket could starve other listeners.

Thanks to Stan Hu for reporting and testing.

No need to upgrade if you're using a single listen socket.

5.5.4 (2020-03-24)

One change to improve RFC 7230 conformance in the HTTP parser:
   2020-03-20 17:04:30 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
www/ruby-unicorn: update to 5.5.3

Update ruby-unicorn to 5.5.3.

=== unicorn 5.5.0 / 2019-03-04 00:41 UTC

  Mostly identical to 5.5.0.pre1, which I didn't hear any feedback
  from:

    https://bogomips.org/unicorn-public/201 … 7382@dcvr/

  > Jeremy Evans contributed the "default_middleware" configuration \ 
option:
  >
  >   \ 
https://bogomips.org/unicorn-public/201 … ans.local/
  >
  > Jeremy also contributed the ability to use separate groups for the process
  > and log files:
  >
  >   \ 
https://bogomips.org/unicorn-public/201 … ans.local/
  >
  > There's also a couple of uninteresting minor optimizations and
  > documentation additions.

  Otherwise, there's one extra change to use
  rb_gc_register_mark_object which is finally a documented part of
  the Ruby C-API, but has existed since the 1.9 days.

=== unicorn 5.5.0.pre1 / 2018-12-20 20:11 UTC

  Jeremy Evans contributed the "default_middleware" configuration option:

    https://bogomips.org/unicorn-public/201 … ans.local/

  Jeremy also contributed the ability to use separate groups for the process
  and log files:

    https://bogomips.org/unicorn-public/201 … ans.local/

  There's also a couple of uninteresting minor optimizations and
  documentation additions.

  Eric Wong (10):
        remove random seed reset atfork
        use IO#wait instead of kgio_wait_readable
        Merge branch '5.4-stable'
        shrink pipes under Linux
        socket_helper: add hint for FreeBSD users for accf_http(9)
        tests: ensure -N/--no-default-middleware not supported in config.ru
        doc: update more URLs to use HTTPS and avoid redirects
        deduplicate strings VM-wide in Ruby 2.5+
        doc/ISSUES: add links to git clone-able mail archives of our dependencies
        README: minor updates and additional disclaimer

  Jeremy Evans (2):
        Make Worker#user support different process primary group and log file group
        Support default_middleware configuration option
   2018-09-23 19:01:05 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
www/ruby-unicorn: update to 5.4.1

5.4.1 (2018-07-23)

This release quiets some warnings for Ruby 2.6 preview releases
and enables tests to pass under Ruby 1.9.3.  Otherwise, nothing
interesting for Ruby 2.0..2.5 users.
   2018-03-17 17:07:55 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
www/ruby-unicorn: update to 5.4.0

unicorn 5.4.0 / 2017-12-23

Rack hijack support improves as the app code can capture and use
the Rack `env' privately without copying it (to avoid clobbering
by another client).  Thanks to Sam Saffron for reporting and
testing this new feature:

  \ 
https://bogomips.org/unicorn-public/CAA … ail.com/T/

We also now support $DEBUG being set by the Rack app (instead of
relying on the "-d" CLI switch).  Thanks to James P Robinson Jr
for reporting this bug:

  https://bogomips.org/unicorn-public/D63 … gna.com/T/
  (Coincidentally, this fix will be irrelevant for Ruby 2.5
   which requires 'pp' by default)

There's a few minor test cleanups and documentation updates, too.

unicorn 5.3.1 / 2017-10-03

This release fixes an occasional GC problem introduced in v5.3.0
to reduce global variable overhead (commit 979ebcf91705709b)

Thanks to Xuanzhong Wei for the patch which lead to this release:

https://bogomips.org/unicorn-public/201 … l.com/T/#u
https://bogomips.org/unicorn-public/201 … l.com/T/#u

  Xuanzhong Wei (1):
        fix GC issue on rb_global_variable array
   2017-04-09 06:12:39 by Wen Heping | Files touched by this commit (3) | Package updated
Log message:
Update to 5.3.0

Upstream changes:
unicorn 5.3.0 / 2017-04-01 08:03 UTC

A couple of portability fixes from Dylan Thacker-Smith and
Jeremy Evans since 5.3.0.pre1 over a week ago, but this looks
ready for a stable release, today.

When I started this over 8 years ago, I wondered if this would
just end up being an April Fools' joke.  Guess not.  I guess I
somehow tricked people into using a terribly marketed web server
that cannot talk directly to untrusted clients :x  Anyways,
unicorn won't be able to handle slow clients 8 years from now,
either, or 80 years from now.  And I vow never to learn to use
new-fangled things like epoll, kqueue, or threads :P

Anyways, this is a largish release with several new features,
and no backwards incompatibilities.

Simon Eskildsen contributed heavily using TCP_INFO under Linux
to implement the (now 5 year old) check_client_connection feature:

  \ 
https://bogomips.org/unicorn/Unicorn/Co … connection
  \ 
https://bogomips.org/unicorn-public/?q= … 01&x=t

This also led to FreeBSD and OpenBSD portability improvements in
one of our dependencies, raindrops:

   https://bogomips.org/raindrops-public/2 … @dcvr/T/#u

Jeremy Evans contributed several new features.  First he
implemented after_worker_exit to aid debugging:

  https://bogomips.org/unicorn/Unicorn/Co … orker_exit
  \ 
https://bogomips.org/unicorn-public/?q= … &x=t#t

And then security-related features to isolate workers.  Workers
may now chroot to drop access to the master filesystem, and the
new after_worker_ready configuration hook now exists to aid with
chroot support in workers:

  https://bogomips.org/unicorn/Unicorn/Co … rker_ready
  https://bogomips.org/unicorn/Unicorn/Wo … hod-i-user
  \ 
https://bogomips.org/unicorn-public/?q= … &x=t#t
  https://bogomips.org/unicorn-public/?q= … &x=t#t

Additionally, workers may run in a completely different VM space
(nullifying preload_app and any CoW savings) with the new
worker_exec option:

  https://bogomips.org/unicorn/Unicorn/Co … orker_exec
  https://bogomips.org/unicorn-public/?q= … &x=t#t

There are also several improvements to FreeBSD and OpenBSD
support with the addition of these features.

shortlog of changes since v5.2.0 (2016-10-31):

Dylan Thacker-Smith (1):
      Check for Socket::TCP_INFO constant before trying to get TCP_INFO

Eric Wong (30):
      drop rb_str_set_len compatibility replacement
      TUNING: document THP caveat for Linux users
      tee_input: simplify condition for IO#write
      remove response_start_sent
      http_request: freeze constant strings passed IO#write
      Revert "remove response_start_sent"
      t/t0012-reload-empty-config.sh: access ivars directly if needed
      t0011-active-unix-socket.sh: fix race condition in test
      new test for check_client_connection
      revert signature change to HttpServer#process_client
      support "struct tcp_info" on non-Linux and Ruby 2.2+
      unicorn_http: reduce rb_global_variable calls
      oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
      http_request: reduce insn size for check_client_connection
      freebsd: avoid EINVAL when setting accept filter
      test-lib: expr(1) portability fix
      tests: keep disabled tests defined
      test_exec: SO_KEEPALIVE value only needs to be true
      doc: fix links to raindrops project
      http_request: support proposed Raindrops::TCP states on non-Linux
      ISSUES: expand on mail archive info + subscription disclaimer
      test_ccc: use a pipe to synchronize test
      doc: remove private email support address
      input: update documentation and hide internals.
      http_server: initialize @pid ivar
      gemspec: remove olddoc from build dependency
      doc: add version annotations for new features
      unicorn 5.3.0.pre1
      doc: note after_worker_exit is also 5.3.0+
      test_exec: SO_KEEPALIVE value only needs to be true (take #2)

Jeremy Evans (7):
      Add after_worker_exit configuration option
      Fix code example in after_worker_exit documentation
      Add support for chroot to Worker#user
      Add after_worker_ready configuration option
      Add worker_exec configuration option
      Don't pass a block for fork when forking workers
      Check for SocketError on first ccc attempt

Simon Eskildsen (1):
      check_client_connection: use tcp state on linux

unicorn 5.3.0.pre1 / 2017-03-24 00:25 UTC

A largish release with several new features.

Simon Eskildsen contributed heavily using TCP_INFO under Linux
to implement the (now 5 year old) check_client_connection feature:

  \ 
https://bogomips.org/unicorn/Unicorn/Co … connection
  \ 
https://bogomips.org/unicorn-public/?q= … 24&x=t

This also led to FreeBSD and OpenBSD portability improvements in
one of our dependencies, raindrops:

   https://bogomips.org/raindrops-public/2 … @dcvr/T/#u

Jeremy Evans contributed several new features.  First he
implemented after_worker_exit to aid debugging:

  https://bogomips.org/unicorn/Unicorn/Co … orker_exit
  \ 
https://bogomips.org/unicorn-public/?q= … &x=t#t

And then security-related features to isolate workers.  Workers
may now chroot to drop access to the master filesystem, and the
new after_worker_ready configuration hook now exists to aid with
chroot support in workers:

  https://bogomips.org/unicorn/Unicorn/Co … rker_ready
  https://bogomips.org/unicorn/Unicorn/Wo … hod-i-user
  \ 
https://bogomips.org/unicorn-public/?q= … &x=t#t
  https://bogomips.org/unicorn-public/?q= … &x=t#t

Additionally, workers may run in a completely different VM space
(nullifying preload_app and any CoW savings) with the new
worker_exec option:

  https://bogomips.org/unicorn/Unicorn/Co … orker_exec
  https://bogomips.org/unicorn-public/?q= … &x=t#t

There are also several improvements to FreeBSD and OpenBSD
support with the addition of these features.

34 changes since 5.2.0 (2016-10-31):

Eric Wong (27):
      drop rb_str_set_len compatibility replacement
      TUNING: document THP caveat for Linux users
      tee_input: simplify condition for IO#write
      remove response_start_sent
      http_request: freeze constant strings passed IO#write
      Revert "remove response_start_sent"
      t/t0012-reload-empty-config.sh: access ivars directly if needed
      t0011-active-unix-socket.sh: fix race condition in test
      new test for check_client_connection
      revert signature change to HttpServer#process_client
      support "struct tcp_info" on non-Linux and Ruby 2.2+
      unicorn_http: reduce rb_global_variable calls
      oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
      http_request: reduce insn size for check_client_connection
      freebsd: avoid EINVAL when setting accept filter
      test-lib: expr(1) portability fix
      tests: keep disabled tests defined
      test_exec: SO_KEEPALIVE value only needs to be true
      doc: fix links to raindrops project
      http_request: support proposed Raindrops::TCP states on non-Linux
      ISSUES: expand on mail archive info + subscription disclaimer
      test_ccc: use a pipe to synchronize test
      doc: remove private email support address
      input: update documentation and hide internals.
      http_server: initialize @pid ivar
      gemspec: remove olddoc from build dependency
      doc: add version annotations for new features

Jeremy Evans (6):
      Add after_worker_exit configuration option
      Fix code example in after_worker_exit documentation
      Add support for chroot to Worker#user
      Add after_worker_ready configuration option
      Add worker_exec configuration option
      Don't pass a block for fork when forking workers

Simon Eskildsen (1):
      check_client_connection: use tcp state on linux
   2016-11-01 18:06:59 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
Update ruby-unicorn to 5.2.0.

* relocate website to https://bogomips.org/unicorn/
* Add some tolerance (RFC2616 sec. 19.3)
* doc: update gmane URLs to point to our own archives
* examples/logrotate.conf: update example for systemd
* doc: systemd should only kill master in example
* examples/init.sh: update to reduce upgrade racinessjr/init
   2016-10-20 17:25:53 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
Update ruby-unicorn to 5.1.0.

* http: TypedData C-API conversion
* various documentation updates
* doc: bump olddoc to ~> 1.2 for extra NNTP URL
* rack is optional at runtime, required for dev
* doc update for ClientShutdown exceptions class
* unicorn 5.1.0.pre1 - rack is optional, again
* doc: reference --keep-file-descriptors for "bundle exec"
* doc: further trimming to reduce noise
* use leftpad Linux syscall for speed!