Chris@909
|
1 = EDGE
|
Chris@909
|
2
|
Chris@909
|
3 * Samuel Williams (http://www.oriontransfer.co.nz/):
|
Chris@909
|
4 Thanks to Tekin for his patches.
|
Chris@909
|
5 Updated migrations system to tie in more closely with the current rails mechanism.
|
Chris@909
|
6 Rake task for updating database schema info
|
Chris@909
|
7 rake db:migrate:upgrade_plugin_migrations
|
Chris@909
|
8 Please see http://engines.lighthouseapp.com/projects/10178-engines-plugin/tickets/17 for more information.
|
Chris@909
|
9
|
Chris@909
|
10 * Refactored the view loading to work with changes in Edge Rails
|
Chris@909
|
11
|
Chris@909
|
12 * Fixed integration of plugin migrations with the new, default timestamped migrations in Edge Rails
|
Chris@909
|
13
|
Chris@909
|
14 * Refactored tests into the plugin itself - the plugin can now generate its own test_app harness and run tests within it.
|
Chris@909
|
15
|
Chris@909
|
16
|
Chris@909
|
17 = 2.0.0 - (ANOTHER) MASSIVE INTERNAL REFACTORING
|
Chris@909
|
18
|
Chris@909
|
19 * Engines now conforms to the new plugin loading mechanism, delegating plugin load order and lots of other things to Rails itself.
|
Chris@909
|
20
|
Chris@909
|
21
|
Chris@909
|
22
|
Chris@909
|
23 = 1.2.2
|
Chris@909
|
24
|
Chris@909
|
25 * Added the ability to code mix different types of files, cleaning up the existing code-mixing implementation slightly (Ticket #271)
|
Chris@909
|
26
|
Chris@909
|
27
|
Chris@909
|
28 = 1.2.1
|
Chris@909
|
29
|
Chris@909
|
30 * Added documentation to clarify some of the issues with Rails unloading classes that aren't required using "require_dependency" (Ticket #266)
|
Chris@909
|
31
|
Chris@909
|
32 * Fixed a bug where test_help was being loaded when it wasn't needed, and was actually causing problems (Ticket #265)
|
Chris@909
|
33
|
Chris@909
|
34
|
Chris@909
|
35 = 1.2.0 - MASSIVE INTERNAL REFACTORING
|
Chris@909
|
36
|
Chris@909
|
37 * !!!Support for Rails < 1.2 has been dropped!!!; if you are using Rails =< 1.1.6, please use Engines 1.1.6, available from http://svn.rails-engines.org/engines/tags/rel_1.1.6
|
Chris@909
|
38
|
Chris@909
|
39 * Engines are dead! Long live plugins! There is now no meaningful notion of an engine - all plugins can take advantage of the more powerful features that the engines plugin provides by including app directories, etc.
|
Chris@909
|
40
|
Chris@909
|
41 * Init_engine.rb is no longer used; please use the plugin-standard init.rb instead.
|
Chris@909
|
42
|
Chris@909
|
43 * Engines.start is no longer required; please use the config.plugins array provided by Rails instead
|
Chris@909
|
44
|
Chris@909
|
45 * To get the most benefit from Engines, set config.plugins to ["engines", "*"] to load the engines plugin first, and then all other plugins in their normal order after.
|
Chris@909
|
46
|
Chris@909
|
47 * Access all loaded plugins via the new Rails.plugins array, and by name using Rails.plugins[:plugin_name].
|
Chris@909
|
48
|
Chris@909
|
49 * Access plugin metadata loaded automatically from about.yml: Rails.plugins[:name].about. Plugin#version is provided directly, for easy access.
|
Chris@909
|
50
|
Chris@909
|
51 * Module.config is has been removed - use mattr_accessor instead, and initialize your default values via the init.rb mechanism.
|
Chris@909
|
52
|
Chris@909
|
53 * Public asset helpers have been rewritten; instead of engine_stylesheet, now use stylesheet_link_tag :name, :plugin => "plugin_name"
|
Chris@909
|
54
|
Chris@909
|
55 * Plugin migrations have been reworked to integrate into the main migration stream. Please run script/generate plugin_migration to create plugin migrations in your main application.
|
Chris@909
|
56
|
Chris@909
|
57 * The fixture method for loading fixtures against any class has been removed; instead, engines will now provide a mechanism for loading fixtures from all plugins, by mirroring fixtures into a common location.
|
Chris@909
|
58
|
Chris@909
|
59 * All references to engines have been removed; For example, any rake tasks which applied to engines now apply to all plugins. The default Rails rake tasks for plugins are overridden where necessary.
|
Chris@909
|
60
|
Chris@909
|
61 * Layouts can now be shared via plugins - inspiration gratefully taken from PluginAWeek's plugin_routing :)
|
Chris@909
|
62
|
Chris@909
|
63 * Actual routing from plugins is now possible, by including routes.rb in your plugin directory and using the from_plugin method in config/routes.rb (Ticket #182)
|
Chris@909
|
64
|
Chris@909
|
65 * Controllers are no longer loaded twice if they're not present in the normal app/ directory (Ticket #177)
|
Chris@909
|
66
|
Chris@909
|
67 * The preferred location for javascripts/stylesheets/etc is now 'assets' rather than 'public'
|
Chris@909
|
68
|
Chris@909
|
69 * Ensure that plugins started before routing have their controllers appropriately added to config.controller_paths (Ticket #258)
|
Chris@909
|
70
|
Chris@909
|
71 * Removed Engines.version - it's not longer relevant, now we're loading version information from about.yml files.
|
Chris@909
|
72
|
Chris@909
|
73 * Added a huge amount of documentation to all new modules.
|
Chris@909
|
74
|
Chris@909
|
75 * Added new warning message if installation of engines 1.2.x is attempted in a Rails 1.1.x application
|
Chris@909
|
76
|
Chris@909
|
77 * Added details of the removal of the config method to UPGRADING
|
Chris@909
|
78
|
Chris@909
|
79 * Removed the plugins:info rake task in favour of adding information to script/about via the Rails::Info module (Ticket #261)
|
Chris@909
|
80
|
Chris@909
|
81 * Improved handling of testing and documentation tasks for plugins
|
Chris@909
|
82
|
Chris@909
|
83
|
Chris@909
|
84
|
Chris@909
|
85 = 1.1.4
|
Chris@909
|
86
|
Chris@909
|
87 * Fixed creation of multipart emails (Ticket #190)
|
Chris@909
|
88
|
Chris@909
|
89 * Added a temporary fix to the code-mixing issue. In your engine's test/test_helper.rb, please add the following lines:
|
Chris@909
|
90
|
Chris@909
|
91 # Ensure that the code mixing and view loading from the application is disabled
|
Chris@909
|
92 Engines.disable_app_views_loading = true
|
Chris@909
|
93 Engines.disable_app_code_mixing = true
|
Chris@909
|
94
|
Chris@909
|
95 which will prevent code mixing for controllers and helpers, and loading views from the application. One thing to remember is to load any controllers/helpers using 'require_or_load' in your tests, to ensure that the engine behaviour is respected (Ticket #135)
|
Chris@909
|
96
|
Chris@909
|
97 * Added tasks to easily test engines individually (Ticket #120)
|
Chris@909
|
98
|
Chris@909
|
99 * Fixture extensions will now fail with an exception if the corresponding class cannot be loaded (Ticket #138)
|
Chris@909
|
100
|
Chris@909
|
101 * Patch for new routing/controller loading in Rails 1.1.6. The routing code is now replaced with the contents of config.controller_paths, along with controller paths from any started engines (Ticket #196)
|
Chris@909
|
102
|
Chris@909
|
103 * Rails' Configuration instance is now stored, and available from all engines and plugins.
|
Chris@909
|
104
|
Chris@909
|
105
|
Chris@909
|
106
|
Chris@909
|
107 = 1.1.3
|
Chris@909
|
108
|
Chris@909
|
109 * Fixed README to show 'models' rather than 'model' class (Ticket #167)
|
Chris@909
|
110 * Fixed dependency loading to work with Rails 1.1.4 (Ticket #180)
|
Chris@909
|
111
|
Chris@909
|
112
|
Chris@909
|
113
|
Chris@909
|
114 = 1.1.2
|
Chris@909
|
115
|
Chris@909
|
116 * Added better fix to version checking (Ticket #130, jdell@gbdev.com).
|
Chris@909
|
117
|
Chris@909
|
118 * Fixed generated init_engine.rb so that VERSION module doesn't cause probems (Ticket #131, japgolly@gmail.com)
|
Chris@909
|
119
|
Chris@909
|
120 * Fixed error with Rails 1.0 when trying to ignore the engine_schema_info table (Ticket #132, snowblink@gmail.com)
|
Chris@909
|
121
|
Chris@909
|
122 * Re-added old style rake tasks (Ticket #133)
|
Chris@909
|
123
|
Chris@909
|
124 * No longer adding all subdirectories of <engine>/app or <engine>/lib, as this can cause issues when files are grouped in modules (Ticket #149, kasatani@gmail.com)
|
Chris@909
|
125
|
Chris@909
|
126 * Fixed engine precidence ordering for Rails 1.1 (Ticket #146)
|
Chris@909
|
127
|
Chris@909
|
128 * Added new Engines.each method to assist in processing the engines in the desired order (Ticket #146)
|
Chris@909
|
129
|
Chris@909
|
130 * Fixed annoying error message at appears when starting the console in development mode (Ticket #134)
|
Chris@909
|
131
|
Chris@909
|
132 * Engines is now super-careful about loading the correct version of Rails from vendor (Ticket #154)
|
Chris@909
|
133
|
Chris@909
|
134
|
Chris@909
|
135
|
Chris@909
|
136 = 1.1.1
|
Chris@909
|
137
|
Chris@909
|
138 * Fixed migration rake task failing when given a specific version (Ticket #115)
|
Chris@909
|
139
|
Chris@909
|
140 * Added new rake task "test:engines" which will test engines (and other plugins) but ensure that the test database is cloned from development beforehand (Ticket #125)
|
Chris@909
|
141
|
Chris@909
|
142 * Fixed issue where 'engine_schema_info' table was included in schema dumps (Ticket #87)
|
Chris@909
|
143
|
Chris@909
|
144 * Fixed multi-part emails (Ticket #121)
|
Chris@909
|
145
|
Chris@909
|
146 * Added an 'install.rb' file to new engines created by the bundled generator, which installs the engines plugin automatically if it doesn't already exist (Ticket #122)
|
Chris@909
|
147
|
Chris@909
|
148 * Added a default VERSION module to generated engines (Ticket #123)
|
Chris@909
|
149
|
Chris@909
|
150 * Refactored copying of engine's public files to a method of an Engine instance. You can now call Engines.get(:engine_name).copy_public_files (Ticket #108)
|
Chris@909
|
151
|
Chris@909
|
152 * Changed engine generator templates from .rb files to .erb files (Ticket #106)
|
Chris@909
|
153
|
Chris@909
|
154 * Fixed the test_helper.erb file to use the correct testing extensions and not load any schema - the schema will be cloned automatically via rake test:engines
|
Chris@909
|
155
|
Chris@909
|
156 * Fixed problem when running with Rails 1.1.1 where version wasn't determined correctly (Ticket #129)
|
Chris@909
|
157
|
Chris@909
|
158 * Fixed bug preventing engines from loading when both Rails 1.1.0 and 1.1.1 gems are installed and in use.
|
Chris@909
|
159
|
Chris@909
|
160 * Updated version (d'oh!)
|
Chris@909
|
161
|
Chris@909
|
162
|
Chris@909
|
163
|
Chris@909
|
164 = 1.1.0
|
Chris@909
|
165
|
Chris@909
|
166 * Improved regexp matching for Rails 1.0 engines with peculiar paths
|
Chris@909
|
167
|
Chris@909
|
168 * Engine instance objects can be accessed via Engines[:name], an alias for Engines.get(:name) (Ticket #99)
|
Chris@909
|
169
|
Chris@909
|
170 * init_engine.rb is now processed as the final step in the Engine.start process, so it can access files within the lib directory, which is now in the $LOAD_PATH at that point. (Ticket #99)
|
Chris@909
|
171
|
Chris@909
|
172 * Clarified MIT license (Ticket #98)
|
Chris@909
|
173
|
Chris@909
|
174 * Updated Rake tasks to integrate smoothly with Rails 1.1 namespaces
|
Chris@909
|
175
|
Chris@909
|
176 * Changed the version to "1.1.0 (svn)"
|
Chris@909
|
177
|
Chris@909
|
178 * Added more information about using the plugin with Edge Rails to the README
|
Chris@909
|
179
|
Chris@909
|
180 * moved extensions into lib/engines/ directory to enable use of Engines module in extension code.
|
Chris@909
|
181
|
Chris@909
|
182 * Added conditional require_or_load method which attempts to detect the current Rails version. To use the Edge Rails version of the loading mechanism, add the line:
|
Chris@909
|
183
|
Chris@909
|
184 * Engines.config :edge, true
|
Chris@909
|
185
|
Chris@909
|
186 * to your environment.rb file.
|
Chris@909
|
187
|
Chris@909
|
188 * Merged changes from /branches/edge and /branches/rb_1.0 into /trunk
|
Chris@909
|
189
|
Chris@909
|
190 * engine_schema_info now respects the prefix/suffixes set for ActiveRecord::Base (Ticket #67)
|
Chris@909
|
191
|
Chris@909
|
192 * added ActiveRecord::Base.wrapped_table_name(name) method to assist in determining the correct table name
|
Chris@909
|
193
|
Chris@909
|
194
|
Chris@909
|
195
|
Chris@909
|
196 = 1.0.6
|
Chris@909
|
197
|
Chris@909
|
198 * Added ability to determine version information for engines: rake engine_info
|
Chris@909
|
199
|
Chris@909
|
200 * Added a custom logger for the Engines module, to stop pollution of the Rails logs.
|
Chris@909
|
201
|
Chris@909
|
202 * Added some more tests (in particular, see rails_engines/applications/engines_test).
|
Chris@909
|
203
|
Chris@909
|
204 * Another attempt at solving Ticket #53 - controllers and helpers should now be loadable from modules, and if a full path (including RAILS_ROOT/ENGINES_ROOT) is given, it should be safely stripped from the require filename such that corresponding files can be located in any active engines. In other words, controller/helper overloading should now completely work, even if the controllers/helpers are in modules.
|
Chris@909
|
205
|
Chris@909
|
206 * Added (finally) patch from Ticket #22 - ActionMailer helpers should now load
|
Chris@909
|
207
|
Chris@909
|
208 * Removed support for Engines.start :engine, :engine_name => 'whatever'. It was pointless.
|
Chris@909
|
209
|
Chris@909
|
210 * Fixed engine name referencing; engine_stylesheet/engine_javascript can now happily use shorthand engine names (i.e. :test == :test_engine) (Ticket #45)
|
Chris@909
|
211
|
Chris@909
|
212 * Fixed minor documentation error ('Engine.start' ==> 'Engines.start') (Ticket #57)
|
Chris@909
|
213
|
Chris@909
|
214 * Fixed double inclusion of RAILS_ROOT in engine_migrate rake task (Ticket #61)
|
Chris@909
|
215
|
Chris@909
|
216 * Added ability to force config values even if given as a hash (Ticket #62)
|
Chris@909
|
217
|
Chris@909
|
218
|
Chris@909
|
219
|
Chris@909
|
220 = 1.0.5
|
Chris@909
|
221
|
Chris@909
|
222 * Fixed bug stopping fixtures from loading with PostgreSQL
|
Chris@909
|
223
|
Chris@909
|
224
|
Chris@909
|
225
|
Chris@909
|
226 = 1.0.4
|
Chris@909
|
227
|
Chris@909
|
228 * Another attempt at loading controllers within modules (Ticket #56)
|
Chris@909
|
229
|
Chris@909
|
230
|
Chris@909
|
231
|
Chris@909
|
232 = 1.0.3
|
Chris@909
|
233
|
Chris@909
|
234 * Fixed serious dependency bug stopping controllers being loaded (Ticket #56)
|
Chris@909
|
235
|
Chris@909
|
236
|
Chris@909
|
237
|
Chris@909
|
238 = 1.0.2
|
Chris@909
|
239
|
Chris@909
|
240 * Fixed bug with overloading controllers in modules from /app directory
|
Chris@909
|
241
|
Chris@909
|
242 * Fixed exception thrown when public files couldn't be created; exception is now logged (Ticket #52)
|
Chris@909
|
243
|
Chris@909
|
244 * Fixed problem with generated test_helper.rb file via File.expand_path (Ticket #50)
|
Chris@909
|
245
|
Chris@909
|
246
|
Chris@909
|
247
|
Chris@909
|
248 = 1.0.1
|
Chris@909
|
249
|
Chris@909
|
250 * Added engine generator for creation of new engines
|
Chris@909
|
251
|
Chris@909
|
252 * Fixed 'Engine' typo in README
|
Chris@909
|
253
|
Chris@909
|
254 * Fixed bug in fixtures extensions
|
Chris@909
|
255
|
Chris@909
|
256 * Fixed /lib path management bug
|
Chris@909
|
257
|
Chris@909
|
258 * Added method to determine public directory location from Engine object
|
Chris@909
|
259
|
Chris@909
|
260 * Fixed bug in the error message in get_engine_dir()
|
Chris@909
|
261
|
Chris@909
|
262 * Added proper component loading
|
Chris@909
|
263
|
Chris@909
|
264 * Added preliminary tests for the config() methods module
|
Chris@909
|
265
|
Chris@909
|
266
|
Chris@909
|
267
|
Chris@909
|
268 = pre-v170
|
Chris@909
|
269
|
Chris@909
|
270 * Fixed copyright notices to point to DHH, rather than me.
|
Chris@909
|
271
|
Chris@909
|
272 * Moved extension require statements into lib/engines.rb, so the will be loaded if another module/file calls require 'engines
|
Chris@909
|
273
|
Chris@909
|
274 * Added a CHANGELOG file (this file)
|