Releases: ytti/oxidized
0.36.0
[0.36.0 - 2026-03-31]
Release Notes
The fortios model has been split into fortigate and fortios. You need the new fortigate model for FortiGate firewalls. Be sure to check the Fortinet model notes before upgrading.
The SCP gem is now an optional dependency as it will rarely be used - you must install it if you need it. It is still included in the docker image.
We may rework models in the future to clean up duplicated code (by using the macros or by inheriting from the Defacto model). To make sure your favorite model doesn’t break, please share simulation files via issues or, preferably, pull requests, so we can detect when a change breaks a model.
Added
- Support https mode, headers, and ssl verify for HTTP output (@bahirul)
- String refinements: introduce
keep_linesandreject_linesmethods (@robertcheramy) - Support for storing configurations only on significant changes (@robertcheramy)
- Add support for Ivanti Secure Connect ISA models (@candleflip)
- smartbyte: new model for SmartByte switches (@freddy36)
- Support multiple input (@robertcheramy)
- apcaos model with SSH + SCP capabilities, deprecates apc_aos (@robertcheramy)
- exalink model for specific Cisco ExaLink Fusion (formerly Exablaze) switches (@obol89)
- source_node_transform hook, allows user to manipulate node data when loading from source (@ytti)
- docker image: publish major version tag (e.g.
0) in addition to full semver tag on releases (@infabo) - introduce the defacto model and macros for models (@ytti)
Changed
- Refactored models: Use
keep_linesandreject_linesin aosw, arubainstant, asa, efos, firelinuxos, fsos, ironware, mlnxos and perle (@robertcheramy) - Refactor SSH and SCP into a common class SSHBase. Fixes #3597 (@robertcheramy)
- Modified models to support store mode on significant changes: ios, fortios, perle, ndms (@robertcheramy, @furriest)
- fortios: model rewrite and split into fortios and fortigate. Fixes #3680 (@robertcheramy)
- fortigate: Add PSU & SFP inventory (@robertcheramy)
- fortigate: move var fortios_autoupdate (deprecated) to fortigate_autoupdate (@robertcheramy)
- netgear: extended login and pager detection to add support for GS728TPv2 and GS752TPv2 (@weberc)
- comware: Hide snmp secrets for Comware (@iriseden)
- Aruba-CX : Hide secrets for Aruba-CX (@iriseden)
Fixed
- VyOS: Only remove SNMP community, not route-maps. Fixes #3735 (@systeembeheerder)
- apc_aos: set comment to "; " to match comments in config.ini (@robertcheramy)
- h3c: fix overly permissive prompt regexp causing false matches. Fixes #3673 (@robertcheramy)
- extra/device2yaml.rb: fix \r being removed at end of line (@robertcheramy)
- perle: remove trailing \r (the device sends \r\r\n) (@robertcheramy)
- Reintroduce support for Ruby 3.0. Fixes #3688 (@robertcheramy)
- githubrepo: fix authentication with ssh-agent not working. Fixes #3420 (@robertcheramy)
- fastiron: adjust prompt to account for stacks, remove time from stack output. Fixes #3106 (@ManoftheSea)
- interval: fix fetching device configuration at oxidized start when interval is 0. Fixes #3746 (@tgr229)
- voss: more cleanup of constantly changing values (fan & temp) for at least Extreme Networks 7520-48Y-8C-FabricEngine (8.10.5.0) (@irrwitzer42)
- truenas: Added retry logic to use sudo for reading/dumping the configuration database if needed. Fixes #3767 (@neilschelly)
- aoscx: update regex to include 'N/A' in FAN speed parsing (@solrac200, @robertcheramy)
- nxos: show inventory for older models. Fixes #3779 (@scamp)
New Contributors
- @candleflip made their first contribution in #3677
- @ManoftheSea made their first contribution in #3579
- @dmolle made their first contribution in #3738
- @weberc made their first contribution in #3732
- @tgr229 made their first contribution in #3752
- @irrwitzer42 made their first contribution in #3754
- @alexnet123 made their first contribution in #3771
- @obol89 made their first contribution in #3766
- @solrac200 made their first contribution in #3727
- @bahirul made their first contribution in #3772
- @infabo made their first contribution in #3773
- @furriest made their first contribution in #3784
- @scamp made their first contribution in #3787
Full Changelog: 0.35.0...0.36.0
0.35.0
[0.35.0 - 2025-12-04]
Release Notes
- VyOS now has it's own model and should be used for supported VyOS versions instead of the Vyatta model.
- AosCX has been reworked and may break old OS versions. Submit an issue along with a YAML Simulation File if you encounter problems.
- TiMOS (deprecated model) has been removed. Use SROS.
- FortiOs will be reworked in release 0.36 (Issue #3680). Subscribe to the issue if you want to be informed and test the model before the release.
- Support for Ruby 3.1 will be discontinued in release 0.36 (Issue #3688) if no one objects.
Added
- Allow setting timeout on per node basis. Closes #3612 (@ytti)
- Added Vyos as individual model. Closes #3603 #3560 (@nicolasberens)
- Add metadata to models. Closes #3249 (@robertcheramy)
- perle: new model for console servers (@robertcheramy)
- Introduce conditional commands (@robertcheramy)
Changed
- tnsr: added simulation data for older versions (@Vantomas)
- docker image: change default shell to bash. (@electrocret)
- refactor suppression of ANSI escape codes into model.rb (use
clean :escape_codesin your model. Updated cumulus, garderos, mlnxos and vyos. (@robertcheramy) - aoscx: rework handling of ANSI escape codes (@robertcheramy)
- docker: build on arm64 natively. Closes #3665 (@robertcheramy)
- docker image: move base image from phusion/baseimage to debian:trixie-slim (@robertcheramy)
Fixed
- input/http: bracket IPv6 URI. Fixes #3620 (@ytti)
- tnsr: fixed prompt regex, sometimes --More-- pager is misplaced on older versions (@ClumsyAdmin)
- eatonnetwork: Update for firmware v2.2.0 #3634 (@thanegill)
- input/http: Corrected pagination causing duplicated nodes. Fixes #3676 (@kquilliam)
- many models: fix redundant regular expressions (@robertcheramy)
- timos: remove deprecated model timos. Use sros. #3617 (@robertcheramy)
- fsos: set terminal width to 0. Fixes #3576 (@robertcheramy)
- aoscx: rework environmental data anonymization. Fixes #3568 (@robertcheramy, inspired by PR #3653 by @martadams89)
- netgear: fix prompt issues caused by ANSI escape codes. Fixes #3287 (@robertcheramy)
- remove redundant dependency on bundler producing a CI failure on ruby-head (@robertcheramy)
- nxos: use "show inventory" when "show inventory all" is not supported. Fixes #3657 (@robertcheramy)
- arubainstant: handle spaces/parentheses in AP names and add Zone column. Fixes #3611 (@iRomanyshyn, @robertcheramy)
- core: fix "undefined method `[]' for nil" when only extensions: configured. Fixes: #3607 (@robertcheramy)
New Contributors
- @ClumsyAdmin made their first contribution in #3622
- @kquilliam made their first contribution in #3655
Full Changelog: 0.34.3...0.35.0
0.34.3
[0.34.3 - 2025-08-05]
This release fixes an issue preventing /node/show/ to work in oxidized-web.
Fixed
- Guarantee that node vars is a dict (Issue ytti/oxidized-web#365) (@ytti)
Full Changelog: 0.34.2...0.34.3
0.34.2
[0.34.2 – 2025-08-01]
This release mainly fixes a bug in input/scp that made ssh raise an error when closing a closed connection (Issue #3583).
A fix for config vars (Issue #3536) changes the way oxidized stores its vars internally (symblos => strings). Libraries depending on oxidized internal structures may have problem with this. oxidized-web was fixed in Release 0.17.1.
Added
- Absolute time limit for a fetch job (default: 300 seconds) (@robertcheramy)
Changed
- slackdiff: Attempt to join the channel if Errors::NotInChannel is encountered (@varesa)
Fixed
- SSH raises error when closing a closed connection. Fixes #3583 (@ytti)
- Config vars will not fall back to less specific. Fixes #3536 (@ytti)
- input/scp: make common errors produce a warning, not a crashfile (@robertcheramy)
- input/scp: implement timeouts. Fixes #3590 (@robertcheramy, @ytti)
- model/mtrlrfs: add missing prompt (@R3thos)
- slackdiff: Respect the HTTP proxy configuration while uploading the file. Fixes #3534 (@varesa)
- logging (syslog): do not write two timestamps (Fixed in semanticlogger) (@robertcheramy)
New Contributors
Full Changelog: 0.34.1...0.34.2
0.34.1
[0.34.1 - 2025-07-18]
This release contains small fixes and will include the new version of oxidized-web (0.17.0) in the docker container.
Changed
- github: run ruby CI against ruby-head (@robertcheramy)
Fixed
- input/ssh: hide Net::SSH errors and only display fatal logs unless input.debug = true. Fixes: #3574 (@robertcheramy)
- junos: fix unfrozen literal strings (@robertcheramy)
- spec/model: fix unfrozen literal strings and set a default prompt (@robertcheramy)
Full Changelog: 0.34.0...0.34.1
0.34.0
[0.34.0 - 2025-07-15]
log, syslog) is still supported but obsolete and will be removed in a future release, so be sure to migrate your configuration.
Added
- add iosxr support to SyslogMonitor (@deesel)
- add junos: support show chassis cluster when SRX series (@shigechika)
- add nxos: support for complete hardware inventory (@garryshtern)
- ssh: support 'newline "string"' cfg block method to allow defining \r\n newline (@ytti)
- model for Netgate TNSR (@Vantomas)
- efos: New model for Brocade Enhanced Fabric OS. Fixes #3477 (@sorano, @cetjcm, @robertcheramy)
- output/file, output/git: clean node configurations which are not listed in the source anymore. Fixes: #1805 (@robertcheramy)
- sixwind: New model to support 6WIND Virtual Service Router (@hcaldicott)
- model for saos10 (@penfold1972)
Changed
- remove uri in commit-archive location for EdgeOS. Fixed #3525 (@systeembeheerder)
- acos: remove free storage amount from show version. Fixes #3492 (@991jo)
- Housekeeping in the code: Maximal line length: 120 char + Rubocop fixes (@robertcheramy)
- spec/model/data uses # instead of : as a separator in the filename, so we can git clone under Windows. Fixes: #3481 (@robertcheramy)
- logging: rework of the logging system, using Semantic Logger (@robertcheramy)
Fixed
- nxos: ignore bootflash size and permission errors (@rouven0)
- githubrepo: explicitly tell when Rugged isn't installed with ssh support (@robertcheramy)
- ironware: mask temperatures with more than two digits (@merelissdgr)
- add content-type header for PUT request in rest client (@deesel)
- docker: do not remove git. Fixes #3482 (@robertcheramy)
- awplus: fix skip password when enable=true (@shigechika)
- aosw: fix secret parsing (@rouven0)
- mlnxos: handle ANSI-ESC codes and pager requests. The prompt has been reengineered, open an issue if you experience timeouts. Fixes #3469 (@robertcheramy)
- Update installation instructions on Rocky Linux 9. Fixes #3368 (@robertcheramy)
- awplus: fix enable password when supplied (@sgsimpson)
- Fix CodeQL scanning alerts on regular expressions (Issue #3513) in node.rb (alert 40), asa (alerts 5 and 6), sonicos (4, 11), quantaos (9, 10), eltex (7), zynos (18, 19), AricentISS (15) and aosw (36)
- fabricos: remove power supply input voltage from
chassisShowoutput (@hops) - netgear: include running-config in config output (@bradleywehmeier)
- tmos: remove deprecated secrets (@rouven0)
- log an error when no suitable input is found for a node. Fixes: #3346 (@robertcheramy)
- firelinuxos: fix timeout on syntax error. Fixes #3393, #3502 (@robertcheramy)
New Contributors
- @merelissdgr made their first contribution in #3457
- @shigechika made their first contribution in #3494
- @garryshtern made their first contribution in #3485
- @991jo made their first contribution in #3492
- @sgsimpson made their first contribution in #3503
- @Vantomas made their first contribution in #3522
- @cetjcm made their first contribution in #3484
- @agreenbhm made their first contribution in #3509
- @hops made their first contribution in #3510
- @ShaneMcC made their first contribution in #3547
- @bradleywehmeier made their first contribution in #3548
- @hcaldicott made their first contribution in #3551
- @penfold1972 made their first contribution in #3528
Full Changelog: 0.33.0...0.34.0
0.33.0
[0.33.0 - 2025-03-26]
This release changes the way to configure oxidized-web. The old rest configuration is still supported but deprecated. The new configuration works with oxidized-web 0.16.0 or later.
See docs/Configuration.md.
The docker container includes security fixes to ruby-rake, so be sure to update to the latest version.
Added
- unifiap: new model for Unifi APs, switches, and AirOS APs (@clifcox)
- github: Issue templates for bugs, feature requests and support requests (@robertcheramy)
- model for Ingate Operating System (@thanegill)
- model for Easton Gigabit Network Card (@thanegill)
Changed
- fortios: support for FortiADC (@electrocret)
- output/git: cache commit log to improve performance of oxidized-web. Fixes #3121 (@robertcheramy)
- input/http: digest auth handles special characters in passwords by itself (no need to url encode them manually) (@EinGlasVollKakao)
- changed the configuration for oxidized-web from rest: to extensions.oxidized-web (@robertcheramy)
- netgear: add pager-handler workaround, fixes: #2394 and #3341 (@candlerb, @syn-bit)
- Output#version (git/gitcrypt) returns a Time object in its hash for more flexibility in oxidized-web (@robertcheramy)
- ios: hide secret key of aaa radius (@martinberg, @robertcheramy)
- container: update to phusion/baseimage:noble-1.0.1 (@robertcheramy)
New Contributors
- @EinGlasVollKakao made their first contribution in #3435
- @Emiliaaah made their first contribution in #3433
- @martinberg made their first contribution in #3451
Full Changelog: 0.32.2...0.33.0
0.32.2
This patch release mainly fixes the docker building process, which resulted in 0.32.1 not being built.
See CHANGELOG.md
Full Changelog: 0.32.1...0.32.2
0.32.1
What's Changed
This patch release fixes a javascript issue in oxidized-web, which is included in the Docker container of oxidized.
See CHANGELOG.md
New Contributors
Full Changelog: 0.32.0...0.32.1
0.32.0
This release fixes a security issue in oxidized-web, which is included in the Docker container of oxidized. If you are not using the Docker container but use oxidized-web, be sure to update your oxidized-web gem to 0.15.0.
What's Changed
See CHANGELOG.md
New Contributors
- @TheMonkeyBrain made their first contribution in #3348
- @alchemyx made their first contribution in #3332
- @RayaneB75 made their first contribution in #3354
- @tschafer made their first contribution in #3372
- @rouven0 made their first contribution in #3380
- @yurenkov made their first contribution in #3387
- @mopi3456 made their first contribution in #3335
Full Changelog: 0.31.0...0.32.0