{"task": {"agent_timeout": 3000, "task": "codegen__fasterxml__jackson-databind-4048", "verifier_timeout": 3000, "instruction": "This is a code generation task. You are expected to write working code that solves the described problem.\n<issue>\n      **Describe the bug**\nAfter upgrading jackson-databind, properties were being exposed after serialization that were set to @JsonIngore and shouldn't be.\n\n**Version information**\nWhich Jackson version(s) was this for? 2.15.+ (seeing with both 2.15.0 and 2.15.1)\nJDK - Temurin-17.0.6+10\n\n**To Reproduce**\nIf you have a way to reproduce this with:\nExample unit test showing the issue.  If referencing 2.14.+ it works, but fails on these assertions when using 2.15.+:\nassertFalse(json.contains(\"world\"));\nassertNotEquals(obj1.getDef(), obj2.getDef());\nassertNull(obj2.getDef());\n\nCode:\n```\npackage org.example;\n\nimport com.fasterxml.jackson.annotation.JsonIgnore;\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.Serial;\nimport java.io.Serializable;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertNotEquals;\nimport static org.junit.jupiter.api.Assertions.assertNull;\n\npublic class JacksonTest {\n\n    public static class Obj implements Serializable {\n\n        @Serial\n        private static final long serialVersionUID = -1L;\n\n        private String abc;\n\n        @JsonIgnore\n        private transient String def;\n\n        public String getAbc() {\n            return abc;\n        }\n\n        public void setAbc(String abc) {\n            this.abc = abc;\n        }\n\n        public String getDef() {\n            return def;\n        }\n\n        public void setDef(String def) {\n            this.def = def;\n        }\n    }\n\n    @Test\n    public void testJsonIgnore() throws JsonProcessingException {\n        var mapper = new ObjectMapper();\n\n        var obj1 = new Obj();\n        obj1.setAbc(\"hello\");\n        obj1.setDef(\"world\");\n        String json = mapper.writeValueAsString(obj1);\n        var obj2 = mapper.readValue(json, Obj.class);\n\n        assertEquals(obj1.getAbc(), obj2.getAbc());\n\n        assertFalse(json.contains(\"world\"));\n        assertNotEquals(obj1.getDef(), obj2.getDef());\n        assertNull(obj2.getDef());\n    }\n}\n```\n\n**Expected behavior**\nThe test should pass the same as it did with 2.14.+\n\n**Additional context**\nI noticed that using the 2.15.+ version, if I set mapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER, true), it does start working.\n\nDid the default somehow change?  This is concerning because usages of the library could start exposing sensitive data that it wasn't in previous versions and this would be unknowingly.  Since this is a minor (2.14 -> 2.15) this seems to be a big change that should be saved for a major.\n\nI did verify mapper.isEnabled(MapperFeature.PROPAGATE_TRANSIENT_MARKER) is false in both 2.14 and 2.15, but it seems to be working in 2.14 without needing to set it to true.\n\n</issue>\nFocus on implementing the required functionality correctly and efficiently. Treat this as a programming challenge.\nYou are not allowed to read git history.\n", "memory": "8192m", "runnable": false, "difficulty": "hard", "language": "", "cpus": "", "instruction_truncated": false, "category": "code-generation", "compose": false, "has_solution": true, "oracle": null, "docker_image": "", "taskset": "devopsgym", "tags": ["code-generation", "devops-bench"]}, "runs": []}