Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Prepare for version 0.18.0

  • Loading branch information...
commit 08265a380d0ff3fce014e98e87bb8c2330858e4a 1 parent 8452893
@sferik sferik authored
Showing with 10 additions and 1 deletion.
  1. +9 −0 CHANGELOG.md
  2. +1 −1  lib/thor/version.rb
View
9 CHANGELOG.md
@@ -1,3 +1,12 @@
+## 0.18.0, release 2013-03-26
+* Remove rake2thor
+* Only display colors if output medium supports colors
+* Pass parent_options to subcommands
+* Fix non-dash-prefixed aliases
+* Make error messages more helpful
+* Rename "task" to "command"
+* Add the method to allow for custom package name
+
## 0.17.0, release 2013-01-24
* Add better support for tasks that accept arbitrary additional arguments (e.g. things like `bundle exec`)
* Add #stop_on_unknown_option!
View
2  lib/thor/version.rb
@@ -1,3 +1,3 @@
class Thor
- VERSION = "0.17.0"
+ VERSION = "0.18.0"
end

10 comments on commit 08265a3

@rafaelfranca
Collaborator

This release broke the railties tests with Ruby 2.0 https://travis-ci.org/rails/rails/jobs/5811378#L589

@sferik
Owner

I ran tests on Ruby 1.9.3 before releasing but didn't think to run them again on Ruby 2.0.0? Have you bisected to determine specifically which commit is broke things?

@rafaelfranca
Collaborator

I'm running the tests right now. I'll bisect and send and report back later

@sferik
Owner

Thanks! If you can find the problem, I'm happy to push 0.18.1 later today.

@rafaelfranca
Collaborator

I could track down the commit that changed the behavior. thor/thor@fb149e3

But I think it is a Rails fault, it is defining a protected attr_reader to file_name, but is using in a template name that method.

I think that the methods used in template names should be public right?

@sferik
Owner

Any idea why they’re protected? Looks like that was added by @drogus in rails/rails@0134c5c.

@drogus

@sferik I don't think that there was any particular reason to make file_name protected, I was just following what was already there.

@rafaelfranca I'm not sure what's the difference in using the method in a template name and in the template itself, shouldn't both cases use NamedBase as a context?

@josevalim

The method is protected because if it is public, it will be run every time as a task, although for file_name, it is not really an issue.

In any case, I think the implementation in this commit fb149e3 is not good at all. I am skeptical all ruby implementations would have attr_* as the first line in the caller in there.

I think what Rails is doing is fine. The real bug is here: d02f275

When rendering files, Thor behaves like Sinatra. It works as if the file was embedded in the current Thor class. Therefore, restricting the filename to be just public methods is a silly limitation that doesn't work well with how Thor is meant to be used.

@rafaelfranca
Collaborator

:+1: for not limiting the filename to be public methods.

@josevalim

I have opened a pull request that reverts these two regressions: #316

Please sign in to comment.
Something went wrong with that request. Please try again.