# CHANGELOG
## v0.8.3 on 12 Dec 2022
**Full Changelog**: https://github.com/rclex/rclex/compare/v0.8.2...v0.8.3
* New features: none
* Add arm32v7 support to mix rclex.prep.ros2 by @pojiro in https://github.com/rclex/rclex/pull/210
* Code Improvements/Fixes:
* improve doc about docker env by @takasehideki in https://github.com/rclex/rclex/pull/208
* Remove useless gitignore line by @pojiro in https://github.com/rclex/rclex/pull/211
* insert sleep before publishing on example code (see #212) by @takasehideki in https://github.com/rclex/rclex/pull/213
* Bumps:
* Bump elixir_make from 0.7.0 to 0.7.1 by @dependabot in https://github.com/rclex/rclex/pull/209
* Known issues to be addressed in the near future:
* `publish/2` sometimes failed just after `create_publisher/3` in https://github.com/rclex/rclex/issues/212
* Lock `git_hooks` to 0.6.5 due to its issue in https://github.com/rclex/rclex/issues/138
* Bump to Humble Hawksbill in https://github.com/rclex/rclex/issues/114
* Release rcl nif resources when GerServer terminates in https://github.com/rclex/rclex/issues/160
* Note in this release: none
## v0.8.2 on 03 Dec 2022
**Full Changelog**: https://github.com/rclex/rclex/compare/v0.8.1...v0.8.2
* New features: none
* Code Improvements/Fixes:
* fix to check ROS_DIR by @takasehideki in https://github.com/rclex/rclex/pull/206
* Bumps: none
* Known issues to be addressed in the near future:
* Lock `git_hooks` to 0.6.5 due to its issue in https://github.com/rclex/rclex/issues/138
* Bump to Humble Hawksbill in https://github.com/rclex/rclex/issues/114
* Release rcl nif resources when GerServer terminates in https://github.com/rclex/rclex/issues/160
* Note in this release:
* This release only fixes a critical issue that existed in the previous release,,,
## v0.8.1 on 03 Dec 2022
**Full Changelog**: https://github.com/rclex/rclex/compare/v0.8.0...v0.8.1
* New features:
* Create docs for Use on Nerves and improve related mix tasks by @pojiro in https://github.com/rclex/rclex/pull/198
* Code Improvements/Fixes:
* Change `raise` to `Mix.raise` to proper mix task error handling by @pojiro in https://github.com/rclex/rclex/pull/194
* Change Makefile's if statement to confirm ROS_DIR exists by @pojiro in https://github.com/rclex/rclex/pull/195
* Improve mix tasks usability by @pojiro in https://github.com/rclex/rclex/pull/196
* Bumps:
* Bump ex_doc from 0.29.0 to 0.29.1 by @dependabot in https://github.com/rclex/rclex/pull/199
* Bump elixir_make from 0.6.3 to 0.7.0 by @dependabot in https://github.com/rclex/rclex/pull/200
* Known issues to be addressed in the near future:
* Lock `git_hooks` to 0.6.5 due to its issue in https://github.com/rclex/rclex/issues/138
* Bump to Humble Hawksbill in https://github.com/rclex/rclex/issues/114
* Release rcl nif resources when GerServer terminates in https://github.com/rclex/rclex/issues/160
* Note in this release: none
## v0.8.0 on 01 Nov 2022
**Full Changelog**: https://github.com/rclex/rclex/compare/v0.7.2...v0.8.0
**Holy Shit! Rclex now works on Nerves as well!!** :tada:
* New features:
* Refactor generate messages codes pojiro by @pojiro in https://github.com/rclex/rclex/pull/185
* refactor Makefile and msgs.ex by @pojiro in https://github.com/rclex/rclex/pull/192
* Feature add tasks to prepare ros2 resources by @pojiro in https://github.com/rclex/rclex/pull/190
* Code Improvements/Fixes:
* Add docker command to mix test.watch section on README.md by @pojiro in https://github.com/rclex/rclex/pull/177
* Fix `mix deps.get` error on GitHub Actions by @s-hosoai in https://github.com/rclex/rclex/pull/178
* Fix multiple definition by @pojiro in https://github.com/rclex/rclex/pull/182
* Remove DASHING support from c source by @pojiro in https://github.com/rclex/rclex/pull/189
* Remove unused rclex_gen_msgs from mix.lock by @pojiro in https://github.com/rclex/rclex/pull/191
* Bumps:
* `ex_doc` from 0.28.6 to 0.29.0 by @dependabot in https://github.com/rclex/rclex/pull/184
* Known issues to be addressed in the near future:
* Lock `git_hooks` to 0.6.5 due to its issue in https://github.com/rclex/rclex/issues/138
* Bump to Humble Hawksbill in https://github.com/rclex/rclex/issues/114
* Release rcl nif resources when GerServer terminates in https://github.com/rclex/rclex/issues/160
* Note in this release:
* set supported/tested elixir version to above 1.12 by @takasehideki in https://github.com/rclex/rclex/pull/186
## v0.7.2 on 22 Sep 2022
**Full Changelog**: https://github.com/rclex/rclex/compare/v0.7.1...v0.7.2
* New features: none
* Code Improvements/Fixes:
* change the recommended env and target versions for GitHub Actions CI by @takasehideki in https://github.com/rclex/rclex/pull/173
* Enable Dialyzer on GitHub Actions (remove uncheck and ignore exit options) by @s-hosoai in https://github.com/rclex/rclex/pull/165
* elinimate errors in `mix dialyzer` on GHA (fix #174) by @takasehideki in https://github.com/rclex/rclex/pull/175
* Bumps:
* `dialyxir` from 1.1.0 to 1.2.0 in https://github.com/rclex/rclex/pull/166
* `ex_doc` from 0.28.4 to 0.28.5 in https://github.com/rclex/rclex/pull/168
* `credo` from 1.6.5 to 1.6.7 by https://github.com/rclex/rclex/pull/169
* Known issues to be addressed in the near future:
* Lock `git_hooks` to 0.6.5 due to its issue in https://github.com/rclex/rclex/issues/138
* Bump to Humble Hawksbill in https://github.com/rclex/rclex/issues/114
* Release rcl nif resources when GerServer terminates in https://github.com/rclex/rclex/issues/160
* Note in this release:
* The recommended environment is changed to the following versions
* Ubuntu 20.04.2 LTS (Focal Fossa)
* ROS 2 [Foxy Fitzroy](https://docs.ros.org/en/foxy/Releases/Release-Foxy-Fitzroy.html)
* Elixir 1.13.4-otp-25
* Erlang/OTP 25.0.3
## v0.7.1 on 21 Sep 2022
**Full Changelog**: https://github.com/rclex/rclex/compare/v0.7.0...v0.7.1
* New Contributors: @pojiro :tada:
* New features:
* Improve unit test environment on local dev machine by @pojiro in https://github.com/rclex/rclex/pull/131
* Code Improvements/Fixes:
* Enrich doc and specs with the awesome contributions by @pojiro (e.g., in https://github.com/rclex/rclex/pull/121)
* Enrich unit tests with the awesome contributions by @pojiro (e.g., in https://github.com/rclex/rclex/pull/136)
* Improve credo config, .credo.exs by @pojiro in https://github.com/rclex/rclex/pull/120
* exclude auto-generated files format by @pojiro in https://github.com/rclex/rclex/pull/135
* refactor Rclex.ResourceServer.call_nifs_rcl_node_init/5 by @pojiro in https://github.com/rclex/rclex/pull/147
* fix node name bug, when it attributes a namespace (and also fix #142) by @pojiro in https://github.com/rclex/rclex/pull/149
* Remove KeepSub module which is unused (also fix dialyzer error) by @s-hosoai in https://github.com/rclex/rclex/pull/164
* Improve README by @takasehideki in https://github.com/rclex/rclex/pull/171
* Bumps:
* `credo` from 1.6.4 to 1.6.5 in https://github.com/rclex/rclex/pull/162
* Known issues to be addressed in the near future:
* Lock `git_hooks` to 0.6.5 due to its issue in https://github.com/rclex/rclex/issues/138
* Bump to Humble Hawksbill in https://github.com/rclex/rclex/issues/114
* Release rcl nif resources when GerServer terminates in https://github.com/rclex/rclex/issues/160
* Note in this release:
* After long consideration, we have decided to end the support for Dashing as the target environment 6ae367d
## v0.7.0 on 27 May 2022
* New features: none
* Code Improvements/Fixes:
* Refactoring to simplify implementation by @s-hosoai in https://github.com/rclex/rclex/pull/118
* rename and simplify functions
* delete comment out functions
* change NIF exception handling
* add @spac and @impl
* refine tests
* Bumps: none
* Known issues:
* `rclex_connection_tests` becomes failed on Dashing from v0.6.0_rc #89
* `Rclex.initialize_msg/0` is undefined or private in `KeepSub.sub_task_start/2` #104
* Full Changelog: https://github.com/rclex/rclex/compare/v0.6.2...v0.7.0
## v0.6.2 on 25 May 2022
* Please welcome @s-hosoai as a new maintainer!
* New features: none
* Code Improvements/Fixes:
* Add simple pub sub test by @s-hosoai in https://github.com/rclex/rclex/pull/113
* fix job_queue length condition (fix #112) by @s-hosoai in https://github.com/rclex/rclex/pull/115
* remove Dashing from CI targets by @takasehideki in https://github.com/rclex/rclex/pull/116
* Bumps:
* `ex_doc` to 0.28.4 #110
* Known issues:
* `rclex_connection_tests` becomes failed on Dashing from v0.6.0_rc #89
* `Rclex.initialize_msg/0` is undefined or private in `KeepSub.sub_task_start/2` #104
* Full Changelog: https://github.com/rclex/rclex/compare/v0.6.1...v0.6.2
## v0.6.1 on 22 Mar 2022
- New features: none
- Code Improvements/Fixes:
- include packages.txt and template file to hex package #107
- Bumps: none
- Known issues:
- `rclex_connection_tests` becomes failed on Dashing from v0.6.0_rc #89
- `Rclex.initialize_msg/0` is undefined or private in `KeepSub.sub_task_start/2` #104
- Full Changelog: https://github.com/rclex/rclex/compare/v0.6.0...v0.6.1
## v0.6.0 on 17 Mar 2022
- New features:
- support custom msgtype!! #87 #98
- Code Improvements/Fixes:
- Enhance README #102
- Bumps:
- `ex_doc` to 0.28.2 #99
- `credo` to 1.6.4 #100
- Known issues:
- `rclex_connection_tests` becomes failed on Dashing from v0.6.0_rc #89
- `Rclex.initialize_msg/0` is undefined or private in `KeepSub.sub_task_start/2` #104
- Full Changelog: https://github.com/rclex/rclex/compare/v0.5.3...v0.6.0
## v0.5.3 on 22 Feb 2022
- New features:
- Add following APIs #92
- `create_singlenode_with_executor_setting/3`
- can specify `executor_setting` in addition to args in `create_singlenode/3`
- `{queue_length}` means the maximum length of `job_queue` under the created nodes
- `change_order` (in `{queue_length, change_order}`) means a function that adjusts the execution order of `job_exe`
- `create_nodes_with_executor_setting/4`, `create_timer_with_executor_setting/5` and `create_timer_with_executor_setting/6`: same with the above
- Code Improvements/Fixes: none
- Bumps:
- `ex_doc` to 0.28.1 #96
- `credo` to 1.6.3 #91
- Known issues:
- `mix test` sometimes fails, but we don't think it will affect the behavior #68
- Full Changelog: https://github.com/rclex/rclex/compare/v0.5.2...v0.5.3
## v0.5.2 on 21 Jan 2022
- New features:
- Add timer name in args of `create_timer/4` and `create_timer/5` to treat timer ID ddf99cf
- Implement `ResourceServer` module #83
- `JobExecutor` and `JobQueue` will be created for each node and timer
- `Executor` has been obsoleted and changed to the above feature
- Code Improvements/Fixes:
- change wait time 50 to 5 milliseconds #76
- change docker tags for CI test #78
- Bumps:
- `ex_doc` to 0.27.3 #80
- `credo` to 1.6.2 #82
- Known issues:
- `mix test` sometimes fails, but we don't think it will affect the behavior #68
- Full Changelog: https://github.com/rclex/rclex/compare/v0.5.1...v0.5.2
## v0.5.1 on 30 Nov 2021
- New features:
- Implement `Timer.terminate/2` [2915de5](https://github.com/rclex/rclex/commit/2915de5a7bdaa3ca22b56c7900d03a9931e057f9)
- Code Improvements/Fixes:
- Change filename to snake_case according to follow ElixirStyleGuide #72
- Some minor refactoring to remove boring warning in `mix compile` #73
- Bumps:
- `ex_doc` to 0.26.0 #71
- `credo` to 1.6.1 #70
- Known issues:
- `mix test` sometimes fails, but we don't think it will affect the behavior #68
- Full Changelog: https://github.com/rclex/rclex/compare/v0.5.0...v0.5.1
## v0.5.0 on 01 Nov 2021
- New features:
- Implement `Executor` module by using GenServer #61 #67
- Code Improvements/Fixes:
- Hide NIF functions from users #54 #55
- Bumps:
- `ex_doc` to 0.25.5 #63
- `elixir_make` to 0.6.3 #62
- Known issues:
- `mix test` sometimes fails, but we don't think it will affect the behavior #68
- Full Changelog: https://github.com/rclex/rclex/compare/v0.4.1...v0.5.0
## v0.4.1 on 24 Jul 2021
- New features:
- Implement `rcl_node_get_name/1` and `rcl_get_topic_names_and_types/3` #42
- Code Improvements/Fixes:
- Improve code according to the advice from Credo #41
- Use DEBUG_PRINTF and Logger to control print message in library #46 #23 #24
- Change the method to obtain ROS_DIR with `which ros2` #38
- Add and apply Artistic Style for C source (mix format) #45
- Enhancements:
- Introduce `mix credo` on GHA #48
- Create GHA to publish to Hex when tags released #40
- Separate ci.yml #49
- Improve timing of connection tests [rclex/rclex_connection_tests#12](https://github.com/rclex/rclex_connection_tests/pull/12)
- Bumps:
- `ex_doc` from 0.24.2 to 0.25.0 #47
- Full Changelog: https://github.com/rclex/rclex/compare/v0.4.0...v0.4.1
## v0.4.0 on 8 Jun 2021
- Please welcome @kebus426 as a new maintainer!
- Support for [ROS 2 Foxy Fitzroy](https://index.ros.org/doc/ros2/Releases/Release-Foxy-Fitzroy/)!! #32 :tada:
- Recommended environment is now Ubuntu 20.04.2 LTS / ROS 2 Foxy / Elixir 1.11.2-otp-23 / Erlang/OTP 23.3.1
- also work well on Ubuntu 18.04.5 LTS and Dashing Diademata
- Introduce automatic test a.k.a CI works on [GitHub Actions](https://github.com/rclex/rclex/actions) #13 #25 #31
- Please also check [rclex_connection_tests](https://github.com/rclex/rclex_connection_tests) and [rclex_docker on Docker Hub](https://hub.docker.com/r/rclex/rclex_docker) for more details
- Note that CI sometimes fails due to the performance of GHA runner #28
- Implement subsucribe_stop/2 #30
- Fix bug on timer_loop/4 #29 #21
- Create [rclex Organization](https://github.com/rclex) and change source URL #18
- Full Changelog: https://github.com/rclex/rclex/compare/v0.3.1...v0.4.0
## v0.3.1 on 4 Jul 2020
- Translate README from Japanese to English #11
## v0.3.0 on 26 Jun 2020
- Change module name to Rclex #8
## v0.2.0 on 24 Feb 2020
- Publish this package on hex.pm
- You can now use this repository as the Hex package
- Refactor source tree
- Adjust elixir_make to generate rclex.so to priv/
- Eliminate Timex
- Apply mix format
- Write README doc, only by Japanese (sorry,,,)
## v0.1.0 on 24 Feb 2020
First publication