osmo-s1gw (0.3.0.244.1378.202511111800) unstable; urgency=medium

  * Automatically generated changelog entry for building the Osmocom nightly feed

 -- Osmocom OBS scripts <info@osmocom.org>  Tue, 11 Nov 2025 18:00:32 +0000

osmo-s1gw (0.3.0) unstable; urgency=medium

  * s1ap_proxy: merge process_pdu_safe() with process_pdu()
  * s1ap_proxy: do not expose {en,de}code_pdu() API
  * s1ap_proxy: turn this module into a gen_server
  * s1ap_proxy: add E-RAB introspection API
  * erab_fsm: rename erab_release_req/1 -> erab_release_cmd/1
  * erab_fsm: add erab_release/2 and erab_release_ind/1
  * s1ap_proxy: properly handle E-RAB RELEASE IND
  * erab_fsm: add all-state event handler
  * erab_fsm: add fetch_info/1 for state introspection
  * sctp_server: add type hints
  * sctp_server: cosmetic: use ?FUNCTION_NAME in send_data/2
  * sctp_server: pass MME addr/port to sctp_proxy as opaque data
  * sctp_server: cosmetic: rename State -> S
  * sctp_server: cosmetic: make #server_state last argument
  * sctp_server: pass #server_state to client_{add,del}()
  * sctp_server: make it abstract from sctp_proxy logic
  * sctp_server: add fetch_conn_list/0 for state introspection
  * sctp_proxy: add all-state event handler
  * sctp_proxy: add fetch_info/1 for state introspection
  * s1ap_proxy: use erab_uid() to log unique E-RAB ID
  * s1ap_proxy: add a TODO about an optional IE
  * s1ap_proxy: rework handle_ie/2 into handle_ie/3
  * s1ap_proxy: handle_ies(): reorder arguments
  * s1ap_proxy: handle_ies(): pass IEI path to handle_ie()
  * s1ap_proxy: handle_ies(): also handle #'ProtocolExtensionField'
  * erab_fsm: store UID, expose it via fetch_info/1
  * erab_fsm: session_modify(): split PFCP PDU handling
  * s1ap_proxy: cosmetic: fix wrong arity in comment
  * s1ap_proxy: fix IEI path leak in handle_ies/4
  * erab_fsm: fix copy-paste in a log message
  * erab_fsm: add more logging to clarify timeout events
  * rebar.config: remove unneeded parse_transform
  * erab_fsm: add pretty printer for F-TEID
  * s1ap_proxy: handle UE CONTEXT RELEASE PDUs
  * osmo_s1gw.app.src: set 'vsn' to 'semver'
  * rebar.config: cosmetic: use spaces, not tabs
  * rebar.config: relx: fix release name (must be an atom)
  * rebar.config: relx: generate the version automatically
  * {erab_fsm,sctp_proxy}: handle_event/4: fix return value
  * {erab_fsm,sctp_proxy}: handle_event/4: reply to unknown calls
  * erab_fsm: make erab_release_{cmd,ind}/1 non-blocking
  * erab_fsm: handle RELEASE.{cmd,ind} in state erab_wait_setup_rsp
  * erab_fsm: handle RELEASE.ind in state erab_wait_release_rsp
  * erab_fsm: implement E-RAB MODIFY Req/Rsp procedure
  * erab_fsm: implement E-RAB MODIFY Ind/Cnf procedure
  * erab_fsm: pretty-print U2CM and U2AM during MODIFY Req/Ind
  * s1ap_proxy: catch exceptions in handle_pdu/2
  * s1ap_proxy: handle E-RAB MODIFY REQ/RSP
  * s1ap_proxy: handle E-RAB MODIFICATION IND/CNF
  * s1ap_proxy: increment *_IN_PKT_* counters on exception
  * sctp_server: invalidate handler's Pid on 'EXIT'
  * sctp_{server,proxy}: log SCTP TSN, SID, SSN, and data len
  * sctp_common: new module with common SCTP/S1AP API
  * s1gw_metrics: use lists:filter/2 to create counters/gauges
  * sctp_{client,server}: disable Nagle by setting sctp_nodelay
  * s1gw_metrics: make exometer_report_statsd less verbose
  * sctp_{client,server}: add and use sctp_common:parse_addr/1
  * sctp_{client,server}: accept arguments in form of a map
  * sctp_{client,server}: allow passing additional sockopts
  * sctp_{client,server}: make sctp_nodelay configurable
  * sctp_{client,server}: set sndbuf/recbuf explicitly

 -- Vadim Yanitskiy <vyanitskiy@sysmocom.de>  Fri, 18 Apr 2025 02:56:33 +0700

osmo-s1gw (0.2.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * pfcp_peer: PFCP peer implementation
  * erab_fsm: E-RAB FSM implementation
  * sctp_proxy: maintain opaque state for s1ap_proxy
  * config: rename upf_{loc,rem}_addr to pfcp_{loc,rem}_addr
  * fix misconceptions about E-RAB establishment
  * erab_fsm: fix API docs: UID was moved to start_link()
  * erab_fsm: fix message flow misconceptions
  * erab_fsm: implement handling of GTP-U address
  * erab_fsm: include Network Instance IE in PDRs and FARs
  * erab_fsm: fix improper IEs in session_modify_req()
  * erab_fsm: properly omit Network Instance IE
  * {sctp,s1ap}_proxy: employ E-RAB FSMs
  * s1ap_proxy: handle E-RAB RELEASE COMMAND/RESPONSE
  * config/sys.config: fix grammar in comments
  * pfcp_peer: store local/remote Recovery Time Stamp in #peer_state
  * pfcp_peer: log IP address / port of {in,out}going PDUs
  * pfcp_peer: implement the Heartbeat procedure
  * pfcp_peer: fix incorrect order of logging arguments
  * s1ap_proxy: fix E-RAB FSM lookup for RELEASE related IEs
  * pfcp_peer: fix handling of IPv6 addr in get_f_seid()
  * pfcp_peer: do not assign SEID=0, increment properly
  * s1ap_proxy: clarify a logging statement, reduce verbosity
  * s1ap_proxy: add types for S1AP PDU and IE tuples
  * s1ap_proxy: print unique E-RAB ID in error messages
  * s1ap_proxy_test: re-generate E-RAB RELEASE.{cmd,rsp} PDU blobs
  * s1ap_proxy: handle E-RAB RELEASE INDICATION
  * sctp_proxy: fix calling gauge_dec() on a counter
  * s1gw_metrics: more precise type hints
  * s1ap_proxy: move sctp_proxy:handle_pdu() to process_pdu_safe()
  * pfcp_peer: cosmetic: fix a comment
  * pfcp_peer: do not route incoming PDUs without SEID
  * pfcp_peer: implement Heartbeat Request procedure
  * s1gw_metrics: add counters for PFCP Heartbeat Req/Resp
  * s1gw_metrics: add a counter for unexpected PFCP PDUs

  [ Pau Espin Pedrol ]
  * pfcp_peer: Retry PFCP assiciation towards UPF instead of exiting
  * sctp_proxy: Allow handling EXIT signal
  * pfcp_peer: Error if requested to create session without being associated
  * erab_fsm: Abort and reply call with error if unable to establish PFCP sess
  * s1ap_proxy: Support replying errors
  * Introduce initial metrics support

 -- Vadim Yanitskiy <vyanitskiy@sysmocom.de>  Sat, 02 Nov 2024 03:26:52 +0700

osmo-s1gw (0.1.1) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * contrib/jenkins.sh: also run Dialyzer
  * config/sys.config: print prefix before msg, if present
  * Makefile: allow overriding the config file
  * rebar.{config,lock}: add pfcplib to deps[]
  * sctp_client: add type hints
  * sctp_proxy: add type hints for public API
  * sctp_proxy: fix typo in field name: s/mmr_port/mme_port/g
  * sctp_proxy: handle_pdu/2: print stacktrace on exception
  * sctp_server: do not let sctp_proxy:shutdown() crash the server
  * contrib/jenkins.sh: increase EUnit verbosity
  * Makefile: add 'install' target
  * contrib: add systemd unit file
  * add debian package files

 -- Oliver Smith <osmith@sysmocom.de>  Fri, 09 Aug 2024 10:02:27 +0200

osmo-s1gw (0.1.0) unstable; urgency=medium

  * Initial debian packaging

 -- Vadim Yanitskiy <vyanitskiy@sysmocom.de>  Mon, 05 Aug 2024 20:42:11 +0700
