4                !"#$%&'()*+,-./0 123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^_`abcdefghijklmnopq rstuvwxyz{|}~     _2_3LaQute/bnd/version/Version;_2_4_3_0_3_1_3_2_3_3_3_4_3_5_4_0_4_1_4_2_4_3_5_0CURRENT CHANGES_5_0[Ljava/lang/String; CHANGES_4_3 CHANGES_4_2 CHANGES_4_1 CHANGES_4_0 CHANGES_3_5 CHANGES_3_4 CHANGES_3_3 CHANGES_3_2 CHANGES_3_1 CHANGES_3_0 CHANGES_2_4 CHANGES_2_3CHANGESLjava/util/Map; Signature?Ljava/util/Map;()VCodeLineNumberTableLocalVariableTablethisLaQute/bnd/osgi/About; SourceFile About.java aQute/bnd/version/Version  java/lang/String Default content for bundle5bndlib: Remove synchronization which causes deadlocks'packages macro: Fix negation processing4pom: Update -pom processing of Bundle-License header0junit: Write xml declaration to junit xml output&test: Do not clear test-results folderAclass parsing: Parse and process MethodType constant pool entriesHProcess Designate annotation based upon -metatypeannotations instruction+builder: SubBuilders inherit pedantic/trace6snapshot: Also support qualifier ending in '-SNAPSHOT'Gpom: Use -groupid if set as the default groupid on the -pom instruction+Close classpath jar files after execution.'Added support for ${packages;versioned}2Fixupmessage was not properly restricting warningsDAdded a ${glob;expo} macro that turns a glob expression into a regexZBundle-Activator test did not take extend or implement via another interface into account.>Baselining 'cross compiler' fails when using switch on an enumExpand the bundle class path,Allow -releaserepo to contain multiple namesDSkips comparing class files when a corresponding source can be foundyAdded HttpClient. bnd now reads ~/.bnd/bnd-settings.xml or ~/.m2/settings.xml to find out proxy & authentication settings folder to avoid potential conflicts.Q${uri;[;]}: Add new uri macro that uses the Processor base as base URI>New properties parser that reports common errors and is faster3Allow donotcopy to match on path as well as on nameNRequire/Provide Capabilities now allow the use of defaults (They were ignored)pAdded an instruction -init, the contents of this instruction will be expanded when the properties are first read>Improved handling of packages with the use of Bundle-ClassPath9Ensure the use of loopback when applicable over localhostTAdded a service to prompt, display a message, and/or show error/warnings in the host-bnd-require now worksiAdded -prepare instruction that can build external 'things' in the build, e.g. typescript or coffeescriptAdded FileSet to libgStand alone bdnrun files'New macros: base64 and digest for filesUpdated Java 8 compact profiles vNo longer analyzes the packages on the classpath, only information in manifest is used to find out package informationaAdded bnd command bnd resolve validate to validate that a repository file is completenExtended the resource package with many functions to work easily with resources, capabilities and requirements%Properly handles optionals in resolveHandles SCR Release 6+Added knowledge about OSGi R6 Core to OSGi +Build path can now handle wildcards for bsnbAdded a -augment instruction to add capabilities and requirements to resources during bnd resolvesIn places where a bundle returns a boolean words like not set, empty string, false, not, off are interpreted as false, otherwise the expression is true. As a slight addition, you can start it with ! to invert the remaining part.Replaced the biz.aQute.junit tester with biz.aQute.tester. The difference is that the biz.aQute.tester runs as a bundle and does NOT provide JUnit (and broken hamcrest) packages. The old tester can be set with -tester=biz.aQute.junit.tUse source file for SHA when a class has corresponding source in OSGI-OPT/src. This ignores differences in compilersnew maven plugin/${tstamp} is now consistent for a project build9target attribute is removed in bindex from a DS componentSupport multiple source folders5Launcher changes to support multiple remote launchers,Better support for error locations on errors{Drop generale JAR urls on JPM repo will analyze the JAR and cerate an entry (though it will of course not be on JPM itself)\-runpath.* adds any provided capabilities to the frameworks (as it already did for packages)+Support for access rules as used in Eclipse Publish all artifacts on bintrayPerformance improvements*SearchableRepo now provides the browse URLBindex now supports DS > 1.2{Allowing embedded activators to start before the bundles are started (they normally started after all bundles were started)EDropping URLs to JPM from Linux failed due to mucky URLs (newlines!!)hNo longer a warning when you import from yourself and there is no export metadata (we’re building it!)>Additional conversions in converter; Dictionary, URI/L cleanupKForce the current working directory to be the project base during launchingfVersion mismatch between pacakge(-)info(.java) and manifest are now not taking qualifier into account -Missing bundles on -runbundles are now errors8${isdir} and ${env} now return empty (false) if no value;Additional checks for non-existent imports or empty imports-runkeep does now workF${versionmask} macro to use when ${version} is used for other purposesPAdded annotation attributes by treating manifest annotations as meta annotations`Fixed #708, versionless import when having split packages where earlier packages have no content%-runproperties is now a merged headerAdded JSONCodec hook,Gradle plugin supports non-bnd builds better)OSGi Enterprise DS & Metatype annotationso-pom now accepts artifactid, groupid, where, and version properties. General better support for generating POMsZAdded a ${stem;} macro that returns the stem (before the extension) of a file namemAdded a ${thisfile} macro that returns the name of the properties file of the current processor if it exists. Added checks for imports from private packages and exports of empty packages. These checks are enabled by -check ALL | (EXPORTS|IMPORTS)*. All is recommended but might break buildsqAdded -runkeep instruction. It turned out that it was impossible to keep the framework directory between restarts~Added ${versionmask} macro that is identical to ${version} but can be used when you want to use the version macro for yourselfbManifest Annotations use any defined methods as attributes from the annotation they are applied to%Made many more headers merged headers7Added several support methods so bnd can generate a pomLauncher moved to Java 6>Always read bnd files with UTF-8 with a fallback to ISO-8859-1Full Java 8 supportRAdded life cycle plugin that can interact with workspace/project creation/deletion,Allow includes in bnd files to specify a URLSupport for Gradle pluginSupport Travis builds{Added support for gestalt, allows build tools to communicate out what the environment they run in supports. See -bnd-driver-Full window testing, removed many window bugsRemoved (rather unknown) feature that did not prefix a sub-bundle when the sub-bundle file name started with the project name. The reason was that it caused too much confusion. See bndtools#903NProvide an identity command in bnd that can be used to authorize other systemsMost paths can now be set with their primary key (e.g. -runbundles) but are appended with secondary keys (anything that begins with the primary key + .*, e.g. '-runbundles.5'). The mergeProperties is the function creating this collective pathProjects can now be selected by version in a path. This enables a project to depend on a version that starts as a project but later becomes a repository entry. pMore aggressive upgrade to a later DS release, current analyzer was missing cases that required a higher versionAllow bnd -versionFAdded bnd sync command that forces the cache to be the current version-Invoke Dynamic instruction length was missinguSkips Class Constants if not used in the code (in Java 8, a constant expression can still refer to the defining classAdded x86-64 for the processorsFor 1.8 (and later), the -eeprofile option specifies either 'auto' or a set of profiles: -eeprofile: compact1="java.lang,java.io,...", compact2=...Wherever a version range can be used, you can now use a version that starts with a @ (consumer range) or ends with a @ (provider range). I.e. @1.2.3 -> [1.2.3,2) and 1.2.3@ -> [1.2.3,1.3.0) RAdded an ${unescape;...} macro that changes , etc to their unescaped charactersxWarns about '=' signs in DS Component annotation for properties element to catch confusion with bnd Component annotation8Added -runenv to add environment vars in the launched vmNow correctly supports JUnit 4YAdded options to the bnd test command: test names, and setting continuous and trace flags{Included DSTestWiring class which makes it easier to handle dependencies in unit tests, both inside and outside a frameworkPThe replace macro can now take a separator string, this separator was alwas ', 'A#477 baseline did not take generics into account for return types1Support R6 Version,ProviderType, and ConsumerTypeNTesting will look for unresolveds and fail unless -testunresolved=false is setCleaned up version augmentation. Finding a version has priority properties, Manifest, package-info.java with Version annotation, packageinfoAdded annotations to create manifest headers: BundleCopyright, BundleDevelopers, BundleContributors, BundleDocURL, RequireCapability, ProvideCapability. These headers work also when applied to a custom annotation that is then applied to a classJAdded a ees command in bnd to print out the Execution Environment of a JARaQute/bnd/osgi/ConstantsBVerify that the Meta-Persistence header's locations actually exist]Added a find command to bnd that can find imported or exported packages from a set of bundles1Support X.class instruction in older Groovy (189)b[-fixupmessages] Patterns to fixup errors and warnings, you can remove, move, or replace messages.Added a [bnd changes] commandA#388 ${githead} macro, provides the SHA for the current workspaceyImproved bnd diff and bnd baseline commands. Better output and work better when no files are specied, defaults to project?#414 Error reported when version=project is used in -runbundlesg#427 The classes macro and other places that crawl for classes now get a sorted list by the class name.[The bnd diff and baseline command now can take the current project as source for the 2 JARsXThe -diffignore parameter (and the -i option in the bnd commands) can now take wildcardsRAnt fetches bnd.jar remotely and stores it in the ~/.bnd directory so it is sharedIAdded an optional :i suffix to instructions for case insensitive matchingePackaged/embedded launch configurations now also update bundles, previously they were only installed.mRemoved synthetic methods from the binary compatibility check since the compilers generate different methods.5Added check for filenames that do not work on windowsLImplemented the {Processor.since() functionality with the -upto instruction.#413 Automatically adding the EE to the Require Capability header based on the compiled class file version. Can be disabled with -noee=true(Added 1.7 and 1.8 compiler files and EEshThe package command not faithfully provides the classpath. In the previous version it flattened all jars#41 Supports parameters in macros:   ${x;a;b} -> x = ${1}/${2} -> a/b ${#} an array with arguments. ${0} is the name of the macro.Automatically excludes files from preprocessing for given extensions. The default list can be overridden with -preprocessmatchers-Uses XML v1.0 instead of v1.1 in some places.FCan now delete variables in ~/.bnd/settings.json with the command line7Better checking for errors on -runbundles and -runpath.KCan now execute actions from the command line with the [bnd action] commandbSet two properties (project.junit and project.junit.osgi) that indicate the availability of tests.*Support URLs in the [bnd repo] put command~It is now possible to specify a URL on a plugin path so that if the resource is not on the file system it will get downloaded. java/util/TreeMap    aQute/bnd/osgi/Aboutjava/lang/Object(III)Vjava/util/Collections reverseOrder()Ljava/util/Comparator;(Ljava/util/Comparator;)V java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;!/*( ^YYYYYY Y Y Y Y YYYYSYSYSYSYSY SY!SY"SY#SY $SY %SY &SY 'SY (SY)SY*SY+SY,SY-SY.SY/SY0SY1SY2SY3SY4S5Y6SY7SY8SY9SY:SY;SYSY ?SY @SY ASY BSY CSYDSE,YFSYGSYHSYISYJSYKSYLSYMSYNSY OSY PSY QSY RSY SSYTSYUSYVSYWSYXSYYSYZSY[SY\SY]SY^SY_SY`SYaSYbSYcSYdSYeSY fSY!gSY"hSY#iSY$jSY%kSY&lSY'mSY(nSY)oSY*pSY+qSrYsSYtSYuSYvSYwSYxSYySYzSY{SY |SY }SY ~SY SY SYSYSYSYSYS2YSYSYSYSYSYSYSYSYSY SY SY SY SY SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&SY'SY(SY)SY*SY+SY,SY-SY.SY/SY0SY1SYWWW W W W W W5WEWrWWW*) *+',4-A.N/[0h1u2345689:;<>@BDZi_!0?N]