= Jsus Changelog == Version 0.3.5 Other changes:

  • Faster cycle search; fails fast and makes --no-cycle-search option obsolete
  • Fixed error reporting routine when package.json / .yml was missing.
  • New compression methods: frontcompiler, closure, uglifier (besides the default yui) [Thanks to Pavel Evstigneev]

== Version 0.3.4 Middleware changes:

  • support for /compressed/ path component, which acts like /require/, but compresses the result in the end.
  • Cache result is now stored in subfolders of cache directory (easier to manage with nginx and alike)
  • Improved error reporting (choice of one of multiple modes in middleware settings)

CLI changes:

  • --no-cycle-search option for CLI to improve compilation times

Other changes:

  • Compression routines moved out to Jsus::Util::Compressor class. For now, only yui-compressor method is available

== Version 0.3.3

  • Unfortunate accident with rubygems

== Version 0.3.2 Middleware changes:

  • Fixed minor problem with middleware when package name and source file tag are the same
  • Settings are now shared between Jsus::Middleware and subclasses
  • Middleware now also supports /include/ directive (generates includes file), like -g option of CLI utility
  • Hack for cache output paths to be recognizable by nginx

CLI changes:

  • --very-verbose mode, outputs tree of your packages, very useful when debugging missing dependencies.
  • If you have circular dependencies in your code, jsus will detect them and issue a huge warning message (WIP)

Shared changes:

  • Pool instantiation will now follow symlinks one level deep
  • Somewhat easier on eyes murdoc template
  • Pool instantiation now also accepts array of directories as its argument
  • YARD docs are now the default docs choice

== Version 0.3.1

  • Added wildcard support for Jsus::Middleware

== Version 0.3.0

  • Added Jsus::Middleware for rack middleware stuff. Yay!

== Version 0.2.7

  • Brushed up CLI code
  • Added --watch option for cli (using fssm gem and fs backend for your operating system)
  • Added --compress option for cli (using yui-compressor gem)

== Version 0.2.6

  • Moved support classes to Jsus::Util module namespace
  • Now using autoload instead of require's for stuff

== Version 0.2.5

  • Fixed Container#sort not dealing with wildcards, which made it slower but at least made it work
  • Reduced a whole ton of Container creation calls wherever they didn't seem appropriate
  • Container sorting routine is now lazily evaluated

All in all, this resulted in 70% speedups on complex cases.

== Version 0.2.4

  • Replacements feature
  • Postprocessing feature See jsus-examples repo or features dir for more information.

== Version 0.2.3

  • Minor CLI reworkings:
    • Deprecated -i and -o options (use plain arguments now)
    • Restored generate-includes customizable root option

== Version 0.2.2

  • Fixed dupes in structure json files

== Version 0.2.1

  • Started adding cucumber features for command-line utility. Look into /features directory for reference
  • Removed choice gem from list of dependency. Using stdlib's optparse instead

== Version 0.2.0

  • Support for mooforge validator (checks if every file has authors && license), more validators at request
  • Errors on source files should now be easier to track down

== Version 0.1.21

  • Support for wildcards in requires statements (beware, something could break)

== Version 0.1.20

  • Better integration for murdoc (factored it into class Jsus::Documenter)
  • Tree structure for future reuse

== Versions 0.1.11 to 0.1.19

  • Murloc Documentation experimental support (a bit dirty for now)
  • Verbose mode for command-line, showing some missing dependencies and redeclared provides
  • Miscellanous changes and tweaks (was too lazy to write changelogs, sorry)

== Version 0.1.10

  • Package.json files are now supported too (with the same format as yaml packages)

== Version 0.1.9

  • Benchmarking results are now more verbose. == Version 0.1.8
  • Added extensions lookup to any call of SourceFile#content and SourceFile#required_files. This is needed in order to ensure extensions are loaded for dependencies.

== Version 0.1.7

  • Added caching to Jsus::Pool#lookup_direct_dependencies. This addresses some performance issues appeared in 0.1.6
  • Added --benchmark flag to jsus which shows total compile and total execution time
  • Added --generate-includes option to jsus. If enabled, generates a set of includes into includes.js file.

== Version 0.1.6

  • Fixed an issue with jsus not including internal dependencies for external dependencies. First robust solution handles this via Pool and eager dependency load.

== Version 0.1.5

  • Introduced new concept, Tag, which is going to be used instead of provides/requires strings
  • Introduced source extensions (monkey-patching, actually)
  • Wrote some basic documentation for the classes

== Version 0.1.4

  • Switched from OptiFlag to Choice for command-line parsing in jsus utility
  • Miscellanous changes here and there

== Version 0.1.3

  • Updated Pool class with dependency resolvers
  • Added Package#include_external_dependencies!

    • Included external dependencies won't show in its Package#dependencies
    • Same for external provides
  • Revamped command-line interface for jsus utility

    • Added dependencies compilation

== Version 0.1.2

  • Removed Bundler class which seemed like totally unneccessary
  • jsus command-line utility now works in single-project mode
  • Some major refactoring, introduced new concepts: Pool, Packager and Container
  • Inserted license text to LICENSE, updated TODO

== Version 0.1.1 (not released)

  • Massive refactoring
  • Moved out packing logic to brand new Packager and Container classes

== Version 0.1.0

  • Initial release