Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rubinius/rubinius
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 481f9cdeb7a2^
Choose a base ref
...
head repository: rubinius/rubinius
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 967bf7c616b1
Choose a head ref
  • 8 commits
  • 8 files changed
  • 1 contributor

Commits on Dec 15, 2014

  1. Updated Changelog.

    brixen committed Dec 15, 2014
    Copy the full SHA
    481f9cd View commit details
  2. Added News.

    brixen committed Dec 15, 2014
    Copy the full SHA
    03305f3 View commit details
  3. Updated .travis.yml.

    brixen committed Dec 15, 2014
    Copy the full SHA
    deec45c View commit details

Commits on Jan 2, 2015

  1. Copy the full SHA
    5088339 View commit details
  2. Copy the full SHA
    5a644bb View commit details
  3. Removed rubinius-toolset.

    brixen committed Jan 2, 2015
    Copy the full SHA
    bc4800d View commit details
  4. Copy the full SHA
    91fce34 View commit details
  5. Version 1.4.0.

    brixen committed Jan 2, 2015
    Copy the full SHA
    967bf7c View commit details
Showing with 187 additions and 16 deletions.
  1. +15 −6 .travis.yml
  2. +10 −0 Changelog
  3. +2 −1 Gemfile.installed
  4. +1 −2 Gemfile.lock
  5. +150 −0 News
  6. +3 −3 configure
  7. +3 −3 gems_list.txt
  8. +3 −1 rakelib/release.rake
21 changes: 15 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -3,28 +3,37 @@ compiler:
- gcc
- clang
before_install:
- echo $LANG
- echo $LC_ALL
- if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get update && sudo apt-get install -y llvm-3.4 llvm-3.4-dev; fi
- if [ $TRAVIS_OS_NAME == osx ]; then brew update && brew install llvm && brew link --force llvm; fi
- rvm use $RVM --install --binary --fuzzy
- gem update --system
- gem --version
before_script:
- travis_retry bundle
- travis_retry ./configure
- if [ $TRAVIS_OS_NAME == linux ]; then travis_retry ./configure --llvm-config llvm-config-3.4; fi
- if [ $TRAVIS_OS_NAME == osx ]; then travis_retry ./configure --llvm-config /usr/local/opt/llvm/bin/llvm-config; fi
script: rake
branches:
only:
- master
- 1.8.7
notifications:
recipients:
- brixen@gmail.com
- d.bussink@gmail.com
email:
recipients:
- brixen@gmail.com
- d.bussink@gmail.com
on_success: change
on_failure: always
irc:
channels:
- "chat.freenode.net#rubinius"
template:
- "%{repository}/%{branch} (%{commit} - %{author}): %{message}"
- "%{repository}/%{branch} (%{commit} - %{author}): %{build_url}: %{message}"
env:
- RVM=2.0.0
- RVM=2.0.0 LANG="en_US.UTF-8"
os:
- linux
- osx
osx_image: xcode61
10 changes: 10 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
Version 1.4.0 (2014-12-15)

* JIT allocates correct CallFrame scope size (Sophia Shao)
* Regexp.new retries compilation if encoding fails. (Sophia Shao)
* Marshal taints objects via internal method rather than calling #taint to
conform to MRI semantics. (Sophia Shao)
* Marshal handles immediate values (eg nil) returned by #_dump. (Sophia Shao)
* All master branch changes for 2.3.0-2.4.1 that are not lanugage version
dependent are merged. See master Changelog for those changes. (Brian Shirai)

Version 1.3.4 (2014-09-30)

* Hash works with private #hash methods. (Sophia Shao)
3 changes: 2 additions & 1 deletion Gemfile.installed
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
source 'https://rubygems.org'

gem "bundler", "~> 1.7"

gem "rubinius-build_tools", "~> 1.0"
gem "rubinius-developer_tools", "~> 2.0"
gem "rubinius-toolset", "~> 2.2.0"

gem "rubysl", "~> 1.0"
gem "rubysl-test-unit", "~> 1.0"
3 changes: 1 addition & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
daedalus-core (0.1.0)
daedalus-core (0.2.0)
rake (10.4.2)
redcard (1.1.0)
rubinius-ast (1.3.0)
@@ -15,7 +15,6 @@ GEM
rubinius-toolset (~> 2.0)
rubinius-compiler (1.2.0)
rubinius-melbourne (1.2.0.0)
rubinius-toolset (~> 2.0)
rubinius-processor (1.3.0)
rubinius-toolset (2.3.1)

150 changes: 150 additions & 0 deletions News
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
This file documents changes made in each version that may be of interest to
users. The description is high-level and focuses on visible behavior rather
than implementation details. The content here is not intended to provide
documentation for features. See http://rubini.us/documentation.

The Changelog file provides summaries of changes that affect behavior but not
typically changes that are related to specs, build system, or refactoring.

For source changes, see https://github.com/rubinius/rubinius/commits/master.

Version: 1.4.0 (2014-12-15)

All changes from master for 2.3.0-2.4.1 that are not language version
dependent are merged into 1.8.7 branch. These changes are listed below
verbatim from master News.

Added in: 2.4.1 (2014-12-01)

* Several C-API now resolve autoloads when looking up a constant:

o rb_path2class
o rb_path_to_class
o rb_const_get
o rb_const_get_at
o rb_const_get_from

* The MRI C-API defines a number of constants that are specific to MRI's
garbage collector and should never be used outside of MRI itself.
Unfortunately, gems like Psych do use them, so we are forced to define them.

o RUBY_DEFAULT_FREE
o RUBY_NEVER_FREE
o RUBY_TYPED_DEFAULT_FREE
o RUBY_TYPEED_NEVER_FREE
o RUBY_TYPED_FREE_IMMEDIATELY
o RUBY_TYPED_WB_PROTECTED

* The C-API defines the Check_TypedStruct constant.

* Kernel#require_relative uses the current working directory when called in
contexts like IRB or -e where a file does not define the relative path.

* File.fnmatch support for FNM_EXTGLOB and FNM_PATHNAME is improved.

Added in: 2.4.0 (2014-12-01)

* File.fnmatch support for FNM_EXTGLOB has been added.

* Marshal handles immediate values returned by custom _dump methods.

* Kernel#caller_locations has been added. Kernel#caller now supports a limit
argument.

* Errno classes can be subclassed.

* An issue caused by the god monitoring facility, where god would forcefully
close all file descriptors in the process from 3 to 256, has been mitigated.
Previously, this issue could cause Rubinius to hang when running god and
exec'ing a subprocess.

* Rubinius::Metrics.data.to_hash now re-uses a Hash instance instead of
creating a new one on every call.

Added in: 2.3.0 (2014-10-31)

* Keyword arguments (both optional and required) are supported. Other syntax
changes in MRI 2.1, like Complex and Rational literal suffixes and symbol
list literals, are also supported.

* Rubinius will read -X configuration options from CWD/.rbxrc. The format of
the file is one -X configuration option per line. The available -X
configuration options are listed by the -Xhelp option.

* The basic infrastructure has been added for always-on metrics of Rubinius
subsystems. The metrics are 64bit monotonic counters. The data is accessible
with 'Rubinius::Metrics.data'. The object returned provides the following
methods:

* keys: return a list of symbol keys that name available metrics.
* values: return the values of the available metrics.
* []: return the value of the metric specified by the given key.
* to_hash: return a Hash instance of the available metrics.

The metrics can be emitted to StatsD at a regular interval. See the
following -X configuration options:

* system.metrics.interval
* system.metrics.target
* system.metrics.statsd.server
* system.metrics.statsd.prefix

The available metrics will be refined over time. Check the values returned
by the 'Rubinius::Metrics.data.keys' method to determine which metrics are
available.

* Rubinius provides an interface to the syslog facility. This is used
internally in Rubinius subsystems to standardize logging. Since the syslog
interface available through libc only allows syslog to be opened once in a
process, Rubinius provides the Rubinius::Logger class as a way for
applications to use the same handle to syslog but provide a specific prefix
for the application (or application components).

* Logger.system: return new logger using the "system" prefix.
* Logger.log_exception(message, exc): write a rendered exception with the
system logger prefix.
* Logger.new(name): return a new logger using the specified prefix.
* Logger#fatal(message): write message to both STDERR and the log with a
level of Fatal.
* Logger#error(message): write message to the log with level of Error.
* Logger#warn(message): write message to the log with level of Warn.
* Logger#info(message): write message to the log with level of Info.
* Logger#debug(message): write message to the log with level of Debug.

The default level that will be written to the log is Warn or higher. To
change the log level, use the system.log.level -X configuration option.

The system.log -X configuration variable controls which logger is used. The
available loggers are syslog, console, or path. The default logger is the
file /var/log/$PROGRAM_NAME.log, where $PROGRAM_NAME is replaced by the
value of Rubinius::PROGRAM_NAME. If this file is not writable,
$TMPDIR/$PROGRAM_NAME.log (where TMPDIR is an environment variable) or
/tmp/$PROGRAM_NAME.log will be used, if writable.

If using another application component that opens syslog, this will
interfere with Rubinius using syslog. In this scenario, consider using the
Rubinius::Logger class in your application.

* The infrastructure for Rubinius::Console has been added. Rubinius::Console
will eventually replace IRB, the Rubinius debugger and profiler, and all the
Rubinius::Agent features, including heap dump. Many of the Rubinius::Console
features have not yet been implemented.

The Rubinius::Console supports attaching to any running Rubinius instance as
long as read/write access is available to the file system path specified by
the system.fsapi.path -X configuration option. Accordingly, Console relies
on the OS process and file system permissions to provide security and access
control. With a utility like sshfs, Console can connect to a running
Rubinius instance over the network.

The goal of Console is to provide a single, comprehensive, integrated, and
powerful interface to the behavior of the Rubinius system and applications
running on it.

* Support for automatically building LLVM from source, or accessing a
pre-built binary of LLVM has been removed. Effort is being focused on
supporting LLVM packages provided by the system. This is a better use of
time and allows Rubinius to better integrate with existing systems. For
example, many Linux distributions strenuously discourage alternately
packaging system libraries to reduce security risks when defects in the
libraries are detected and fixed.
6 changes: 3 additions & 3 deletions configure
Original file line number Diff line number Diff line change
@@ -161,9 +161,9 @@ class Configure

# Essential settings (modify these for creating releases)
@ruby_version = "1.8.7"
@libversion = "1.3"
@patch_version = "4"
@release_date = nil
@libversion = "1.4"
@patch_version = "0"
@release_date = "2014-12-15"

# Configure settings
@release_build = !git_directory
6 changes: 3 additions & 3 deletions gems_list.txt
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@ ffi2-generators-0.1.1.gem
json-1.8.1.gem
minitest-4.7.5.gem
racc-1.4.12.gem
rake-10.3.2.gem
rdoc-4.1.2.gem
rake-10.4.2.gem
rdoc-4.2.0.gem
rubinius-ast-1.3.0.gem
rubinius-build_tools-1.0.0.gem
rubinius-compiler-1.2.0.gem
rubinius-coverage-2.0.3.gem
rubinius-debugger-2.0.3.gem
rubinius-debugger-2.2.0.gem
rubinius-developer_tools-2.0.0.gem
rubinius-melbourne-1.2.0.0.gem
rubinius-processor-1.3.0.gem
4 changes: 3 additions & 1 deletion rakelib/release.rake
Original file line number Diff line number Diff line change
@@ -10,9 +10,11 @@ desc "Create a release tarball"
task :release => :revision_file do
Dir.chdir BUILD_CONFIG[:gems_cache] do
sh "rm -f *", :verbose => $verbose
sh "gem fetch bundler", :verbose => $verbose
end
sh "bundle update", :verbose => $verbose
Rake::Task['gems:update_list'].invoke
Dir.chdir BUILD_CONFIG[:gems_cache] do
sh "gem fetch bundler", :verbose => $verbose
end
Rake::Task['package:tar'].invoke
end