- #377: flow: added documentation on query parameters and new configuration options
- #378: tooling: allow to explicitly disable tooling hooks + NEW FEATURE: see ticket for details
- #376: flow: fixed
constructAbsoluteUrlin html5Mode (was not absolute)
#372: flow: allow to encode place parameters in query string + NEW FEATURE: see ticket for details
#371: flow: fixed URL encoding of place parameter values
- #369: documentation: improved docs and specs for object.path/setPath
- #370: runtime: improved absolute link construction (HTML5 routing)
- #323: documentation: fixed link
#367: runtime: allow to configure hash-free (HTML5) routing + NEW FEATURE: see ticket for details
#288: documentation: added a link to the laxar-react-adapter to the manual about providing controls
- #287: documentation: added a link to the laxar-react-adapter to the manual about writing widget controllers
#330: tooling: added developer tools API + NEW FEATURE: see ticket for details
#322: logging: fixed source location reporting
- #296: documentation: fixed string API doc module name
- #297: project: updated .gitignore for better v2.0 compatibility
- #293: page loader: mention composition name and ID when composition features fail validation
- #284: documentation: fixed broken link
- #295: documentation: fixed order of preliminary readings
- #289: page loader: merged namespaces for widget- and composition-ids
- #285: page loader: improved error message for missing composition
- #277: loaders: Fix problem with insertBeforeId in compositions
- #274: loaders: Fix handling of compositions without '.' area
- #268: EventBus: fixed handling of single
didresponse after multiple requests with individual
- #255: tooling: fixed test and enabled it for grunt-karma
- #254: documentation: improved and updated manuals
- #251: utilities: reactivated spec tests
- #249: project: updated copyright year in file header
- #248: tooling: added compositions to page inspection API + NEW FEATURE: see ticket for details
#247: tooling: added page inspection API + NEW FEATURE: see ticket for details
#244: documentation: added extensive documentation on visibility events
- #243: fn: fixed invalid setTimeout application
#242: tooling: added
provideQfactory + NEW FEATURE: see ticket for details
#241: fn: allow to cancel debounced functions + NEW FEATURE: see ticket for details
#240: documentation: fixed prerequisites (yeoman, not grunt-init)
- #238: testing: fixed initialization of
- #210: runtime: added
axControlsservice so that controls can be instantiated in any integration technology + NEW FEATURE: see ticket for details
- #237: runtime: defer page-controller injections until controller instantiation
- #236: loaders: fixed typo which prevented default theme from loading (debug mode)
- #235: loaders: to find CSS in theme, first try the descriptor name
- #234: testing: do not query widget CSS/HTML assets
- #233: loaders: fixed widget theme lookup
- #232: documentation: explain Bower-based widget installation + NEW FEATURE: see ticket for details
#195: documentation: added manual on the FileResourceProvider + NEW FEATURE: see ticket for details
#230: documentation: fixed example in Widgets and Activities manual
- #223: documentation: explain tooling with the new grunt tasks
- #228: documentation: documented writing widget controller for specific technologies
- #229: adapters: added axFeatures as injection for angular widgets
- #221: adapters: made all relevant services available to plain widgets
- #227: testing: fixed widget descriptor lookup so that it is independent of the widget location
- #225: loaders: prefer widget specification name over directory name if possible
- #226: angular: normalized widget module lookup so that widget.json can use dash-separated-names
#129: integration: implemented using widgets installed via bower as amd module + NEW FEATURE: see ticket for details
#222: require_config: added documentation for widget / control specific configuration
- #215: testing: updated documentation regarding widget tests
- #220: fixed off-by-one bug in HTML spec-runners
- #78: tests: allow to execute spec-tests using a project RequireJS configuration + NEW FEATURE: see ticket for details
#219: added Travis-CI build integration + NEW FEATURE: see ticket for details
#213: documentation: fixed widget installation manual
- #214: axHeartBeat: using applyViewChanges via page controller
- #193: loaders: implemented nesting of layouts within areas directly in a page
- #127: testing: made necessary changes for new, distinct testing framework
#211: project: state compatibility with AngularJS 1.4.x + NEW FEATURE: see ticket for details
#212: documentation: added basic manual on installing controls
- #150: documentation: added contributor guide
- #209: api-doc: update generated api doc
- #208: configuration: applied default for
- #205: documentation: updated README.md according to latest template version
- #207: documentation: adapted to changed naming
- #206: runtime: fixed problem with possible duplicate flow-controller
- #203: documentation: updated manual on controls to cover the new descriptor
- #132: documentation: provided updated API doc for relevant modules
- #202: themes: made path to the default theme configurable + BREAKING CHANGE: see ticket for details
- #201: testing: fix loading of old-style controls
- #200: loaders, testing: fix loading of controls that are configured as commonjs packages in RequireJS
- #199: project: removed unnecessary dependencies, simplified Bower references
- #197: loaders: read control name from control.json descriptor if present + NEW FEATURE: see ticket for details
- #198: project: prepared
- #196: runtime: fixed default theme loading
#183: runtime, file_resource_provider: allow to load file listings directly from configuration + NEW FEATURE: see ticket for details
#186: loaders: allow to load layouts from theme + NEW FEATURE: see ticket for details
#192: loaders: removed duplicate code for defaults application
- #189: loaders: fixed inferring top-level widget configuration defaults for JSON schema v4
- #188: configuration: moved configuration module to utilities
#187: storage: use per-app unique storage prefixes + NEW FEATURE: see ticket for details
#184: documentation: fixed logging configuration documentation
- #185: logging: configuration value not applied correctly
#128: logging, utilities: simplified and removed some APIs + BREAKING CHANGE: see ticket for details
#159: flow: removed support for triggerBrowserReload. + BREAKING CHANGE: see ticket for details
#182: runtime: removed live theme switching + BREAKING CHANGE: see ticket for details
#180: directives: removed
axPageFadedirective + BREAKING CHANGE: see ticket for details
- #179: loaders: fixed loading of CSS for controls
- #154: widget_adapters: added deprecation warning for old-style widget modules
#177: runtime: renamed configuration options + NEW FEATURE: see ticket for details
#171: documentation: added manual on widget adapters
- #178: runtime: renamed AngularJS modules to match AMD modules
- #176: documentation: replaced the widget category portal with laxarjs
#175: loaders: changed generated DOM- and topic-IDs to be more compact + BREAKING CHANGE: see ticket for details
#174: widget_adapters: simplified widget adapter API + NEW FEATURE: see ticket for details
- #173: testing: fixed a bug when configuring the widget under test.
#167: widget_adapters: added injectable axContext as alternative to AngularJS scopes. + NEW FEATURE: see ticket for details
#170: loaders: refactored widget loader and widget adapters.
- #168: documentation: added basic documentation on coding style
- #136: storage: removed
window.name-shim for session-storage + BREAKING CHANGE: see ticket for details
- #130: portal: refactored portal artifacts to runtime and loaders.
- #164: updated bower dependencies jjv and jjve to latest versions.
- #71: angular_adapter: widget and activity scopes are now created on demand.
#165: i18n: changed localizer.format signature to match string.format + BREAKING CHANGE: see ticket for details
#161: portal: removed memory leak fix for msie8
#158: changed AngularJS support to version 1.3.15. + BREAKING CHANGE: see ticket for details
#147: footprint: made jquery from a dependency into a dev-dependency + NEW FEATURE: see ticket for details
#162: documentation: fixed theme manual after shop-demo update
#160: refactoring: normalized AngularJS artifact names + BREAKING CHANGE: see ticket for details
#149: testing: always use
widget.jsonfor widget spec tests + BREAKING CHANGE: see ticket for details
#139: loader: removed widget compatibility warning for now
#103: portal: removed json patch compatibility layer. + BREAKING CHANGE: see ticket for details
#117: portal: implemented a flow service that provides place urls usable as hyperlinks. + BREAKING CHANGE: see ticket for details
#35: Upgraded internal JSON schemas to draft v4.
#116: performance: the flow is now loaded through the file resource provider + BREAKING CHANGE: see ticket for details
#99: exit points are now configured as
exitPointin flow.json. + BREAKING CHANGE: see ticket for details
#72: configuration: removed deprecated configuration paths. + BREAKING CHANGE: see ticket for details
#88: footprint: removed
#70: footprint: removed
laxar.string.formatinstead) + BREAKING CHANGE: see ticket for details
#92: removed obsolete mixins in favor of compositions. + BREAKING CHANGE: see ticket for details
#181: runtime: added missing default for the configuration key
- #169: widget_adapters: fixed plain-adapter to use new-style widget module names
- #172: documentation: fixed dead link
- #166: cleanup: removed distribution-related configuration and files
- #163: EventBus: fixed request topic matching
- #156: i18n: by default, use relaxed matching for language tags
- #157: portal: angular-adapter: fixed error reporting
- #145: testing: added missing cancel-method to mock-$timeout
- #155: visibility: page controller now unsubscribes on tear-down
- #152: documentation: added widget installation manual + NEW FEATURE: see ticket for details
#153: portal: angular-adapter: simplified widget and controller naming + NEW FEATURE: see ticket for details
#151: EventBus: fixed cycle count for zero subscribers
- #148: documentation: more detailed information on the event bus, link to api doc
- #146: documentation: improved the prerequisites in the
README.mdand writing style
- #143: documentation: fixed testing configuration example (
- #142: documentation: fixed task alias for development server (
- #144: EventBus: reject publishAndGatherReplies-promise after timeout + BREAKING CHANGE: see ticket for details
- #137: flow: warn on empty place
- #140: EventBus: make timeout configurable
- #126: testing:
axEventBusinjection available to widget controllers during testing
#138: logging: the instance id is now generated by the log context and transmitted using an $http interceptor + NEW FEATURE: see ticket for details
#134: storage: fixed storage in iOS Safari private browsing
#125: axLayout: emit AngularJS event when loaded + NEW FEATURE: see ticket for details
#113: documentation: manual on tools
#122: testing: allow to inject dependencies + NEW FEATURE: see ticket for details
#123: portal: preload widget assets on page load
- #117: portal: implemented a flow service that provides place urls usable as hyperlinks.
- #121: documentation: have README.md next steps point to manuals
- #118: performance: removed $timeout from axPageFade
- #120: portal: fixed flaky timestamp test
- #119: portal: fixed race condition in page loader
- #108: documentation: unify code-snippet format, and some polish
- #109: documentation: added manual on providing controls
- #107: angular widget adapter: added widget specific event bus service.
- #106: documentation: fixed manuals, improved introduction in README.md
- #93: refactoring: extracted page related services into own files.
- #98: documentation: added manual on events and pub/sub
- #100: widget loader: added angular widget as default integration.
- #105: moved resumable timer handling from flow to timer.
- #104: configuration: deprecated configuration keys are no handled at one place.
- #101: documentation: use "«" rather than "<<" for backwards navigation links
- #76: documentation: widgets and activities
- #75: documentation: flow and places.
- #96: documentation: restructured existing documents and added stubs for missing ones.
- #95: documentation: wrote a motivational article for LaxarJS.
- #94: footprint: removed the outdated app stub in favor of grunt-init (see README.md)
- #38: documentation: pages and compositions.
- #91: portal: make sure that widget DOM is attached when linking
#90: documentation: secondary parts of any LaxarJS application + NEW FEATURE: see ticket for details
#89: documentation: primary concepts of LaxarJS
- #84: storage: storing
undefinednow causes the entry to be removed
- #87: portal: Ensure anonymization of logged events.
- #86: logging: Added tests to ensure that string format compatible format strings using indexed placeholders are supported.
#85: utilities: Implemented support for value mapping functions in string.format. + NEW FEATURE: see ticket for details
#83: portal: provided a timestamp service with a mock that works with jasmine + NEW FEATURE: see ticket for details
#81: added check for duplicate area definitions in layouts
#82: implemented directives axId and axFor + NEW FEATURE: see ticket for details
#80: storage: Improved detection of WebStorage API for Internet Explorer
- #79: assert: details given as object are now serialized
- #77: flow: the log tag
PLCEwith the current place name is set after navigation
- #73: portal: fixed lookup of merged CSS file
- #69: portal: moved setting widget root element IDs to widget loader
- #68: fixed wrongly global assert in jshintrc.
- #67: re-added missing widget root element IDs.
- #65: fixed navigation being broken when parameter values were missing.
- #66: prevented endless navigation ping pong in flow controller
- #63: axVisibilityService: use scope.$id to identify handlers, not scope.id
- #62: fixed endless recursion on navigation when place and target have the same name.
#61: added first profiling tools for scope property watchers. + NEW FEATURE: see ticket for details
#60: tests: make sure PhantomJS is installed properly, before running spec tests.
#52: portal, testing: added visibility events and the
axVisibilityService+ NEW FEATURE: see ticket for details
#59: portal: fixed dangling comma in timer imports
- #58: portal, json: fixed copyright headers
- #57: portal: fixed double-navigation problem which can lead to skipping places
- #56: object: removed all direct calls of hasOwnProperty.
- #55: run_spec: disable loading the
- #54: testing: fixed broken testBed injection of $q and $timeout
- #50: performance: decoupled instantiation of widget controllers from their DOM
#49: added compatibility layer for JSON patch. + NEW FEATURE: see ticket for details
#48: Promises generated by the event bus are now scheduled by the event bus, not by AngularJS
- #51: Remove some obsolete NPM
- #47: Do not schedule another full event-bus tick while one is already being processed.
- #46: fixed misinterpretation of falsy required attribute in json schema converter.
- #45: i18n: adjusted localizer.format specs to changes from #43.
#43: string: added new function
string.formatas simpler replacement for
textlibrary. + NEW FEATURE: see ticket for details
#42: portal: added 'language-tag', 'topic-map' and 'localization' formats. + NEW FEATURE: see ticket for details
#40: portal: fixed 'flag-topic' pattern.
#39: portal: added JSON-schema formats 'topic', 'sub-topic' and 'flag-topic' to widget loader. + NEW FEATURE: see ticket for details
#37: improved browsing of existing api doc and fixed some syntactical errors.
- #36: jshintrc: disabled enforcement of dot notation for object property access.
#34: Enabled specification of widget features using JSON schema draft v4 notation. + NEW FEATURE: see ticket for details
#33: EventBus: added event object to the information sent to inspectors on deliver actions.
#31: Refactored JSON validator for better error messages and schema v4 support. + NEW FEATURE: see ticket for details
#32: Configuration: Consolidated and documented configuration options under docs/manuals/configuration.md + NEW FEATURE: see ticket for details
#30: PageLoader: added missing check for duplicate composition ids.
- #27: Portal: Enhanced the portal event bus performance by not requiring a digest/render-cycle on each tick
- #28: Fixed null values in widget features within compositions being turned into empty objects.
- #29: PageLoader: composition features that are not configured do not result in undefined values for widget features.
- #25: Only the page relevant for the current place is loaded now.
#17: Testing: The testBed.setup method can now simulate default-events + NEW FEATURE: see ticket for details
#26: Testing: Fixed the responseTransform option for http-mock
#22: FileResourceProvider: allow to embed files into listings + NEW FEATURE: see ticket for details
#15: FileResourceProvider, PageLoader: Prevented duplicate (simultaneous) requests to file listings
#24: Widgets and compositions can now be disabled in pages. + NEW FEATURE: see ticket for details
#23: FileResourceProvider: Slashes are now correctly handled when checking a file for existence in a listing.
- #21: The file resource provider now normalizes its root path.
- #20: Fixed event bus inspectors not being notified on unsubscription.
- #14: Fixed navigation being broken after successive navigation to the current location.
- #13: The current place is now send as part of the didNavigate event.
- #12: Testing: Get the LaxarJS tests running in Karma again.
- #11: Testing: Handle
spec_runner.jsthat are not in a subdirectory of the RequireJS'
- #10: Testing: Loading controls during tests now works in Karma.
- #9: Update Bower from ~1.2.8 to ~1.3.3.
- #8: Fixed the cleanup mechanism for generated widget areas.
- #6: The Portal now initializes an i18n object on the application's
- #5: Testing: The run_spec-script (used to set up the spec tests) now loads controls declared in the widget.json
- #4: PageLoader: Added missing optional negation of generated topics and replacement of expressions in feature keys
- #3: Added url formatting for links in Readme.md
- #2: Fixed grunt-init step in Getting-Started docs
- #1: Added initial Getting-Started documentation