data.py: Split expandKeys into two for loops to benefit from the expand_cache (12...
[bitbake.git] / ChangeLog
1 Changes in Bitbake 1.8.x:
2         - Rewrite svn fetcher to make adding extra operations easier 
3           as part of future SRCDATE="now" fixes
4           (requires new FETCHCMD_svn definition in bitbake.conf)
5         - Change SVNDIR layout to be more unique (fixes #2644 and #2624)
6         - Import persistent data store from trunk
7         - Sync fetcher code with that in trunk, adding SRCREV support for svn
8         - Add ConfigParsed Event after configuration parsing is complete
9         - data.emit_var() - only call getVar if we need the variable
10         - Stop generating the A variable (seems to be legacy code)
11         - Make sure intertask depends get processed correcting in recursive depends
12         - Add pn-PN to overrides when evaluating PREFERRED_VERSION
13         - Improve the progress indicator by skipping tasks that have 
14           already run before starting the build rather than during it
15         - Add profiling option (-P)
16         - Add BB_SRCREV_POLICY variable (clear or cache) to control SRCREV cache
17         - Add SRCREV_FORMAT support
18         - Fix local fetcher's localpath return values
19         - Apply OVERRIDES before performing immediate expansions
20         - Allow the -b -e option combination to take regular expressions
21         - Add plain message function to bb.msg
22         - Sort the list of providers before processing so dependency problems are 
23           reproducible rather than effectively random
24         - Add locking for fetchers so only one tries to fetch a given file at a given time
25         - Fix int(0)/None confusion in runqueue.py which causes random gaps in dependency chains
26         - Fix handling of variables with expansion in the name using _append/_prepend
27           e.g. RRECOMMENDS_${PN}_append_xyz = "abc"
28         - Expand data in addtasks
29         - Print the list of missing DEPENDS,RDEPENDS for the "No buildable providers available for required...."
30           error message.
31         - Rework add_task to be more efficient (6% speedup, 7% number of function calls reduction)
32         - Sort digraph output to make builds more reproducible
33         - Split expandKeys into two for loops to benefit from the expand_cache (12% speedup)
34
35 Changes in Bitbake 1.8.6:
36         - Correctly redirect stdin when forking
37         - If parsing errors are found, exit, too many users miss the errors
38         - Remove supriours PREFERRED_PROVIDER warnings
39
40 Changes in Bitbake 1.8.4:
41         - Make sure __inherit_cache is updated before calling include() (from Michael Krelin)
42         - Fix bug when target was in ASSUME_PROVIDED (#2236)
43         - Raise ParseError for filenames with multiple underscores instead of infinitely looping (#2062)
44         - Fix invalid regexp in BBMASK error handling (missing import) (#1124)
45         - Don't run build sanity checks on incomplete builds
46         - Promote certain warnings from debug to note 2 level
47         - Update manual
48
49 Changes in Bitbake 1.8.2:
50         - Catch truncated cache file errors
51         - Add PE (Package Epoch) support from Philipp Zabel (pH5)
52         - Add code to handle inter-task dependencies
53         - Allow operations other than assignment on flag variables
54         - Fix cache errors when generation dotGraphs
55
56 Changes in Bitbake 1.8.0:
57         - Release 1.7.x as a stable series
58
59 Changes in BitBake 1.7.x:
60         - Major updates of the dependency handling and execution
61           of tasks. Code from bin/bitbake replaced with runqueue.py
62           and taskdata.py
63         - New task execution code supports multithreading with a simplistic
64           threading algorithm controlled by BB_NUMBER_THREADS
65         - Change of the SVN Fetcher to keep the checkout around
66           courtsey of Paul Sokolovsky (#1367)
67         - PATH fix to bbimage (#1108)
68         - Allow debug domains to be specified on the commandline (-l)
69         - Allow 'interactive' tasks
70         - Logging message improvements
71         - Drop now uneeded BUILD_ALL_DEPS variable
72         - Add support for wildcards to -b option
73         - Major overhaul of the fetchers making a large amount of code common
74           including mirroring code
75         - Fetchers now touch md5 stamps upon access (to show activity)
76         - Fix -f force option when used without -b (long standing bug)
77         - Add expand_cache to data_cache.py, caching expanded data (speedup)
78         - Allow version field in DEPENDS (ignored for now)
79         - Add abort flag support to the shell
80         - Make inherit fail if the class doesn't exist (#1478)
81         - Fix data.emit_env() to expand keynames as well as values
82         - Add ssh fetcher
83         - Add perforce fetcher
84         - Make PREFERRED_PROVIDER_foobar defaults to foobar if available
85         - Share the parser's mtime_cache, reducing the number of stat syscalls
86         - Compile all anonfuncs at once! 
87           *** Anonfuncs must now use common spacing format ***
88         - Memorise the list of handlers in __BBHANDLERS and tasks in __BBTASKS
89           This removes 2 million function calls resulting in a 5-10% speedup
90         - Add manpage
91         - Update generateDotGraph to use taskData/runQueue improving accuracy
92           and also adding a task dependency graph
93         - Fix/standardise on GPLv2 licence
94         - Move most functionality from bin/bitbake to cooker.py and split into
95           separate funcitons
96         - CVS fetcher: Added support for non-default port
97         - Add BBINCLUDELOGS_LINES, the number of lines to read from any logfile
98         - Drop shebangs from lib/bb scripts
99
100 Changes in Bitbake 1.6.0:
101         - Better msg handling
102         - COW dict implementation from Tim Ansell (mithro) leading
103           to better performance
104         - Speed up of -s
105
106 Changes in Bitbake 1.4.4:
107         - SRCDATE now handling courtsey Justin Patrin
108         - #1017 fix to work with rm_work
109
110 Changes in BitBake 1.4.2:
111         - Send logs to oe.pastebin.com instead of pastebin.com
112           fixes #856
113         - Copy the internal bitbake data before building the
114           dependency graph. This fixes nano not having a
115           virtual/libc dependency
116         - Allow multiple TARBALL_STASH entries
117         - Cache, check if the directory exists before changing
118           into it
119         - git speedup cloning by not doing a checkout
120         - allow to have spaces in filenames (.conf, .bb, .bbclass)
121
122 Changes in BitBake 1.4.0:
123         - Fix to check both RDEPENDS and RDEPENDS_${PN}
124         - Fix a RDEPENDS parsing bug in utils:explode_deps()
125         - Update git fetcher behaviour to match git changes
126         - ASSUME_PROVIDED allowed to include runtime packages
127         - git fetcher cleanup and efficency improvements
128         - Change the format of the cache
129         - Update usermanual to document the Fetchers
130         - Major changes to caching with a new strategy
131           giving a major performance increase when reparsing
132           with few data changes
133
134 Changes in BitBake 1.3.3:
135         - Create a new Fetcher module to ease the
136           development of new Fetchers.
137           Issue #438 fixed by rpurdie@openedhand.com
138         - Make the Subversion fetcher honor the SRC Date
139           (CVSDATE).
140           Issue #555 fixed by chris@openedhand.com
141         - Expand PREFERRED_PROVIDER properly
142           Issue #436 fixed by rprudie@openedhand.com
143         - Typo fix for Issue #531 by Philipp Zabel for the
144           BitBake Shell
145         - Introduce a new special variable SRCDATE as
146           a generic naming to replace CVSDATE.
147         - Introduce a new keyword 'required'. In contrast
148           to 'include' parsing will fail if a to be included
149           file can not be found.
150         - Remove hardcoding of the STAMP directory. Patch
151           courtsey pHilipp Zabel
152         - Track the RDEPENDS of each package (rpurdie@openedhand.com)
153         - Introduce BUILD_ALL_DEPS to build all RDEPENDS. E.g
154           this is used by the OpenEmbedded Meta Packages.
155           (rpurdie@openedhand.com).
156
157 Changes in BitBake 1.3.2:
158         - reintegration of make.py into BitBake
159         - bbread is gone, use bitbake -e
160         - lots of shell updates and bugfixes
161         - Introduction of the .= and =. operator
162         - Sort variables, keys and groups in bitdoc
163         - Fix regression in the handling of BBCOLLECTIONS
164         - Update the bitbake usermanual
165
166 Changes in BitBake 1.3.0:
167         - add bitbake interactive shell (bitbake -i)
168         - refactor bitbake utility in OO style
169         - kill default arguments in methods in the bb.data module
170         - kill default arguments in methods in the bb.fetch module
171         - the http/https/ftp fetcher will fail if the to be 
172           downloaded file was not found in DL_DIR (this is needed
173           to avoid unpacking the sourceforge mirror page)
174         - Switch to a cow like data instance for persistent and non
175           persisting mode (called data_smart.py)
176         - Changed the callback of bb.make.collect_bbfiles to carry
177           additional parameters
178         - Drastically reduced the amount of needed RAM by not holding
179           each data instance in memory when using a cache/persistent
180           storage
181
182 Changes in BitBake 1.2.1:
183         The 1.2.1 release is meant as a intermediate release to lay the
184         ground for more radical changes. The most notable changes are:
185
186         - Do not hardcode {}, use bb.data.init() instead if you want to
187           get a instance of a data class
188         - bb.data.init() is a factory and the old bb.data methods are delegates
189         - Do not use deepcopy use bb.data.createCopy() instead.
190         - Removed default arguments in bb.fetch
191