Skip to content

HTTPS clone URL

Subversion checkout URL

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