Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 220 lines (156 sloc) 7.584 kb
9921c5d @postmodern Updated the ChangeLog for 0.3.5.
authored
1 ### 0.3.5 / 2013-05-28
2
3 * Added a RPM spec.
4 * Respect `PREFIX` when auto-detecting `/opt/rubies/*`.
9e5515d @postmodern Give credit for the various changes.
authored
5 * Do not set `GEM_ROOT` if rubygems is not installed (Charlie Somerville).
f83da0a @postmodern Updated the ChangeLog.
authored
6 * `chruby_use` now echos the select ruby and the version, only if the shell is
9e5515d @postmodern Give credit for the various changes.
authored
7 in interactive mode (Brian D. Burns).
9921c5d @postmodern Updated the ChangeLog for 0.3.5.
authored
8 * `chruby_reset` no longer accidentally removes `/bin` if `GEM_HOME` or
9e5515d @postmodern Give credit for the various changes.
authored
9 `GEM_ROOT` are empty (David Grayson).
f83da0a @postmodern Updated the ChangeLog.
authored
10 * `chruby` now selects the last lexical match for the given ruby.
9921c5d @postmodern Updated the ChangeLog for 0.3.5.
authored
11
05dda86 @postmodern Updated the ChangeLog about changes to auto.sh.
authored
12 #### auto.sh
13
14 * Ensure that auto-switching works in non-interactive mode:
15 * zsh: use `preexec_functions` which runs in both interactive and
16 non-interactive sessions.
17 * bash: use `trap DEBUG` which runs before every command, in both interactive
18 and non-interactive mode. `PROMPT_COMMAND` only runs in interactive mode.
744ba93 @postmodern Mentioned the design flaw in auto.sh and how an attacker could leverage ...
authored
19 * Fixed a serious design flaw, where `chruby_auto` passed the contents of
20 `.ruby-version` as multiple arguments to the `chruby` function. Originally,
21 this allowed for `.ruby-version` files to specify additional `RUBYOPT` options
22 (ex: `jruby --1.8`). However, an attacker could craft a malicious
23 `.ruby-version` file that would require arbitrary code
24 (ex: `1.9.3 -r./evil.rb`). The `./evil.rb` file would then be required when
25 `ruby` is invoked by `chruby_use` in order to determine `RUBY_ENGINE`,
26 `RUBY_VERSION`, `GEM_ROOT`.
27
28 In order to prevent the abuse of this feature, `chruby_auto` now passes the
29 entire contents of `.ruby-version` as a first and only argument to the
30 `chruby` function.
31
32 If you have `auto.sh` enabled, it is recommended that you upgrade.
33 If you cannot upgrade, consider disabling `auto.sh`.
34 If you want to scan your entire system for malicious `.ruby-version` files:
35
36 find / -name .ruby-version 2>/dev/null | xargs -i{} grep -H " " {}
05dda86 @postmodern Updated the ChangeLog about changes to auto.sh.
authored
37
9e5515d @postmodern Give credit for the various changes.
authored
38 Thanks to David Grayson for reporting this flaw.
39
9921c5d @postmodern Updated the ChangeLog for 0.3.5.
authored
40 #### scripts/setup.sh
41
9e5515d @postmodern Give credit for the various changes.
authored
42 * Do not assume bash is installed at `/bin/bash` (Shannon Skipper).
9921c5d @postmodern Updated the ChangeLog for 0.3.5.
authored
43
415e709 @postmodern Update the ChangeLog for 0.3.4.
authored
44 ### 0.3.4 / 2013-02-28
45
46 * Prepend the new gem paths to `GEM_PATH` in `chruby_use`, instead of
47 overriding the variable. This allows users to add common gem paths to
48 `GEM_PATH` in `~/.bashrc`.
49 * Only remove the gem paths used by the Ruby in `chruby_reset`.
50
51 #### auto.sh
52
53 * Detect when `PROMPT_COMMAND=" "` before checking if `PROMPT_COMMAND` is an
54 empty String. This appears to only happen on OSX Mountain Lion.
55
56 #### scripts/bug_report.sh
57
58 * Include `CHRUBY_VERSION` in the output.
59
45ebe69 @postmodern Updated the ChangeLog for 0.3.3.
authored
60 ### 0.3.3 / 2013-02-18
3efc7d6 @postmodern Updated the ChangeLog for 0.3.3.
authored
61
62 * Added `-v` `--version` options to `chruby` and `chruby-exec`.
63 * Added `scripts/bug_report.sh` for collecting environment information
64 for bug reports.
65 * Initialize `RUBIES` to `()` to avoid double-loading `chruby.sh`.
66 * Invoke `ruby` using the absolute path to avoid shell aliases.
67 This fixes a bug caused by [ohmyzsh] aliases.
68
69 #### auto.sh
70
71 * Unset `RUBY_VERSION_FILE` on initial load for [tmux].
45ebe69 @postmodern Updated the ChangeLog for 0.3.3.
authored
72 * Remove trailing `;` and whitespace from `PROMPT_COMMAND` before
73 appending `; chruby_auto`.
3efc7d6 @postmodern Updated the ChangeLog for 0.3.3.
authored
74
75 #### scripts/setup.sh
76
77 * Bump MRI version to 1.9.3-p385.
78 * Use `\x1b` instead of `\e` for OSX.
79
728b127 @postmodern Updated the ChangeLog for 0.3.2.
authored
80 ### 0.3.2 / 2013-01-15
81
82 * Prevent `auto.sh` from being loaded more than once.
e188264 @postmodern Mention changes to suggested Configuration.
authored
83 * Recommend using `~/.bash_profile` and `~/.zprofile`.
728b127 @postmodern Updated the ChangeLog for 0.3.2.
authored
84 * Use `cp` and `mkdir` instead of `install` in the `Makefile`.
85
86 #### chruby-exec
87
88 * Run under [bash], to avoid the [dash] shell.
89 * Invoke `$SHELL` with the `-i` option, so [zsh] will load shell configuration.
90
91 #### scripts/setup.sh
92
93 * Install [JRuby] 1.7.2.
94 * Use special `./configure` options for [homebrew].
95 * Also install openssl and readline via homebrew.
96
9fc8026 @postmodern Updated the 0.3.1 release date.
authored
97 ### 0.3.1 / 2012-12-29
b70f5ed @postmodern Updated the ChangeLog for 0.3.1.
authored
98
99 * Fixed the auto-detection of `~/.rubies/*`.
372cbc9 @postmodern Check if bin/ruby exists and is executable before switching Rubies.
authored
100 * Check if `bin/ruby` exists and is executable before switching to a Ruby.
5efc914 @postmodern Fixed a spelling error.
authored
101 * Prevent `export=""` from accidentally being set under [zsh].
b70f5ed @postmodern Updated the ChangeLog for 0.3.1.
authored
102 * Prevent `script/setup.sh` from exiting if a `brew install` fails because all
103 packages are already installed.
104 * Updated the example `/etc/profile.d/chruby.sh` to only load under [bash]
105 and [zsh].
106
f802968 @postmodern Updated the ChangeLog for 0.3.0.
authored
107 ### 0.3.0 / 2012-12-20
108
33fbf33 @postmodern Wording.
authored
109 * Added the `chruby-exec` utility for use in `crontab` or with Continuous
f802968 @postmodern Updated the ChangeLog for 0.3.0.
authored
110 Integration (CI).
111 * Added support for auto-detecting Rubies installed into `/opt/rubies/` or
112 `~/.rubies/`.
113 * Added `share/chruby/auto.sh`, which provides support for auto-switching
114 to Rubies specified in the [.ruby-version](https://gist.github.com/1912050)
115 file.
650a6f0 @postmodern Updated the ChangeLog.
authored
116 * Removed the "short circuit" check in `chruby_use`, to allow forcibly
117 switching to the current Ruby, in case `PATH` or `GEM_PATH` become corrupted.
f802968 @postmodern Updated the ChangeLog for 0.3.0.
authored
118
0126f0f @postmodern Updated the ChangeLog for 0.2.6.
authored
119 ### 0.2.6 / 2012-12-18
120
121 * Forcibly switch to system Ruby when loading `share/chruby/chruby.sh`.
122 This fixes switching issues for [tmux] users.
123
9247e01 @postmodern Updated the ChangeLog for 0.2.5.
authored
124 ### 0.2.5 / 2012-12-15
125
126 * Renamed the `RUBY` environment variable to `RUBY_ROOT` to avoid breaking
e038dab @postmodern Be explicit about which rake method we broke.
authored
127 the `FileUtils#ruby` method in [rake](http://rake.rubyforge.org/).
9247e01 @postmodern Updated the ChangeLog for 0.2.5.
authored
128 * Do not unset `GEM_HOME`, `GEM_PATH`, `GEM_ROOT` if running under root.
129
e759538 @postmodern Updated the ChangeLog for 0.2.4.
authored
130 ### 0.2.4 / 2012-12-13
131
132 * Added a `Vagrantfile` for testing chruby in various environments.
133 * Changed all code and examples to reference `/opt/rubies/`.
134 * Ensure all error messages are printed to stderr.
135 * Refactored `scripts/setup.sh` to manually install all Rubies and install any
136 dependencies via the System Package Manager.
137 * PGP signatures are now stored in `pkg/`.
138
139 #### Makefile
140
141 * Updated the `Makefile` to be compatible with BSD automake.
142 * Do not override `PREFIX`.
143 * Added a `test` task.
144
145 #### Homebrew
146
147 * Use `HOMEBREW_PREFIX`.
148 * Use `sha1` instead of `md5` (deprecated).
149 * No longer dynamically generate the example configuration.
150
eb82596 @postmodern Updated the ChangeLog for 0.2.3.
authored
151 ### 0.2.3 / 2012-11-19
152
e759538 @postmodern Updated the ChangeLog for 0.2.4.
authored
153 * Updated the `Makefile` to be compatible with the [dash] shell.
eb82596 @postmodern Updated the ChangeLog for 0.2.3.
authored
154 * Use inline substring substitutions instead of `sed`.
155
0bace61 @postmodern Updated the ChangeLog for 0.2.2.
authored
156 ### 0.2.2 / 2012-11-17
157
158 * Use `typeset` to declare `RUBIES` as an indexed Array.
159 * Use the correct globbed Array syntax for both [zsh] and [bash].
a1daa08 @postmodern Forgot to mention the homebrew post-install message improvements.
authored
160 * Improved the post-installation message in the [homebrew] recipe to auto-detect
161 [RVM], [rbenv] and [rbfu].
0bace61 @postmodern Updated the ChangeLog for 0.2.2.
authored
162
912f6b0 @postmodern Updated the ChangeLog for 0.2.1.
authored
163 ### 0.2.1 / 2012-10-23
164
165 * Fixed `make install` to work on OS X.
166 * Added a [homebrew] recipe.
167
426d912 @postmodern Updated the ChangeLog.
authored
168 ### 0.2.0 / 2012-10-16
40e2afd @postmodern Updated the ChangeLog.
authored
169
170 * Install `chruby.sh` into `$PREFIX/share/chruby/`.
171
ea40ae2 @postmodern Updated the ChangeLog for 0.1.2.
authored
172 ### 0.1.2 / 2012-08-29
173
174 * Check if `$RUBY` _and_ `$RUBYOPT` are different from the arguments passed to
175 `chruby_use`.
176 * Fixed a spelling error in the README (thanks Ian Barnett).
177
92804f3 @postmodern Updated the ChangeLog for 0.1.1.
authored
178 ### 0.1.1 / 2012-08-24
179
180 * Added unit-tests using [shunit2](http://code.google.com/p/shunit2/)
36961d9 @postmodern Spelling error.
authored
181 * Improved sanitation of `$PATH` in `chruby_reset`. (thanks mpapis)
92804f3 @postmodern Updated the ChangeLog for 0.1.1.
authored
182 * If the desired Ruby is already in use, immediately return from `chruby_use`.
183 * Export `$RUBY_ENGINE`, `$RUBY_VERSION`, `$GEM_ROOT` in `chruby_use`.
184
036d5e0 @postmodern Oops, date for 0.1.0 is wrong.
authored
185 ### 0.1.0 / 2012-08-18
be47576 @postmodern Updated the ChangeLog for 0.1.0.
authored
186
187 * Added support for [zsh].
188 * Renamed the `$RUBY_PATH` variable to `$RUBY`.
189 * Set the `$RUBY_ENGINE` variable.
190 * Set the `$GEM_ROOT` variable to `Gem.default_dir`.
191 This supports the custom RubyGems directory used by [Rubinius].
192 * Only initialize the `$RUBIES` variable if it does not have a value.
193
1d57607 @postmodern Updated the ChangeLog.
authored
194 ### 0.0.2 / 2012-08-14
195
196 * Added a `LICENSE.txt`.
197 * Added a `ChangeLog.md`.
198 * Updated the `Makefile` to generate proper tar archives.
199
200 ### 0.0.1 / 2012-08-01
9de0f7c @postmodern Forgot to add a ChangeLog.
authored
201
202 * Initial release.
203
eb82596 @postmodern Updated the ChangeLog for 0.2.3.
authored
204 [dash]: http://gondor.apana.org.au/~herbert/dash/
4eac279 @postmodern Fixed a broken link.
authored
205 [bash]: http://www.gnu.org/software/bash/
be47576 @postmodern Updated the ChangeLog for 0.1.0.
authored
206 [zsh]: http://www.zsh.org/
0126f0f @postmodern Updated the ChangeLog for 0.2.6.
authored
207 [tmux]: http://tmux.sourceforge.net/
3efc7d6 @postmodern Updated the ChangeLog for 0.3.3.
authored
208 [ohmyzsh]: https://github.com/robbyrussell/oh-my-zsh#readme
eb82596 @postmodern Updated the ChangeLog for 0.2.3.
authored
209
be47576 @postmodern Updated the ChangeLog for 0.1.0.
authored
210 [Rubinius]: http://rubini.us/
912f6b0 @postmodern Updated the ChangeLog for 0.2.1.
authored
211 [homebrew]: http://mxcl.github.com/homebrew/
a1daa08 @postmodern Forgot to mention the homebrew post-install message improvements.
authored
212
213 [RVM]: https://rvm.io/
214 [rbenv]: https://github.com/sstephenson/rbenv#readme
215 [rbfu]: https://github.com/hmans/rbfu#readme
728b127 @postmodern Updated the ChangeLog for 0.3.2.
authored
216
217 [MRI]: http://www.ruby-lang.org/en/
218 [JRuby]: http://jruby.org/
219 [Rubinius]: http://rubini.us/
Something went wrong with that request. Please try again.