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