- Update action versions (#757)
- Add bookworm as a python3 target (#753)
- Fix typo in documentation (#755)
- Create .readthedocs.yaml (#756)
- Contributors: Jonas Zohren, Timon Engelke, Tully Foote, William Woodall
- Fix deprecated asyncio.wait() usage (#741)
- Fix bash completion for catkin clean (#746)
- Fix behavior when a different profile is set on the first launch (#728)
- Update workflows with python > 3.9 (#745)
- Contributors: Timo Röhling, Timon Engelke
- Re-release for technical reasons
- Use inspect.getfullargspec where available (#733)
- Fix .catkin file generation when installing (#725)
- list failed jobs last (#734)
- Add warned packages to summary (#739)
- remove leading and trailing ':' in CMAKE_PREFIX_PATH (#729)
- Always add prebuild jobs as dependencies, even with --no-deps (#740)
- Contributors: Lucas Walter, Michael Görner, Scott K Logan, Timon Engelke, Yuki Furuta
- Small fixes / cleanup (#727)
- Use yaml output in catkin list (#726)
- Fix catkin clean for single packages (#710)
- Do not symlink pycache to devel space (#724)
- Fix string formatting sanitization (#723)
- catkin_test_results verbose (#722)
- Close logger in finally (#719)
- Migrate to noetic (#717)
- Contributors: DanielDowling1, Johannes Meyer, Jonathan Bohren, Matthijs van der Burgh, Michael Grupp, Timon Engelke
- Correct usage check of build/skiplist (#716)
- Fix breaking change in 0.8.3 (#714)
- Enable shell completion for the catkin cd and catkin test verb (#706)
- docs: reference verbs/catkin_test in index.rst (#704)
- Grammar correction to catkin_config.rst (#709)
- Replace blacklist/whitelist by buildlist/skiplist terms (#712)
- Small repository / build system cleanup
- Add back flags that were removed in #691 (#702)
- Documentation: Update CLI documentation
- catkin test: add --limit-status-rate option (#699)
- Add catkin test verb (#676)
- Code cleanup (#692)
- Documentation: https in docs, properties over vars, sphinx cleanup (#690)
- Documentation: Improve wording (#694)
- Documentation: Add custom build, devel, install dirs (#697)
- Contributors: Balint, Jim Aldon D'Souza, Matthijs van der Burgh, mobangjack, pseyfert, Timon Engelke
- Update installation docs for python 3 (#687)
- Fix environment variable parsing (#686)
- Switch from Travis CI to GitHub actions (#684)
- Regenerate setup files when the install space was cleaned (#682)
- Add possibility to clean individual package with isolated devel space (#683)
- Fix regeneration of setup file when the install space was cleaned (#682)
- Fix workspace generation with catkin build --this and --start-with-this (#685)
- Fixes in the build system requiring a version increase
- Fix placeholders for cmake warning and error coloring (#678)
- Fix catkin clean --all-profiles when not at workspace root (#673)
- Fix catkin create pkg without license parameter (#671)
- Support building from a symlinked workspace (#669)
- Use loadavg over the last 1 minute (#668)
- Fix shell completion install locations (#652)
- Fix blank lines in build output (#666)
- Use standard python function to determine terminal width (#653)
- Fix handling of invalid package.xml files (#660)
- Fixes for extending profiles (#658)
- escape whitespaces in catkin config printout (#657)
- updates to zsh completion (#609)
- Ignore catkin_tools_prebuild package in build space (#650)
- fix 'catkin locate' for symlinked pkgs inside workspace (#624)
- Report circular dependencies detected by topological_order_packages() (#617)
- Add --this option to clean verb (#623)
- In catkin build, preserve original job list topological ordering (#626)
- Fail build if jobs were abandoned (#644)
- Fix installation of new cmake files (#615)
- Abort with error message on circular dependency. (#641)
- Changed yield from lock to await for Python 3.9 compat (#635)
- Remove older py35+xenial config and add py39+focal (#637)
- Install python2 before travis runs on Focal. (#639)
- Bump cmake min ver to 2.8.12 (#634)
- Fix byte decoding for python 3 (Issue #625) (#627)
- Cleanup of jobs flag parsing (#610, #656, #655)
- Fix get_python_install_dir for Python 2/3 (#601)
- Minor cleanup: - import cleanup (#651) - remove hack (#659) - Add missing space in devel layout error message - fix TypeError on executing catkin env (#649) - Put a space between 'workspace' and 'and' (#619) - Remove redundant 'configuration' in mechanics.rst (#646) - Use PYTHONASYNCIODEBUG instead of TROLLIUSDEBUG (#661)
- Contributors: Akash Patel, Guglielmo Gemignani, Ivor Wanders, Kevin Jaget, Lucas Walter, Mathias Lüdtke, Matthijs van der Burgh, Mike Purvis, Robert Haschke, Simon Schmeisser, Tim Rakowski, Timon Engelke, Vojtech Spurny, ckurtz22, mobangjack, pseyfert, xiaxi, zig-for
- This release restores the 0.4.5 state due to an accident with the 0.5.0 release where we pushed it to Python2 users which it doesn't support.
- Revert "jobs: Fixing environment required to run catkin test targets on pre-indigo catkin" (#600) This reverts commit 050de443da4a65be23b6f62a954efea60db53d09 and partially c5daf4a6d4cb02ab7c22a553a565bddadbaa2a45.
- Doc updates: usage of
-d
on cheat sheet, updated verb .txt files (#604) - The-d|--directory
feature was introduced in #572 - Also randump_cli
to update help literally included on verb documentation pages. This updated more than justdocs/verbs/cli/catkin_list.txt
, but they were in need of an update - Add
--this
option tolocate
verb (addresses #552) (#605) - Merge pull request #608 from mikepurvis/fix-build-type Check build_type with function from catkin_pkg.
- Flake8 fixes for new warnings.
- Switch to get_build_type from catkin_pkg.
- Add failing test for an ament/catkin package.
- Allow extending profiles and merging their contents. (#592)
- Updated regex for extracting '-l' and '-j' args for make (#573)
* Updated regex for extracting '-l' and '-j' args for make
Summary of improvements:
- No longer consuming args that happen to begin
jX
orlX
(whereX
is a sequence if integers. - Fixed bug where an empty 'j' arg would throw aValueError
when trying to convert an empty string (''
) to an int - Both-l/--load-average
and-j/--jobs
can now be empty (which is supported by GNU Make - The-l/--load-average
arg will now accept a float value (e.g.catkin build -l4.0
) which is supported by GNU Make * Added test cases for make args regular expressions Test cases also helped to make regexes slightly more robust. - Do not ignore metapackages (fix #418) (#596) Metapackages must not be ignored by catkin_tools. The fact that other non-metapackages cannot depend on them according to REP-140 does not imply that they do not need to be built and installed at all.
- Catch BlockingIOError in job_server. (#599)
- Drop parentheses from yields and returns (#595)
- Use distutils to handle install path (#569)
- Update release suites. (#564) * Add cosmic, disco, and eoan suites. * Remove old suites. * Bump Python3 version to 3.5 in stdeb. * Drop jessie as a supported target. * Add focal. Co-authored-by: Mike Purvis <mpurvis@clearpathrobotics.com>
- Also run tests with Python 3.7 and 3.8 (#590) Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
- Added option to past list of directories to
list
verb (#572) - Fix permissions of created setup files (#563)
- Handle empty file in
get_metadata
correctly (#568) If themetadata_file_path
exists but themetadata_file
is empty,yaml.safe_load(metadata_file)
will return None. But the caller expects a dictionary which can lead to a crash. (e.g. in https://github.com/catkin/catkin_tools/blob/master/catkin_tools/verbs/catkin_build/cli.py#L371) - add authors/maintainers/licenses to context, which are the default values on package creation (#548)
- argument parser: use None instead of [] for empty jobs args (#575)
- Fix space-suffix option (#560)
- Bash completion for run_tests verb (#562) * bash completion for run_tests and options * also completing packages
- Revert "Set posix=False when parsing environment variables (#578)" (#584) This reverts commit 5b121260a75ffcda863d4588a8e9efc7b4945477.
- Add Travis CI badge to README.md (#585)
- Support globs in build/blacklist/whitelist (#576) * Add glob patterns to build, blacklist and whitelist * Add glob patterns to clean * Add test for glob pattern build
- Set posix=False when parsing environment variables (#578)
- Revert #561 (#582)
Now that the project is only targetting python 3.5+, #561 is no longer required and we can use the most up-to-date version of
sphinx
andsphinxcontrib-spelling
. - Do not load the environment when calling profile to allow to change the profile if the current profile is invalid (#566)
- Set Travis to check Python 3.5 and 3.6. (#580)
- Python 3 only, migrate from trollius to native asyncio (#574)
- fix(controllers): python3 fix for the controllers.py file (#565)
- Force sphinxcontrib-spelling less than 4.3.0 (#561)
- fix(docs) mechanics to linked develspace (#546)
- Contributors: Alexis Paques, Christian Henkel, Fan Jiang, Jan Strohbeck, Jarvis Schultz, Johannes Meyer, Leroy Rügemer, Matt Reynolds, Matthijs van der Burgh, Mike Purvis, Moritz Münst, Ramon Wijnands, Shane Loretz, Steven! Ragnarök, Tim de Jager, Timon Engelke, Yuki Furuta
- Fixed jobserver not working with GNU make >= 4.2 (#480)
- Use yaml.safe_load everywhere. (#542)
- Fixed unhandled config context options warning (#489)
- Added some exception handling for io (#529)
- Added opt --active to profile list (#513)
- Added build type switch to cheat sheet. (#522)
- Fix issue when empty install prefix specified (#533)
- Fix bug when workspace contains special characters (#536) Simply sanitize the workspace name when printing it out
- Add local_setup.* to DEVEL_LINK_BLACKLIST (#539)
- Fix notification typo (#527)
- When using a non-standard shell fix the usage of DEFAULT_SHELL. (#511) Previously, using a non-standard shell meant using that non-standard shell's path (shell_path) whereas the shell_name would be bash. Not only is there this discrepancy, but then the command is actually run with the non-standard shell, which is liable to cause runtime errors (as it does if e.g. SHELL=/usr/bin/fish).
- Sort authors/maintainers for correct email assignment (#492)
- Fixed 'pip install --user catkin_tools' (#488)
- Fixed 'catkin profile set ...' error message (#487)
- Respect VERBOSE environment variable if already set before in verbose mode (#506)
- Re-enable Sphinx spell check. (#461)" (#462)
- Silence E722 flake8 warnings, fix OSX builds. (#509)
- setup.py: Exclude all tests* from install (#499)
- Fixed typo: relateive -> relative (#484)
- Sanitizes log message input (#479)
- Enable arguments with spaces in alias definition (#476)
- Fixed zsh completion to actually use zsh caching for package list (#459) (#475)
- Fixed doc and completion based on current CLI for interleave output (#467) The current CLI for interleave output proposes to use --interleave-output instead of --interleave.
- Add trollius to setup.py install_requires list (#474) closes #445 This patch can be viewed as continuing the work of pull request #282.
- Fix typo in documentation of option env-cache (#466)
- Implementation of pluggable spaces. (#458)
- Disable Sphinx spell check for now. (#461)
- Better message when missing a required command line tool. (#455)
- Specify return code when build interrupted. (#452)
- Drop utf-8 encoding to compute file hashes in symlink stage (#399)
- Fix logic which merges environment PATH variables. (#449)
- Ignore vim swap files. (#450)
- Add tests for isolated builds. (#444)
- Correctly merge envvars from isolated workspaces. (#443)
- Fix hanging on circular run depend. (#440)
- Contributors: Chris Lalancette, Christian Muck, Felix Widmaier, Florian Tschopp, Hervé Audren, Ian Taylor, JD Yamokoski, Jeremie Deray, Johannes Meyer, Jonathan Bohren, Manuel Binna, Mikael Arguedas, Mike Purvis, Robert Haschke, Scott C. Livingston, Simon Deleersnijder, Tim Rakowski, Tommi, William Woodall, Xfel, luisrayas3
- Removed unused dependency on
sphinxcontrib-ansi
(#432) - Fixed a small bug in a log message (#428)
- Changed the way symlinks from the private devel spaces were made to better support Python development (#377)
- Fixed a unicode error which occurred when there was unicode output from the compiler (#368)
- Fixed race condition in build related to reading of install space (fixes #378) (#391)
- stderr output from the compiler is now output to stderr by catkin tools to better support integration with IDE's (#400) (#424)
- Improved handling of situation where SHELL environment variable does not exist (#414) (#421)
- Contributors: Jonathan Bohren, Robert Haschke, @dominiquehunziker, Timothee Cour, Mike Purvis
- Deprecated
catkin --locate-extra-shell-verbs
in favor ofcatkin locate --shell-verbs
(#352) - Fixed regression in red catkin icon on error feature (#346)
- Fixed a bug in the execution of jobs and display of active status (#351)
- Fixed a bug in environment cache checking (#353)
- Fixed a bug in display of build times over one hour (#357)
- Notifications are now coalesced into a single notification (#358)
- Improvements to shell completion and zsh specific completions (#365)
- Various typos fixed.
- Now uses
ioctl()
to determine the terminal width on some platforms (#415) (#416) - Contributors: Jonathan Bohren, Robert Haschke, Claudio Bandera, Kei Okada, Andreas Hertle, David V. Lu!!, Timo Röhling, G.A. vd. Hoorn
- Revert #344 until a better fix can be made.
- Add test for unicode in env (#345) Regression test for issue #338.
- Fixed mishandling of environments with unicode values (#342)
- Fixed bug where a long delay occurred when using a slow status rate (#344)
- Contributors: Jonathan Bohren, Steven Peters
- Major refactor of the job execution engine to use Trollius/Asyncio.
* Changed the way build environments are generated (no more
build.sh
). - Added new "Linked-devel" space option, where the
devel
space for each package is isolated, but are symlinked to a single mergeddevel
space afterwards. - Added support for cleaning and partial cleaning of the workspace with
catkin clean
. - Added "shell verbs" like
catkin cd
andcatkin source
(requires sourcing of shell files). - Added support for (and testing for)
DESTDIR
. - Warnings are now captured and reported to the console even without
--verbose
. - Fixed
setup.py
installation when using--user
. - Fixed an issue where CMake was always rerun even when the settings didn't change.
- Added support for the
.built_by
marker file to detect when being used at the same time ascatkin_make[_isolated]
. - Fixed
catkin create -p
. - Improved error message when a circular dependency in the packages is detected.
- Fixed a problem where
catkin config
could incorrectly clear the make arguments. - Fixed a bug where the UI could get stuck on "calculating new jobs".
- Fixed a bug where the
--isolated-devel
option would crash when building a subset of the workspace. - Fixed the "leaf_sources out of bounds" error.
- Moved log files out of
build/logs
into "log space" in the workspace root. - Added env utility verb for querying environment and running commands in a modified environment.
- Build types (i.e. cmake, catkin) are now supplied through
entry_points
. - Added "environemnt caching" for build jobs to speed up building in some cases.
- Contributors: Alexander Schaefer, Dave Coleman, Dirk Thomas, Esteve Fernandez, Ivor Wanders, Jonathan Bohren, Kartik Mohta, Kei Okada, Kentaro Wada, Robert Haschke, Steven Peters, William Woodall
- Added some new shell based verbs, i.e.
catkin cd
andcatkin source
. #244 #192 - Use a red icon when a build fails in the notifications. #246
- Changed how and where shell completion files are installed.
- Improvements to support
DESTDIR
. #240 - Added a cross tool check to warn users when they are using
catkin_tools
in conjunction with eithercatkin_make
orcatkin_make_isolated
. #214 - Use
/bin/bash
as a fallback when theSHELL
environment variable is not set. #239 #243 - Fix error when
TERM
doesn't match (throughssh
for example). #232
- Added support for architecture specific libraries directories, a la
GNUInstallDirs
. #156 - Fixed a bug in the implementation of the
--this
option of thecatkin build
verb. #162 - Fixed parsing of and added options that append, remove, or clear arugments which are actually lists, e.g.
--cmake-args
. #147 #179 - Moved the ANSI color related options to the
catkin
command and out of thecatkin build
verb. #158 - Fixed a bug where the
--this
command could look outside of the workspace. #169 - Improved the perfomance of listing the result spaces by only loading the environement when asked and caching when needed. #174 #185 #190
- Added support for blacklisting and whitelisting packages. #175
- Some warnings from
catkin_pkg
are now suppressed in some verbs. Requirescatkin_pkg
>= 0.2.8. #163 - Added an internal implementation of the GNU Make server which consolidates jobs amoungst multiple runs of
make
. This has the affect of limiting the total number of jobs make is running even when using a large-p
value. This changes the default behavior of the tool, to get the old behavior simply add--no-jobserver
tocatkin build
. This can be set in your build profile withcatkin config
, or you could use a verb alias to always pass it. In general this new default behavior should prevent systems from being brought to their knees bycatkin build
. #155 - Added the
catkin locate
verb. #165 - Added bash and zsh shell completion. #168
- Added the
--no-color
option to the build verb which forcescatkin build
to not output color. - Fixed a bug in a console message.
- Added options
--continue-on-error
and--summarize
(#138) - Added option for limiting status line updates,
--status-rate
(#141) - Made small fixes to the generated documentation.
- Fixed a bug where
run_depends
were not considered in topological ordering. - Consolidated functions to calculate terminal width.
- Improved failure condition of missing
cmake
andmake
cli tools.