libremesh / lime-packages

LibreMesh packages configuring OpenWrt for wireless mesh networking
https://libremesh.org/
GNU Affero General Public License v3.0
277 stars 96 forks source link

Draft: add CHANGELOG.md #1029

Closed a-gave closed 1 year ago

a-gave commented 1 year ago

It would be nice to have a changelog file to know what changes have been made between versions.

This add a 'full' changelog of latest changes up to version v2020.2. The details about v2020.1 are still missing, also because, if I'm not mistaken, there seem to be several commits before version v2020.1 not from a fork, but directly merged into master so they are a little harder to detect. Like this one for example https://github.com/libremesh/lime-packages/commit/dacca455d49c78e665343abc5f1df204fa5dde0e (taken from https://github.com/libremesh/lime-packages/commits/2020.1).

For previous versions, the changelog instead is taken from http://es.wiki.guifi.net/wiki/LibreMesh/Changelog

codecov-commenter commented 1 year ago

Codecov Report

Merging #1029 (1af5f18) into master (bf158a1) will not change coverage. The diff coverage is n/a.

:exclamation: Current head 1af5f18 differs from pull request most recent head 27ffd41. Consider uploading reports for the commit 27ffd41 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@           Coverage Diff           @@
##           master    #1029   +/-   ##
=======================================
  Coverage   79.27%   79.27%           
=======================================
  Files          53       53           
  Lines        4444     4444           
=======================================
  Hits         3523     3523           
  Misses        921      921           

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

ilario commented 1 year ago

Amazing!!! You can take a changelog for 2020.3 from this draft:

https://pad.codigosur.org/libremesh-v2020.3-releasenotes

Here are some copy and paste from my inbox:

[lime-dev] Release 16.07 "Community Chaos" officially out

Thanks to everyone involved, finally we have an official release!

 * generic binaries, meant for testing or setting up temporary networks
   (i.e. when having the default AP SSID = LibreMesh.org is fine)

http://downloads.libremesh.org/community_chaos/16.07/

 * customized binaries with chef, meant for stable community networks
   (basically, you can preset a specific AP SSID and other settings
   common to the whole network, and then flash many routers in a row)
   can be generated at:

http://chef.libremesh.org/

Changelog since "BiggestBang" 15.09:

• Now based on OpenWrt Chaos Calmer 15.05.1
• Removed "firewall" package (which is included by default in vanilla
OpenWrt/LEDE), since it's not really being used in LibreMesh setup. It
can always be installed on a case-by-case basis using opkg.
  ∘ there's a new minimal system that runs /etc/firewall.lime on boot
(if "firewall" is not installed)
• Removed "odhcpd" since we're not using it at the moment (we use dnsmasq)
• Removed "odhcp6c" since we're not using it at the moment (we still
haven't solved how to deal with native IPv6 coming over WAN, i.e.
propagate a delegated prefix over the mesh in a reasonable way)
• New default packages: "lime-hwd-openwrt-wan" and "lime-proto-wan".
This checks if there's a WAN port, and automatically configures as "wan"
proto (lime-proto-wan). The "wan" proto let's you assign in
/etc/config/lime, for example, 802.1ad VLANs over the WAN port.
• New default package: "lime-hwd-ground-routing". Allows you to
configure 802.1q VLANs on embedded switches, so that you can separate
specific ports and put
• New default package: "bmx6-auto-gw-mode", so that when a node detects
(with watchping) it can ping 8.8.8.8 over WAN port, a bmx6 tunIn is
created on-the-fly, and Internet is shared to the rest of the clouds.
• Workaround for an spurious log message caused by BATMAN-Adv ("br-lan:
received packet on bat0 with own address as source address"): a "dummy0"
interface is created and added to bat0, with a slightly different MAC
address
  ∘ https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2014-March/011839.html
• New available packages: "lime-proto-bgp", allows to do BGP with bird
daemon; and "lime-proto-olsr", "-olsr2" and "-olsr6", which add support
for all versions of OLSR.
• Some new settings possible in /etc/config/lime-defaults
  ∘ wireless.htmode lets you preset the htmode for any wireless radio
(or htmode_2ghz and htmode_5ghz for specific bands)
  ∘ wireless.distance is the equivalent, for setting distance (and
distance_2ghz / _5ghz)
  ∘ system.domain for setting a cloud-wide domain name
• New "named AP" interface by default: in addition to the shared SSID
(where clients roam between nodes), there's a new AP with a different,
unique SSID (it includes the node hostname). This lets people easily
check with any stock smartphone (not only Android with a special app)
which nodes are online, nearby, and their respective signal strength.
Most importantly, it lets them connect to a specific AP and prevent
roaming, when they need it. Roaming is a nuisance if you're in the
middle of two nodes, with similar RSSI, but different performance
(bandwidth to Internet). Finally, it gives users a very easy way to
reliably access a specific (nearby) node webinterface, simply
associating to a specific AP and browsing to http://thisnode.info/
• Fixed all alfred facters (bat-hosts, dnsmasq-distributed-hosts,
dnsmasq-lease-share), so that they retry the "alfred -r" when it fails
(i.e. in slave mode)
• LiMe web interface received love:
  ∘ luci-app-lime-location (Simple Config -> Location) now works
  ∘ Simple Config -> Advanced

[lime-users] Release 17.06 "Dayboot Rely"

So, this release was meant to be announced many months ago (as the
numbering suggests) but lack of coordination (me, gio, pau) delayed it.
In the meantime, some more fixes and improvements were introduced, and
most importantly, several (unpublished) intermediate "release
candidates" have been running for months now, in different community
networks (QuintanaLibre mainly, thanks to persevering NicoEchaniz, and
other smaller deployments)

Highlights are that ieee80211s is used by default (instead of adhoc)
which breaks "backward" connectivity with previous releases,
as well as changes in vlan tagging policy of bmx6 and batadv (which also
are not backwards compatible by default)
most notably, this vlan change fixes a hard-to-debug mtu shrinking bug
that pestered all releases so far (symptoms were varied and bizarre,
like having timeouts when trying to browse certain https sites,
sometimes, on random devices)
the biggest highlight on the dev side, is that we now use upstream SDK
(thanks to dangowrt for pushing this, and pau for implementing it!)
which brings us much closer to LEDE/OpenWrt and allows reporting
upstream ath9k bugs or such, among other benefits

 * generic binaries, meant for testing or setting up temporary networks
   (i.e. when having the default AP SSID = LibreMesh.org is fine)

http://downloads.libremesh.org/dayboot_rely/17.06/targets/

(build is running right now, binaries should be ready tomorrow for sure)

 * for custom builds, the recommended tool at this point is lime-sdk

http://libremesh.org/getit.html#cook_your_own_firmware_using_lime_sdk
https://github.com/libremesh/lime-sdk

 * chef builds are not available at this point. there are plans to
integrate this release into chef in the future, but no ETA 🙁

###

Most of the following changelog was accomplished during the 2017/03
hackaton (https://www.youtube.com/watch?v=5UX1FwhIKGY)

Changelog Dayboot Rely 17.06 (since 16.07)

  * based on LEDE 17.01.2
  * build everything using LEDE SDK, via new lime-sdk cooker (instead of
lime-build)
  * use ieee80211s instead of adhoc
  * reintroduced "firewall" package (to keep closer to upstream)
  * lime-system: fix ieee80211s proto, correctly construct ifnames
  * lime-system: sanitize hostname (transform everything into
alphanumeric and dash)
  * lime-system: new proto static
  * lime-system: new wifi mode client
  * lime-system: set dnsmasq force=1 to ensure dnsmasq never bails out
  * lime-system: explicitly populate /etc/config/lime with calculated values
  * lime-webui: enable i18n, finally webinterface is available in Spanish
  * lime-webui: Major rework by NicoPace, thanks!
    * bmx6 node graph now uses colors in a clever way
    * simple way to add "system notes" that are shown along with
/etc/banner and webui
    * luci-app-lime-location: fix google maps api key
    * new read-only view: switch ports status
    * alert luci-mod-admin users that their changes might get
overwritten by lime-config
    * fix batman-adv status webui
  * new package available to install lighttpd instead of uhttpd (needed
for an upcoming android app)
  * added a lime-sysupgrade command: does a sysupgrade but only
preserving libremesh configuration file
  * added a lime-apply command: basically calls reload_config, but also
applies hostname system-wide without rebooting
  * lime-hwd-ground-routing: ground routing now supports untagged ports too
  * lime-proto-anygw: unique mac based on ap_ssid (using %N1, %N2)
  * lime-proto-anygw: integrate better into /etc/config/dhcp instead of
/etc/dnsmasq.d/
  * lime-proto-wan: allow link-local traffic over wan (useful for local
ping6 and ssh, without global exposure)
  * lime-proto-batadv: set batadv gw_mode=client by default to
counteract rogue DHCP servers
  * lime-proto-bmx6: introduce bmx6_pref_gw option, adds priority (x10)
to a specific bmx6 gateway
  * lime-proto-bmx6: don't tag bmx6 packets over ethernet and so use at
least mtu=1500 everywhere
  * lime-proto-bmx6: avoid autodetected wan interface use vlan for bmx6
  * bmx6: doesn't flood log with some spurious warnings anymore (syslog=0)
  * bmx6: sms plugin now enabled by default
  * bmx6: daemon is now supervised by procd, so it is restarted in case
of crashes
  * bmx6: doesn't "configSync" by default anymore (no more "uci pending
changes" because of auto-gw-mode)
  * new bmx6hosts tool: maintain an /etc/hosts that resolves fd66: <->
hostnames.mesh
  * watchping: convert to procd and add reload triggers
  * safe-reboot: fix, use /overlay/upper instead of /overlay
  * safe-reboot: add "discard" action
  * ath9k: debugged some hangs (interface is deaf) and workaround it,
with new package "smonit"
  * set wifi default "distance" parameter to 1000 metres and make it
configurable through webui
  * alfred: fix bat-hosts facter, check for errors and don't nuke
/etc/bat-hosts in case of failure
  * introduce new lime-basic-noui metapackage
  * new packages separated: lime-docs and lime-docs-minimal
  * various Makefile dependency problems fixed

known bugs:
  * safe-reboot: newly introduced "discard" action is half-baked, avoid
usage until next release:
    It doesn't check whether there's a backup to restore or not -
https://github.com/libremesh/lime-packages/issues/203
    so executing "safe-reboot discard" without having done "safe-reboot"
first, will brick the router.
    (unbricking is possible via failsafe boot, and doing "mount_root &&
firstboot")

In the commit log authors you can see the usual suspects 😉
but happily many new names!
https://github.com/libremesh/lime-packages/graphs/contributors?from=2016-09-08&to=2017-09-23&type=c

and remember it's not only code/commits what matters, so big thanks as
well to everyone participating in mailing lists, maintaining website,
documentation (spread around the web, in many languages!)

[lime-users] LibreMesh 2020.1 ExpansiveEmancipation release

The LibreMesh team is happy to announce a new version of LibreMesh, 2020.1 "ExpansiveEmancipation". 
Three years of work, 882 commits, 23 developers, tons of bug fixes and improvements!

This release is compatible with OpenWrt stable 19.07.5 and old-stable 18.06.9. 
For the time  source-only release so you will need compile it yourself for the devices used by your community using the easy to follow instructions in https://libremesh.org/development.html

## What's in 2020.1 "Expansive Emancipation"

It is imposible to do a meaninful list of all the changes. A non complete list of the most relevant developments:
* LimeApp: an app to for the maintenance and deploy of community networks targeted to non-technical community members. https://github.com/libremesh/lime-app/
* A new community-oriented configuration system that facilitates collective maintenance of configurations.
* shared-state, a shared database for the network.
* first-boot-wizard, an optional helper to deploy and extend the network that it is well integrated with the LimeApp.
* Pirania, an optional boucher and captive portal solution for community networks https://github.com/libremesh/lime-packages/blob/master/packages/pirania/Readme.md
* Hundreds of fixes and code improvement.

## Contributors

This release has contributions from communities and individuals from all around the world. Testing, software development, documentation, community building. Thank you all!!

A list of the software developers that contributed to this release was easily gathered from the git history: AngiieOG, Brad, Daniel Golle, FreifunkUFO, German Ferrero, Gioacchino Mazzurco, Gui Iribarren, Ilario Gelmetti, Jess, Luandro, Marcos Gutierrez, Michael Jones, Mike Russell, Nicolás Pace, PatoGit, Pau, Paul Spooren, Pedro Mauro, Santiago Piccinini, Vittorio Cuculo, hiure, radikalbjr, valo.

Feel free to add stuff from these emails or not. I approve the pull request anyway, so that you can merge it when you consider. Thanks for your work!

ilario commented 1 year ago

Hello! Should I merge or you plan to include some material from the comments above?

Amazing!!! You can take a changelog for 2020.3 from this draft:

https://pad.codigosur.org/libremesh-v2020.3-releasenotes

Also, feel free to edit this pad, that will be sent around as soon as the 2020.x release is officially out.

a-gave commented 1 year ago

I merged the draft with the materials you provided, for me it could be merged from now.

ilario commented 1 year ago

Ok, merging. Thanks!