From release announce:
We are pleased to announce the release of Ruby 2.2.1. This is the first TEENY
version release of the stable 2.2 series.
This release includes the fix for ffi build failure and memory leak issue on
Symbol GC (See Bug #10686).
See ChangeLog for details.
=== 4.20.0 (2015-03-03)
* Restore the use of AUTOINCREMENT on SQLite (jeremyevans) (#965)
* Duplicate the associations hash when duplicating a model object (jeremyevans)
* Correctly apply association limit when eager loading with an eager block using default limit strategy on some databases (jeremyevans)
* Fix eager loading when using the :window_function limit strategy with an eager block and cascaded associations (jeremyevans)
* Add support for set_column_type :auto_increment=>true to add AUTO_INCREMENT to existing column on MySQL (jeremyevans) (#959)
* Add support for overridding the :instance_specific association option (jeremyevans)
* Recognize MSSQL bit type as boolean in the schema_dumper (jeremyevans)
* Skip eager loading queries if there are no matching keys (jeremyevans) (#952)
* Dataset#paged_each now returns an enumerator if not passed a block (jeremyevans)
* Use to_json :root option with string value as the JSON object key in the json_serializer plugin (jeremyevans)
* Allow create_enum in the pg_enum extension be reversible in migrations (celsworth) (#951)
* Have swift adapter respect database and application timezone settings (asppsa, jeremyevans) (#946)
* Don't have the static cache plugin attempt to validate objects (jeremyevans)
* Make freeze not validate objects if their errors are already frozen (jeremyevans)
* Only use prepared statements for associations if caching association metadata (jeremyevans)
* Set parent association when loading descendants in the rcte_tree plugin (jeremyevans)
* Add Database#transaction :before_retry option, specifying a proc to call before retrying (uhoh-itsmaciek) (#941)
pkgsrc change:
* Add ${GEM_EXTSDIR}/gem.build_complete for new rubygems and updated ruby.
=== unicorn 4.8.3 - the end of an era / 2014-05-07 07:50 UTC
This release updates documentation to reflect the migration of the
mailing list to a new public-inbox[1] instance. This is necessary
due to the impending RubyForge shutdown on May 15, 2014.
The public-inbox address is: unicorn-public@bogomips.org
(no subscription required, plain text only)
ssoma[2] git archives: git://bogomips.org/unicorn-public
browser-friendly archives: http://bogomips.org/unicorn-public/
Using, getting help for, and contributing to unicorn will never
require any of the following:
1) non-Free software (including SaaS)
2) registration or sign-in of any kind
3) a real identity (we accept mail from Mixmaster)
4) a graphical user interface
Nowadays, plain-text email is the only ubiquitous platform which
meets all our requirements for communication.
There is also one small bugfix to handle premature grandparent death
upon initial startup. Most users are unaffected.
[1] policy: http://public-inbox.org/ - git://80x24.org/public-inbox
an "archives first" approach to mailing lists
[2] mechanism: http://ssoma.public-inbox.org/ - git://80x24.org/ssoma
some sort of mail archiver (using git)
=== unicorn 4.8.2 - avoid race condition during worker startup / 2014-02-05 18:24 UTC
We close SELF_PIPE in the worker immediately, but signal handlers
do not get setup immediately. So prevent workers from erroring out
due to invalid SELF_PIPE.
=== unicorn 4.8.1 / 2014-01-29 08:48 UTC
fix races/error handling in worker SIGQUIT handler
This protects us from two problems:
1) we (or our app) somehow called IO#close on one of the sockets
we listen on without removing it from the readers array.
We'll ignore IOErrors from IO#close and assume we wanted to
close it.
2) our SIGQUIT handler is interrupted by itself. This can happen as
a fake signal from the master could be handled and a real signal
from an outside user is sent to us (e.g. from unicorn-worker-killer)
or if a user uses the killall(1) command.
=== unicorn 4.8.0 - big internal changes, but compatible / 2014-01-11 07:34 UTC
This release contains fairly major internal workings of master-to-worker
notifications. The master process no longer sends signals to workers
for most tasks. This works around some compatibility issues with some
versions of the "pg" gem (and potentially any other code which may not
handle EINTR properly). One extra benefit is it also helps stray
workers notice a rare, unexpected master death more easily. Workers
continue to (and will always) accept existing signals for compatibility
with tools/scripts which may signal workers.
PID file are always written early (even on upgrade) again to avoid
breaking strange monitoring setups which use PID files. Keep in mind we
have always discouraged monitoring based on PID files as they are
fragile.
We now avoid bubbling IOError to the Rack app on premature client
disconnects when streaming the input body. This is usually not a
problem with nginx, but may be on some LAN setups without nginx).
Thanks to Sam Saffron, Jimmy Soho, Rodrigo Rosenfeld Rosas,
Michael Fischer, and Andrew Hobson for their help with this release.
Note: the unicorn mailing list will be moved/changed soon due to the
RubyForge shutdown. unicorn will always rely only on Free Software.
There will never be any sign-up requirements nor terms-of-service to
agree to when communicating with us.
=== unicorn 4.8.0pre1 / 2013-12-09 09:51 UTC
Eric Wong (6):
tests: fix SO_REUSEPORT tests for old Linux and non-Linux
stream_input: avoid IO#close on client disconnect
t0300: kill off stray processes in test
always write PID file early for compatibility
doc: clarify SIGNALS and reference init example
rework master-to-worker signaling to use a pipe
=== unicorn 4.7.0 - minor updates, license tweak / 2013-11-04 06:59 UTC
* support SO_REUSEPORT on new listeners (:reuseport)
This allows users to start an independent instance of unicorn on
a the same port as a running unicorn (as long as both instances
use :reuseport).
ref: https://lwn.net/Articles/542629/
* unicorn is now GPLv2-or-later and Ruby 1.8-licensed
(instead of GPLv2-only, GPLv3-only, and Ruby 1.8-licensed)
This changes nothing at the moment. Once the FSF publishes the next
version of the GPL, users may choose the newer GPL version without the
unicorn BDFL approving it. Two years ago when I got permission to add
GPLv3 to the license options, I also got permission from all past
contributors to approve future versions of the GPL. So now I'm
approving all future versions of the GPL for use with unicorn.
Reasoning below:
In case the GPLv4 arrives and I am not alive to approve/review it,
the lesser of evils is have give blanket approval of all future GPL
versions (as published by the FSF). The worse evil is to be stuck
with a license which cannot guarantee the Free-ness of this project
in the future.
This unfortunately means the FSF can theoretically come out with
license terms I do not agree with, but the GPLv2 and GPLv3 will
always be an option to all users.
Note: we currently prefer GPLv3
Two improvements thanks to Ernest W. Durbin III:
* USR2 redirects fixed for Ruby 1.8.6 (broken since 4.1.0)
* unicorn(1) and unicorn_rails(1) enforces valid integer for -p/--port
A few more odd, minor tweaks and fixes:
* attempt to rename PID file when possible (on USR2)
* workaround reopen atomicity issues for stdio vs non-stdio
* improve handling of client-triggerable socket errors
pkgsrc change:
* Add ${GEM_EXTSDIR}/gem.build_complete for new rubygems and updated ruby.
Version 3.2.2
* Consider script as a block-level element so it doesn't get included inside a
paragraph.
Version 3.2.1
* Load RedcarpetCompat when requiring Redcarpet for the sake of backward
compatibility.
Loren Segal
Version 3.2.0
* Add a Safe renderer to deal with users' input. The escape_html and
safe_links_only options are turned on by default.
Moreover, the block_code callback removes the tag's class since the user can
basically set anything with the vanilla one.
Robin Dupret
* HTML5 block-level tags are now recognized
silverhammermba
* The StripDown render object now displays the URL of links along with the
text.
Robin Dupret
* The RedCloth API compatibility layer is now deprecated.
Robin Dupret
* A hyphen and an equal should not be converted to heading.
namusyaka
* Fix emphasis character escape sequence detection while mid-emphasis.
jcheatham
* Add = to the whitelist of escaped chars so it can be used inside highlighted
snippets.
jcheatham
* Convert trailing single quotes to curly quotes. For example, Road Trippin'
now converts to Road Trippin¡Ç.
Kevin Chen
* Allow in-page links (e.g. [headline](#headline)) when :safe_links_only is
set.
jomo
* Enable emphasis inside of sentences in multi-byte languages when
:no_intra_emphasis is set.
Chun-wei Kuo
* Avoid making :no_intra_emphasis only match spaces. This allows using
emphasizes inside quotes when the option is enabled for instance.
Jason Webb and BJ Homer
* The StripDown renderer handles image tags now.
Version 3.1.2
* Remove the yielding of anchors in the header callback. This was a breaking
change between 3.0 and 3.1 as the method's arity changed.
* Compile fix for Ruby 2.2.
* And a few bug fixes.
pkgsrc change
* support pkg_alternatives.
* Add ${GEM_EXTSDIR}/gem.build_complete for new rubygems and updated ruby.
This is the last ordinal release of Ruby 2.0.0. Ruby 2.0.0 goes into the
state of the security maintenance phase, and will never be released unless
any critical regressions or security issues are found. This phase is planned
to be maintained for 1 year. Then, maintenance of Ruby 2.0.0 will be ended
at Feb. 24th, 2016. We recommend to start planning to migrate to newer
versions of Ruby, such as 2.1 or 2.2.
pkgsrc change:
* Change "os" of Gem::Platform, now it change the case of "netbsd" only.
* Reduce patches to builtin rubygems.
Upstream changes:
2.025001 2015-02-28 09:53:36-06:00 America/Chicago
- fix ::RS::Errors test on Windows
2.025000 2015-02-20 22:50:47-06:00 America/Chicago
- Add ::Helper::ResultSet::Errors to help when calling Result methods on an RS
* Simplify Gem::Specification definition.
* Remove some pkgsrc specific modifications.
=== 2.4.6 / 2014-02-05
Bug fixes:
* Fixed resolving gems with both upper and lower requirement boundaries.
Issue #1141 by Jakub Jirutka.
* Moved extension directory after require_paths to fix missing constant bugs
in some gems with C extensions. Issue #784 by Andr«± Arko, pull request
#1137 by Barry Allard.
* Use Gem::Dependency#requirement when adding a dependency to an existing
dependency instance. Pull request #1101 by Josh Cheek.
* Fixed warning of shadowed local variable in Gem::Specification. Pull request
#1109 by Rohit Arondekar
* Gem::Requirement should always sort requirements before coercion to Hash.
Pull request #1139 by Eito Katagiri.
* The `gem open` command should change the current working directory before
opening the editor. Pull request #1142 by Alex Wood.
* Ensure quotes are stripped from the Windows launcher script used to install
gems. Pull request #1115 by Youngjun Song.
* Fixed errors when writing to NFS to to 0444 files. Issue #1161 by Emmanuel
Hadoux.
* Removed dead code in Gem::StreamUI. Pull request #1117 by mediaslave24.
* Fixed typos. Pull request #1096 by hakeda.
* Relaxed CMake dependency for RHEL 6 and CentOS 6. Pull request #1124 by V«¿t
Ondruch.
* Relaxed Psych dependency. Pull request #1128 by V«¿t Ondruch.