Releases: melpa/package-build
2.3
2.2
2.1
2.0
Major refactoring done in #15 and #16.
-
Make code that determines the appropriate version self-contained.
-
Use fewer arguments to pass data around.
-
Use Eieio objects to represent recipes instead of plists. These objects contain more information than the old plists, which is what makes it possible to use fewer arguments to pass information around.
-
Replace leaky abstractions with self-contained functions, doing one thing only, and all of it.
-
Organized the file into logical units by using sections. This was a very necessary step, which I already began in earlier patch series. It helps a lot recognizing accidental complexity and removing it.
-
Remove many helper functions, by inlining them. These helper functions often existed because the functions that called them were to complicated, making it necessary to move at least some of the code elsewhere. But after cleaning up the calling function that often wasn't necessary anymore.
-
Refactor the recipe interface.
Previously an alist of all available recipe of the form ((NAME . PLIST)...) was compiled from the contents of the recipe files and then being passed around and being cached in a variable.
To replace that add a function,
package-recipe-lookup
, that reads a single recipe file and returns a recipe object. Everything else now only deals with such objects. The recipe representation(NAME . PLIST)
isn't used anymore, except for on-disk storage. I.e. it is an implementation detail as far as the code is concerned. Of course for submitters of package recipes it is still the primary interface. Internally a package is now always represented by a recipe object or simply by its name. There no longer are any intermediate states.
1.2
1.1
Debut release
Initial numbered release following extraction from the main MELPA repository.