Skip to content

Releases: jwodder/apachelogs

v0.6.1 — Packaging updates

01 Dec 12:23
v0.6.1
Compare
Choose a tag to compare
  • Support Python 3.9, 3.10, 3.11, 3.12, and 3.13
  • Drop support for Python 3.5, 3.6, and 3.7
  • LogEntry's __eq__ method now returns NotImplemented instead of False when comparing against non-LogEntry values
  • Migrated from setuptools to hatch

v0.6.0 — Adjust `%s` regex

13 Oct 22:24
v0.6.0
Compare
Choose a tag to compare
  • Support Python 3.8
  • %s now matches any sequence of exactly three digits. Previously, it matched either '0' or any sequence of digits not beginning with '0'. Thanks to @chosak for the patch.

v0.5.0 — Improved time handling

21 May 17:32
v0.5.0
Compare
Choose a tag to compare
  • Improved the routine for assembling request_time from request_time_fields:
    • If the month is only available as a full or abbreviated name and the name is not in English, try looking it up in the current locale
    • If the year is only available in abbreviated form (the %y directive) without a century (%C), treat years less than 69 as part of the twenty-first century and other years as part of the twentieth
    • When necessary, use the values of the %G, %g, %u, %V, %U, %W, and %w time directives to derive the date
    • If %Z equals "GMT", "UTC", or one of the names in time.tzname, produce an aware datetime
  • %{%n}t and %{%t}t now match any amount of any whitespace, in order to match strptime(3)'s behavior
  • Breaking: Renamed the request_time_fields keys for %{%G}t and %{%g}t from "week_year" and "abbrev_week_year" to "iso_year" and "abbrev_iso_year", respectively
  • %{%p}t can now match the empty string (its value in certain locales)
  • %{%Z}t can now match the empty string

v0.4.0 — More better directives

19 May 01:14
v0.4.0
Compare
Choose a tag to compare
  • Support the %{c}h log directive
  • %f and %R can now be None
  • Bugfix: %u can now match the string "" (two double quotes)
  • Support mod_ssl's %{*}c and %{*}x directives
  • Support the %{hextid}P directive (as a hexadecimal integer)
  • Support the %L and %{c}L directives
  • Parameters to %{*}p, %{*}P, and %{*}T are now treated case-insensitively in order to mirror Apache's behavior
  • Refined some directives to better match only the values emitted by Apache:
    • %l and %m no longer accept whitespace
    • %s and %{tid}P now only match unsigned integers
    • %{*}C no longer accepts semicolons or leading or trailing spaces
    • %q no longer accepts whitespace or pound/hash signs

v0.3.0 — By-directive lookup

12 May 17:27
v0.3.0
Compare
Choose a tag to compare
  • Gave LogEntry a directives attribute for looking up directive values by the corresponding log format directives

v0.2.0 — Case-insensitive `dict`s

09 May 18:46
v0.2.0
Compare
Choose a tag to compare
  • Changed the capitalization of "User-agent" in the log format string constants to "User-Agent"
  • The cookies, env_vars, headers_in, headers_out, notes, trailers_in, and trailers_out attributes of LogEntry are now all case-insensitive dicts.

v0.1.0 — Initial release

06 May 19:59
v0.1.0
Compare
Choose a tag to compare