-
Notifications
You must be signed in to change notification settings - Fork 7
/
PUBLIC_CHANGELOG
162 lines (125 loc) · 6.7 KB
/
PUBLIC_CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
2011-04-08:
* Remove Merb.restart_environment. The method was breaking when used in
the specs.
10/06/2008:
* Use -L option or :log_file or :log_stream in init.rb or env init file
to point logger where you want.
10/05/2008:
* Merb does not add spec tasks to Rakefiles list by default. Add
require "merb-core/test/tasks/spectasks" in your existing Rakefiles
explicitly. This is done so that test unit users do not get spec
tasks they do not need down their throat in any merb application,
even running on just -core.
* Dictionary and inflection code are now parts of Extlib library and shared
with other frameworks that use it (DataMapper, Halcyon, Mack, etc).
9/26/2008:
* For Merb developers, Rakefile features a new implementation of the :install
and :uninstall tasks. These will work with Gems directly, without running
the intermediate commands on the shell. This means 'sudo' is now explicitly
needed when installing gems system-wide; implicit sudo (prompt) is considered
harmful. The new code will write appropriate executable wrappers that feature
local gem loading and minigems usage. All gems in -more and -core now use this
new (un)install procedure.
9/25/2008:
* Merb::Config[:reload_templates] needs to be set explicitly in
config/environments/development.rb - which is true for newly generated apps.
Previously Merb.env?(:development) meant that reload_templates was enabled.
Since we don't want to depend on Merb.env like that, we're using Merb::Config.
9/24/2008:
* Kernel#dependency and Kernel#load_dependency will now register the requested
dependency on Merb::BootLoader::Dependencies.dependencies. Doing so creates a
Gem::Dependency instance, which will be returned from these methods.
Before, an Array of [name, ver] was returned. Working with Gem::Dependency
makes the dependency information more uniform, regardless of the original
version requirements.
9/13/2008:
* Merb apps will always give priority to gems that are available locally in
Merb.root / gems. Because of the specific load order, you will need to use
bin/merb to load merb-core from local gems, as detailed below. This is also
the case for bin/merb-gen, bin/rake and bin/spec for example. The added
advantage is that your app will be completely independent from system gems.
* Thor tasks 'merb.thor' have been added for newly generated apps; regenerate
your app to get them; alternatively these are available on merbivore.com:
http://merbivore.com/merb.thor
* Release 0.9.6 introduced 'merb-gen scripts' which added script/merb and
script/merb-gen. However, now that merb.thor provides tasks to manage
bundled gems, we can directly extract the correct executables. To follow the
standard convention, these will be installed in ./bin instead of ./script.
With merb.thor installed, run the following to get started:
$ thor merb:tasks:setup # adds bin/thor, bin/rake etc.
As soon as you install other gems using merb.thor you'll have the required
bin executables available; these are setup so that running them will load
merb-core from the local gems dir, not from the system-wide rubygems.
To get bin/merb and bin/merb-gen for a fresh application, you can use:
$ thor merb:stable -a mongrel # install a full merb stack from stable rubygems
Alternatively, you can install from the bleeding edge:
$ thor merb:edge --install # install a full merb stack from github
$ thor merb:gems:install mongrel # or ebb, thin...
9/5/2008:
* Language::English::Inflector is now English::Inflect - be sure to change your
custom inflections in config/init.rb. Additionally, the merb-gen template
config/init.rb has been changed to document the features accordingly.
9/2/2008:
* AbstractController now uniformly uses instance_eval for Procs where previously
the controller instance (self) was passed as an argument:
- Procs thrown during dispatch
- Procs used as before/after filters
- Procs used as conditions to before/after filters
This means that code like this:
proc { |c| c.a_controller_method }
Becomes the following for the cases mentioned:
proc { a_controller_method }
8/29/2008:
* The directory Merb.root / 'framework' is now gone - framework gems are
expected to be installed as local gems in Merb.root / 'gems':
sudo gem install merb -i ./gems
* The notion of a frozen application setup (using bundled gems) is now known
as a bundled setup; Merb.frozen? => Merb.bundled? By default an app uses
bundled gems (the -B or --bundle options to merb), to disable this use
the option --no-bundle.
8/27/2008:
* Merb::Request#protocol now returns valid protocol names: http, not http://.
8/22/2008:
* controller.cookies['foo'] = { ... } (Hash with options) is now deprecated;
use controller.cookies['foo'] = 'bar' for simple cookies without options, or
use controller.cookies.set_cookie('foo', 'bar', options) for more control.
8/21/2008:
* Memcached sessions are now configured by assignment to
Merb::MemcachedSession.store (previously the CACHE constant was used)
* Added Merb::Config[:ignore_tampered_cookies] option to skip cookie warnings
during development. This defaults to 'on' in the development environment.
* Merb::Config[:session_store] or Merb::Config[:session_stores] now accept an
Array (or String); when an Array is given, multiple session stores will be
available to the application.
* If you have custom session stores (that inherit from Merb::SessionContainer)
be sure to require them in your init.rb
8/20/2008:
* Merb::Config[:session_cookie_domain] is now
Merb::Config[:default_cookie_domain]
* Merb.registered_session_types is now Merb::Request.registered_session_types
* When running in :development env, cookie-based sessions won't bother you
by raising TamperedWithCookie anymore.
8/14/2008:
* Merb.orm_generator_scope and friends are renamed.
** Merb.orm_generator_scope => Merb.orm
** Merb.test_framework_generator_scope => Merb.test_framework
** Added Merb.template_engine
Merb-gen is updated accordingly. This let us add --haml and similar
options to merb-gen and plugin generators.
8/10/2008:
* Modified the way Exceptions are handled in the Dispatcher
** To rescue all exceptions, supply Exceptions#exception
** To rescue all Merb-generated exceptions, supply Exceptions#base
** Exceptions#internal_server_error is no longer a catch-all and should
not be used as such.
6/22/2008:
Erubis modified:
* <%= %> now can take a block, so <%= helper do %>Hello<% end %> now works
* Erubis buffer is now an ivar (@_erb_buf), which eliminates the need for
eval in capture helpers.
CONSEQUENCE:
Helpers that take a block should simply return a string, and should not
use concat. Example:
def my_helper(&blk)
"My helper says #{capture(&blk)}."
end